Approve or deny the approval step a workflow run is waiting on. Who may decide follows the approval request: its named approvers, holders of its approver permission, or their delegates. Requesters cannot approve their own authorize requests. With several approvers required, the run resumes once enough have approved.
sb-auth-token<token>Supabase browser session cookie. Supabase may split larger session values into chunked cookies like sb-auth-token.0.
organizationId*stringuuidrunId*stringuuidThe decision and an optional comment shown on the run.
application/jsonapproved*booleancomment?|length <= 2000Returns the run; it resumes asynchronously after the decision.
application/jsoncompletedAt*dateTimeSchema|nullcreatedAt*dateTimeSchemacreatedBy*|uuiddefinitionId*stringuuiddefinitionVersion*integer0 < valueid*stringuuididempotencyKey*|1 <= length <= 240startedAt*dateTimeSchema|nullstatus*workflowRunStatusSchema"queued""running""waiting""completed""failed""canceled"subjectId*|uuidnullsubjectType*|nulltriggerEventId*|uuidtriggerKind*workflowTriggerKindSchema"domain-event""schedule""manual""api""mcp""channel-message""workflow-failed""webhook"updatedAt*dateTimeSchemaworkflowRunId*|1 <= lengthcurl -X POST 'https://app.localhost/api/v1/organizations/123/workflows/runs/123e4567-e89b-12d3-a456-426614174000/approval' \ -H 'Content-Type: application/json' \ -d '{ "approved": true}'{ "completedAt": "string", "createdAt": "string", "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e", "definitionId": "058563fe-6949-46e9-9fb3-06a0e3a11f6a", "definitionVersion": 1, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "idempotencyKey": "string", "startedAt": "string", "status": "queued", "subjectId": null, "subjectType": null, "triggerEventId": "cbdb35e6-5a35-47b6-b2bd-b26be99341ac", "triggerKind": "domain-event", "updatedAt": "string", "workflowRunId": "string"}