Propose a change for review
Proposes any proposal-eligible operation with its arguments; nothing changes until a reviewer approves. Needs
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
The proposal-eligible operation to run on approval, for example tasks.update. Each operation’s metadata (x-vault-proposal in OpenAPI) says what proposing it needs.
The operation’s flat arguments: its path, query and body fields in one object, exactly as its MCP tool takes them.
object
Why this change is proposed, plain text, for the reviewer.
Messages and interactions the proposal rests on.
object
Context: the contact this is about (needs contacts:read).
Context: the thread this is about (needs messages:read).
Context: the interaction this is about (needs interactions:read); it must belong to thread_id when both are given.
At most one pending request per key: the same proposer replaces its earlier request, another proposer gets 409 duplicate_action_request.
When the request stops being approvable; default 7 days, at most 30.
Responses
Section titled “ Responses ”Success
object
The registered operation proposed, for example tasks.update.
The operation’s flat arguments as proposed (the MCP shape: path, query and body fields in one object). Never changed after creation.
object
The complete replacement arguments a reviewer approved instead; null unless approved with an edit.
object
The principal (user or agent) that decided it; the system principal for an expiry.
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.
The execution a queued approval created; absent or null until then and for operations that run inline.
The principal that proposed it: the source.