- A refused value is a successful
200containing{ "unavailable": "..." }. It is a product fact — never an error, never retry it. See below. - A request error is a non-2xx HTTP status. The table is the whole surface.
Request errors
HTTP refusals are not wrapped in
{ "error": ... }. Schema-2 failures use typed envelopes; legacy schema-1 requests can still use the frozen flat value-refusal shape:
HTTP 413
HTTP 422
Schema 2 HTTP 422
429 windows.
Refusal reasons
Refusals are not in the table above — they live inside a200 and are enumerated by the API itself. Fetch the catalog at runtime instead of hard-coding:
stock_reference catalog=refusal_tokens (trimmed)
not_reported (the concept was not tagged in the filing), not_applicable_for_shape (the statement shape structurally lacks that line), and cash_return_unavailable; tool-level reasons include no_match, no_insider_filings, and no_tracked_holders.