Start a Job draft
Start a new unpublished Job with whatever is known so far. Nobody outside the team sees it until it is published.
bearerAuthorizationBearer <API key or OAuth token>An organization API key (ink_live_…, ADR-0124), or the OAuth access token a person's AI client gets from the Recruiter MCP sign-in. Only the Authorization header is accepted.
Idempotency-Key?stringMakes a write safe to repeat: the same key and input return the first result. Required for agents' writes and for anything a person confirms.
^[A-Za-z0-9._:-]+$8 <= length <= 128application/json- body
input*confirmation?stringThe id from a confirm or awaiting_approval Outcome, sent with the same input and key to go ahead.
Done. A replay of the same key and input omits output.
application/json- response
status*unknownoutput?replay?actionId*stringcurl -X POST 'https://www.invyte.ai/api/recruiter/v1/operations/jobs.createDraft' \ -H 'Content-Type: application/json' \ -d '{ "input": { "title": "string" }}'{ "status": "done", "output": { "jobId": "string", "revision": 0 }, "replay": { "jobId": "string" }, "actionId": "string"}Archive a Job POST
Archive a published Job for good: it can never be reopened or published again. It stops taking applications, its sourcing stops and candidates' scheduled reminders are cancelled; its candidates and history stay readable (jobs.list with status archived). To stop a Job for now, pause it with jobs.setStatus (status paused) and reopen it later with jobs.publish.
Delete a Job POST
Delete a Job for good. A draft that was never published is removed; a published Job disappears from every list with its candidates, its sourcing stops and candidates' scheduled reminders are cancelled. To keep its history, use jobs.archive instead.