Agent-ready
The web UI is one client of this API, not a layer above it. Anything a host can do from a phone, an assistant can do over HTTP, which means you can be in the tournament instead of running it.
curl -X POST https://pokerleagueos.com/api/quickstart \
-H 'content-type: application/json' \
-d '{"league_name":"Thursday Night"}'Rate limited to 5 per hour per IP, which is enough to build against and not enough to farm.
POST /api/quickstart returns an organization, a demo session and an API key. No dashboard visit, no OAuth dance.
/openapi.json is an OpenAPI 3.1 document generated from the same schemas the server validates against, so it cannot drift from the endpoints.
Start the clock, advance levels, check players in, record knockouts and rebuys, seat and rebalance tables, settle payouts.
Save the result and the season standings update. The host sees the same tournament in the web UI throughout.
Authorization: Bearer ck_live_… Keys belong to one organization and carry a role, so an agent can never reach another league's data or exceed the role it was given.
Every failure returns a code, a message, a hint, a documentation URL and a list of next actions, so a retry can be reasoned about rather than guessed.
Send an Idempotency-Key on any mutation. A replayed request returns the original response instead of acting twice, and a concurrent duplicate is rejected rather than executed.
An agent can run tournaments. It cannot mint or revoke API keys: those routes reject any request made with a key.