Drex
Evaluate questions (OpenAI Decisions format)
- Billing: only a 200 is billed, at the per-input-token price, exactly as /v1/systemone bills the same request.
- Accepted and ignored: safety_identifier, prompt_cache_key, prompt_cache_options, prompt_cache_breakpoint and an image's detail are checked against OpenAI's schema and then dropped. Any other key Drex doesn't know is ignored.
- Errors: Drex's error.type and status, plus OpenAI's error.code and error.param.
- Billing: only a
200is billed, at the per-input-token price, exactly as/v1/systemonebills the same request. - Accepted and ignored:
safety_identifier,prompt_cache_key,prompt_cache_options,prompt_cache_breakpointand an image'sdetailare checked against OpenAI's schema and then dropped. Any other key Drex doesn't know is ignored. - Errors: Drex's
error.typeand status, plus OpenAI'serror.codeanderror.param.
Checks run in the same order as /v1/systemone and stop at the first failure.
Authorization
bearerAuth Your API key, sent as Authorization: Bearer nace_sk_...
- Where: the dashboard's API Keys page. It is shown once, when you create it.
- Format:
nace_sk_followed by 43 URL-safe characters (A-Z,a-z,0-9,_and-). - Limit: an account can hold at most 3 active keys.
- Wrong or missing key: returns
401 authentication_error.
In: header
Request Body
application/json
As on POST /v1/systemone. A registered id or alias is served as named, and no model is served like drex-latest. Any other name (gpt-6-luna, jev-latest, a mistyped drex- name) or a registered id that isn't available yet returns 422 with code: model_not_found and param: model.
What the questions are about: a string, or user messages whose text parts are joined with a blank line into the state. See State.
Show variants
1 to 512 questions, answered in order.
1 <= items <= 512Show child attributes
OpenAI's opaque end-user identifier. Accepted for compatibility, up to 128 characters; Drex neither forwards nor stores it.
length <= 128Show variants
Accepted for OpenAI compatibility, up to 64 characters, and ignored: Drex has no prompt cache.
length <= 64Show variants
Accepted for OpenAI compatibility and ignored: Drex has no prompt cache.
Show variants
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/decisions" \ -H "Content-Type: application/json" \ -d '{ "model": "drex-v2.0", "input": "I was charged twice for my March invoice. Please refund one of the charges.", "questions": [ { "type": "choice", "name": "category", "instructions": "What is this support ticket about?", "choices": [ { "value": "billing", "description": "Payments, invoices, refunds, or charges" }, { "value": "technical", "description": "Bugs, errors, or outages" }, { "value": "account", "description": "Login, profile, or permissions" }, { "value": "other" } ] }, { "type": "score", "name": "sentiment", "instructions": "How upset is the customer?", "levels": [ { "label": "Calm" }, { "label": "Mildly annoyed" }, { "label": "Frustrated" }, { "label": "Angry" } ] }, { "type": "predicate", "name": "wants_refund", "instructions": "Is the customer asking for a refund?" } ] }'{ "model": "drex-v2.0", "answers": [ { "type": "choice", "name": "category", "choice": "billing", "confidence": 0.986, "probabilities": [ { "value": "billing", "probability": 0.9895 }, { "value": "technical", "probability": 0.005 }, { "value": "account", "probability": 0.0006 }, { "value": "other", "probability": 0.0049 } ] }, { "type": "score", "name": "sentiment", "score": 1.5306, "confidence": 0.7183, "probabilities": [ { "value": 0, "label": "Calm", "probability": 0.1572 }, { "value": 1, "label": "Mildly annoyed", "probability": 0.3516 }, { "value": 2, "label": "Frustrated", "probability": 0.2946 }, { "value": 3, "label": "Angry", "probability": 0.1966 } ] }, { "type": "predicate", "name": "wants_refund", "probability": 0.9868 } ], "usage": { "input_tokens": 106, "output_tokens": 212, "total_tokens": 318, "input_tokens_details": { "cached_tokens": 0, "cache_write_tokens": 0 }, "output_tokens_details": { "reasoning_tokens": 0 } }, "request_id": "req_0123456789abcdef0123456789abcdef"}