Play Cards API

A simple HTTP API to check your balance, browse products, place orders, and track their status — built for resellers and automation.

Base URL  https://api.play-cards.net
Drop-in compatible Idempotent orders Webhooks Stable error codes

Introduction #

The API speaks JSON over HTTPS. If you already integrate with a standard reseller API in this market, you migrate by changing only the base URL and your token — the paths, envelopes, and error codes match.

All endpoints are GET requests and return JSON. Send your token on every request. Orders are idempotent via order_uuid.

Authentication #

Every request must include your API token in the api-token header. You can generate and manage your token, allowed IPs, and callback URL from your account.

HEADER
api-token: YOUR_API_TOKEN

Two additional header forms are accepted for convenience: x-api-key: YOUR_API_TOKEN and Authorization: Bearer YOUR_API_TOKEN.

IP allowlist. If your account has an IP list configured, requests from any other IP are rejected with code 123. Leave the list empty (or enable “allow all IPs”) to accept requests from anywhere.

Errors #

Every error returns the same envelope with a stable numeric code. Build your integration against the code, not the message text.

ERROR RESPONSE
{
  "status": "ERROR",
  "code": 100,
  "msg": "Insufficient balance"
}

Authentication codes

CodeMeaning
120Api Token is required
121Token error (invalid token)
122Not allowed to use the API (disabled / inactive account)
123IP not allowed

Order codes

CodeMeaning
100Insufficient balance
106Quantity not allowed
109Product deleted or not found
110Product not available now
112Quantity is too small
113Quantity is too large
114Bad request / unknown order error
500Unknown internal error

Webhooks #

Instead of polling /check, set a callback URL on your account and we’ll POST to it whenever one of your orders reaches a final state. This is optional and complements the polling endpoint.

POSThttps://your-server.com/your-callback

Headers we send

HeaderDescription
X-PlayCore-Eventorder_completed or order_rejected
X-PlayCore-Callback-IdUnique id of this callback attempt (delivery is retried on failure)
REQUEST BODY (we POST this to you)
{
  "event": "order_completed",
  "order": {
    "id": 10231,
    "publicId": "ID_9fffb0d849a45215",
    "orderUuid": "ecbdd545-e616-4aee-8770-7eefa977bcd0",
    "apiClientReference": null,
    "status": "completed",
    "totalPrice": "1.26048",
    "currencyCode": "USD",
    "inputs": { "playerId": "test" },
    "completedAt": "2026-07-06T13:55:48.000Z",
    "failedAt": null,
    "createdAt": "2026-07-06T13:55:40.000Z",
    "updatedAt": "2026-07-06T13:55:48.000Z"
  }
}
🔒
Respond with HTTP 2xx to acknowledge. Any other status is retried. To verify authenticity, look the order up with /client/api/check?orders=[publicId] before acting on it.