Skip to content

Request Agent Approval Changes

POST
/agent/approvals/{approval_id}/request-changes

Send the agent back to replan, with a reason. THIS REJECTS THE PROPOSAL.

Not a “hold” and not a comment: the current proposal is rejected ATOMICALLY, and the feedback is stored alongside so the next plan is informed rather than identical. If you want the plan to proceed, use POST /agent/approvals/{approval_id}/decide.

It FAILS CLOSED on both halves. A deployment that does not have this route 404s rather than doing something approximate, and a worker that does not understand the stored feedback still reads the row as a rejection. There is no version of “older software saw this as approval”.

Once decided, an approval cannot be decided again - the winner is settled server-side, so a second call gets 409 rather than overwriting.

Authorizations

Parameters

Path Parameters

approval_id
required

Approval id (UUID).

string

Approval id (UUID).

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirror of RequestChangesBody.

object
feedback
required

Why the proposal is wrong, and what to do instead. REQUIRED and not decoration: it is stored on the rejection and is what the next plan is built from, so an empty-handed rejection produces the same plan again.

string

Responses

200

Successful Response

object
data
required

An open envelope for one approval answer.

Open because an approval carries the plan digest it is bound to, its expiry and its provenance receipts, and that set has grown twice already. On a human-in-the-loop surface a dropped field is a guarantee the caller does not know they lost.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string