Panel
Sign in Sign up

API

A complete reference for integrating with Panel.

HTTP MethodPOST
API URLhttps://your-domain/api/v2
API KeyGet your key from your account
Response formatJSON

Send every request as application/x-www-form-urlencoded. The key and action parameters are always required. Example PHP code · Generate API key

User balance

ParametersDescription
keyYour API key
actionbalance

Example response

{
  "balance":  "100.84292",
  "currency": "USD"
}

Service list

ParametersDescription
keyYour API key
actionservices

Example response

[
  {
    "service":  "1",
    "name":     "Followers",
    "type":     "Default",
    "rate":     "0.90",
    "min":      "50",
    "max":      "10000",
    "category": "First Category"
  },
  {
    "service":  "2",
    "name":     "Comments",
    "type":     "Custom Comments",
    "rate":     "8",
    "min":      "10",
    "max":      "1500",
    "category": "Second Category"
  }
]

Add order

The add action accepts different parameter sets depending on the service type. Inspect type in the service catalog to pick the right payload.

Default

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkLink to page
quantityNeeded quantity
runs optionalRuns to deliver
interval optionalInterval in minutes

Example response

{ "order": 23501 }

SEO

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkLink to page
keywordsComma-separated keywords list, one keyword per line also works
quantityNeeded quantity

Example response

{ "order": 23502 }

Custom Comments

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkLink to page
commentsOne comment per line · quantity is inferred from the number of non-empty lines

Example response

{ "order": 23503 }

Custom Comments Package

ParametersDescription
keyYour API key
actionadd
serviceService ID
usernameTarget username (e.g. mychannel)
minMinimum comments per post
maxMaximum comments per post
delayDelay between posts in minutes
posts optionalTotal posts to deliver to (defaults to 1)
old_posts optionalAmount of already-published posts to also process
expiry optionalExpiry date YYYY-MM-DD

Total quantity is computed server-side as posts × max; charge is billed at the upper bound and the undelivered slice is pro-rata refunded at completion.

Example response

{ "order": 23504 }

Poll

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkLink to the poll post
quantityNeeded quantity
answer_numberThe answer number to vote for (1, 2, 3 …)

Example response

{ "order": 23505 }

Subscriptions

Subscription orders must be created from the customer site; API creation is not yet supported. Sending action=add with a subscription service ID returns HTTP 400 with a clear error message. Status / cancel / refill on an existing subscription still work normally through the API.

Invites from Groups

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkTarget channel / group
groupsSource groups · one username per line
quantityNeeded quantity

Example response

{ "order": 23507 }

Package

ParametersDescription
keyYour API key
actionadd
serviceService ID
linkLink to page

Package services have a fixed delivered quantity defined by the service itself — you only need to send the link.

{ "order": 23508 }

Order status

ParametersDescription
keyYour API key
actionstatus
orderOrder ID

Example response

{
  "charge":      "0.27819",
  "start_count": "3572",
  "status":      "Partial",
  "remains":     "157",
  "currency":    "USD"
}

Possible status values: Pending In progress Partial Completed Done Canceled Failed

Multiple orders status

ParametersDescription
keyYour API key
actionmultiStatus
ordersComma-separated order IDs (up to 100)

Example response

{
  "1": { "charge": "0.27819", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD" },
  "2": { "error":  "Incorrect order ID" },
  "3": { "charge": "1.44219", "start_count": "234",  "status": "In progress", "remains": "10", "currency": "USD" }
}

Cancel the orders

ParametersDescription
keyYour API key
actioncancel
ordersComma-separated order IDs

Example response

[
  { "order": 9,  "cancel": { "status": "success" } },
  { "order": 2,  "error":  "Incorrect order ID" }
]

Error codes

HTTPMeaning
400Request shape invalid (missing fields, unsupported action).
401Missing or wrong key.
402Insufficient balance for the order.
404Unknown order / service.
429Rate limit exceeded (1000 req/min per IP).
502Upstream provider returned an error.

Errors inside a 200 response always use {"error":"…"}.

Webhooks

Optional — configure a webhook URL on your account and we'll POST every order status change:

POST https://your-site.com/webhooks/order-update
Content-Type: application/json

{
  "order_id":    1487,
  "status":      "Completed",
  "remains":     0,
  "start_count": 8421,
  "charge":      4.5
}