Skip to Content
InvyteDocs

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.

POST
/operations/approvals.revise

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?
actionId*string
Example Request
curl -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    }  }}'
Example Response
{  "status": "done",  "output": {    "approvalId": "string",    "reviewDigest": "string",    "review": {      "summary": "string",      "details": {        "property1": null,        "property2": null      }    },    "fields": [      "string"    ]  },  "actionId": "string"}