Production API

Connect your site, panel, or bot with one endpoint.

This page is your direct integration reference. Generate your key from the dashboard, call /api/v1, fetch the live catalog with services, then place orders from the same active service list available to your account.

All active services POST + GET JSON + Form Data One active key
Production endpoint
https://serva-s.com/api/v1

Preferred method: POST. Compatibility method: GET. Authentication supports the key field, x-api-key header, or Authorization: Bearer YOUR_API_KEY. Legacy compatibility alias: /api/reseller.

Quick start
curl -X POST "https://serva-s.com/api/v1" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "action=balance&key=YOUR_API_KEY"
Service catalog
curl -X POST "https://serva-s.com/api/v1" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "action=services&key=YOUR_API_KEY"
Create order
curl -X POST "https://serva-s.com/api/v1" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "action=add&key=YOUR_API_KEY&service=1234&link=https://example.com/post/1&quantity=1000"
Check order
curl -X POST "https://serva-s.com/api/v1" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "action=status&key=YOUR_API_KEY&order=ORD-100023"
Overview

The current public API surface

1. Your account must be enabled first

If API access is not active for your account yet, contact support or the account manager first.

2. You manage your own key

Create, copy, and revoke your active key from the dashboard. Each account keeps one active key at a time.

3. The catalog is not limited to fixed services

The services action returns the live active API-ready catalog available for your account, including your effective rate.

4. Order tracking is polling-based

Use status for single or batch order checks. Webhooks are not part of this version yet.

Request format

Compatibility-first request model

Endpoint /api/v1

Use the same URL for every action.

Methods POST preferred, GET supported

POST is the recommended method for all integrations.

Authentication key field or auth headers

Send the generated API key in the body, query string, x-api-key, or Authorization: Bearer.

Content types JSON, form-urlencoded, multipart

The handler normalizes all three formats into the same payload shape.

Tracing x-serva-request-id

Every response now includes a request ID header that support can use to trace the exact API call.

Common fields
Field Required Used by Notes
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.
Actions

Supported commands in the current production handler

balance Read account balance

Returns the authenticated user's available balance in USD.

{
  "balance": "25.5",
  "currency": "USD"
}
services Fetch active catalog

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": []
  }
]
add Create a new order

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"
}
status Single or batch status

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"
}
Examples

Integration snippets you can start using today

Node.js
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);
PHP cURL
$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;
Manual-field order example
{
  "action": "add",
  "key": "YOUR_API_KEY",
  "service": "7788",
  "fields": {
    "player_id": "123456789",
    "server_id": "55"
  }
}
Errors

Error model returned by the current handler

INVALID_API_KEY

The key does not exist or the key payload is invalid.

API_KEY_INACTIVE

The key exists, but has already been revoked.

API_ACCESS_NOT_ALLOWED

The user account is not currently approved for API usage.

ACCOUNT_BANNED

The account linked to this API key is banned and cannot use the API.

SERVICE_NOT_FOUND_OR_INACTIVE

The service ID is unknown or not active anymore.

INSUFFICIENT_BALANCE

The order cost is higher than the account balance.

DUPLICATE_ORDER_COOLDOWN

A duplicate target was blocked by the purchase guard.

ACTIVE_TARGET_ORDER_EXISTS

An active order already exists for the same target in the secured purchase pipeline.

Access workflow

How to start using the API correctly

Before your first request
  1. Open the API dashboard at /profile/api/.
  2. Make sure API access is enabled for your account.
  3. Create your active API key and copy the raw key immediately.
  4. Use the endpoint and examples on this page to complete your integration.
Typical integration flow
  1. Call balance to confirm authentication and available funds.
  2. Call services to load the current active catalog and API service IDs.
  3. Call add to place orders from that catalog.
  4. Call status to track each order until completion.
What this API already gives you
  1. One active key with one-time raw key reveal.
  2. Account-aware pricing in the returned service catalog.
  3. Secure order creation through the protected purchase flow.
  4. Single and batch order status lookup.
Resources

Useful files and links