Skip to content

Approve an action request and run its operation

POST
/api/v1/action-requests/{id}/approve

Needs write on the operation’s resource (a user or an agent). Runs the operation now, as you, on the request’s arguments or your complete edited_arguments, in one step with the decision; if the operation refuses, you get its error and the request stays pending.

id
required
string format: uuid
object
edited_arguments

Complete replacement arguments, validated and authorised as if proposed now. The original arguments stay on the request.

object
key
additional properties
decision_reason
string
>= 1 characters <= 2000 characters

Success

object
id
required
string format: uuid
organization_id
required
string format: uuid
operation
required

The registered operation proposed, for example tasks.update.

string
arguments
required

The operation’s flat arguments as proposed (the MCP shape: path, query and body fields in one object). Never changed after creation.

object
key
additional properties
edited_arguments
required

The complete replacement arguments a reviewer approved instead; null unless approved with an edit.

object | null
status
required
string
Allowed values: pending approved rejected withdrawn expired superseded executed failed
reason
required
string
evidence
required
Array<object>
object
type
required
string
Allowed values: message interaction
id
required
string format: uuid
contact_id
required
string | null format: uuid
thread_id
required
string | null format: uuid
interaction_id
required
string | null format: uuid
dedup_key
required
string | null
expires_at
required
string
decided_by
required

The principal (user or agent) that decided it; the system principal for an expiry.

string | null format: uuid
decided_at
required
string | null
decision_reason
required
string | null
superseded_by_id
required
string | null format: uuid
result

What approval did: for an inline operation { events: [{ type, resource_type, resource_id }] }, the events it wrote; for a queued one the execution’s result. Null until executed.

error_code
required
string | null
error_message
required
string | null
executed_at
required
string | null
execution_id

The execution a queued approval created; absent or null until then and for operations that run inline.

string | null format: uuid
created_by
required

The principal that proposed it: the source.

string format: uuid
created_at
required
string
updated_at
required
string