There is no request-rate limit. OpenType does not count requests per second or per minute, and no response carries a rate-limit header. A
429 is only ever a period quota refusal.Requests
An
Idempotency-Key is scoped to your organization and never expires: a key used once always refers to the same run.
Runs
These apply to everyPOST /v1/runs, decision or verdict.
The input estimate is
ceil(prompt bytes / 4) + ceil(contract bytes / 4), where the prompt is system plus messages (or the decision state) and the contract is your schema or question set. Roughly, 4 bytes of JSON count as one token.
Each run holds its whole spend ceiling as a reservation until it settles, then is charged what it actually cost. With billing on, a run therefore needs up to 20,000 micros of available credit to start, even when it will cost far less.
Decision runs
Neon 1.1 reads up to 262,144 tokens of input per decision. Verdict runs keep the 64,000-token ceiling. Keep
state to the fields the questions need: a smaller input is cheaper and returns sooner.
Long-context decisions
A decision run can carry up to 262,144 input tokens (256k) in a body of up to 4 MiB. Reading that much takes the model longer, so the deadline of a decision scales with its input:
The default is
30,000 + 120,000 × input_tokens / 262,144 milliseconds, clamped to 150,000. You can send a shorter deadline_ms, or a longer one up to 150,000. Verdict runs keep their own range: default 30,000, at most 120,000.
Set your HTTP client timeout to at least 160 seconds, above the longest deadline, so the server rather than your client ends a slow run and you receive the 504 deadline_exceeded with its request_id. The official SDKs default to 170 seconds.
A long input is priced like any other, per token: a full 262,144-token read with 16 output tokens costs 11,012 micro-USD, within the 20,000 micro-USD per-run ceiling. See Models and pricing.
Response timing
POST /v1/runs returns a Server-Timing header with the time spent in each phase, in milliseconds:
Compare
total with your client’s own measurement to see how much time the network took. The header is on 200 and 202 responses and on most refusals.
Two properties are not checked at admission: whether each alternative name is a single token for the model, and whether the set fits the model’s answer template. A set that fails either is refused later with 503 decision_unavailable. See Decision questions.
Verdict schemas
See Verdict runs.
Lists and reports
Billing
Period quotas
An organization can have two limits per quota period. The period is the current UTC calendar month.GET /v1/quota returns the limits, what the period has consumed, and what remains; a null limit means none is set.
Because the spend check uses the ceiling, a run can be refused while the period still has a little room left. Held reservations count against the remaining spend until they settle, so a burst of concurrent runs can hit the quota and then clear as those runs finish.
A refused run stores nothing, so the same
Idempotency-Key is reusable. A replay of a key that already owns a run is never refused with 429.
When the model service is busy
If the model service behind a run limits OpenType’s traffic, the run fails with503 provider_rate_limited, not 429. That limit is not on your organization. Retry with exponential backoff and a new Idempotency-Key.
Related
- Errors - what each refusal above means and whether to retry.
- Spend limits and quotas - plan around period quotas.
- Models and pricing - what Neon 1.1 costs per token.
- Decision questions - design a question set inside the bounds.
- Model Router - selection requests share the 4 MiB body cap.