Developer Docs

API Documentation

Everything you need to integrate Authon into your application. Full REST API with examples in cURL, Python, C++, and more.

Base URL: https://api.authon.pro

Getting Started

Set up your first application and make your first API call in under 2 minutes.

1

Create an Application

Go to your dashboard and create a new application. You'll receive an API key and secret.

2

Install the SDK

Choose your language SDK or use the REST API directly with any HTTP client.

3

Initialize & Authenticate

Use your API key to initialize the client and start authenticating users.

Quick Start (cURL)
curl -X POST https://api.authon.pro/v1/client/login \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your_api_key_here" \
  -d '{"username": "user1", "password": "pass123", "hwid": "ABC-DEF-123"}'

Authentication

All API requests require authentication via API key in the header.

HEADERX-Api-Key: your_api_key

Include your API key in every request header. For admin endpoints, use your seller token via Bearer authentication.

HEADERAuthorization: Bearer your_seller_token

Client API

Endpoints used by your application to authenticate users, validate licenses, and fetch data.

POST/v1/client/login

Authenticate a user with username, password, and optional HWID.

Request Body

{
  "username": "testuser",
  "password": "securepass",
  "hwid": "ABCD-1234-EFGH"
}

Response

{
  "success": true,
  "data": {
    "token": "eyJhbG...",
    "user": {
      "id": "usr_abc123",
      "username": "testuser",
      "hwid": "ABCD-1234-EFGH",
      "subscription": "premium",
      "expiresAt": "2026-12-31T23:59:59Z"
    }
  }
}
POST/v1/client/register

Register a new user with a license key.

Request Body

{
  "username": "newuser",
  "password": "securepass",
  "licenseKey": "XXXX-XXXX-XXXX-XXXX",
  "hwid": "ABCD-1234-EFGH"
}

Response

{
  "success": true,
  "data": {
    "token": "eyJhbG...",
    "user": {
      "id": "usr_def456",
      "username": "newuser"
    }
  }
}
POST/v1/client/license

Login with license key only (no username/password).

Request Body

{
  "licenseKey": "XXXX-XXXX-XXXX-XXXX",
  "hwid": "ABCD-1234-EFGH"
}

Response

{
  "success": true,
  "data": {
    "token": "eyJhbG...",
    "license": {
      "key": "XXXX-XXXX-XXXX-XXXX",
      "expiresAt": "2026-12-31T23:59:59Z",
      "hwid": "ABCD-1234-EFGH"
    }
  }
}

Admin API

Manage your applications, users, licenses, and settings. Requires seller authentication.

GET/v1/admin/apps

List all your applications with user and license counts.

Response

{
  "success": true,
  "data": [
    {
      "id": "app_123",
      "name": "My App",
      "apiKey": "ak_...",
      "version": "1.0.0",
      "status": "ACTIVE",
      "_count": { "appUsers": 150, "licenses": 200 }
    }
  ]
}
POST/v1/admin/apps
POST/v1/admin/licenses/generate
GET/v1/admin/users
DELETE/v1/admin/users/:id
POST/v1/admin/blacklist

Reseller API

Endpoints for resellers to generate keys and manage their customers.

POST/v1/reseller/keys/generate
GET/v1/reseller/keys
GET/v1/reseller/stats

File Downloads

Upload, manage, and serve encrypted files to authenticated users.

POST/v1/admin/files/upload
GET/v1/client/files/:fileId
GET/v1/client/files/:fileId/bytes

Webhooks

Receive real-time notifications when events occur in your application.

Available Events

user.login
user.register
user.ban
license.activate
license.expire
license.delete
file.download
session.create
Webhook Payload Example
{
  "event": "user.login",
  "timestamp": "2026-06-15T12:00:00Z",
  "data": {
    "userId": "usr_abc123",
    "username": "testuser",
    "ip": "192.168.1.1",
    "hwid": "ABCD-1234-EFGH",
    "country": "US"
  }
}

Error Codes

Standard error responses returned by the API.

CodeMessageDescription
401INVALID_KEYAPI key is missing or invalid
401INVALID_CREDENTIALSUsername or password is incorrect
403HWID_MISMATCHHardware ID does not match registered device
403BLACKLISTEDUser IP or HWID is blacklisted
403LICENSE_EXPIREDLicense key has expired
429RATE_LIMITEDToo many requests, try again later
404NOT_FOUNDRequested resource does not exist

Ready to integrate?

Create your free account and start building in minutes. Full API access on all plans.