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; 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.