Guides
Changelog
The v1 surface this API actually serves, and how it changes. Most entries are additive: existing fields keep their meaning, and clients must ignore fields they do not recognize.
v1 API surface
These are the public /v1 operations on the shipped rewrite. Unpublished product areas are omitted from docs and from the API reference until they are mounted.
| Area | Operations |
|---|---|
| Account | GET /v1/whoami |
| Feedback | POST /v1/feedback |
| Search | POST /v1/candidates/search, GET /v1/search/sources, GET /v1/candidates/search/pages |
| Profiles | POST /v1/profiles/unlock |
| Person matching | POST /v1/person-matches |
| Contacts | POST /v1/contacts, POST /v1/contact-retrieval-jobs |
| Jobs | GET /v1/jobs, GET /v1/jobs/{job_id}, POST /v1/jobs/{job_id}/cancel, GET /v1/job-results/{job_id} |
| Webhooks | POST/GET /v1/webhook-endpoints, GET/PATCH/DELETE /v1/webhook-endpoints/{id}, POST /v1/webhook-endpoints/{id}/rotate-secret, GET /v1/webhook-deliveries, GET /v1/webhook-deliveries/{id}, POST /v1/webhook-deliveries/{id}/replays |
How changes are made
- New response fields can appear at any time; ignore what you do not know.
- Existing fields keep their meaning and type inside
/v1. A dated entry below records the rare exception, with the fields it touches. - New required request fields and removals ship as a new version, never inside
/v1. - Problem
codevalues are stable;titleanddetailprose may be reworded.
2 October 2026: operational limits report what is enforced
GET /v1/operational-limits and the console Limits page now report the limits the API enforces. They used to carry each operation's standard per-minute figure as if it were a limit, although nothing enforced it. This changes the meaning of existing fields in limits and in hierarchy[].limits; the shape of the response is unchanged apart from one new field.
requests_per_secondis new: the requests per second admitted.requests_per_minuteisnullwhen no per-minute cap applies, which is the default. It is a number only while a custom limit is in force.max_concurrencyandlease_ttl_secondsare the in-flight limit and lease the API enforces.weight_per_minuteis alwaysnull, because no weight is enforced.effective_ceiling_refisnullunless a custom per-minute ceiling is in force.standard_requests_per_minute,maximum_requests_per_minute,suggested_requests_per_minuteandinherited_ceiling_refkeep their values. They are the bounds a custom limit is measured against, not limits in force.
Dated entries appear here as changes ship. See the API reference.