Skip to main content
This page records changes to the OpenType API contract and to what an account can do, newest first. Read it when you upgrade a client or when a response differs from what you remember. Each entry links to the page that explains the change in full.
Model Router, 256k-token decisions, and response timing

Model Router

  • POST /v1/router/select. Classifies a task with Neon 1.1 into one of 27 task types and ranks the models of a benchmark catalog for it, under one of four policies: balanced, cost_efficient, capability_heavy or domain_skills. Billed as one decision run; Idempotency-Key is optional. See Model Router.
  • GET /v1/router/task-types and GET /v1/router/models. The task taxonomy with each type’s benchmark weights, and the catalog the router selects from. See Task types and policies.

Runs

  • 256k-token decisions. A Neon 1.1 decision reads up to 262,144 input tokens, up from 3,968. See Limits.
  • 4 MiB bodies on POST /v1/runs and POST /v1/router/select, up from 1 MiB. Other routes keep 1 MiB.
  • Decision deadlines scale with input. The default is 30 seconds plus 120 seconds per 262,144 input tokens, at most 150 seconds. Set client timeouts to at least 160 seconds; the official SDKs default to 170 seconds.
  • Per-run spend ceiling raised to 20,000 micro-USD ($0.02), from 5,000, so a full 256k-token read fits. A run holds its ceiling while in flight.
  • Server-Timing on POST /v1/runs. Reports admit, upstream, gateway and total time in milliseconds. See Limits.
Open sign-up, billing, daily usage, and Neon 1.1

Accounts and billing

  • Open sign-up. Anyone can create an account in the console. Verifying your email adds $5 of free credit, once per email address. See Create an account.
  • Billing routes. GET /v1/billing returns your balance, auto-recharge settings and the last 50 transactions. POST /v1/billing/checkout returns a Stripe checkout page for a purchase from 5to5 to 1,000. POST /v1/billing/portal opens the Stripe billing portal for saved cards and receipts. PUT /v1/billing/auto-recharge tops your balance up when it falls below a threshold. See Credits and billing and Auto-recharge.
  • billing_read scope. Reading billing needs billing_read; buying credits and changing auto-recharge need billing_write. See Scopes.
  • 402 insufficient_credits. POST /v1/runs refuses a run the balance cannot cover. Nothing is stored, so the same Idempotency-Key works once you add credits. See Handling insufficient credits.

Usage

  • GET /v1/usage/daily. One row per UTC day with runs, input and output tokens, and spend, zero-filled for quiet days, over a window of up to 92 days. See Usage reporting.

Models

  • Neon 1.1. Decision runs are served by Neon 1.1, with the API ids neon-1.1 and neon-latest. See Models and pricing.
  • Optional model field on decision runs. A decision run may name its model: "model": "neon-1.1" or "model": "neon-latest". Any other value is refused with 400 unknown_model.
  • Model reported in responses. A live decision response reports decision.model as neon-1.1. Usage ledger rows report model_id neon-1.1 and provider opentype.

Requests

  • x-request-id on every response. Send your own id to have it echoed, or read the one the server mints. It also appears as error.request_id. See Request ids.
  • 1 MiB body cap on every route. See Limits.
  • Decision alternatives capped at 20 per question, down from 26. A question with more is refused with 400 invalid_decision_questions.
Initial contract
  • POST /v1/runs with two kinds: decision (noul, choice and score questions, with depends_on, ask_if, alone, draws and think_tokens) and verdict (a JSON Schema, with the answer validated against it).
  • GET /v1/runs, GET /v1/runs/{run_id}, and GET /v1/runs/{run_id}/stream, which returns a one-time snapshot of the stored run as server-sent events.
  • API keys (otsk_...) with scopes, rotation, and idempotent revocation.
  • Usage totals, the per-call ledger, per-run usage, and quota: GET /v1/usage, GET /v1/usage/ledger, GET /v1/usage/runs/{run_id}, GET /v1/quota.