Skip to main content
Use a TEST key while you build. Campaigns contact real people even in test mode, and live campaigns spend credits.
1

Set up your key and secret

You only need your key id and secret. Copy the call() helper for your language from Authentication: it makes the timestamp, signature and Idempotency-Key for you. Or skip the code and use Try it on any API reference page. Then check your key with a read:
A 200 with "success": true means you are ready.
2

Create a workflow

A workflow sets how and when candidates are contacted. Create it once and reuse it for every job.
3

Create a job mandate

The mandate is the job: 5 to 10 skills (at most 3 with verify: true) and up to 5 screening questions (10 with enrichment only). Find skill ids with GET /skills/search.
The answer is 202 Accepted with status: "preparing" while Record writes the skill questions. GET /api/v1/partner/mandates/{mandate_id} shows ready when they are done. You do not have to wait: a campaign created now goes out by itself once the mandate is ready.
4

Register a webhook

Give Record an HTTPS URL. Each finished candidate’s result is posted there, signed with your secret. See Webhooks to verify the signature.
5

Create a campaign

Send the candidates. With a TEST key, use only the phone numbers Record listed for your key.
Numbers that cannot be used come back in rejected with a reason. The rest go ahead.
6

Receive results

When a candidate finishes, your webhook receives a candidate.result event with their result record. No public URL? Pull the events instead. To catch up or check, read the results directly:

Next steps

Job mandates

Skills, questions, locations and what you can change later.

Errors

Every error code and what to do about it.