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, pdf_template_id, wallet_template_id, attachable, transferable, include_name, include_email, require_name, require_email, include_photo, require_photo, enforce_barcode_pool, attachment_name, kind, use_limit, use_limit_per_date, expiry_method, expiry_unit, expiry_value, register_label, edit_label, restricted_days, editable_after_downloaded, enforce_scan_date, scan_enforcement.

The fields (custom ticket fields) relationship is returned only when listed in ?include=.

List ticket types

GET /ticket_types

List ticket types

curl -X GET \
  'https://app.guestmanager.com/api/public/v2/ticket_types?page[cursor]=&include=fields' \
  -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.
include string fields to include attached custom fields (rendered with the key fields).
filter[ids] string Comma separated ticket type IDs.
filter[event_ids] string Filter by ticket types in use on specific events.
filter[archived_at] boolean true includes archived ticket types; false excludes them.

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,
      "include_name": true,
      "include_email": true,
      "fields": [42, 43]
    }
  }'

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_type[register_label] string   Label shown on the registration form (e.g., “Buy ticket”).
ticket_type[edit_label] string   Label shown on the edit-ticket form.

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 form fields

Parameter Type Default Description
ticket_type[include_name] boolean false Show name field on registration.
ticket_type[require_name] boolean false Require name to be filled in.
ticket_type[include_email] boolean false Show email field on registration.
ticket_type[require_email] boolean false Require email to be filled in.
ticket_type[include_photo] boolean false Allow attendee photo upload.
ticket_type[require_photo] boolean false Require attendee photo upload.
ticket_type[fields] array [] Array of ticket_field_id integers — custom fields attached to this ticket type. See Ticket fields.

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 none One of none (allow scans anytime), within_event_time (only during event window), within_event_date (only on event date).
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 null Expiration strategy. One of from_purchase, from_event, fixed_date.
ticket_type[expiry_value] integer null Expiration value (number of expiry_units).
ticket_type[expiry_unit] string null One of hours, days, weeks, months, years.

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.