Skip to main content
Two minutes to your first response. You’ll use a test key, which is served from a fixed dataset — nothing real is read or written, so you can’t break anything.
1

Mint a test key

In the dashboard, open Settings → API keys, click Create API key, and choose:
  • EnvironmentTest
  • Scopesread and write (write lets you try the create endpoints)
  • Expiry — whatever suits you; keys can be revoked at any time
The key is shown once. Copy it before closing the dialog.
2

Make a request

You’ll get three sample challenges wrapped in the standard envelope:
Every response carries meta.request_id. Log it — with it we can find your exact call; without it, a 500 is a needle in a haystack.
3

Run the loop

Create an assessment, invite a candidate, then read a report. All simulated: the writes return realistic objects and persist nothing.
Those ids aren’t placeholders — they’re the fixed sandbox ids, safe to hard-code in your own tests. The full list is in Test mode.
4

Handle the failures too

Point your error handling at real responses rather than guessing. Two documented inputs make the awkward cases reproducible:
The rest happen naturally — send an invalid body for 400, use a read-only key on a write for 403. See Errors.
5

Go live

Mint a second key with Environment: Live and the narrowest scopes that do the job. Nothing else in your code changes — same URLs, same shapes.
A live key reads and writes your real data, and inviting a candidate consumes plan quota and sends them an email. Keep the test key in CI.

Next

Authentication

Scopes, expiry, rotation, and what a leaked key can do.

Responses & pagination

The envelope, and how to walk a cursor to the end.

Understanding reports

Read a ship score and verdict without over-reading them.

API reference

Try every endpoint in the playground.