API reference
1PANEL PLUS speaks the standard SMM panel API v2. Send a POST request with your API key and an action; every answer is JSON. Prices and balance are the same as on the website.
Basics
- Endpoint
- https://1panelplus.com/api/v2
- Method
- POST
- Parameters
- Form fields or JSON body
- Your API key
- From the API key page of your dashboard
- Rate limit
- 300 requests per minute per key
Example request
curl -X POST https://1panelplus.com/api/v2 \ -d key=YOUR_API_KEY \ -d action=balance
Service list
All active services. rate is the price per 1,000 in USD, or the price of one package when type is Package.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | services |
Example response
[
{
"service": 1204,
"name": "YouTube Views - 30 Days Refill",
"type": "Default",
"category": "YouTube - Views (30 Days Refill)",
"rate": "1.5600",
"min": "100",
"max": "1000000",
"refill": true,
"cancel": false
}
]Add order
Places an order and takes its price from your balance. For Custom Comments, send comments (one per line) instead of quantity.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link to the video, Short, stream or channel |
| quantity | Quantity (not for Custom Comments or Package) |
| comments | Custom Comments only: one comment per line |
Example response
{
"order": 23501
}Order status
Status of one order. charge is what you paid, in USD.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| order | Order ID |
Example response
{
"charge": "1.560000",
"start_count": "3572",
"status": "In progress",
"remains": "157",
"currency": "USD"
}Multiple status
Status of up to 100 orders, comma separated.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| orders | Order IDs, for example 1,10,100 |
Example response
{
"1": { "charge": "0.270000", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD" },
"10": { "error": "Incorrect order ID" }
}Refill
Requests a refill for a finished order of a refill service.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | refill |
| order | Order ID |
Example response
{
"refill": 412
}Refill status
Status of a refill request.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | refill_status |
| refill | Refill ID |
Example response
{
"status": "Completed"
}Balance
Your balance in USD.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | balance |
Example response
{
"balance": "100.840000",
"currency": "USD"
}Order statuses
| Pending | Received, waiting to start |
| In progress | Being delivered |
| Completed | Delivered in full |
| Partial | Part delivered; the rest refunded to your balance |
| Canceled | Not delivered; refunded in full |
Errors
Errors come back as JSON with an error message, for example:
{
"error": "Not enough funds on balance"
}| Invalid API key | The key is missing, wrong or was replaced |
| Incorrect service ID | No active service with this ID |
| Incorrect link | The link is empty or not a web address |
| Quantity out of range | Below the minimum or above the maximum of the service |
| Not enough funds on balance | Add funds first |
| Too many requests | More than 300 requests in a minute |