Resolve seats to keys and signed URLs (headless mode)
POST https://connect.seatpreevue.com/v1/sessions/{sessionId}/seats/resolve
Operation resolveSeats · Seats
Authentication: a publishable (pk_live_…) or secret (sk_live_…) key, or no key (authenticated by the page’s Origin, or by the session). See Authentication.
Turns seats into our seat keys, with the venue's rules, against the imagery set the session chose
for venueId, and signs their URLs. Up to 50 seats per call. For each seat with a key,
configUrl and (when the set has previews) previewUrl are signed; basePath is
{cdn}/v/{pathId}/panorama/{key}-panorama and extension is {ext}?{query}, so a stock
Pannellum signs every tile and fallback request. A seat with no key (matched: false) has no
URLs. Server sessions call this with a secret key and no Origin; a keyless session
authenticates by the same Origin. A browser or keyless session's calls to this and
getManifest share 120 a minute (429 rate_limited); server sessions have no per-session
limit.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
sessionId |
path | string | yes | |
Origin |
header | string | Sent by browsers; required and validated for pk_ keys, keyless sessions and browser sessions' /events. Absent for server sessions (an sk_ key from a backend; see Authentication). |
Request body
application/json: object
| Field | Type | Required | Description |
|---|---|---|---|
venueId |
string | yes | |
seats |
array of SeatRef | yes |
Responses
| Status | Description | Body |
|---|---|---|
| 200 | One result per input seat, in order | object |
| 400 | Validation failed | Problem |
| 401 | Missing, unknown or revoked key | Problem |
| 403 | Origin, venue, scope or key type not permitted | Problem |
| 404 | Not found | Problem |
| 413 | Body too large (validation_failed; 64 KB for /sessions and /seats/resolve) |
Problem |
| 429 | Rate limited | Problem |