Mark a request done
The request is done: name the Job it made or changed and say in one line what was done. A request with a Talent Hub shortlist still to share keeps the Job and is done once the shortlist goes.
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/requests.resolve' \ -H 'Content-Type: application/json' \ -d '{ "input": { "requestId": "string", "jobId": "string", "summary": "string" }}'{ "status": "done", "output": { "id": "string", "kind": "new_role", "status": "new", "trust": "unknown", "channel": "email", "threadId": "string", "from": "string", "text": "string", "facts": { "title": "string", "location": "string", "workplace": "onsite", "compensation": "string", "headcount": 1, "startBy": "string", "mustHaves": [ "string" ], "niceToHaves": [ "string" ], "company": "string", "notes": "string" }, "missing": [ "title" ], "client": { "id": "string", "name": "string" }, "job": { "id": "string", "title": "string" }, "assignee": { "kind": "autopilot" }, "outcome": "string", "shortlist": { "target": 1, "needsJob": true, "people": [ { "key": "string", "label": "string", "fitNote": "string" } ], "share": { "shareId": "string", "people": 0, "sharedAt": "2019-08-24T14:15:22Z" }, "told": true, "picks": [ { "key": "string", "added": true } ] }, "declinedReason": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "replay": { "requestId": "string", "status": "string" }, "actionId": "string"}Note progress on a request's shortlist POST
Record that the client was told about the request's shortlist (`told`), or that someone the client picked on it was asked to be added to the request's Job (`added`, their key). A request with nothing else owed is then done.
Record a request POST
Record what someone asked for: a new role, a change to a live Job (name the Job), more candidates, a pause. A person's own request is trusted and accepted at once. An agent relaying a message names the thread it came on, and trust comes from who wrote it: a Client's contact is accepted at once, someone unknown waits for a person to accept it, and nothing is created or spent before then.