View a Job
See one Job: its description, requirements, criteria and skills, company, salary band, AI Persona, Client and publication state, applicationCount (every stage), and, where you have access, its Sourcing setup, its workflow steps (each one a candidate can be placed at is marked) and how many candidates are in each Review Board column.
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?actionId*stringcurl -X POST 'https://www.invyte.ai/api/recruiter/v1/operations/jobs.get' \ -H 'Content-Type: application/json' \ -d '{ "input": { "jobId": "string" }}'{ "status": "done", "output": { "job": { "id": "string", "title": "string", "department": "string", "location": "string", "status": "string", "client": { "id": "string", "name": "string" }, "applicationCount": 0, "agentModes": { "write": "string", "outside": "string" }, "description": "string", "clientConfidential": true, "employmentType": "string", "workMode": "string", "locations": [ "string" ], "skillsRequired": [ "string" ], "criteria": [ { "kind": "RESPONSIBILITY", "text": "string", "dealbreaker": true } ], "experienceRequired": "string", "experienceMinYears": -9007199254740991, "experienceMaxYears": -9007199254740991, "educationRequired": "string", "companyName": "string", "companyDescription": "string", "companyWebsite": "string", "salaryMin": -9007199254740991, "salaryMax": -9007199254740991, "salaryCurrency": "string", "salaryPeriod": "string", "hideSalary": true, "jobAiPersona": "ai_builder", "featured": true, "urgent": true, "createdAt": "2019-08-24T14:15:22Z", "publishedAt": "2019-08-24T14:15:22Z", "applicationDeadline": "2019-08-24T14:15:22Z", "publication": { "publishedAt": "2019-08-24T14:15:22Z", "expiresAt": "2019-08-24T14:15:22Z", "applicationDeadline": "2019-08-24T14:15:22Z", "acceptingApplications": true, "listOnGoogle": true }, "sourcing": { "revision": -9007199254740991, "externalDiscoveryEnabled": true, "yourTalentHubEnabled": true, "globalTalentHubEnabled": true, "invitationMode": "string", "criteria": [ { "text": "string", "required": true } ], "enrichments": [ "EMAIL" ] } }, "stages": [ { "id": "string", "name": "string", "type": "string", "placeable": true } ], "pipeline": [ { "name": "string", "candidateCount": 0 } ] }, "actionId": "string"}View a Job draft POST
See a Job that is still being written: everything it says so far, its revision for `jobs.saveDraft`, the step of Job creation its author reached, and the workflow being prepared for it.
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.