Swarmtix Help Center
Tool Reference

swarmtix_attendees_list

Lists an event's individual ticket holders, most recent first, with names, ticket type and scan count

swarmtix_attendees_list

Lists the individual ticket holders for one event, most recent first, one page at a time. One row is one ticket, not one order — a buyer who bought three tickets appears three times.

When you would reach for it

  • To build an attendee list for a door, a badge run or a seating plan.
  • To count scanstimesScanned is on every row.
  • To find who is coming on one date of a multi-day run.

To look one buyer up rather than read the whole list, use swarmtix_attendees_search.

Scope

attendees:read

This is personal data about your customers: attendee names and the buyer's email address. The consent page says so in those words. It cannot email anybody and cannot check anybody in.

Ticket barcodes and security codes are never returned.

Parameters

NameTypeRequiredDefaultDescription
eventstringYesThe event's id (a GUID) or its URL slug.
eventDatestringNoevery dateLimit the results to one scheduled date, by its id from swarmtix_event_dates_list.
limitintegerNo50How many attendees to return. 1 to 200.
cursorstringNoThe cursor from the end of a previous page. Omit to start at the beginning.

Example call

{
  "name": "swarmtix_attendees_list",
  "arguments": {
    "event": "spring-summit-2026",
    "eventDate": "2c9a7f31-4d88-4f6a-b0e1-5a7c3d9e2f41",
    "limit": 2
  }
}

What comes back

[
  {
    "ticketId": "4e1c8a93-77f2-4b5d-9c06-2a8e5d1f3b74",
    "eventId": "8f14e45f-ceea-467a-9c3d-1b2a5f6e7d80",
    "firstName": "Sarah",
    "lastName": "Meyer",
    "buyerEmail": "[email protected]",
    "ticketType": "General Admission",
    "pricePaid": 45,
    "currency": "EUR",
    "currencySymbol": "€",
    "orderId": 184149,
    "timesScanned": 0,
    "purchasedAt": "2026-10-28T14:22:09"
  },
  {
    "ticketId": "a903f4c7-25be-4d81-90a3-7c6e2b0f5d18",
    "eventId": "8f14e45f-ceea-467a-9c3d-1b2a5f6e7d80",
    "firstName": "Jon",
    "lastName": "Meyer",
    "buyerEmail": "[email protected]",
    "ticketType": "General Admission",
    "pricePaid": 45,
    "currency": "EUR",
    "currencySymbol": "€",
    "orderId": 184149,
    "timesScanned": 0,
    "purchasedAt": "2026-10-28T14:22:09"
  }
]

Showing 2 of 1284. Call again with cursor "YTkwM2Y0YzctMjViZS00ZDgxLTkwYTMtN2M2ZTJiMGY1ZDE4" for the rest.
FieldWhat it is
ticketIdThe sold ticket's id, and the key the cursor is built from
eventIdThe event
firstName, lastNameThe attendee named on the ticket
buyerEmailThe email address of whoever paid — not necessarily the attendee's own
ticketTypeThe name of the ticket type it was bought from
pricePaidWhat was paid for this ticket
currencyThe event's currency as its ISO 4217 code — "EUR", "USD"
currencySymbolThe symbol that renders it — "€", "$"
orderIdThe order it came from — pass it to swarmtix_orders_get
timesScannedHow many times this ticket has been scanned at the door
seatThe seat label, on a reserved-seating event
purchasedAtWhen the order was placed

buyerEmail is the purchaser's address, repeated on every ticket in their order. Two rows sharing an email address are usually two tickets from one order, as in the example above.

What happens when you call it

  1. The event identifier is resolved and the ownership checks run.
  2. limit is checked, and eventDate is parsed if given. An unparseable date id is refused rather than ignored.
  3. Every attendee row for the event — or for that one date — is fetched in one unbounded list.
  4. The list is sorted newest first, with the ticket id breaking ties.
  5. One page is cut, projected to the fields above, and serialized. The cursor is built from the ticket id of the last row actually sent.

Troubleshooting

"Event not found, or this connection does not have access to it."

The event does not exist, or it belongs to a different organisation than this connection covers.

"eventDate is not valid: it is not an id. Expected an event date id (a GUID) from the event dates tool, or nothing for every date."

eventDate must be a date id from swarmtix_event_dates_list, not a calendar date.

"cursor is not valid: the attendee it points at is no longer in this list."

The ticket named by the cursor is no longer in the result set, usually because it was refunded between the two calls, or because eventDate changed. Keep the arguments identical between pages, or start again.

The list is much longer than you expected

One row is one ticket. An event with 600 orders averaging two tickets has 1,200 attendee rows. Narrow to one date, or raise limit to 200 and page through.

"This connection is not authorized for attendees:read. Reconnect and grant it to use this tool."

Reconnect and approve attendees:read. If you only want counts rather than names, swarmtix_tickets_summary and swarmtix_analytics_event answer those without any personal data.

"Swarmtix could not complete this request. Nothing was changed."

The attendee fetch failed. Retry; if it persists, quote the time to support.

Use cases

  • Door list for one date of a multi-day event
  • Badge printing — names and ticket types in one page
  • No-show analysistimesScanned across the list after the event
  • Group bookings — spotting several tickets under one orderId

On this page