Skip to main content
POST
Scan ticket

Authorizations

Authorization
string
header
required

Pass as Authorization: Bearer {token}. Accepts either an OAuth2 JWT access token or an API key (tk_live_...) created from the Tickable dashboard.

Path Parameters

ticket_id
string<uuid>
required

Ticket ID

Example:

"c3d4e5f6-7890-4a1b-2c3d-4e5f6a7b8c9d"

Body

application/json
scanner_id
string<uuid> | null

Scanner ID. If omitted, the first active scanner in your organization is used.

Example:

"e5f6a7b8-9012-4c3d-4e5f-6a7b8c9d0e1f"

Response

Scan result

ticket_id
string<uuid>
required
Example:

"c3d4e5f6-7890-4a1b-2c3d-4e5f6a7b8c9d"

status
enum<string>
required
Available options:
valid,
scanned,
cancelled,
not_allowed
Example:

"valid"

scanned_before
boolean
required
Example:

false

event
object
required
timeslot
object
required
ticket_type
object
required
owner_name
string
required
Example:

"Jane Doe"

owner_email
string
required
Example:

"jane@example.com"

seat
string | null
required
Example:

"A12"

scanned_at
string | null
required
Example:

"2026-06-15T14:30:00Z"

cancelled_at
string | null
required
Example:

null

Other tickets in the same order, if the event has order scanning enabled