notpanel
ServicesPricingFAQGiveaway
notpanel

The fastest and most affordable SMM panel. Trusted by 1M+ users worldwide.

Product

  • Services
  • Pricing
  • Why NotPanel
  • About
  • Developers
  • Blog
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy

Connect

  • Contact Us
  • support@notpanel.com

© © 2026 NotPanel. All rights reserved.

API documentation
+
API Documentation

Introduction

  • Overview
  • Getting started
  • Authentication
  • Rate limits
  • Errors

Catalog

  • List services

Orders

  • Place order
  • Order status
  • Refill
  • Cancel

Account

  • Balance

Webhooks

  • Manage webhooks

Reference

  • Changelog
  • SDKs & libraries

Need help?

support@notpanel.com →

Order status

Returns the current state of one order or up to 100 orders in a single call. For status-driven flows, prefer webhooks over polling — every poll counts against your rate limit, while webhooks fire only on actual changes.

POSThttps://notpanel.com/api/v2action=status
API key requiredRate limited (per-key + per-tier + per-IP)Body: application/x-www-form-urlencoded

Parameters

NameTypeDescription
keyRequiredstringYour API key.
actionRequiredstringMust be the literal string "status".
orderstringSingle-order ID. Either order or orders is required, not both.
ordersstring (CSV)Up to 100 comma-separated order IDs for batch status. Returns a JSON object keyed by order ID.

Example request

Replace YOUR_API_KEYwith the key generated under your dashboard’s API page.

curl -X POST https://notpanel.com/api/v2 \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "key=YOUR_API_KEY&action=status&order=ord_01HG9X7KJP4N..."
const res = await fetch("https://notpanel.com/api/v2", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    action: "status",
    order: "ord_01HG9X7KJP4N...",
  }),
});

const data = await res.json();
console.log(data);
import requests

res = requests.post(
  "https://notpanel.com/api/v2",
  data={
    "key": "YOUR_API_KEY",
    "action": "status",
    "order": "ord_01HG9X7KJP4N...",
},
)
print(res.json())
<?php
$body = http_build_query([
    'key' => 'YOUR_API_KEY',
    'action' => 'status',
    'order' => 'ord_01HG9X7KJP4N...',
]);

$response = file_get_contents('https://notpanel.com/api/v2', 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));

Example response

{
  "status": "in_progress",
  "charge": "0.50",
  "start_count": "1234",
  "remains": "650",
  "currency": "USD"
}

Common errors

StatusBodyCause
400{"error":"Missing parameter: order"}Neither order nor orders was supplied.
400{"error":"Order not found"}The single order ID doesn't exist or doesn't belong to your account.
400{"error":"Maximum 100 orders per request"}The orders CSV contained more than 100 IDs. Split into batches.

Multi-status response

When orders is supplied, the response is an object keyed by order ID. Orders that don't belong to your account are silently omitted from the result — they're not returned as errors.

{
  "ord_01HG9X7KJP4N...": {
    "status": "completed",
    "charge": "0.50",
    "start_count": "1234",
    "remains": "0",
    "currency": "USD"
  },
  "ord_01HG9X8MQR5P...": {
    "status": "in_progress",
    "charge": "0.10",
    "start_count": "98",
    "remains": "200",
    "currency": "USD"
  }
}

Status values

  • pending — accepted by us, not yet sent to upstream.
  • processing — sent to upstream, awaiting confirmation.
  • in_progress — upstream confirmed, delivery in flight.
  • completed — fully delivered.
  • partial — partially delivered; refill may be available.
  • cancelled — cancelled with refund.
  • refunded — refunded (failed delivery).