1. Set your key
2. Call the authenticated index
GET /api/v1 is the recommended first call — it verifies your key and describes the whole surface:
200, abridged):
401 with this body:
3. Make a read-only request
source namespace plus any granted to your key (see Authentication). A brand-new key sees an empty array until you create your first league.
Expected response (200):
The response envelope
Every response uses one of two shapes:- Success:
{"data": …}— status200(reads, updates, deletes) or201(creates, including idempotent upserts that updated an existing row). - Error:
{"error": "<code>"}— a single snake_case code, statuses400,401,404, or409only. See Errors & agent safety.
Next steps
- Write something: import leagues and games (idempotent — safe to re-run).
- Get notified instead of polling: webhooks.
- Full endpoint documentation: API reference.

