Skip to content
API referenceCreate a decision

Create a decision

POST/v1/decisions

Create a decision.

Compatible with OpenAI's Decisions API: the body is forwarded to OpenAI as sent and OpenAI's answer is returned as is. A request without model is a 400. With a virtual key a provider/ prefix on model is removed before the call.

Authenticate with an OpenAI virtual key (BYOK or PLATFORM) or with x-provider: openai and x-api-key; any other provider is a 422. The key's checks, the plan's limits and the organization's approved-provider policy (403) apply. Tool outputs in input (function_call_output, custom_tool_call_output) are scanned for injected instructions at the key's tool-scan action: a BLOCK is a 422 with x-tool-scan-status: BLOCK and nothing is sent. INPUT guardrails (the key's and x-guardrail) run over every text the model reads, including each question's instructions; a REDACT rewrites the text and a BLOCK is a 422. You are charged for the input tokens only, cached input at the model's cache rates. Without x-retry-count a failed call is retried up to 3 times on 429 and 5xx. OpenAI's own errors are returned unchanged: status, body and Retry-After.

Compatible with the OpenAI Decisions API. The request and response bodies are the provider's own format, passed through by the gateway: see the OpenAI Decisions API reference for every field. The credentials and headers below are what VectorAxis adds.

Authorization

  • AuthorizationBearer <slug>.<secret>

    A virtual key's API key (vk-....<secret>), as Authorization: Bearer. What the OpenAI SDK sends from its api_key. Used by the inference endpoints.

  • orx-virtual-keyheader

    A virtual key's API key in the x-virtual-key header, for clients that keep Authorization for something else.

  • orx-api-keyheader

    Direct credentials: the provider's own API key in x-api-key, with the provider named in x-provider (for example openai). On /v1/messages a virtual key is accepted in x-api-key too, which is what the Claude SDK sends.

Headers

  • x-providerstring

    With direct credentials: the provider x-api-key belongs to, for example openai or anthropic (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 the x-retry-count response header.

  • x-retry-status-codesstring

    Comma-separated provider status codes to retry on. Default 429,500,502,503,504,529.

  • x-guardrailstring

    A guardrail slug (gr-...) to apply to this request, in addition to any the virtual key carries. A BLOCK is a 422 with x-guardrail-status: BLOCK.

Responses

200application/json
NVIDIA Inception Program member

VectorAxis is built by GK Labs, a member of NVIDIA Inception.