API Reference

Extend

Extend a user's subscription by redeeming an unused license key. The key's duration is added on top of the current expiry.

Endpoint

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

Parameters

Field Description
session_id Required Active session from a successful Init call.
username Required The username of the account being extended.
license_key Required An unused license key whose duration will be applied to the user.
sid / hwid Required System identifier to bind the device and confirm security consistency.
ip Optional Client IP address. If omitted, the server infers it from request headers.

Example Request

{
  "session_id": "dc1ce...a3a75",
  "username": "xela",
  "license_key": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
  "sid": "S-1-5-21-....",
  "ip": "102.88.xxx.xxx"
}

Responses

Extension successful. Returns updated user and license details.

{
  "success": true,
  "message": "Account extended successfully.",
  "user": {
    "username": "xela",
    "subscription": "Premium",
    "subscription_level": 2,
    "expiry_date": "2026-06-28T00:00:00.000Z",
    "last_login": "2026-05-28T10:00:00Z",
    "created_at": "2026-01-01T00:00:00Z"
  },
  "license": {
    "license_key": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "subscription": "Premium",
    "subscription_level": 2,
    "expiry_date": "2026-06-28T00:00:00.000Z"
  },
  "time_added_seconds": 2592000
}

Missing required fields or license has no duration to apply. Codes: MISSING_FIELDS, INVALID_DURATION.

{
  "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"
}

User or license blocked. Codes: USER_BANNED, USER_SUSPENDED, LICENSE_IN_USE, LICENSE_BANNED, LICENSE_PAUSED.

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

User or license not found. Codes: USER_NOT_FOUND, LICENSE_NOT_FOUND.

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

INTERNAL — Unexpected server-side error.

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