POST to https://api.ashbyhq.com/candidate.create with a JSON body containing at minimum name and email fields
Capture the id field from the response — this is the Ashby candidate id
POST to https://api.ashbyhq.com/application.create with the candidateId and jobPostingId fields to link the candidate to a specific opening
Optionally supply sourceId and creditedToUserId to attribute the application to a sourcing channel and recruiter
Verify the application status in the response is 'active' before proceeding with downstream steps
Known gotchas
Ashby does not automatically deduplicate candidates by email; calling candidate.create with an existing email creates a second record unless you check for duplicates first via candidate.search
The jobPostingId must reference an active, published posting; creating applications against draft or closed postings returns a validation error
API keys must have both 'Candidates - Write' and 'Applications - Write' permissions; a key with only one scope will fail at the second call
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp