Halaman ini untuk saat ini hanya tersedia dalam bahasa Inggris.

Admin API v2

The full management API for orders, users, payments and support tickets.

The Admin API lets you run your panel from your own tools: pull orders and fulfil them by hand, create users, add balance, answer tickets. Endpoints and the response envelope are compatible with Perfect Panel's Admin API v2.

Keys

Keys are created in the portal: my.followerhq.comMy panels → panel → Admin API. Each key:

  • has its own scope list (only read orders, only add payments, and so on), or "full access";
  • is shown once: copy it and keep it;
  • shows its last use and can be revoked with one click.

Connection

URL https://<panel-domain>/adminapi/v2/...
Auth X-Api-Key: <key> header
Rate limit 5 requests / second per panel; HTTP 429 beyond that
Body JSON (Content-Type: application/json)

Response envelope

{ "data": { ... }, "error_message": "", "error_code": 0 }

On failure the HTTP status and error_code come together:

HTTP error_code Meaning
401 401 Invalid key
403 403 The key lacks the scope for this call
404 40 Object not found
429 429 Rate limited

List endpoints take offset and limit (default 100, max 1,000) and return prev_page_href / next_page_href.

Endpoints

Orders

Method Path What it does
GET /orders List (status, user, service and date filters)
GET /orders/{order_id} One order
POST /orders/pull Pulls pending manual orders, locking them
POST /orders/update Updates counters and status of pulled orders
POST /orders/change-status Changes the status
POST /orders/cancel Cancel + refund
POST /orders/{order_id}/set-partial Partial completion; the remainder is refunded
POST /orders/{order_id}/edit-link Fixes the link
POST /orders/resend Resends to the provider
POST /orders/request-cancel Asks the provider to cancel

The pullupdate pair is for "manual" services you fulfil with your own system instead of a provider: pull marks an order so no other client can take it at the same time.

Refill and cancel tasks

POST /refill/pull, POST /refill/change-status, POST /cancel/pull, POST /cancel/reject

Users

GET /users, POST /users/add, POST /users/{user_id}/edit

E-mail, balance and spent are guarded by separate scopes; a key without the scope does not receive the field.

Payments

GET /payments, POST /payments/add, manual/bonus top-ups; the record appears under Admin → Payments.

Tickets

GET /tickets, GET /tickets/{ticket_id}, POST /tickets/{ticket_id}/reply, POST /tickets/add

Example

curl -X POST https://panel.example.com/adminapi/v2/payments/add \
  -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"user_id": 42, "amount": "100.00", "method": "manual", "memo": "Bank transfer 2026-09-15"}'

Full reference

Every endpoint's parameters and response schemas, filled in with your domain, live on your panel:

  • https://<panel-domain>/admin/adminapi/v2, the readable reference
  • https://<panel-domain>/openapi/adminapi/v2/index.php. OpenAPI JSON, for tools