200 with a gate status. Transport and
platform failures use non-2xx responses with a structured error envelope.
Rate and quota responses may include, in the response body:
codemessagerequest_idnext_step("upgrade","retry", or"wait")
X-Usage-Scope,X-Usage-Plan,X-Usage-Limit,X-Usage-Total,X-Usage-Remaining,X-Usage-Reset-At: monthly plan/token quota.X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset: the separate per-org burst limiter. Present on every gate request, not only 429s.X-Request-IdRetry-After: seconds, on429/503only.
There is no
reset_at field in the response body. Reset timing is header-only:
X-Usage-Reset-At for plan/token quota, X-RateLimit-Reset for the burst
limiter.