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 scans —
timesScannedis 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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
event | string | Yes | — | The event's id (a GUID) or its URL slug. |
eventDate | string | No | every date | Limit the results to one scheduled date, by its id from swarmtix_event_dates_list. |
limit | integer | No | 50 | How many attendees to return. 1 to 200. |
cursor | string | No | — | The 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.| Field | What it is |
|---|---|
ticketId | The sold ticket's id, and the key the cursor is built from |
eventId | The event |
firstName, lastName | The attendee named on the ticket |
buyerEmail | The email address of whoever paid — not necessarily the attendee's own |
ticketType | The name of the ticket type it was bought from |
pricePaid | What was paid for this ticket |
currency | The event's currency as its ISO 4217 code — "EUR", "USD" |
currencySymbol | The symbol that renders it — "€", "$" |
orderId | The order it came from — pass it to swarmtix_orders_get |
timesScanned | How many times this ticket has been scanned at the door |
seat | The seat label, on a reserved-seating event |
purchasedAt | When 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
- The event identifier is resolved and the ownership checks run.
limitis checked, andeventDateis parsed if given. An unparseable date id is refused rather than ignored.- Every attendee row for the event — or for that one date — is fetched in one unbounded list.
- The list is sorted newest first, with the ticket id breaking ties.
- 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 analysis —
timesScannedacross the list after the event - Group bookings — spotting several tickets under one
orderId