swarmtix_events_get
Returns one Swarmtix event in full — schedule, location, host, ticket types and publication status
swarmtix_events_get
Returns one event in full: its schedule, location, host details, ticket types and publication status. It accepts either the event's id or its URL slug.
When you would reach for it
- To read an event's setup in one call rather than stitching three list tools together.
- To check whether an event is published before deciding what to do next.
- As context for a write. The currency, timezone and existing ticket types are all here, and a ticket type priced without knowing the event's currency is a guess.
Scope
events:read
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
event | string | Yes | — | The event's id (a GUID) or its URL slug. |
The slug is the last part of the public event address, so spring-summit-2026 works as well as the id. See identifiers.
Example call
{
"name": "swarmtix_events_get",
"arguments": { "event": "spring-summit-2026" }
}What comes back
{
"id": "8f14e45f-ceea-467a-9c3d-1b2a5f6e7d80",
"slug": "spring-summit-2026",
"name": "Spring Summit 2026",
"status": "Published",
"isPublic": true,
"isPastEvent": false,
"summary": "Two days of product talks and workshops.",
"description": "<p>Join us in Lisbon for the fourth Spring Summit…</p>",
"publicUrl": "https://swarmtix.com/e/spring-summit-2026",
"websiteUrl": "https://summit.northwind.example",
"capacity": 450,
"currency": "EUR",
"currencySymbol": "€",
"timezone": "Europe/Lisbon",
"location": {
"venue": "Culturgest",
"address": "R. Arco do Cego 50",
"city": "Lisbon",
"state": "",
"country": "Portugal",
"zipCode": "1000-300"
},
"host": {
"name": "Northwind Events",
"email": "[email protected]",
"phone": "+351 21 000 0000"
},
"dates": [
{ "start": "2026-11-04T19:00:00", "end": "2026-11-04T23:00:00", "capacity": 250 },
{ "start": "2026-11-05T10:00:00", "end": "2026-11-05T17:00:00", "capacity": 200 }
],
"ticketTypes": [
{
"id": "b7d3e5a1-92c4-4f18-8a6b-3e0f1c7d9a52",
"name": "General Admission",
"price": 45,
"quantity": 300,
"available": 118
}
]
}| Field | What it is |
|---|---|
id, slug | The two identifiers other tools accept |
name | The event's name |
status | The setup stage the event has reached, as a word |
isPublic | Whether the event is publicly listed rather than unlisted |
isPastEvent | Whether its last date has gone |
summary | The short blurb shown in listings |
description | The long description, as stored HTML. Cut at 4,000 characters — see below. |
publicUrl | The event's public address |
websiteUrl | The organiser's own site for the event, if one is set |
capacity | The event-wide capacity |
currency | The currency ticket prices are in, as its ISO 4217 code — "EUR", "USD" |
currencySymbol | The symbol that renders it — "€", "$" |
timezone | The timezone the local date and time fields are expressed in |
location | Venue and address. Empty for an online event. |
host | Host name, email and phone as shown to buyers |
dates | Scheduled dates with per-date capacity, without ids |
ticketTypes | A short form of each ticket type: id, name, price, quantity and remaining availability |
The dates here carry no id. Tools that narrow to one scheduled date need the id, and that comes from swarmtix_event_dates_list. The ticketTypes here do carry ids, but only five fields each — swarmtix_ticket_types_list has the sale window, the per-order limits and the fee settings.
A long description is cut, and says so
Descriptions are stored as HTML and can run to tens of kilobytes, which is most of one result's budget for a single field. Anything past 4,000 characters is replaced with a note inside the value itself:
… [truncated: 9,412 more characters, open the event in the Swarmtix dashboard for the full description]The note is inside the string rather than beside it, so an assistant reading only that field still learns it is not whole.
What happens when you call it
- The identifier is resolved and checked. A parseable GUID is treated as an id; anything else as a slug.
- Three independent ownership checks run, and all of them must pass: the same access check the dashboard applies; a check that the event's organisation matches the one on this connection; and a check that the authorizing organizer created the event or is a member of its team. The third is decided here rather than delegated, so that an event belonging to a colleague's team inside your own organisation is refused even though the organisation matches.
- The event is fetched by its id. The identifier you supplied is not used again after step 2.
- The record is projected to the named fields above, the description is shortened if needed, and the result is serialized.
Troubleshooting
"Event not found, or this connection does not have access to it."
One sentence, several causes: the event does not exist, the slug is misspelled, or the event belongs to a different organisation than this connection covers. They are deliberately indistinguishable — a separate "no access" message would confirm that somebody else's event exists.
Check the slug against swarmtix_events_list, and check which organisation you are connected as with swarmtix_whoami.
"event is not valid: it was empty. Expected an event id (a GUID) or the event's URL slug."
The argument was missing or blank.
"This connection is not authorized for events:read. Reconnect and grant it to use this tool."
Reconnect and approve events:read.
"Swarmtix could not complete this request. Nothing was changed."
The ownership checks passed but the detail fetch failed. Retry; if it persists, quote the time to support.
The description looks cut off mid-sentence
It is, and the value says so at the end. Open the event in the dashboard for the whole thing.
Use cases
- "Tell me about the spring summit" — one call answers it
- Pre-flight before a write — read the currency and timezone before creating ticket types
- Publication check —
statusandisPublicanswer "is this live?" - Copy review — read the summary and description an assistant drafted earlier