GET/api/v1/account
This key's account: organization, plan, limits and realtime push expiry
Description
Returns the calling key's own information: the key's id and prefix, daily quota, per-minute rate limit, realtime push expiry, and the plan and status of its organization. The SDKs use it to tell whether the key has realtime push (ws_until empty or in the past means it does not).
Rotating the key: POST /api/v1/account/keys/rotate returns the new full key (shown this once), key_id and prefix; the old key keeps working for 24 hours. If you suspect a leak, revoke the key in the console instead, which takes effect at once.
Rotating the key: POST /api/v1/account/keys/rotate returns the new full key (shown this once), key_id and prefix; the old key keeps working for 24 hours. If you suspect a leak, revoke the key in the console instead, which takes effect at once.
Access
- Request
GET https://api.sports.csap.ai/api/v1/account- Auth
- Header X-API-Key: <your key> (Authorization: Bearer <key> also works; ?key= is still accepted but discouraged, because the key ends up in URLs and logs)
- External keys
- AvailableAny valid API key can call this endpoint.
- Rate limits
- 3000 per minute · 200000 per day · Set per key (rate_per_min and quota_daily returned by /api/v1/account are authoritative; the numbers above are a trial key's). Beyond them the answer is 429. In addition, heavy requests such as whole-table snapshots and statistics lists without a match id are processed 2 at a time for the whole platform; a request that cannot get a slot receives 429 with Retry-After. Responses do not carry X-RateLimit-* headers for now. See the general guide
Request parameters 0
This endpoint takes no request parameters.
Example request
curl "https://api.sports.csap.ai/api/v1/account" \ -H "X-API-Key: YOUR_API_KEY"
Try it
Example response
{
"code": 0,
"data": {
"key_id": "<key id>",
"organization": {
"billing_email": "owner@docs.example.com",
"current_period_end": "2026-11-23T23:02:44.489547-08:00",
"id": 1,
"name": "Example Co",
"plan": "trial",
"status": "active",
"subscription_status": "trialing",
"trial_ends_at": "2026-11-23T23:02:44.489547-08:00"
},
"prefix": "<key id>",
"quota_daily": 100000,
"rate_per_min": 600,
"ws_until": "2026-12-09T23:02:44.501671-08:00"
},
"message": "success",
"success": true
}Response fields 6
key_idstringId of the key
Example: "<key id>"organizationobjectOrganization the key belongs to· 8
prefixstringPrefix of the key (the console and logs refer to the key by it)
Example: "<key id>"quota_dailyintegerDaily request quota
Example: 100000rate_per_minintegerRequests allowed per minute
Example: 600ws_untilstringRealtime push expiry; empty or in the past means realtime push is not enabled
Example: "2026-12-09T23:02:44.501671-08:00"Errors
| HTTP | message | When |
|---|---|---|
| 401 | missing API key / unauthorized | No X-API-Key, or the key is invalid or disabled |
| 429 | rate limit exceeded / daily quota exceeded | The key's per-minute rate or daily quota is exceeded |
| 429 | server busy, retry later | The server's concurrency slots are full (only 2 heavy requests at a time); retry after Retry-After seconds |
| 500 | query error | The query failed on the server; you may retry |