Help center
https://api.certo.bio/v1openapi.json
Candidates
GET
/v1/candidatesscope hiring:readPassports the organisation may read (accepted invitations and approved asks): how far each is and whether its checklist is ready. No record content.
As an MCP tool: list_candidates
Query parameters
| Name | Type | Description |
|---|---|---|
| position_id | uuid | Only candidates for this position. |
| ready | boolean | Only candidates whose checklist is complete. |
| cursor | string | The next_cursor of the previous page. |
| limit | integer, 1 to 100 | How many on a page. 25 by default. |
Response fields
- data
- array of object. This page, newest first.
- data[].id
- uuid. The candidate (the grant): the id for /candidates/{id}.
- data[].name
- string. The passport's display name.
- data[].passport_url
- string. The passport's address.
- data[].position_id
- uuid or null. The position the candidate is under; null for none.
- data[].identity_verified
- boolean. The identity check passed.
- data[].records
- object. The career records counted by outcome.
- data[].records.verified
- integer. Confirmed, with a certificate certo signed.
- data[].records.confirmed
- integer. Confirmed by the organisation asked.
- data[].records.partial
- integer. Partly confirmed: some facts stay the candidate's word.
- data[].records.supported
- integer. Supported by evidence certo reviewed (a company that no longer exists).
- data[].records.in_progress
- integer. Asked, waiting for an answer.
- data[].records.not_confirmed
- integer. Asked, and nobody confirmed it (no answer, refused or no record).
- data[].records.not_requested
- integer. Never asked about.
- data[].checklist
- object. The newest request's checklist.
- data[].checklist.ready
- integer. Items ready.
- data[].checklist.total
- integer. Items asked for.
- data[].checklist.complete
- boolean. Every item is ready.
- data[].contact_shared
- boolean. The candidate shared their contact details with you.
- data[].custom_data
- object or null. Your own data on the invitation or the ask that brought the candidate (the invitation's, else the newest ask's), as you sent it; null for none.
- data[].granted_at
- string. When the candidate shared the passport (ISO 8601).
- next_cursor
- string or null. Pass it as
cursorfor the next page; null on the last.
Errors
- 400 api.credential_in_url
- 401 api.key_invalid
- 401 api.key_expired
- 401 api.key_revoked
- 401 api.key_suspended
- 403 api.scope_missing
- 429 api.rate_limited