Request a decision
POST/api/v1/deciders/:decider_id/decisions
Evaluates the decider against input and records the decision. The questions come from the decider, never from the request, so a call site can only supply what is judged. To send the questions with the request, use POST /api/v1/decisions.
Everything that can refuse the request is checked before the decision is written, so a refusal is a 4xx and never a polled failure: the agent's tool surface (400 DECIDER_AGENT_NOT_TOOL_LESS), a tool that cannot answer (400 DECIDER_TOOL_NOT_CALLABLE), a paused project (409 PROJECT_PAUSED) and, for an agent, quota admission (429 QUOTA_EXCEEDED).
A tool backend is called with { input, questions } and must answer { answers: [{ name, probability | choice | score, probabilities?, confidence? }] }, the request and response of OpenAI's Decisions API; an answer outside that contract fails the decision with DECISION_ANSWER_INVALID.
With wait: false, the default, the answer is 201 with the decision queued; poll GET /api/v1/decisions/{decision_id} or subscribe to decisions.completed and decisions.failed. With wait: true it is 201 with the decision settled.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 429
The decision — queued, or settled when wait is true
Bad request — a missing or malformed input, a non-object metadata bag, or a tool-bearing agent
Unauthorized
Forbidden
Decider not found
The project is paused
A generation quota is exhausted