Orders
Refill
A finished order can be refilled when the service supports it. Each order can be refilled once every 6 hours, with no end date. refill_status shows the result and, when it was refused, the reason.
https://notpanel.com/api/v3action=refill- API key required
- Rate limited
- Body:
application/x-www-form-urlencoded
Parameters
Always sent
keystringRequired- Your API key.
actionstringRequiredrefillMust be the literal string "refill".
Send order or orders.
orderintegerOne of these- One order number. The reply is an object with the new refill id in
refill. ordersstring (CSV)One of these- Up to 100 comma-separated order numbers. The reply is an array; 30 order ids per minute.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=refill&order=1234567"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "refill",
order: "1234567",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "refill",
"order": "1234567",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'refill',
'order' => '1234567',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Replace YOUR_API_KEY with the key from your API page.
{
"refill": 5501
}Errors
- 404
{"error":"Order not found","error_code":"ORDER_NOT_FOUND","retryable":false}No such order on your account.
- 409
{"error":"You can request a refill again after 2026-10-03T18:35:00.000Z","error_code":"REFILL_COOLDOWN","retryable":true,"details":{"time":"2026-10-03T18:35:00.000Z"}}A refill was requested less than 6 hours ago.
details.timesays when you can ask again. - 409
{"error":"Refill is available after the order is completed","error_code":"REFILL_NOT_COMPLETED","retryable":true}The order is still running. Refill is possible after it is completed.
When a refill is possible
The order must be completed or partial, the service must support refill (its refill flag is true), and at least 6 hours must have passed since the last refill request. There is no time limit after the order. The reply to order is the refill id; can_refill and refill_available_at in status tell you in advance.
Many orders
With orders the reply is an array with one entry per order, each with the refill id or an error object. A problem with one order never stops the others. Up to 100 ids.
key=YOUR_API_KEY&action=refill&orders=1234567,1234568,1234577[
{
"order": 1234567,
"refill": 5501
},
{
"order": 1234568,
"refill": {
"error": "You can request a refill again after 2026-10-03T18:35:00.000Z",
"error_code": "REFILL_COOLDOWN",
"retryable": true,
"details": {
"time": "2026-10-03T18:35:00.000Z"
}
}
},
{
"order": 1234577,
"refill": {
"error": "Refill is available after the order is completed",
"error_code": "REFILL_NOT_COMPLETED",
"retryable": true
}
}
]refill_status
action=refill_status returns the state of one refill or up to 100. A refill that nobody answers for 7 days stops being tracked and shows as Pending, so it does not block a new request.
https://notpanel.com/api/v3action=refill_statusSend refill or refills
refillintegerOne of these- One refill id.
refillsstring (CSV)One of these- Up to 100 comma-separated refill ids.
Response fields
statusstring- The status word. See Status values below.
status_keystring- Stable lowercase form of the status.
orderinteger- The order the refill belongs to.
reason_codestring | null- Why a refill was refused, or
null. reasonstring | null- A fixed English sentence for
reason_code, ornull. created_atstring- When the refill was requested.
updated_atstring- When it last changed.
key=YOUR_API_KEY&action=refill_status&refill=5501{
"status": "Completed",
"status_key": "completed",
"order": 1234567,
"reason_code": null,
"reason": null,
"created_at": "2026-10-03T12:35:00Z",
"updated_at": "2026-10-03T13:05:00Z"
}key=YOUR_API_KEY&action=refill_status&refills=5501,5502,9[
{
"refill": 5501,
"status": "Completed",
"status_key": "completed",
"order": 1234567,
"reason_code": null,
"reason": null,
"created_at": "2026-10-03T12:35:00Z",
"updated_at": "2026-10-03T13:05:00Z"
},
{
"refill": 5502,
"status": "Rejected",
"status_key": "rejected",
"order": 1234568,
"reason_code": "refill_too_early",
"reason": "This order cannot be refilled yet. Try again later.",
"created_at": "2026-10-03T12:40:00Z",
"updated_at": "2026-10-03T12:41:00Z"
},
{
"refill": 9,
"error": "Refill not found",
"error_code": "REFILL_NOT_FOUND",
"retryable": false
}
]Status values
- Pending
status_key=pendingPending— requested, or the result is not known yet. - In progress
status_key=in_progressIn progress— the refill is being done. - Completed
status_key=completedCompleted— the refill was done. - Rejected
status_key=rejectedRejected— the refill was refused.reason_codesays why.
Refusal reasons
A refusal always carries one of these codes. Treat an unknown code as a generic refusal: new codes can be added.
Reason codes and sentences
refill_too_early- This order cannot be refilled yet. Try again later.
refill_daily_limit- Refills for today are used up. Try again tomorrow.
refill_not_completed- Refill is possible after the order is completed.
refill_not_eligible- This order cannot be refilled.
refill_refused- The refill was not accepted. Try again later.
Refill errors
- 404
ORDER_NOT_FOUND
Order not foundNo order with this number belongs to your account. Fix the request first.
- 409
REFILL_NOT_AVAILABLE
Refill is not available for this orderRefill is not possible for this order. Fix the request first.
- 409
REFILL_NOT_COMPLETED
Refill is available after the order is completedRefill is possible once the order is completed. Retrying can help.
- 409
REFILL_COOLDOWN
You can request a refill again after {time}A refill was requested for this order recently. Try again after details.time. Retrying can help.
- 409
REFILL_ALREADY_PENDING
A refill request is already in progress for this orderA refill for this order is already in progress. Retrying can help.
- 404
REFILL_NOT_FOUND
Refill not foundNo refill with this id belongs to your account. Fix the request first.