Answer questions with System One
/v1/systemoneAnswer questions with System One.
Compatible with TypeSafe System One's answer endpoint: send a state and named questions, get one typed answer per question. model, state and questions are required (400 without them). With a virtual key a provider/ prefix on model is removed before the call.
Authenticate with a TypeSafe virtual key or with x-provider: typesafe and x-api-key; any other provider is a 422, and a PLATFORM virtual key is a 400. The key's checks, the plan's limits and the organization's approved-provider policy (403) apply. INPUT guardrails (the key's and x-guardrail) run over every text in state and each question's instructions; a REDACT rewrites the text and a BLOCK is a 422. Usage is priced per token from TypeSafe's reported usage. Without x-retry-count a failed call is retried up to 3 times on 429 and 5xx (including TypeSafe's 529). TypeSafe's own errors are returned unchanged: status, body and Retry-After.
Authorization
AuthorizationBearer <slug>.<secret>A virtual key's API key (
vk-....<secret>), asAuthorization: Bearer. What the OpenAI SDK sends from itsapi_key. Used by the inference endpoints.- or
x-virtual-keyheaderA virtual key's API key in the
x-virtual-keyheader, for clients that keepAuthorizationfor something else. - or
x-api-keyheaderDirect credentials: the provider's own API key in
x-api-key, with the provider named inx-provider(for exampleopenai). On/v1/messagesa virtual key is accepted inx-api-keytoo, which is what the Claude SDK sends.
Headers
x-providerstringWith direct credentials: the provider
x-api-keybelongs to, for exampleopenaioranthropic(case and dashes are normalised). Not used with a virtual key.x-retry-countinteger<int32>How many times to retry a failed provider call, 0 to 5. Without the header, chat completions, Claude Messages and prompt completions do not retry, and the other endpoints retry up to 3 times. Retries back off exponentially from 1 second and honour a numeric
Retry-After. The number made is in thex-retry-countresponse header.x-retry-status-codesstringComma-separated provider status codes to retry on. Default
429,500,502,503,504,529.x-guardrailstringA guardrail slug (
gr-...) to apply to this request, in addition to any the virtual key carries. A BLOCK is a 422 withx-guardrail-status: BLOCK.
Request body application/json
the questions to answer, in TypeSafe's format
modelstringrequiredThe System One model, for example
jev-latest. With a virtual key aprovider/prefix is removed.stateobjectrequiredWhat the questions are about: text or any JSON value.
questionsmap<string, object>requiredThe questions to answer, keyed by a name you choose. The response has one answer per name.
Responses
modelstringrequiredThe model that answered: the versioned model behind an alias such as
jev-latest.answersmap<string, object>requiredOne answer per question, keyed by the names used in
questions.usageobjectrequiredThe tokens a System One request used.
Child attributes
input_tokensinteger<int32>requiredTokens read from the state and questions.
output_tokensinteger<int32>requiredTokens produced.