Get started
Quickstart: create an API key and make your first call
Create a scoped API key in the Developer console, then call the ChessCore REST API under /api/ with a Bearer token.
Updated
Browse the developer docs
Steps
- Sign in as a person whose role has the integration write permission. Owner and admin roles have it by default. Open Developer in the Integrations section of the app menu. This opens the Developer console at
/integrations/.developer - Open the API keys tab and select Create API key. The button only appears if your role can write integrations.
- In the Create API key dialog, enter a Label, choose API key under Kind, and tick the Scopes you need, for example
students:read. Select Create key. The button stays disabled until you add a label and at least one scope. - In the API key created dialog, select Copy to clipboard, store the secret safely, then select Done. The full secret is shown once and cannot be retrieved later. API keys start with
ck_live_. - Send requests to your ChessCore app address followed by
/api/, with the headerv1 Authorization: Bearer <your key>. For example,GET /returnsapi/ v1/ students { data: [...], page: { next_cursor } }. - To add a student, send
POST /with anapi/ v1/ students Idempotency-Keyheader and a JSON body withfull_name(1 to 200 characters), an optional valid email, and an optional grade (up to 50 characters). This needs thestudents:writescope and returns 201 with the new student. - To add a note to a student, send
POST /with anapi/ v1/ students/ {id}/ notes Idempotency-Keyheader and a body of{ "body": "..." }(1 to 10000 characters). This needsstudents:writeand returns 201. - To find students by exact email, send
GET /. It returns up to 25 matches and no cursor.api/ v1/ students?email=<address> - The OpenAPI description is public at
GET /and needs no credential.api/ v1/ openapi.json
Notes
- Student records returned by the API include
id,full_name,status,grade,skill_band,internal_rating,join_dateandcreated_at. Birthdates and medical notes are never returned. - Request bodies are strict: unknown fields are rejected with 400
invalid_request. - An email sent with
POST /is stored as unverified.v1/ students - Keys created in the console have no expiry date. When you no longer need a key, select Revoke on its card in the API keys tab. It stops working at once.
- Each key card shows its label, an active or revoked badge, the key prefix, the kind and the scopes. The secret itself is never shown again.
- MCP scopes can only be given to a personal access token. If you tick one while API key is chosen, creating the key fails with an error.
Related guides
- Authentication and scopesHow the
/v1API checks aBearercredential, the two key types, and the scope each route needs. - Idempotency keysEvery write needs an
Idempotency-Keyheader so a retried request never runs twice. - Errors and request IDsThe shared error shape, every error type with its HTTP status, and the
X-Request-Idheader.
Still need help?
Email hello@chesscore.io. Using ChessCore day to day? Visit the Help centre.