swarmtix_event_readiness
Reports everything that stops an event from being published, plus warnings and the payment account status
swarmtix_event_readiness
Reports whether an event is ready to be published and what is in the way. It only reads. It never publishes anything: publishing is done from the Swarmtix dashboard.
When you would reach for it
- After setting up a draft - to see what is still missing before you publish.
- When a publish is refused in the dashboard - to see every reason at once.
- Before a sale opens - to catch a hidden ticket with no access code, or a sale window that has already closed.
Scope
events:read
It is read-only, non-destructive and idempotent, so a client may retry it freely.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
event | string | Yes | - | The event's id (a GUID) or its URL slug. |
Example call
{
"name": "swarmtix_event_readiness",
"arguments": {
"event": "spring-summit-2027"
}
}What comes back
{
"eventId": "3b6f81ce-04a2-4d97-b5e8-7c10924af3d6",
"slug": "spring-summit-2027",
"kind": "physical",
"published": false,
"status": "NoTickets",
"readyToPublish": false,
"blockers": [
{ "code": "NoTickets", "message": "The event has no active ticket types. Add one with swarmtix_ticket_types_create." }
],
"warnings": [
{ "code": "NoTimezone", "message": "The event has no timezone, so its dates and sale windows are read as UTC. Set one with swarmtix_events_update before setting dates." }
],
"paymentGateway": { "configured": false, "type": null, "active": null, "liveMode": null }
}| Field | What it is |
|---|---|
kind | "physical" or "online" |
published | Whether the event is public now |
status | The status stored on the event. It can be out of date, see StoredStatusStale below. |
readyToPublish | true when there are no blockers |
blockers | Everything Swarmtix would stop a publish on. Each has a code and a message saying which tool or dashboard page fixes it. |
warnings | Things worth a look that do not stop a publish |
paymentGateway | Whether a payment account is connected, its type (stripe, paypal, swarmtixAccount or casys), and whether it is active and in live mode |
The payment status never includes a token, key or bank detail.
Blockers
The rules are the ones the dashboard applies when you publish, but all of them are reported together instead of one at a time.
| Code | Meaning |
|---|---|
Archived | The event is archived. Restore it in the dashboard. |
NoEventStartDate | A physical event has no dates. |
NoLocation | A physical event has no venue or address. |
NoTickets | No active ticket type (not for reserved seating). |
NoVenueAssigned | Reserved seating, but no seat map. Assigning one is a dashboard step. |
NoPaymentMethod | A paid ticket or paid seats, but no usable payment account. |
OnlineEventsSubscriptionRequired, NoCategories, NoSpeakers, NoTalks, SetupVideoSettings, ConnectWebinarProvider | Online event setup, done in the dashboard. |
Warnings
| Code | Meaning |
|---|---|
NoTimezone | No timezone, so dates are read as UTC. |
PlaceholderVenue | The venue is still the placeholder "Your venue". |
HiddenTicketWithoutAccessCode | A ticket type needs an access code but has none, so nobody can buy it. |
TicketSaleWindowClosed | Sales of a ticket type have already closed. |
DateInPast | Every date of the event is in the past. |
PaypalGateway | The event is connected to PayPal, which is not offered for new connections. |
StoredStatusStale | The stored status differs from what the rows say. It refreshes the next time the event is saved in the dashboard. |
The tool works out the answer from the stored rows. It does not trust the stored status, which only updates when someone saves in the dashboard.
Troubleshooting
readyToPublish is true but the event is still a draft
That is expected. No tool here can publish. Publish from the Swarmtix dashboard.
A blocker says to use the dashboard
Some steps have no tool: assigning a seat map, connecting a payment account, and setting up an online event's speakers, talks and hosts.
"Event not found, or this connection does not have access to it."
The event does not exist, or it belongs to another organisation.
Use cases
- A final check after an assistant has set a draft up
- Finding what is missing in one call instead of one error at a time
- Spotting a hidden ticket that nobody can buy