Approve Bulk Api V1 Workstreams Cycles Approve Bulk Post
post
/api/v1/workstreams/cycles/approve-bulkApprove or reject N awaiting-approval task instances at once
Resolve a wave of approval gates in one call — the 'approve all N' triage
button. Each (cycle, task) pair is a cycle paused at an approval gate; the
same `decision` is fanned to every pair. Fail-soft: a bad or already-resolved
pair returns an `error` result without failing the batch. Each successful pair
records approval metadata and signals its Temporal workflow to resume.
**Authentication Required:** JWT Bearer token
Request bodyapplication/json
| Field | Type | Description |
|---|---|---|
pairsrequired | CycleTaskPair[] | The (cycle, task) instances to resolveitem shape |
decision | "approve" | "reject" | Decision applied to every pairapprovereject |
comments | string | null | Optional note recorded on every resolution |
Responses
200Per-pair results + roll-up counts
| Field | Type | Description |
|---|---|---|
resultsrequired | BulkApprovalResult[] | One result per requested pair, in orderitem shape |
approved_count | integer | — |
rejected_count | integer | — |
error_count | integer | — |
401Unauthorized
422Validation Error
| Field | Type | Description |
|---|---|---|
detail | ValidationError[] | —item shape |
curl https://api.dev.arch.ie/api/v1/workstreams/cycles/approve-bulk \
-X POST \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"pairs": [
{
"cycle_id": "string",
"task_id": "string"
}
],
"decision": "approve",
"comments": null
}'