approve_change
Decide changes held for review (chat or chat_async). Single: change_id + approved=true|false (+ optional feedback for the AI to revise on). Batch: a 'changes' array of per-change decisions. Approved changes apply atomically; denied ones are discarded. When a decision completes the batch (batch_complete=true), the job resumes and this call waits until the resumed turn settles, then returns job_status and applied: applied=true means the approved changes are in the document (an export or the next chat includes them); job_status awaiting_approval means the turn proposed more changes (decide them the same way); failed means they were not applied. With wait_for_result=false it returns at once (applied=false) and you wait with get_job.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"session_id": "<session_id>",
"job_id": "<job_id>",
"approved": "<approved>"
},
"name": "approve_change"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID that is awaiting approval. | |
| changes | No | Batch decisions: array of {change_id, approved, feedback}. Each listed change_id with approved=true is an explicit decision and applies, including changes flagged for individual review; an approve that names no change decides nothing and returns the flagged ids in needs_individual_approval. | |
| approved | Yes | Whether to approve (true) or deny (false) the change. | |
| feedback | No | Optional feedback explaining why a change was denied. Helps the AI adjust future suggestions. | |
| change_id | No | Specific change to approve/deny (for individual decisions). Get change IDs from the job's pending_changes. | |
| session_id | Yes | ||
| wait_for_result | No | Default true: when the decision completes the batch, the call returns after the resumed turn settles (changes applied and saved, a new review pause, or a failure), reported in job_status, applied and job. false returns once the decision is recorded (applied=false, job_status='in_progress'); then wait with get_job. |