API Reference

Register

Create a new user account by redeeming a license key. Returns a session and user data on success.

Endpoint

POST /api/v2/register https://authly.cc

Parameters

Field Description
session_id Required Active session from a successful Init call.
username Required Desired username for the new account.
password Required Desired password for the new account.
key Required A valid, unused license key (e.g. XXXXX-XXXXX-...). Consumed on successful registration.
email Optional Email address to associate with the account.
sid / hwid Optional System identifier to bind the device immediately on registration.

Example Request

{
  "session_id": "dc1ce...a3a75",
  "username": "xela",
  "password": "hunter2",
  "key": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "email": "[email protected]",
  "sid": "S-1-5-21-...."
}

Responses

Account created. Returns a new session and user details.

{
  "success": true,
  "message": "User registered successfully",
  "session_id": "hex_string",
  "user": {
    "username": "xela",
    "email": "[email protected]",
    "subscription": "Premium",
    "subscription_level": 1,
    "expiry_date": "2025-12-31T23:59:59Z",
    "sid": "S-1-5-21-....",
    "hwid": "S-1-5-21-...."
  }
}

MISSING_FIELDS — One or more required fields were not sent.

{
  "success": false,
  "code": "MISSING_FIELDS",
  "message": "Required fields are missing"
}

Session check failed. Codes: INVALID_SESSION, SESSION_EXPIRED.

{
  "success": false,
  "code": "SESSION_EXPIRED",
  "message": "Session has expired"
}

License blocked or not eligible. Codes: LICENSE_IN_USE, LICENSE_BANNED, LICENSE_PAUSED, LICENSE_EXPIRED.

{
  "success": false,
  "code": "LICENSE_IN_USE",
  "message": "This license key is already in use"
}

LICENSE_NOT_FOUND — No matching license key found for this app.

{
  "success": false,
  "code": "LICENSE_NOT_FOUND",
  "message": "License key not found"
}

USERNAME_TAKEN — That username is already registered.

{
  "success": false,
  "code": "USERNAME_TAKEN",
  "message": "Username is already taken"
}

INTERNAL — Unexpected server-side error.

{
  "success": false,
  "code": "INTERNAL",
  "message": "An internal server error occurred"
}