Set up events without repeating yourself
--from-file, and invitations accept --from-csv. Keep the source file and run it again when you need it.Ticket Fairy CLI
ticketfairy manages events, tickets and orders, reads
customer and Vault data, and exports orders and customers from the command line, a scheduled job or an AI
assistant. You can script the event operations you repeat in the dashboard.
Install it in one command, sign in with the account you already have, and start with
ticketfairy event list.
Free with your Ticket Fairy account. MIT licensed. Requires Node 20 or newer.
# install once
$ npm install -g ticketfairy
# sign in with your Ticket Fairy account
$ ticketfairy login
# list events for the active brand
$ ticketfairy event list
id name starts status venue
evt_9f21 Summer Fest 2027 2027-07-16 live Victoria Park
evt_7b30 Warehouse Sessions #14 2027-03-04 live Unit 9
evt_5c02 Sunset Rooftop Series 2027-05-22 draft The Deck
Sample output. Your events, your brands, your permissions.
Use the dashboard for a one-off change. Use the CLI when you need the same setup across several events, a report on a schedule, or an action another system starts.
--from-file, and invitations accept --from-csv. Keep the source file and run it again when you need it.No API keys to request, no integration to configure, no separate account. The CLI signs in as you.
One npm install, on macOS, Linux or Windows. Node 20 or newer.
$ npm install -g ticketfairy
$ ticketfairy --version
Opens your browser and handles two-factor sign-in. On a server, set a Personal Access Token instead.
$ ticketfairy login
# on a server or in CI, use a token instead
$ export TICKET_FAIRY_API_KEY="…"
Set the brand once for this machine, then every command works against it.
$ ticketfairy brand list
$ ticketfairy brand use 12345
$ ticketfairy event list
Your token is never one of those settings. Signing in stores it in your operating system's
keychain where available, or in the protected credentials file otherwise. A server can read it from
TICKET_FAIRY_API_KEY. A project
.ticketfairyrc can override the active profile and API address, so
review a project's settings before you use them.
If the same setting appears more than once, a flag wins over an environment variable, which wins over the
project file, which wins over your global config. Named profiles let one machine keep separate sign-ins for
separate environments.
The operational groups cover event, ticket, order and customer work. The remaining groups handle
automation, updates and extensions. Run any command with --help
for its flags and examples. Commands that read Ticket Fairy data support
--output json.
ticketfairy init
One-shot setup: log in, pick the active brand, choose a default output format.
ticketfairy auth
Log in and out, check who you are, and manage Personal Access Tokens.
ticketfairy brand
List and select your brands, see the available series, venue, country and city filters, or use brand stats for whole-brand geographic and demographic insights. Geographic reports can be filtered by event, series, venue, country or city.
ticketfairy account
Start identity verification when you need it before publishing.
ticketfairy config
Read and write the settings this machine uses: brand, output format, API base, profiles.
ticketfairy event
Create, update, publish, unpublish, postpone, disclose a postponed date, cancel, reinstate, clone, delete, and read stats.
ticketfairy ticket
Ticket types for an event: list, create, update, delete.
ticketfairy addon
Add-ons such as parking, merchandise and VIP perks, including grouping and order.
ticketfairy table
Table types for venue and club events with table service.
ticketfairy order
List, inspect, refund, cancel free orders, approve pending orders and export.
ticketfairy customer
Search, list, inspect and export customers.
ticketfairy invitation
Send, resend and cancel invitations, including from a CSV file.
ticketfairy promotion
Create and manage promo codes.
ticketfairy messaging
List and send messaging campaigns.
ticketfairy checkin
Read live check-in status for an event.
ticketfairy team
Invite team members, change their role, and revoke access.
ticketfairy tour
Group events into a single brandable run, and manage its members.
ticketfairy webhook
Webhooks scoped to an event, a brand or a tour.
ticketfairy vault
Read-only view of Vault: account, balance, cards, transactions, transfers and beneficiaries.
ticketfairy asset
Upload artwork and files, and get back the CDN URL to use in a payload.
ticketfairy api
Call any Ticket Fairy API endpoint directly, with auth and retries attached.
ticketfairy help
Show help for the CLI or for a specific command.
ticketfairy manifest
Print the whole command tree as JSON, so a script or an agent can discover it.
ticketfairy mcp
Start the built-in Model Context Protocol server for AI assistants.
ticketfairy plugins
Install, list, link and remove community-built command groups. Only install plugins from sources you trust.
ticketfairy autocomplete
Set up command completion for Bash, Zsh or PowerShell.
ticketfairy update
Update the CLI through the same installation method that installed it.
Vault commands are invitation only. They return read-only banking data for brands with Vault access. Ask your account manager about access for your brand.
Predictable output, clear errors, up to three retries and dry runs make the CLI practical in a nightly job. Add non-interactive mode so a missing value fails instead of waiting for an answer.
--idempotency-key. For 24 hours, repeating the same request with the same key returns the original response. PUT updates, deletes and token minting or rotation are not replayed.--dry-run prints exactly what would be sent and stops there, so a bulk change can be reviewed before it touches a single order.#!/usr/bin/env bash
set -euo pipefail
umask 077
EVENT=evt_9f21
# keep a dated snapshot of the event's sales summary
ticketfairy event stats "$EVENT" --output json > "stats.part"
mv "stats.part" "stats-$(date +%F).json"
Set TICKET_FAIRY_API_KEY in the job's environment and add
--non-interactive so a missing input becomes exit code 2 rather than
waiting for input. Then the job runs unattended, and a failure exits with a code your scheduler
can act on. If you schedule an export that contains buyer data, keep it in approved access-controlled storage
and delete it on your organisation's retention schedule.
The CLI signs in as you, not as an application with extra powers. Your Personal Access Token carries your dashboard role and your brand or event scope. It cannot grant itself permission to issue refunds or reach another brand's data.
Tokens are named, so you can tell the deploy bot from your laptop. They expire, up to a year. They can be rotated with an overlap of up to seven days, so a pipeline keeps running while you swap the value over. The overlap ends when the old token would have expired anyway, so rotate before its last week rather than during it. And they can be revoked the moment a laptop goes missing.
Give each automation its own named token, a useful description and an expiry that matches the job. You can then review or revoke that access without disrupting your other work.
# mint a token for a pipeline, shown once
$ ticketfairy auth tokens create "CI deploy bot" --expires-in 30d
# swap it out without breaking the pipeline: up to 7 days of overlap
$ ticketfairy auth tokens rotate 42
# review the tokens that are still active
$ ticketfairy auth tokens list
ticketfairy mcp turns the CLI into a Model Context Protocol
server, so Claude Code, Cursor and other assistants work with your events through structured tools instead
of guesswork. Same sign-in, same permissions, and a read-only mode to start with.
No, but it helps to be comfortable in a terminal. Core event, ticket, order and customer work is available in the dashboard too. The CLI adds repeatable commands, scheduled reports, direct API access and terminal helpers such as updates and shell completion.
It uses the same account, permissions and API for your event operations, then adds files you can keep, structured output, pipelines, plugins and a direct API command. Some connected-provider sign-ins still stay in the browser. The practical difference is repeatability: a command can run tomorrow, in a pipeline or against another event.
Your Personal Access Token carries the same role and brand permissions you have in the dashboard, so it cannot give a script any extra access. Tokens are named, expire (up to a year), can be rotated with an overlap of up to seven days, so a pipeline keeps running while you swap the value over. The overlap never outlasts the old token's own expiry, so rotate before the last week rather than during it.
Yes. Set TICKET_FAIRY_API_KEY and the CLI never prompts you to sign in. Add --non-interactive and a missing input becomes exit code 2 instead of a prompt that waits for input.
It is the same package. ticketfairy mcp starts a Model Context Protocol server on your own machine so an AI assistant can use selected commands as structured tools, with the same sign-in and the same permissions.
Command names and JSON fields can change between releases, so pin a version in scripts and pipelines. A pinned version means an upstream release can never surprise a pipeline you depend on, and you upgrade when it suits you rather than when we ship.
Ticket Fairy in full: online ticketing system, with the features, pricing and support behind this page.
Install the CLI, sign in with your existing account, and automate recurring setup and reports.
Questions about scripting your setup? Email [email protected].