OhMyGPT

Decisions

Typed answers to classification questions with OpenAI Decisions, and TypeSafe System One.

POST /v1/decisions serves OpenAI Decisions with the same key you use for chat: send input and typed questions, and get back typed answers with probabilities instead of generated text. It serves openai/gpt-6-luna.

EndpointPOST https://api.ohmygpt.com/v1/decisions
AuthAuthorization: Bearer $OHMYGPT_API_KEY
Modelopenai/gpt-6-luna
ResponseNon-streaming (one JSON response)
curl https://api.ohmygpt.com/v1/decisions \
  -H "Authorization: Bearer $OHMYGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-luna",
    "input": [{
      "type": "message",
      "role": "user",
      "content": [{"type": "input_text", "text": "I was charged twice for my subscription this month."}]
    }],
    "questions": [{
      "type": "choice",
      "name": "department",
      "instructions": "Which department should handle this?",
      "choices": [
        {"value": "billing", "description": "Payments and refunds."},
        {"value": "support", "description": "General support."}
      ]
    }]
  }'
{
  "model": "gpt-6-luna",
  "answers": [
    {
      "type": "choice",
      "name": "department",
      "choice": "billing",
      "probabilities": [
        { "value": "billing", "probability": 1.0 },
        { "value": "support", "probability": 0.0 }
      ],
      "confidence": 1.0
    }
  ],
  "usage": {
    "input_tokens": 124,
    "input_tokens_details": { "cached_tokens": 0, "cache_write_tokens": 0 },
    "output_tokens": 0,
    "output_tokens_details": { "reasoning_tokens": 0 },
    "total_tokens": 124
  }
}

The request and response follow OpenAI's Decisions format exactly, so OpenAI's examples work once you change the base URL, the key, and the model ID. Decisions are billed on input tokens, and each response's charge is in the X-Cost-Credits header, as on every endpoint.

TypeSafe System One

POST /v1/systemone serves TypeSafe System One with the model typesafe/jev-latest. Requests and responses follow TypeSafe's System One format. Send JSON, or multipart/form-data with the JSON in a first part named request followed by one part per image. Request headers that start with TypeSafe-Danger-Zone- reach the model as sent.

On this page