---
updatedAt: 2025-05-08T22:31:42.000Z
agentTools:
  projectIndex: https://api.rebuildingsociety.com/llms.txt
---

# /CheckUserAvailable

Check if a username or email is available

Check if a username or email is available.

* When using apikey, endpoint will not try to look for authorization header.
* When using authorization header, bearer token should be of type client\_credentials.

## Parameters

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Parameter
      </th>

      <th>
        Definition
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        username
      </td>

      <td>
        Desired username
      </td>
    </tr>

    <tr>
      <td>
        email
      </td>

      <td>
        Email address
      </td>
    </tr>

    <tr>
      <td>
        apikey
      </td>

      <td>
        API access key supplied by Rebuilding Society
      </td>
    </tr>
  </tbody>
</Table>

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "api-settings",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://www.rebuildingsociety.com/api"
    }
  ],
  "security": [
    {}
  ],
  "paths": {
    "/rs/CheckUserAvailable": {
      "get": {
        "summary": "/CheckUserAvailable",
        "description": "Check if a username or email is available",
        "operationId": "checkuseravailable",
        "parameters": [
          {
            "name": "apikey",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "valid email address",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "username",
            "in": "query",
            "description": "[alphanumeric chars without spaces]",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "oAuth2 bearer access token",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "status: ok": {
                    "value": "// If operation was succesfull\n{\n    \"status\": \"ok\",\n    \"done\": \"Username and Email available\"\n}\n\n// If only Username provided\n{\n    \"status\": \"ok\",\n    \"done\": \"Username available\"\n}\n\n// If only Email provided\n{\n    \"status\": \"ok\",\n    \"done\": \"Email available\"\n}"
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "status: error": {
                    "value": "//Invalid HTTP request type\n{\n    \"status\": \"error\",\n    \"error\": \"This method should use HTTP GET request\"\n}\n\n//Both Username and Email is not provided or empty\n{\n    \"status\": \"error\",\n    \"error\": \"Username and Email is not provided or empty\"\n}\n\n//Provided Email have invalid format\n{\n    \"status\": \"error\",\n    \"error\": \"Invalid Email format\"\n}\n\n//Both Email and Username already taken\n{\n    \"status\": \"error\",\n    \"error\": \"Both Email and Username not available\"\n}\n\n//Email already taken\n{\n    \"status\": \"error\",\n    \"error\": \"Email not available\"\n}\n\n//Username already taken\n{\n    \"status\": \"error\",\n    \"error\": \"Username not available\"\n}"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```