Skip to Content
InvyteDocs

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.

POST
/operations/jobs.publish

Authorization

bearer
headerAuthorizationBearer <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.

Header Parameters

Idempotency-Key?string

Makes a write safe to repeat: the same key and input return the first result. Required for agents' writes and for anything a person confirms.

Match^[A-Za-z0-9._:-]+$
Length8 <= length <= 128

Request Body

application/json
  1. body
input*
confirmation?string

The id from a confirm or awaiting_approval Outcome, sent with the same input and key to go ahead.

Response Body

Done. A replay of the same key and input omits output.

application/json
  1. response
status*unknown
output?
replay?
actionId*string
Example Request
curl -X POST 'https://www.invyte.ai/api/recruiter/v1/operations/jobs.publish' \  -H 'Content-Type: application/json' \  -d '{  "input": {    "jobId": "string"  }}'
Example Response
{  "status": "done",  "output": {    "jobId": "string",    "status": "open",    "publishedAt": "2019-08-24T14:15:22Z",    "jobBoardUrl": "string",    "listedOnGoogle": true,    "sourcingStarted": true  },  "replay": {    "jobId": "string"  },  "actionId": "string"}