Publish a Job
Open a draft Job, or reopen a paused or closed one, on your public job board where anyone can apply; optionally list it on Google for Jobs. Opening a draft for the first time also starts its external sourcing when that is switched on: one paid partner search, checked against the daily sourcing budget like sourcing.start, and skipped (the Job still opens) when that budget is spent.
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.publish' \ -H 'Content-Type: application/json' \ -d '{ "input": { "jobId": "string" }}'{ "status": "done", "output": { "jobId": "string", "status": "open", "publishedAt": "2019-08-24T14:15:22Z", "jobBoardUrl": "string", "listedOnGoogle": true, "sourcingStarted": true }, "replay": { "jobId": "string" }, "actionId": "string"}List Jobs POST
List the Jobs you can see, most recently updated first, with their status (draft, open, paused, closed or archived), Client and applicationCount (its applications at every stage, rejected and withdrawn included), a page at a time (`next`). Archived Jobs are included unless you filter by status; `status: archived` lists only them.
Save a Job draft POST
Change an unpublished Job's details or its Sourcing setup, or only where the Job creation flow reopens. Returns the draft's new revision.