Change an approval request
Change a request an agent is waiting on, without deciding it: an email's or Slack post's words (correspondence.send's body, slack.post's text, or the message {subject, body} of pipeline.addPerson, pipeline.nudge, sourcing.invite and outreach.send) or a Job's workflow draft (workflows.saveJobDraft). Read it with approvals.get, then send the whole input with your changes. It is checked again for you and for the agent and stays waiting as a new revision with a new id, to approve or decline on its card. Recorded as your edit (who, where, what changed), so the agent learns from it.
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/approvals.revise' \ -H 'Content-Type: application/json' \ -d '{ "input": { "approvalId": "string", "reviewDigest": "string", "input": { "property1": null, "property2": null } }}'{ "status": "done", "output": { "approvalId": "string", "reviewDigest": "string", "review": { "summary": "string", "details": { "property1": null, "property2": null } }, "fields": [ "string" ] }, "actionId": "string"}