Add a reference
Create a reference request for a candidate’s referee. This call never sends an email by itself.
Create a reference request for a candidate’s referee.
Headers
X-Api-Keyonb_live_<key_id>_<secret>required- Your issued Partner API key — see Authentication.
Idempotency-Key<your own retry id>optional- Optional. Send it and a retry of the same request replays the first outcome instead of repeating the write. 1–255 characters. Per account, per route, per candidate.
Request fields
referee_emailstringunless `ask_candidate_fields` includes `referee_email`- A bare address: no display name or angle brackets, none of
<>",;()[]\:or whitespace, no trailing dot, and a final domain label shaped like a top-level domain (letters, or anxn--label) — any real TLD, e.g..aior.ltd. Anything else is a 400. referee_namestringoptional- Up to 200 characters.
referee_organisationstringoptional- Up to 200 characters.
ref_typestringoptionalprofessional(default) orcharacter.employment_start_datestringoptional- Free-form; normalised server-side.
employment_end_datestringoptional- Free-form; normalised server-side.
ask_candidate_fieldsstring[]optional- Subset of
referee_name,referee_organisation,employment_dates,referee_email— defers those fields to the candidate over WhatsApp instead of you supplying them now. template_idstringoptional- A
reference_templates.idfrom List reference templates, to pin a recruiter-authored template to this specific request. Omit to use the recruiter’s default template (or the built-in copy if they have none) — see How reference emails are sent.
Status codes
2012xx- Reference request created. With an
Idempotency-Keyalready used for this candidate, this is the ORIGINAL answer again withreplayed: trueinsidedata— nothing is created a second time. 4004xx- No referee email (and it was not deferred to the candidate), an invalid email, a field over length, an invalid
ref_type/ask_candidate_fields, a malformed/unknown/another account’stemplate_id, or anIdempotency-Keyover the length limit.Referee email is requiredInvalid referee email addressReferee details must be at most 200 charactersInvalid template_idThe Idempotency-Key header must be at most 255 characters. 4014xx- Missing, malformed, unknown, revoked or expired key. Every authentication failure looks the same — see Authentication.
4034xx- The key’s user has the
viewerteam role, or their account could not be read just then (retry) — or the key was created Read only (code: "key_read_only", refused before anything else). Checked before the body or any id — see Authentication.Your team role doesn't allow this. Ask your team's admin or owner.This API key is read-only. Create a full-access key to make changes. 4044xx- Unknown candidate, or not yours.
Candidate not found 4094xx- Another request with this
Idempotency-Keyis still in flight. Nothing was created; retry shortly with the same key.A request with this Idempotency-Key is already in progress. 4294xx- Per-key or per-account rate limit exceeded. Retry after the
Retry-Afterheader.Too many requests — please try again shortly. 5005xx- The insert could not be verified as written, or the service is temporarily unavailable.
Failed to create the reference requestThis resource is temporarily unavailable. Try again shortly.
This call does NOT send the referee email — see How reference emails are sent for what does.
cURL
curl -X POST \ "https://rca-onboardly.com/api/v1/candidates/<candidate id>/references" \ -H "X-Api-Key: $ONB_KEY" \ -H "Idempotency-Key: <your own retry id>" \ -H "Content-Type: application/json" \ -d '{ "referee_organisation": "Acme Ltd", "referee_name": "Priya Shah", "ask_candidate_fields": [ "referee_email" ]}'Request body
{ "referee_organisation": "Acme Ltd", "referee_name": "Priya Shah", "ask_candidate_fields": [ "referee_email" ]}201 · Response
{ "id": "8f21a9c0-4d3b-4e7a-9c2f-1b6d8e5a7f30", "status": "pending_send"}See How reference emails are sent for what actually triggers the send.
POST /api/v1/candidates/{id}/references
cURL
curl -X POST \ "https://rca-onboardly.com/api/v1/candidates/<candidate id>/references" \ -H "X-Api-Key: $ONB_KEY" \ -H "Idempotency-Key: <your own retry id>" \ -H "Content-Type: application/json" \ -d '{ "referee_organisation": "Acme Ltd", "referee_name": "Priya Shah", "ask_candidate_fields": [ "referee_email" ]}'Request body
{ "referee_organisation": "Acme Ltd", "referee_name": "Priya Shah", "ask_candidate_fields": [ "referee_email" ]}201 · Response
{ "id": "8f21a9c0-4d3b-4e7a-9c2f-1b6d8e5a7f30", "status": "pending_send"}