Create a candidate in CATS ATS and add them to a job's pipeline via the API
domain: catsone.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Generate a v3 API key from CATS Administration settings, then authenticate every request with an 'Authorization: Token <Your API Key>' header against host https://api.catsone.com/v3 (JSON only).
Create a candidate with POST /candidates; add ?check_duplicate=true to avoid creating a second record for someone who already exists. Emails go in as an array of {email, is_primary} objects, phones as {number, extension, type} objects, and custom fields as {id, value} pairs.
Look up an existing candidate with GET /candidates/{id}, or list/page through candidates with GET /candidates?page=&per_page=.
Add the candidate to a job's pipeline: CATS models this as its own pipelines resource — POST /pipelines associates a candidate with a job and returns a new pipeline id representing where they sit in that job's hiring stages.
Move the candidate through stages by updating that pipeline's status; CATS fires a pipeline.status_changed webhook carrying pipeline_id, previous_status_id, and new_status_id whenever this happens.
Watch the API-wide rate limit: 500 requests/hour, with rate-limit info returned in response headers and a 429 Too Many Requests if you exceed it.
Known gotchas
Resume parsing and candidate creation are two separate calls — parsing a resume just returns a parsed candidate JSON object; you still have to POST that object to /candidates (with check_duplicate) yourself to actually create the record.
Candidates can optionally be registered with a password for self-service login, authenticated later via a separate POST /candidates/authorization (email+password) endpoint — a different mechanism from your own API-key auth.
Responses use HAL: a candidate object can already embed related resources (e.g. custom_fields, activities) under _embedded — check there before making an extra GET call you didn't need.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?