---
title: "Create Decisions"
method: POST
path: "/v1/decisions"
---

# Create Decisions

`POST /v1/decisions`

## Request

- Base URL: `https://api.empiriolabs.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.empiriolabs.ai/v1/decisions`
- Auth: none declared
- TypeScript: <https://skmtc.dev/empiriolabs/apis/empiriolabs-gateway/docs/v1/decisions/post.ts> (a function with typed inputs; its response is checked against the schema)

Decision models (the Aplomb family): calibrated answers to typed
questions about a state. Contract: decision-lab/API.md.

`/v1/systemone` is the same handler under the path TypeSafe-compatible
clients and benchmarks call (the request and response shapes are the
same); it meters, bills and logs as /v1/decisions.

The model resolves to its worker only AFTER the meter authenticated the
caller, so an unknown id is a 404 to a customer and never an oracle for
which ids are routed. Admission uses the shared meter with an estimate
that counts media by per-item token bounds, not base64 bytes.
Settlement goes through the token path (a 200 without usage is an error,
never a free success). Every response is private and uncacheable; errors
use the API.md envelope with fixed or field-naming messages, and the
worker's raw body is kept only in the admin-only error_admin_raw.

`long_context` ("fast", the default here, or "full") always travels to the
worker explicitly, and every 200 says which mode ran. Usage, admission and
settlement count the whole state in both modes.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/empiriolabs/apis/empiriolabs-gateway.md) - [All operations](https://skmtc.dev/empiriolabs/apis/empiriolabs-gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/empiriolabs/apis/empiriolabs-gateway/revisions/94bb966b0560?raw)
