Create decision
Classify or score information with a model marked supports_decisions: true. Jev uses
OpenRouter; GPT-6 Luna uses OpenAI directly. Both accept the same question schema.
The endpoint does not select a fallback model. GPT-6 Luna Decisions uses input-only
pricing with a separate long-context tier, not its chat rates. Gumloop checks credits
before sending the request to a provider; insufficient credits return HTTP 402 credit_limit_exceeded. A provider call whose cost is fully waived because you use
your own API key is exempt from this preflight.
Which question type should I use?
Which question type should I use?
state, instructions, and individual criteria descriptions can be strings, JSON objects, or arrays. The API uses the same OpenRouter-shaped Decisions schema for both Jev and GPT-6 Luna. Gumloop translates it to OpenAI’s schema for Luna, so keep noul for yes/no questions.Which models and request options are supported?
Which models and request options are supported?
GET /models with supports_decisions: true: typesafe/jev-1.14, typesafe/jev-1.13 through OpenRouter, or gpt-6-luna directly through OpenAI. is_classifier_model: true means decisions-only. GPT-6 Luna also supports POST /chat/completions under the same id.- Unknown or restricted ids, models without Decisions support, and unsupported proxy configurations return
model_unavailable. The endpoint does not select a fallback model. - Responses are not streamed.
providerpreferences apply to OpenRouter, not OpenAI. Gumloop applies its zero-data-retention policy after OpenRouter preferences; you cannot disable it. OpenAI requests do not forward theproviderfield.- The response
modelidentifies the exact served version. Usage records retain that version too. - If OpenAI refuses any question, the request returns HTTP 422 (
provider_error).details.provider_messagenames the refused question ids, and the request does not return partial answers. - For OpenAI,
useris sent assafety_identifier, truncated to 128 characters.
How are requests billed?
How are requests billed?
Authorizations
Query Parameters
Scope the request to a team. When omitted, uses the authenticated user's default organization.
Body
Decision-capable model id. Use an id from GET /models whose supports_decisions is true, such as typesafe/jev-1.13 or gpt-6-luna.
"typesafe/jev-1.13"
The content to evaluate. A plain string, or a JSON object or array of related context.
Questions keyed by ids you choose. Answers come back under the same ids.
OpenRouter provider routing preferences, not forwarded to OpenAI. The server applies its zero-data-retention policy last for OpenRouter. You cannot turn it off.
Groups related requests in observability tooling. Not sent to the model.
256Observability metadata. Unrecognized keys are ignored, not forwarded.
A stable id for your end user. The provider uses it for abuse monitoring. OpenAI receives it as safety_identifier, truncated to 128 characters.
Response
One answer per question, under the question's id.