Request changes to a run's plan
POST
Submits review comments on the plan the run is waiting on (quoted spans, suggested edits, and/or an overall comment) and wakes the agent to revise it; poll GET /runs/{id} for the next plan. Send the plan_sha256 you reviewed; replaying the same idempotency_key with the same batch is a no-op, with a different batch 409. Also 409 when the plan changed, plan review is not open, the agent is still revising, too many comments are unanswered, or the run was cancelled. Needs a signed-in person allowed to review the run (an API key gets 401, another member 403).
CustomerApiKeyheader
AuthorizationBearer <API Key>Customer API key sent as a bearer token
coding_run_id*stringFormat
uuidcustomer_id?|nullapplication/json- body
annotations?array<>idempotency_key*stringLength
1 <= length <= 160overall_comment?string|nullplan_sha256*stringMatch
^[0-9a-f]{64}$Request fulfilled, document follows
application/json- response
activity?array<>artifact_bundle?|nullbrief?string|nullbug_scan_stats?|nullcriteria?array<>criteria_agreement?stringDefault
"pending"delivered_diff_stats?|nullengineering_plan?|nullevidence?|nullfinal_response?|nullgoal?|nullhas_proposed_diff?booleanDefault
falselinked_runs?array<>|nullliveness?|nullpaid_by?|nullpause?|nullpending_facts?array<>pending_hitl_requests?array<>project*queued?|nullreview_gates?array<>run*session_approvals?array<>spec_review?spec_review_expires_at?stringspec_review_wait_until?stringsteer_messages?array<>stop_requested?booleanDefault
falsetools_used?array<>validations?array<>curl -X POST 'https://api.syndai.ai/api/v1/external/coding/runs/497f6eca-6276-4993-bfeb-53cbbbba6f08/plan/request-changes' \ -H 'Content-Type: application/json' \ -d '{ "idempotency_key": "plan-review-4812-1", "overall_comment": "Store the preference in a cookie, not localStorage.", "plan_sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"}'Example Response
{ "has_proposed_diff": false, "pause": null, "pending_hitl_requests": [], "project": { "created_at": "2026-10-27T09:00:00Z", "default_branch": "main", "id": "c2e5f8a1-3b4d-4e6f-8a9b-1c2d3e4f5a6b", "large_repo_detected": false, "repo_name": "storefront", "repo_owner": "acme", "repo_url": "https://github.com/acme/storefront", "updated_at": "2026-10-27T09:00:00Z" }, "run": { "artifact_retention_profile": "standard", "autonomy_mode": "review", "base_branch": "main", "coding_project_id": "c2e5f8a1-3b4d-4e6f-8a9b-1c2d3e4f5a6b", "coding_repository_id": "8a1d4e2f-5b6c-4d7e-8f9a-0b1c2d3e4f50", "created_at": "2026-10-27T09:00:00Z", "current_phase": "execute", "egress_profile": "managed_default", "external_request_id": "ticket-4812", "id": "3f9c2b7a-6d1e-4c8b-9a2f-1b7e5d4c3a21", "pr_url": null, "title": "Add a dark mode toggle to the header", "updated_at": "2026-10-27T09:04:12Z", "validation_iteration": 0 }, "stop_requested": false}