Raise a decision
curl --request POST \
--url https://useorgx.com/api/v1/decisions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
workspace_id: '5be1076d-8fd0-4c0f-847f-fd67fdb935e8',
title: 'Approve the pricing page rewrite'
})
};
fetch('https://useorgx.com/api/v1/decisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://useorgx.com/api/v1/decisions"
payload = {
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"decision": {
"id": "8cf6f6a4-9a3f-4a52-8d0e-6a4c2b1f9e37",
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite",
"status": "pending",
"shape": "option_select",
"urgency": "urgent",
"blocks_task": false,
"created_at": "2026-08-19T15:04:00.000Z",
"updated_at": "2026-08-19T15:04:00.000Z"
}
}{
"decision": {
"id": "8cf6f6a4-9a3f-4a52-8d0e-6a4c2b1f9e37",
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite",
"status": "pending",
"shape": "option_select",
"urgency": "urgent",
"blocks_task": false,
"created_at": "2026-08-19T15:04:00.000Z",
"updated_at": "2026-08-19T15:04:00.000Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}Decisions
Raise a decision
Create a decision request for a human ruling. Automated callers raise and read decisions; approving or declining stays a signed-in human action, recorded with lifecycle history.
Reuse the same Idempotency-Key and request body to receive the original decision. Reusing the key with a different body returns an idempotency conflict.
POST
/
decisions
Raise a decision
curl --request POST \
--url https://useorgx.com/api/v1/decisions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite"
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
workspace_id: '5be1076d-8fd0-4c0f-847f-fd67fdb935e8',
title: 'Approve the pricing page rewrite'
})
};
fetch('https://useorgx.com/api/v1/decisions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://useorgx.com/api/v1/decisions"
payload = {
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"decision": {
"id": "8cf6f6a4-9a3f-4a52-8d0e-6a4c2b1f9e37",
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite",
"status": "pending",
"shape": "option_select",
"urgency": "urgent",
"blocks_task": false,
"created_at": "2026-08-19T15:04:00.000Z",
"updated_at": "2026-08-19T15:04:00.000Z"
}
}{
"decision": {
"id": "8cf6f6a4-9a3f-4a52-8d0e-6a4c2b1f9e37",
"workspace_id": "5be1076d-8fd0-4c0f-847f-fd67fdb935e8",
"title": "Approve the pricing page rewrite",
"status": "pending",
"shape": "option_select",
"urgency": "urgent",
"blocks_task": false,
"created_at": "2026-08-19T15:04:00.000Z",
"updated_at": "2026-08-19T15:04:00.000Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"docsUrl": "<string>",
"retryAfter": 123
}
}Authorizations
bearerAuthcookieAuth
OrgX API key, sent as Authorization: Bearer oxk_...
Headers
Workspace-scoped retry key for safe mutation replay.
Required string length:
1 - 200Pattern:
^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$Body
application/json
Required string length:
1 - 500Maximum string length:
8000Available options:
generic, artifact_review, icp_confirm, budget_approval, handoff_route, plan_adjust, task_restart, escalation, option_select, option_multiselect Available options:
deferred, standard, urgent, critical Response
The original decision returned for an idempotent replay
A decision request awaiting or carrying a human ruling. Additional lifecycle fields (resolution, priority, due dates, occurrence tracking) appear as the decision progresses.
Show child attributes
Show child attributes
