A ticket type defines the configuration of a ticket — how it’s rendered (PDF and Apple Wallet templates; Google Wallet designs are set on the event, not the ticket type), what fields are collected, whether it’s transferable, scan rules, expiration, and which custom fields apply. Ticket types are reusable across events: a “GA” ticket type can back GA registration types on every event.
When creating events, registration types reference a ticket type via ticket_type_id. Either reuse an existing ticket type (recommended) or create one inline as part of the event-creation flow via POST /events/{id}/ticket_types.
Default response fields
id, created_at, updated_at, archived_at, name, display_name, question_set_id, pdf_template_id, wallet_template_id, attachable, transferable, enforce_barcode_pool, attachment_name, kind, use_limit, use_limit_per_date, expiry_method, expiry_unit, expiry_value, restricted_days, editable_after_downloaded, enforce_scan_date, scan_enforcement, show_date.
List ticket types
GET /ticket_types
List ticket types
curl -X GET \
'https://app.guestmanager.com/api/public/v2/ticket_types?page[cursor]=' \
-H 'Authorization: Token abcdefg' \
-H 'Content-Type: application/json'
Request parameters
| Parameter | Type | Description |
|---|---|---|
page[cursor] |
string |
Opaque cursor token. Send empty for first page. See Pagination. |
page[size] |
integer |
Records per page. Default 10, maximum 100. |
sort[{field}] |
string |
Sort by id, created_at, updated_at, name. Value is asc or desc. |
filter[id] |
string |
Comma separated ticket type IDs. |
filter[event_ids] |
string |
Filter by ticket types in use on specific events. |
filter[archived] |
boolean |
true returns only archived ticket types; false only active ones. Omit to include both. |
filter[kind] |
string |
ticket or pass. |
Get ticket type
GET /ticket_types/{id}
Create ticket type
POST /ticket_types
Create a basic ticket type
curl -X POST \
https://app.guestmanager.com/api/public/v2/ticket_types \
-H 'Authorization: Token abcdefg' \
-H 'Content-Type: application/json' \
-d '{
"ticket_type": {
"name": "GA",
"transferable": true
}
}'
Request parameters
Identity & display
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[name] |
string |
— | Required. Internal name. |
ticket_type[display_name] |
string |
Name shown to attendees on tickets and emails. Falls back to name when blank. |
Ticket delivery
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[pdf_template_id] |
integer |
null |
PDF design template ID. |
ticket_type[wallet_template_id] |
integer |
null |
Apple Wallet pass template ID. |
ticket_type[attachable] |
boolean |
true |
true to attach the PDF directly to the ticket email. false includes a download link instead. |
Attendee questions
Attendee-facing questions (name, email, photo, and any custom questions) are defined by a question set. Attach one with question_set_id; when blank, the ticket type inherits the company default question set.
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[question_set_id] |
integer |
null |
Question set that defines the attendee form for this ticket type. Blank inherits the company default question set. |
Transfer & edit
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[transferable] |
boolean |
true |
Allow attendees to transfer the ticket to someone else. |
ticket_type[editable_after_downloaded] |
boolean |
true |
Allow edits after the ticket has been downloaded. |
ticket_type[show_date] |
boolean |
true |
Show the date and time to customers on the order status page, PDF tickets and Apple Wallet. A date field placed on a Design-type PDF still prints. |
Scan rules
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[scan_enforcement] |
string |
disabled |
When scans are allowed. One of disabled (anytime), within_event_time (only during the event’s start/end window), same_day (only on the event’s start date in the venue’s time zone, or until the event’s end if it crosses midnight and lasts 24 hours or less), fifteen_minutes_before, thirty_minutes_before, forty_five_minutes_before, one_hour_before (relative to event start). |
ticket_type[enforce_barcode_pool] |
boolean |
false |
Restrict barcode generation to a managed pool. |
ticket_type[restricted_days] |
array |
[] |
For multi-day events, the specific days this ticket type is valid for. |
Use limits & expiry
| Parameter | Type | Default | Description |
|---|---|---|---|
ticket_type[use_limit] |
integer |
null |
Maximum number of times the ticket can be scanned in. null for unlimited. |
ticket_type[use_limit_per_date] |
integer |
null |
Per-date scan limit (for multi-date / pass tickets). |
ticket_type[expiry_method] |
string |
purchase |
When the expiry window starts counting. One of purchase (from purchase time) or scan (from first scan). |
ticket_type[expiry_value] |
integer |
null |
Expiration value (number of expiry_units). Required when expiry_unit is set. |
ticket_type[expiry_unit] |
string |
null |
One of minutes, hours, days, weeks, months, years. Required when expiry_value is set. |
Update ticket type
PATCH /ticket_types/{id}
Same parameter shape as create. Pass only the fields you want to change.
Delete ticket type
DELETE /ticket_types/{id}
Soft-deletes (discards) the ticket type. Returns 204 No Content. Ticket types referenced by active events cannot be deleted directly — archive the event first.