Error shape
Every error returns the same JSON, so you can branch on the stableerror.code rather than parsing prose:
404 is returned both for “no such resource” and “not yours” — the API never
reveals whether a brand, prompt, or scan exists in another account.Limit reached
409 responses include a third field pointing at where to upgrade:
Pagination
List endpoints (brands, prompts, answers, scans) use offset pagination:
limit— page size, 1–200. Defaults to 50 (90 forscans). Invalid values fall back to the default rather than erroring.offset— rows to skip, 0 or more.
pagination object:
offset until hasMore is false:
The answers list pages over scan runs, not answers — a run where the prompt
had no answer is skipped, so a page can hold fewer than
limit answers even
when hasMore is true. Keep paging until hasMore is false.