At a glance
Reference for AI: authentication at a glance
Reference for AI: authentication at a glance
- Where the key lives: web app → Settings → Project Settings. One key per project, created by Checksum during onboarding.
- Base URLs:
https://api.checksum.ai/public-api/v1/for almost everything;https://api.checksum.ai/public-api/v2/forPOST /execution/grepandGET /execution/status/{jobName}. - Async: execution returns a
runId(poll untilisTerminalistrue); generation and healing return abatchId(poll untilallTerminalistrue). - Validation: invalid bodies return
400; a missing or invalid key returns401. - No cancel: API-triggered runs can’t be cancelled through the API.
Your API key
Your project’s API key is in the web app under Settings → Project Settings. Checksum creates it with your project during onboarding, so you don’t need to generate one. Store it as the environment variableCHECKSUM_API_KEY wherever you use it: your shell, your CI secrets, or your coding agent’s config.
CHECKSUM_API_KEY (see CI/CD Integration). The GitHub Action takes it as api-key: ${{ secrets.CHECKSUM_API_KEY }}, and your tests read it through apiKey: process.env.CHECKSUM_API_KEY in checksum.config.ts.
Reference for AI: where the API key is used
Reference for AI: where the API key is used
CHECKSUM_API_KEY.Making requests
Every call to the REST API sends your key in anAuthorization: Bearer header, and requests with a body send JSON. Calls that start agent work (runs, generation, healing) return right away with an ID, and you poll for the result. The examples in these docs poll every 10–30 seconds.
Base URL and versions
Almost everything lives under the v1 base URL. Two endpoints also have a v2 with more options. For running tests by name pattern, use v2.Reference for AI: request conventions and API versions
Reference for AI: request conventions and API versions
Check that your key works
Before wiring up runs, callGET /me. It’s a lightweight check that returns the project your key belongs to, and whether a tests repository is connected.
401, the key is missing, malformed, or has been rotated. Once this call works, you’re ready to start a run.
Reference for AI: GET /me
Reference for AI: GET /me
GET https://api.checksum.ai/public-api/v1/me
Returns basic information about the project the API key belongs to. Use it as a lightweight auth check before triggering runs.A typical integration
Most integrations follow the same path: check the key, pick tests, start a run, wait for the verdict, read the details, and heal what broke.Confirm the key
GET /public-api/v1/me.Choose tests (optional)
POST /public-api/v1/affected-tests with your changed files returns the test IDs most likely affected. See Selecting tests.Trigger a run
autoHeal to heal failures automatically. See Execution endpoints.Poll the run
GET /public-api/v1/execution/status/run/{runId} until isTerminal, then gate on verdict. See Run status.Read the details
Heal
autoHeal at step 3, or call POST /public-api/v1/auto-heal afterward with the run’s UUID. See Trigger healing.Which ID goes where
The most common mistake is passing the wrong ID. Use the run’s UUID (runId) for status, results, and healing. The job name only works with the legacy status endpoint.
Reference for AI: which ID goes where
Reference for AI: which ID goes where
Current limitations
A few other things to know:envOverrides rejects reserved variable names, the API can read bug entities but not change their status, and sharded runs need a recent checksumai.
Reference for AI: API limitations
Reference for AI: API limitations
Authenticating MCP clients
The Checksum MCP server (https://api.checksum.ai/public-api/mcp) supports two sign-in methods. On your own machine, use browser sign-in: you approve the connection while logged in to app.checksum.ai, choose which projects the client may use, and no key is stored. For CI, containers, or clients that only accept a static token, send your API key as a bearer header instead.
Browser-sign-in connections belong to you, not the project. Review or revoke them from the MCP connections card on My Profile. An API key is always scoped to one project. Setup per client is on Coding Agents & MCP.
Reference for AI: MCP authentication
Reference for AI: MCP authentication
https://api.checksum.ai/public-api/mcp. Browser connections are per user and revocable from My Profile → MCP connections. API keys are per project.Troubleshooting
GET /me returns hasTestsRepo: false
GET /me returns hasTestsRepo: false
My grep run ignores branch or envOverrides
My grep run ignores branch or envOverrides
/public-api/v2/execution/grep.