Hosted beta
API reference
The portable evaluation endpoint, generated from Antaeus's released OpenAPI contract, with the hosted authentication and retry requirements.
Generated at build time from the OpenAPI 3.1.2 documentin Antaeus v0.7.0. Portable schemas are unchanged released copies. The OpenAPI document describes evaluation; hosted key scopes, capacity, and policy-management routes are documented in the hosted guide.
The hosted evaluation URL is /api/v0.1/decisions, using the released v0alpha2 request/Decision schemas. The portable OpenAPI describes/v0alpha2/decisions; configure generated clients to map that operation to the hosted URL. Its server origin is https://api.antaeus.io. The legacy /v0alpha1 hosted base remains an alias for the same v0alpha2 payloads, authentication, usage and replay records.
Hosted request headers
Origin: https://api.antaeus.io. All calls run server-side over HTTPS.
| Header | Requirement |
|---|---|
Authorization | Required: Bearer <API key>, with decisions:create |
Content-Type | Required: application/json |
Idempotency-Key | Optional but recommended: one stable logical event ID, 1–128 visible ASCII characters. Reuse the same key, credential, and exact JSON body on retries within 24 hours. |
POST /api/v0.1/decisions
Evaluate one input against an immutable policy
Operation ID: createDecision
Request body
Required JSON body. Choose exactly one inline policy or immutable published reference; the input is a JSON object.
| Content type | Schema |
|---|---|
application/json | DecisionRequest JSON Schema |
| Field | Required | Type / constant |
|---|---|---|
apiVersion | Yes | decision.antaeus.io/v0alpha2 |
kind | Yes | DecisionRequest |
policy | Yes | object |
input | Yes | object |
Unknown request fields are rejected. See the runnable inline example and published-reference example.
Responses
| Status | Meaning | Content type / schema |
|---|---|---|
200 | A completed allow, review, deny, or failure Decision. | application/jsonDecision |
400 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
401 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
403 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
404 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
413 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
415 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
422 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
429 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
500 | The request was not accepted for evaluation. | application/problem+jsonProblem Details |
The hosted service adds X-Request-Id and Cache-Control: no-store. Replays include Idempotency-Replayed: true; 429 and 500 include Retry-After in seconds.
For status-specific action, read retries and errors. A typed failure Decision remains HTTP 200. It is not permission to proceed.
Decision fields
The response body is the portable Decision itself. Optional extensions do not replace its outcome.
| Field | Required | Type / schema |
|---|---|---|
apiVersion | Yes | decision.antaeus.io/v0alpha2 |
kind | Yes | Decision |
outcome | Yes | ../v0alpha1/common.schema.json#/$defs/decisionOutcome |
policy | Yes | ../v0alpha1/common.schema.json#/$defs/policyIdentity |
ruleResults | Yes | array |
reasonCodes | Yes | ../v0alpha1/common.schema.json#/$defs/reasonCodes |
failure | When outcome is failure | #/$defs/failure |
evaluator | No | #/$defs/evaluator |
extensions | No | ../v0alpha1/common.schema.json#/$defs/extensions |
The complete Decision schema specifies nested fields and conditional requirements. Read the outcome handling table before enforcing a result.