---
title: "Service: /members/{member}/checkusername [GET]"
source: https://dev.pageseeder.com/api/services/check-username_get.html
description: "API endpoint to validate username availability and format during member activation. It checks if a username is unique, valid (1-100 characters, alphanumeric/underscore/dash/dot with non-numbers), and returns whether it's unused, taken, or assigned to the current user."
last_updated: 2026-09-08T11:45:51+10:00
document_type: api_endpoint
operation_id: member-GET
resource_id: member
path_template: /members/{member}/checkusername
http_method: GET
api_category: member
implementation_version: 6.2004
api_since: 5.9400
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: null
generated_at: 2026-09-02
tokens: ~378
---

# /members/\{member\}/checkusername \[GET\]

## Description

Checks if a [username](../../reference/glossary/username.md) is in use and is valid.

This service is used when users choose a username during the [activation](../../reference/glossary/account_activation.md) process to indicate whether the submitted username is already in use.

To be valid, the username must be unique, between 1 and 100 characters, and only contain alphanumeric characters, underscore, dash and dot, with at least one non-number.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| token | The activation token for the member | no | string |  |
| username | The username to check | no | string |  |

## Permission

Only a member with a valid activation token or an administrator can use this service.

## Response

The XML returned is always:

```xml
<username-check usedby="[current|other|none]" valid="[true|false]" />
```

The **@usedby** attribute value indicates whether the username specified in the request is already in use:

- `current` – currently attributed to the current user.
- `other` – already attributed to another user.
- `none` – not attributed to anyone.

The **@valid** attribute is set to `true` when the username is valid, and `false` otherwise.

> **Tip:** The username selected by the user can be set as their username if `usedby=current` or `usedby=none`, and `valid=true`.

## Error Handling

| 0x102A | the token is invalid or has expired |
| --- | --- |

