POST
/runs/{id}/approve Approve run step
Approve or reject a gated step in a run. Requires `tasks:write`.
Authenticate with
Authorization: Bearer obk_live_xxx. See authentication. Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Workspace-Id | header | string | required | The workspace to scope the request to. Can also be passed as a `workspace_id` query parameter. |
id | path | string | required |
Request body
Send as JSON in the request body.
| Field | Type | Required | Description |
|---|---|---|---|
action | `approved` | `rejected` | optional |
Responses
200 OK
| Field | Type | Description |
|---|---|---|
run_id | string | |
action | string |
Example request
curl --request POST \
--url https://app.orchly.ai/api/v1/runs/:id/approve \
--header 'Authorization: Bearer obk_live_xxx' \
--header 'X-Workspace-Id: ws_xxx' \
--header 'Content-Type: application/json' \
--data '{ }'const res = await fetch(`https://app.orchly.ai/api/v1/runs/${id}/approve`, {
method: 'POST',
headers: {
'Authorization': 'Bearer obk_live_xxx',
'X-Workspace-Id': 'ws_xxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import requests
resp = requests.post(
"https://app.orchly.ai/api/v1/runs/{id}/approve",
headers={
"Authorization": "Bearer obk_live_xxx",
"X-Workspace-Id": "ws_xxx",
},
json={},
)
data = resp.json() Example response
A 200 response. Dynamic fields are shown as their type.
{
"run_id": "string",
"action": "string"
}