If API access is not active for your account yet, contact support or the account manager first.
The current public API surface
Create, copy, and revoke your active key from the dashboard. Each account keeps one active key at a time.
The services action returns the live active API-ready catalog available for your account, including your effective rate.
Use status for single or batch order checks. Webhooks are not part of this version yet.
Compatibility-first request model
Use the same URL for every action.
POST is the recommended method for all integrations.
key field or auth headers
Send the generated API key in the body, query string, x-api-key, or Authorization: Bearer.
The handler normalizes all three formats into the same payload shape.
x-serva-request-id
Every response now includes a request ID header that support can use to trace the exact API call.
action
Yes
All requests
Supported values: balance, services, add, status.
key
Yes, unless using headers
All requests
The raw API key shown once at key creation time. Header alternatives: x-api-key or Authorization: Bearer.
service
For add
Order creation
Use the API-facing service ID returned by services.
link / target / target_link
Depends on service
Order creation
SMM-style services require a valid http(s) URL.
quantity
When quantity is user-managed
Order creation
Manual-field bulk services may derive quantity automatically from input lines.
fields / inputs / custom_fields
Service-dependent
Order creation
Supports object, array, or JSON-encoded payloads for manual provider fields.
order / orders
For status
Status checks
orders is a comma-separated batch list.
coupon / coupon_code
No
Order creation
Optional coupon support is already wired into the purchase pipeline.
Supported commands in the current production handler
Returns the authenticated user's available balance in USD.
{
"balance": "25.5",
"currency": "USD"
}
Returns the active service list, API-facing IDs, effective discounted rate, quantity rules, and any manual fields required by the provider.
[
{
"service": "1234",
"name": "Instagram Followers",
"category": "Instagram",
"type": "Default",
"rate": "0.89",
"min": 100,
"max": 100000,
"fields": []
}
]
Creates an order through the secure purchase pipeline, deducts balance, and returns the order number, charge, and new balance.
{
"order": "ORD-100023",
"charge": "2.14",
"currency": "USD",
"balance": "23.36"
}
Use order for one order or orders for a comma-separated list.
{
"charge": "2.14",
"start_count": null,
"status": "In progress",
"remains": 450,
"currency": "USD"
}
Integration snippets you can start using today
const params = new URLSearchParams({
action: "services",
key: process.env.SERVA_API_KEY
});
const response = await fetch("https://serva-s.com/api/v1", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: params
});
const data = await response.json();
console.log(data);
$payload = http_build_query([
'action' => 'add',
'key' => 'YOUR_API_KEY',
'service' => '1234',
'link' => 'https://example.com/post/1',
'quantity' => 1000,
]);
$ch = curl_init('https://serva-s.com/api/v1');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
]);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
{
"action": "add",
"key": "YOUR_API_KEY",
"service": "7788",
"fields": {
"player_id": "123456789",
"server_id": "55"
}
}
Error model returned by the current handler
The key does not exist or the key payload is invalid.
The key exists, but has already been revoked.
The user account is not currently approved for API usage.
The account linked to this API key is banned and cannot use the API.
The service ID is unknown or not active anymore.
The order cost is higher than the account balance.
A duplicate target was blocked by the purchase guard.
An active order already exists for the same target in the secured purchase pipeline.
How to start using the API correctly
- Open the API dashboard at
/profile/api/. - Make sure API access is enabled for your account.
- Create your active API key and copy the raw key immediately.
- Use the endpoint and examples on this page to complete your integration.
- Call
balanceto confirm authentication and available funds. - Call
servicesto load the current active catalog and API service IDs. - Call
addto place orders from that catalog. - Call
statusto track each order until completion.
- One active key with one-time raw key reveal.
- Account-aware pricing in the returned service catalog.
- Secure order creation through the protected purchase flow.
- Single and batch order status lookup.