When you wire a panel into a bot, your own site or another panel, an overview of what an API is stops being useful - you need the exact list of calls, their parameters and their response shapes. This reference was built differently from the usual docs: we measured the actual contract across eleven live panels and cross-checked it against our own core. Below are all ten calls, the order fields per service type, and the three places where integrations break most often.

The reference below describes what to call. What the panel itself has to check while you do - quantity limits, duplicates on a link, customer permissions, the request budget - is in a separate article on API abuse: an integration written without those rules in mind runs into them in production.

Why almost every panel speaks the same API

Practically the whole industry speaks one protocol, commonly called API v2. It happened historically: one engine set the format and the rest copied it so that reseller clients written elsewhere would work against them too. For an integrator that is a rare piece of luck - a client written for one panel runs against another with almost no changes.

There are exactly four rules common to all of them:

The practical takeaway for a panel owner: do not invent your own format. A custom protocol cuts you off from resellers who already have an integration written - and they are the ones who bring volume. Why you would hand out keys at all, and to whom, is covered in the panel API and working with resellers.

Seven actions, ten calls

The standard has seven actions, but four of them come in a batch form as well - which makes ten distinct calls to support:

Anything beyond that list is one panel's extension. Ours, for instance, accepts a single cancel by order and treats action=create as a synonym for add - but a client must never be written against such conveniences, because the next panel will not have them.

Order fields depend on the service type

The biggest misconception on a first integration is that an order is a link and a quantity. That is only the base type. The type field in services arrives as a string name, and it dictates the whole parameter set for add:

Two technical details trip up nearly everyone. Lists - comments, keywords, usernames, hashtags - are sent as a single string with newlines as separators, not as a JSON array. And the numeric lookups behind device and type_of_traffic never come back in services: you have to know those values from the panel's documentation up front.

One more thing worth admitting plainly: the type numbering has gaps. At least six numbers are known to the engines yet appear in none of the panels we measured. So "we support every type" is a promise nobody can keep - the right strategy for a receiving panel is a clear refusal on an unknown type instead of guessing its fields. What the types actually mean is unpacked in provider service types.

Three places where integrations break

These three are missing from almost every set of docs, and they are exactly what produces the bugs that surface a week after launch.

Cancellation belongs on the same list: there is no single-order cancel in the standard, only the batch one. A client cancelling orders one at a time still has to send a list of one and parse an array back.

Statuses and errors are strings, not constants

An order status arrives as human-readable text: Pending, In progress, Processing, Partial, Completed, Canceled, Fail, Error. Refills have their own set - Completed, Rejected and the intermediate In progress - and an unknown refill number comes back as Refill not found.

Which gives a client four rules:

What the statuses mean to the buyer, and what a panel owes them in each state, is covered in SMM panel order statuses; why delivered volume drains away and how refills answer it is in drops and refill.

How to test the integration before production

Six checks that catch almost everything before the first live order:

On the provider side there is extra work: per-key limits, a call log and protection against the same order being submitted twice. What to check before handing a reseller a key is covered in how to sell SMM services as a provider. Whether your own provider is supported on our side can be checked on the provider check page.

Wrap-up

API v2 looks simple - one endpoint, seven actions - and that is precisely why it gets underestimated. The real complexity sits in three spots: the service type dictates the order fields, the batch response shape depends on the action, and a refill lives under a number of its own. A client that respects those three moves between panels with almost no edits; a client that missed them loses orders quietly.

If the API you need is for your own panel rather than someone else's, all of this can be tested with no money down: orders that go through our own catalogue are never billed, however many there are, and on third-party providers the first 100 orders a month are free. The key and full documentation are issued straight away, so you can write a client and exercise all ten calls before the panel has its first customer. How that limit is counted is explained in how the rental plan is calculated.