RESELLER API · VERSION 1
Integrate mobile services with a small, predictable API.
REST + JSON · Bearer keys · IP restrictions · Signed webhooksOne base URL.
https://vpsapple.com/api/reseller/v1Generate a live API key from the customer panel after the owner enables API access. Keys are shown once and should be stored in a secrets manager.
Bearer key on every request.
curl https://vpsapple.com/api/reseller/v1/balance \
-H "Authorization: Bearer is_live_your_key"Never put the key in a URL, browser bundle, public repository or support ticket. Use HTTPS, restrict the key to your server IPs and rotate it immediately if exposed.
Core reseller operations.
/balanceAccount balance
Returns current Credit, credit limit and available spending capacity.
/servicesService catalog
Returns enabled services with your customer-group or custom price.
/ordersSubmit order
Submit one identifier or an identifiers array for a bulk order.
/orders/{orderId}Order status & result
Returns current status, each identifier and completed result data.
Single or bulk with the same endpoint.
Single order
curl -X POST https://vpsapple.com/api/reseller/v1/orders \
-H "Authorization: Bearer is_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"serviceId": "svc_your_catalog_service_id",
"identifier": "356789012345678",
"fields": {"carrier": "AT&T USA"}
}'Bulk order
{
"serviceId": "svc_your_catalog_service_id",
"identifiers": [
"356789012345678",
"353456789012345"
]
}The complete order is rejected without a Credit charge when validation, quantity or pricing requirements fail.
Signed status delivery.
Configure one public HTTPS endpoint in the customer panel. iStyle sends order.updated, order.completed and order.refunded.
X-iStyle-Event: order.completed
X-iStyle-Signature: sha256=<hex-hmac>
{
"id": "event-id",
"event": "order.completed",
"createdAt": "2026-09-02T10:00:00.000Z",
"data": {"orderId": "IS-...", "status": "Completed"}
}Compute HMAC-SHA256 over the exact raw request body with your webhook secret and compare it to the signature using a constant-time function.
Consistent JSON errors.
{
"ok": false,
"error": {
"code": "order_rejected",
"message": "Insufficient Credit balance."
},
"requestId": "..."
}| Status | Meaning |
|---|---|
| 400 | Invalid JSON, service fields or identifier. |
| 401 | Missing, invalid or revoked API key. |
| 403 | API disabled or IP not approved. |
| 402 | Insufficient Credit. |
| 404 | Order or service not found. |
| 409 | Service paused or pricing unavailable. |
| 429 | Rate limit exceeded. |