Skip to content
Developer Preview

approval/decide

Decides a pending approval, guarded by the current requirement id against the multi-stage race.

Type: ApprovalDecideParams

approval/decide params: the decision. A standard command — requires the session loaded on this host, requires commandId, durable intake before ack, value-identical replay.

Field Type Stability Presence Description
approvalId string required The approval being decided.
choiceId string required One of the current availableChoices; else -32052.
commandId string required The idempotency handle (UUIDv7).
feedback string | null optional Free-text guidance delivered to the model with the denial. Only valid on choices with acceptsFeedback. Never persisted in the durable audit record (live steer only), so it is absent from approval/resolved. Omitted and explicit null both mean “no feedback”.
requirementId ApprovalRequirementRef required Must equal the approval’s currentRequirementId. The multi-stage race guard: a decision aimed at stage 1 can never accidentally satisfy stage 2, and a stale value is -32053.
sessionId string required The target session.
Source

schema/msp/experimental/msp.schema.json#/methods/approval~2Fdecide

{
"description": "Decides a pending approval, guarded by the current requirement id against the multi-stage race.",
"params": {
"$ref": "#/$defs/ApprovalDecideParams"
},
"result": {
"$ref": "#/$defs/ApprovalDecideResult"
}
}