Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your provider API key or Bifrost authentication token. Virtual keys (prefixed with sk-bf-) can also be passed here.

Body

application/json

OpenAI's Decisions request. A field OpenAI's question, choice, or level does not define (such as Typesafe's criteria), a top-level state, and a structured or null input are rejected with a 400; any other top-level field is forwarded to the provider unchanged, so a field a newer SDK sends still reaches it.

model
string
required

Model in provider/model format; a model without a provider prefix is OpenAI's

Example:

"gpt-6-luna"

input
required

A string of text, or user messages with text and image parts

questions
object[]
required

Questions in the order asked. Answers follow the same order.

Minimum array length: 1
safety_identifier
string | null

Stable end-user identifier, forwarded to OpenAI

fallbacks
string[]

Bifrost fallback models in provider/model format; never sent upstream

Response

Successful response

OpenAI's Decision object, plus Bifrost's extra_fields as on the other OpenAI routes. Every model's answers are returned in this shape, and it carries no id. When raw responses are enabled and OpenAI served the request, OpenAI's own response body is returned instead, as on the other OpenAI routes.

model
string
required

Model that performed the decision

answers
object[]
required

One answer per question, in question order

usage
object
routing
object

Laya only. The checkpoint that answered and why, passed through untouched

extra_fields
object

Bifrost's response metadata (provider, latency, routing info, and the raw provider body when raw responses are on), as on the other OpenAI routes