canonical: https://jentic.com/apis/pretix.eu/pretix

# pretix API

The pretix API provides full programmatic control over the pretix event ticketing platform, covering organizer management, event configuration, order processing, and attendee tracking across 27 endpoints. It supports the complete event lifecycle from creation and cloning through ticket sales, payment handling, order approval workflows, and position-level management. The API uses a hierarchical resource model where organizers own events, events contain orders, and orders contain individual ticket positions.

## For AI agents

Manage event ticketing through pretix - create events, process orders, handle payments and cancellations, and track attendee positions.

## Scope

Does not handle venue management, seating charts, or marketing campaigns - use for event ticketing and order management only.

## Capabilities

- Create and configure ticketing events with custom settings under organizer accounts
- Process ticket orders with payment tracking, approval workflows, and deadline extensions
- Clone existing events to quickly replicate configurations for recurring series
- Manage individual order positions including attendee details and ticket types
- Approve or deny orders pending manual review in controlled-access events
- Cancel and reactivate orders with full lifecycle state management
- Configure organizer-level and event-level settings for payment, notifications, and access

## Use cases

### Event Ticketing Operations

Manage the full lifecycle of event ticket sales from creating events through processing orders and tracking attendees. The pretix API enables automated event setup with configurable pricing, capacity limits, and payment options. Orders flow through defined states (pending, paid, canceled) with API controls for each transition. This powers box office systems, embedded ticket widgets, and third-party sales channels that need direct access to the ticketing backend.

Example prompt: Create a new event under an organizer via POST `/organizers/{organizer}/events`/, then list its orders via GET `/organizers/{organizer}/events/{event}/orders`/ to confirm the event is active

### Order Payment and Approval Workflows

Handle order payment confirmations, manual approval processes, and deadline management for events that use bank transfer or invoice payment methods. The pretix API provides dedicated endpoints to mark orders paid, approve or deny pending orders, extend payment deadlines, and cancel or reactivate orders. This supports finance teams processing offline payments and event managers who gate attendance behind manual approval.

Example prompt: Retrieve a pending order via GET `/organizers/{organizer}/events/{event}/orders/{code}`/, then mark it paid via POST `/organizers/{organizer}/events/{event}/orders/{code}/mark_paid`/

### Recurring Event Series Management

Set up recurring events efficiently by cloning existing event configurations including products, quotas, questions, and payment settings. The clone endpoint creates a new event with all settings copied, requiring only date and name updates. This eliminates repetitive configuration for weekly meetups, monthly workshops, or annual conference series where the event structure stays consistent across dates.

Example prompt: Clone an existing event via POST `/organizers/{organizer}/events/{event}/clone`/ and update the new event's dates via PATCH `/organizers/{organizer}/events/{event}`/

### AI Agent Ticketing Automation

AI agents use the pretix API through Jentic to automate ticketing operations including order monitoring, payment processing, and event management. The agent searches for ticketing operations, loads endpoint schemas with the hierarchical path structure (organizer/event/order), and executes multi-step workflows like checking pending orders and marking them paid without manual intervention.

Example prompt: Search Jentic for 'list pending ticket orders', load the orders operation schema, and execute to retrieve all orders with pending payment status for a specific event

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/organizers/{organizer}/events/` | Create a new event |
| GET | `/organizers/{organizer}/events/{event}/orders/` | List all orders for an event |
| POST | `/organizers/{organizer}/events/{event}/orders/` | Create a new order |
| POST | `/organizers/{organizer}/events/{event}/orders/{code}/mark_paid/` | Mark order as paid |
| POST | `/organizers/{organizer}/events/{event}/orders/{code}/mark_canceled/` | Cancel an order |
| POST | `/organizers/{organizer}/events/{event}/clone/` | Clone an event with all settings |
| POST | `/organizers/{organizer}/events/{event}/orders/{code}/approve/` | Approve a pending order |
| GET | `/organizers/{organizer}/events/{event}/orderpositions/` | List order positions (attendees) |

## Key resources

- **Organizers** — Top-level accounts that own events, with configurable settings
- **Events** — Ticketing events with products, quotas, and configuration
- **Orders** — Ticket orders with payment state management and approval workflows
- **Order Positions** — Individual ticket line items within orders, representing attendees

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 58 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 53 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 46 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 59 / 100
- **View full report:** https://jentic.com/apis/pretix.eu/pretix/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the pretix API by hand means formatting your token into the 'Token <value>' Authorization header against pretix.eu/api/v1 and threading organizer and event ids through every hierarchical path yourself. Through Jentic you install once, import the pretix API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** pretix puts the organizer and event ids in the URL path (`/organizers/{organizer}/events/{event}/...`), so a rule can pin your agent to one event: it can read and create that event's orders and nothing else. You choose the operations it may call, so marking an order paid, cancelling one, or cloning the event is not included unless you add it.
- **Credential handling:** Your pretix API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list ticket orders for an event' or 'create an order', and Jentic returns the matching pretix operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Ticketmaster Discovery API** — Large-scale event discovery and ticketing for major venues and tours
- **Luma API** — Event hosting platform focused on community events and registrations
- **Stripe API** — Payment processing that handles the financial transactions behind ticket purchases

## FAQ

### What authentication does the pretix API use?

The pretix API uses token-based authentication with the format 'Token <your-token>' in the Authorization header. Through Jentic, your pretix token is stored encrypted in your Jentic One instance and agents receive requests with the Authorization header pre-configured.

### Can I mark an order as paid after receiving an offline payment?

Yes. Use POST `/organizers/{organizer}/events/{event}/orders/{code}/mark_paid`/ to transition an order from pending to paid status. This is designed for bank transfer and invoice payment methods where payment confirmation happens outside the platform.

### What are the rate limits for the pretix API?

The pretix API applies rate limiting based on your account type. Self-hosted instances can configure limits freely. For pretix.eu hosted accounts, standard limits apply per authentication token. Monitor HTTP 429 responses and implement exponential backoff.

### How do I create a new event and start selling tickets through Jentic?

Search Jentic for 'create ticketing event', load the events creation operation schema, and execute with organizer slug, event name, dates, and currency. The schema shows all required fields including the organizer path parameter. Install the SDK with pip install jentic to get started.

### Can I clone an event to create a recurring series?

Yes. POST `/organizers/{organizer}/events/{event}/clone`/ creates a complete copy of an event including all products, quotas, questions, and settings. You then update the new event's dates and name via PATCH to differentiate it from the original.

### How does the order approval workflow function?

Events can require manual order approval. Orders enter a pending-approval state, visible via GET `/organizers/{organizer}/events/{event}/orders/.` Use POST .../orders/{code}/approve/ to confirm or POST .../orders/{code}/deny/ to reject. Only approved orders proceed to payment.

### Can I limit what my agent is allowed to do with the pretix API?

Yes. Because pretix carries the organizer and event ids in the URL path (`/organizers/{organizer}/events/{event}/...`), the rules you set in your self-hosted Jentic One instance can pin the agent to a single event so it reads and creates only that event's orders and nothing else. You also decide which operations it may call, so marking an order paid, cancelling one, or cloning the event stays off-limits unless you explicitly allow it. Only the operations and credentials you grant are ever available to the agent.
