Swarmtix Help Center
Tool Reference

swarmtix_orders_list

Lists the orders placed for an event, newest first, with buyer name, totals and checkout answers

swarmtix_orders_list

Lists the orders placed for one event, newest first, one page at a time. Each entry carries the order id, the buyer's name, the number of tickets, the total paid with the event's currency code, when it was placed, how the order was taken, and whether it is still active.

When you would reach for it

  • To see recent sales without opening the dashboard.
  • To find an order id for swarmtix_orders_get.
  • To read the answers buyers gave to your checkout questions, which ride along on each order.

Scope

orders:read

This scope exposes your buyers' personal details by design. Each order carries the buyer's name, and the all-dates listing also carries their email address. The consent page says so in those words before you approve it.

Ticket barcodes and security codes are never returned, by this tool or any other.

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 orders to return. 1 to 200.
cursorstringNoThe cursor from the end of a previous page. Omit to start at the beginning.

buyerEmail is only populated when eventDate is omitted. Narrowing to a single date reads a different query, and that query does not select the buyer's email address — the field comes back empty. If you need the email, list across all dates, or read the order with swarmtix_orders_get, which always carries it.

Example call

{
  "name": "swarmtix_orders_list",
  "arguments": { "event": "spring-summit-2026", "limit": 2 }
}

What comes back

[
  {
    "orderId": 184149,
    "eventId": "8f14e45f-ceea-467a-9c3d-1b2a5f6e7d80",
    "buyerName": "Sarah Meyer",
    "buyerEmail": "[email protected]",
    "ticketCount": 2,
    "totalAmount": 91.7,
    "currency": "EUR",
    "currencySymbol": "€",
    "placedAt": "2026-10-28T14:22:09",
    "active": true,
    "orderType": "online",
    "checkoutAnswers": "Any dietary requirements: Vegetarian"
  },
  {
    "orderId": 184148,
    "eventId": "8f14e45f-ceea-467a-9c3d-1b2a5f6e7d80",
    "buyerName": "Tomás Ribeiro",
    "buyerEmail": "[email protected]",
    "ticketCount": 1,
    "totalAmount": 46.35,
    "currency": "EUR",
    "currencySymbol": "€",
    "placedAt": "2026-10-28T11:04:51",
    "active": true,
    "orderType": "door"
  }
]

Showing 2 of 312. Call again with cursor "MDAwMmNmNTUtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAw" for the rest.
FieldWhat it is
orderIdThe order's numeric id — what swarmtix_orders_get takes
eventIdThe event the order belongs to
buyerNameThe buyer's full name, as one string
buyerEmailThe buyer's email address. Only populated when eventDate is omitted — see above.
ticketCountHow many tickets are in the order
totalAmountWhat was paid, including fees
currencyThe event's currency as its ISO 4217 code — "EUR", "USD"
currencySymbolThe symbol that renders it — "€", "$"
placedAtWhen the order was placed
activeWhether the order is still live rather than cancelled
orderTypeHow the order was taken, as a word — see below
checkoutAnswersThe buyer's answers to the event's custom checkout questions, as one string

currency and currencySymbol are two fields on purpose. The code is what identifies the currency — "$" is four different ones, so totalling figures across events on the symbol is not safe. The symbol is there for rendering a number to a reader and nothing else.

orderType is a word, not a number:

ValueMeaning
"online"Bought through the public checkout. This is what an ordinary web purchase is.
"imported"Added from a guest list
"complimentary"Issued free by the organiser
"door"Taken at the door

orderType can also be null, and an unrecognised stored value renders as "unrecognised". The column is nullable, so an order that records nothing is reported as recording nothing rather than being assumed to be an online sale — and a value the product has no meaning for is named as such rather than guessed at. Handle both rather than assuming one of the four words.

buyerName is one field rather than two on purpose. On this read path the first and last name are packed together into a single value and the surname field is left empty, so publishing two fields would put a blank surname next to a full name.

checkoutAnswers can contain whatever a buyer typed into a custom question. Treat it as personal data.

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 eventDate that is not an id is refused rather than ignored — treating it as "all dates" would answer a wider question than you asked with a number that looks like the answer to yours.
  3. Every order for the event — or for that one date — is fetched in one unbounded list.
  4. The list is sorted newest first, with the order id breaking ties between orders placed in the same instant.
  5. One page is cut, projected to the fields above, and serialized.

Troubleshooting

buyerEmail is missing from every row

You passed eventDate. Remove it and list across all dates, or read the order with swarmtix_orders_get.

"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 like 2026-11-04.

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

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

The order named by the cursor is no longer in the result set — often because it was cancelled, or because a different eventDate was passed on the second call. Keep the arguments identical between pages, or start again.

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

Reconnect and approve orders:read. Bear in mind what it grants: your buyers' names and email addresses. If you only want sales figures, analytics:read answers most of those questions without any personal data — see swarmtix_analytics_event.

The list is longer than one page

That is normal, and it is not an error. Pass the cursor from the continuation line back as cursor, or narrow the question to one date.

Use cases

  • "What sold today?" — the newest orders are first, so the first page is the answer
  • Support lookups — find an order by buyer name, then read it in full
  • Dietary and accessibility rollupscheckoutAnswers across a page of orders
  • Reconciliation — order totals against the revenue on swarmtix_analytics_event

On this page