API Documentation

Integrate SK ZENITH services into your own applications. Use the REST API to place orders, check balances, manage child users, and more.

Base URL: https://skzenith.com

v1RESTJSON

Authentication

All API requests require an API key passed via the `x-api-key` header. API keys are generated by admin in the Admin Panel and assigned to resellers.

Header

x-api-key: sk_your_api_key_here

Key Types

Order Key    — Place orders, check services, check balance
Recharge Key — Recharge main users or child user balances

GET /api/v1/services

List available services with pricing.

Request

curl -X GET https://skzenith.com/api/v1/services \
  -H "x-api-key: sk_your_api_key_here"

Response

{
  "status": "success",
  "services": [
    {
      "id": "cmabcd123...",
      "name": "Instagram Followers [10K]",
      "price": 2.5,
      "min": 100,
      "max": 10000
    }
  ]
}

POST /api/v1/orders

Place a new order. Balance is deducted automatically.

ParameterTypeDescription
servicestringService ID from /api/v1/services
linkstringTarget link/username
quantitynumberAmount to order (must be within min/max)

Request

curl -X POST https://skzenith.com/api/v1/orders \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk_your_api_key_here" \
  -d '{
    "service": "cmabcd123...",
    "link": "https://instagram.com/username",
    "quantity": 1000
  }'

Response

{
  "status": "success",
  "order": {
    "id": "cmxyz789...",
    "orderId": 42,
    "service": "Instagram Followers [10K]",
    "link": "https://instagram.com/username",
    "quantity": 1000,
    "charge": 2.50,
    "status": "PROCESSING",
    "createdAt": "2026-06-02T05:44:00.000Z"
  }
}

GET /api/v1/orders/:id

Check order status by order ID (numeric) or internal ID (cuid).

Request

curl -X GET https://skzenith.com/api/v1/orders/42 \
  -H "x-api-key: sk_your_api_key_here"

Response

{
  "status": "success",
  "order": {
    "id": "cmxyz789...",
    "orderId": 42,
    "service": "Instagram Followers [10K]",
    "link": "https://instagram.com/username",
    "quantity": 1000,
    "charge": 2.50,
    "status": "COMPLETED",
    "startCount": 1000,
    "remains": 0,
    "createdAt": "2026-06-02T05:44:00.000Z"
  }
}

GET /api/v1/balance

Get current account balance in USD.

Request

curl -X GET https://skzenith.com/api/v1/balance \
  -H "x-api-key: sk_your_api_key_here"

Response

{
  "status": "success",
  "balance": 245.75,
  "currency": "USD"
}

POST /api/v1/recharge

Add credit to a user. Uses balance for main users, childBalance for child users. Requires a Recharge Key.

ParameterTypeDescription
usernamestringTarget user's username (main or child user)
amountnumberAmount to add (positive number)

Request

curl -X POST https://skzenith.com/api/v1/recharge \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk_recharge_key_here" \
  -d '{
    "username": "janus",
    "amount": 100
  }'

Response

{
  "status": "success",
  "user": {
    "id": "cmuser123...",
    "username": "janus",
    "name": "Janus",
    "balance": 200,
    "childBalance": 0,
    "previousBalance": 100
  },
  "amount": 100
}
Only recharge-type API keys can use this endpoint. Main users (resellerId: null) get credited to balance. Child users get credited to childBalance.

Order Status Values

Possible order statuses returned by the API.

PENDING

Order created, waiting to be placed with provider

PROCESSING

Order placed with provider, in progress

COMPLETED

Order delivered successfully

PARTIAL

Partially completed (some quantity delivered)

FAILED

Order failed — balance is refunded

CANCELLED

Order cancelled — balance is refunded

REFUNDED

Balance has been refunded to account

Error Responses

Common error responses across all endpoints.

401 — Missing API key

{ "status": "error", "message": "X-API-Key header is required" }

401 — Invalid key

{ "status": "error", "message": "Invalid API key" }

403 — Inactive key

{ "status": "error", "message": "API key is inactive" }

403 — Wrong key type

{ "status": "error", "message": "This API key does not have recharge permission" }

400 — Insufficient balance

{ "status": "error", "message": "Insufficient balance" }

400 — Minimum/Maximum order

{ "status": "error", "message": "Minimum order is 100" }

400 — Service not available

{ "status": "error", "message": "Service not found" }

404 — User not found

{ "status": "error", "message": "User not found" }

For support, contact your account manager or open a ticket in the dashboard.

API Documentation — SK ZENITH