Seat Preevue developer docs

Errors and messages

API errors

Every error is application/problem+json (RFC 9457): type, title, status, often detail, and a stable code to branch on.

code Status Means What to do
invalid_key 401 No key, a malformed or unknown key, or a key for the other environment Check the Authorization header and the key's prefix
key_revoked 401 The key was revoked, its rotation grace ended, or its partner is suspended Use the replacement key
scope_insufficient 403 The key may not do this (for example a publishable key calling /manage) Use the right kind of key
origin_not_allowed 403 The request's Origin isn't one of the key's allowed origins (or isn't registered, keyless) Send us the page's origin
origin_missing 403 A browser session's event batch came with no Origin Send events from the page
session_not_found 404 The session is unknown or expired (sessions last 24 hours) Create a new session
venue_not_found 404 No venue matches the context Check venueRef; send us the page and context
venue_not_allowed 403 The venue isn't one your key may use Check the key's venues
set_not_found 400 context.imagerySet names a set the venue doesn't have Check the set name
seat_not_found 404 No view for the seat Show "no view"
alias_conflict 409 Another venue already holds that alias Remove it there first
conflict 409 Something changed while your request was made (a key, a grant, a session); nothing was written Read it again, then retry
rate_limited 429 Over a limit; Retry-After says when to try again Back off
validation_failed 400 The request body or a parameter is invalid; detail names the field Fix the request
internal 500 Our fault Retry later; tell us if it persists

A 412 on a venue update means the venue changed since you read it (If-Match): read it again and re-apply your change. Never resend a write whose outcome you don't know: read the state first.

What visitors see

Message When
"Loading the view…" While the view loads
"No view for this seat yet." We have no view for that seat, or it's named differently from what we expect
"Seat views aren't available for this space." The whole space (for example a studio) has no views: information, not an error
"Couldn't load the view." (with "Try again") A network problem, our service briefly unavailable, or the page's domain not registered

The scripts never change your booking flow: if anything fails, your page carries on without the view.