Errors
Every error is meant to be self-explaining. HTTP status + a machine error code; the fix is below. (This catalog
is what the account glass-box will link back to.)
Auth & access
Section titled “Auth & access”| Code | HTTP | Meaning / fix |
|---|---|---|
unauthorized |
401 | Missing/invalid/revoked bearer token. Re-register or use a valid token. |
insufficient_scope |
403 | Your token lacks the scope for this task. |
forbidden |
403 | You don’t own this resource (media buy, radar, ledger). It is owner-scoped. |
seller_only |
403 | /v1/radar is for seller-role tokens. |
rate_limited |
429 | Per-IP or per-principal limit hit. Back off and retry. |
qps_exceeded |
429 | Your mandate’s QPS cap. Slow down or request a higher cap. |
Media buys
Section titled “Media buys”| Code | HTTP | Meaning / fix |
|---|---|---|
no_product_specified / invalid_budget |
400 | Provide product_ids and a positive budget. |
product_not_in_mandate |
403 | The product isn’t in your token’s allow-list. GET /v1/products shows what you can buy. |
unknown_product |
404 | The product_id isn’t in the catalog at all. |
budget_exceeds_mandate / mandate_budget_exhausted |
403 | The buy exceeds your mandate’s remaining budget. |
insufficient_credits |
402 | Live buys only: the prepaid meter is depleted. Top up credits. |
unknown_buy |
404 | No media buy with that id (on /delivery, /impressions, /pacing). |
Serving & confirmation
Section titled “Serving & confirmation”- Impression stays
pending— no trustworthy signal fired (no<Impression>, media fetch, or quartile). A win or nurl never confirms. See Confirmation truth. x-shapedheader on a serve — the supply Radar shed this request before the fan-out (low recent yield). See Pricing & Radar.x-ivtheader — invalid-traffic gate blocked the request (positive bot signal).