REST API

Ticket types

Reusable ticket configuration — PDF/wallet templates, attendee fields, scan rules, expiry. Referenced by events as ticket_type_id.

A ticket type defines the configuration of a ticket — how it’s rendered (PDF and Apple Wallet templates), 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.

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[ids] 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.

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.

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 date), 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.