List a session's check-ins
The session's admissions, most recent scan first, with the door counts. The counts cover the whole session rather than the returned page, so two doors scanning at once read the same numbers.
The session's admissions, most recent scan first, with the door counts. The counts cover the whole session rather than the returned page, so two doors scanning at once read the same numbers.
Authorization
bearerAuth shows:readA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: shows:read
Path Parameters
The session id.
Query Parameters
Page size. Defaults to 20; the maximum is 100.
1 <= value <= 10020Opaque cursor from the previous page's next_cursor. Omit for the first page.
Filter to the given source; the schema's enum lists the values.
Value in
- "door"
- "self"
- "import"
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "data": [ { "id": "string", "ticket_id": "string", "session_id": "string", "source": "door", "checked_in_at": "string" } ], "next_cursor": "string", "counts": { "tickets_issued": -9007199254740991, "checked_in": -9007199254740991, "not_checked_in": -9007199254740991 }}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}Search across the gallery's entities GET
Ranked lexical search across artworks, contacts, artists, lists, offers, locations, sales, invoices, and publications — exact matches first, then prefix, then substring. Returns a bounded top-N with no cursor. A key sees only the kinds its granted read scopes cover (artworks:read ⇒ artwork + artist + list; sales:read ⇒ sale + invoice; contacts:read ⇒ contact; etc.). Sales match on the buyer contact's name; hits never carry amounts. Excludes the knowledge base — use the assistant for semantic search.
Check a ticket in POST
Admits a ticket into a session — from a scanned QR payload or a ticket id. Idempotent: re-scanning an already-admitted ticket returns its existing check-in, so a flaky scanner or an offline replay is safe. Void or refunded tickets are refused.