Developer Research · September 29, 2026

OpenAI Decisions API

Designed for fast, bounded decisions. Announced today in limited preview; a working native wrapper still needs the API contract.

Implementation status: blocked at native transport.
The procedure, local input validator, examples, template, and documentation are prepared. All 27 local tests pass. No provider request was sent and no decision was fabricated.

External

What OpenAI Confirms

  • Luna-powered answers to user-defined questions with finite predefined answers.
  • Text and image context.
  • Classification, request routing, and choosing an agent’s next action.
  • Limited preview, with broader release planned in coming days.

Official DevDay recap

Speed Claims, Not An SLA

Tibo’s launch post says decisions are tuned for less than a few hundred milliseconds end to end.

The New Stack reports 150 ms and confidence scores. No published workload, percentile, calibration study, or pricing was verified.

What Is Still Missing

The native endpoint, request and response schemas, model identifier, authentication and preview requirements, pricing, limits, score semantics, refusal behavior, and account entitlement.

Complete public guide and reference indexes, the Node SDK inventory, and its main file tree contained no “decisions” entry when checked. Private-preview docs may exist; this does not establish their absence.

OpenTools coverage independently notes the missing public documentation but relies on the same launch sources.

Internal

/openai:decide now has a procedure, local JSON brief validator, text and image examples, a reusable template, and an integration acceptance checklist. Offline checks validate our brief format only—not an OpenAI wire schema.

Verified Locally

27 tests passed. TypeScript typecheck and skill validation passed. The normal CLI returns DECISIONS_API_CONTRACT_UNAVAILABLE with exit code 2; it never chooses an answer or sends a request.

To Finish The Wrapper

Obtain official public or private-preview documentation, verify access and billing, implement the documented adapter, add transport tests, and run a genuine non-sensitive live request.

Implementation Recommendation

Keep the wrapper thin: input checks, documented native transport, output validation, bounded timeouts, and useful errors. Never silently replace Decisions with chat completions, Jev, or OpenRouter. Evaluate confidence thresholds on representative labeled cases before connecting outputs to actions.