API Reference

All endpoints are located at/api/ . External resource IDs consistently use UUIDv7 (public_id ).

Error Format

{
    "message": "Beschreibung des Fehlers",
    "errors": {
        "feldname": ["Validierungsfehlermeldung"]
    }
}

The ``errors field is only present in the case of validation errors (HTTP 422).


Präfix-Übersicht

Präfix Auth Zweck Endpunkte
v1/auth/ Öffentlich / JWT Login, Token-Refresh, Geräteverwaltung 5
v1/public/ Keine Öffentliche Event-Liste, Registrierung, Online-Zahlung 5
v1/o/{orgSlug}/ Kontextabhängig Organisations-scoped (Branding, Payment-Config, Reader) 13
v1/sync/ JWT Offline-Sync: Bootstrap, Upload, Delta 4
v1/ JWT Events, Attendees, Payments, Compliance, Search, Dashboard, Audit ~50
pretix/v1/ API-Key Pretix-kompatible Endpoints 1

Authentication (v1/auth/

)

Method Path Description
POST
/api/v1/auth/login
Log in, issue token set
POST
/api/v1/auth/refresh
Rotate access token using refresh token
POST
/api/v1/auth/logout
Revoke active device
GET
/api/v1/auth/devices
List own devices
DELETE
/api/v1/auth/devices/{devicePublicId}
Revoke a single device

##v1/public/

Method Path Description
GET
/api/v1/public/events
List all public events
GET
/api/v1/public/branding/header
Public branding data (logo, name)
GET
/api/v1/public/events/{eventPublicId}/registration/schema
Load registration form schema
POST
/api/v1/public/events/{eventPublicId}/registration/submit
Submit registration
POST
/api/v1/public/payments/registrations/{registrationPublicId}/online-checkout
Start online payment

Events

Method Path Description
GET
/api/v1/events
List events
POST
/api/v1/events
Create new event
GET
/api/v1/events/{eventPublicId}
Get event details
PUT
/api/v1/events/{eventPublicId}
Edit event
POST
/api/v1/events/{eventPublicId}/publish
Publish event
POST
/api/v1/events/{eventPublicId}/archive
Archive event

Registration Fields

Method Path Description
GET
/api/v1/events/{eventPublicId}/registration-fields
List fields
POST
/api/v1/events/{eventPublicId}/registration-fields
Create field
PUT
.../registration-fields/{fieldPublicId}
Edit field
POST
.../registration-fields/{fieldPublicId}/options
Create option
PUT
.../registration-fields/{fieldPublicId}/options/{optionPublicId}
Edit option
GET
/api/v1/events/{eventPublicId}/offline/checkin-answers
Export offline responses

Participants

Method Path Description
GET
/api/v1/events/{eventPublicId}/attendees
Participant list
PATCH
.../attendees/{registrationPublicId}/status
Set status manually
GET
.../attendees/export.csv
CSV export (streaming)

Payments

Method Path Description
GET
.../registrations/{registrationPublicId}/payment
Retrieve payment status
POST
.../payment/terminal
Start terminal checkout
POST
.../payment/online-fallback
Start online fallback checkout
POST
/api/v1/payments/{paymentPublicId}/cancel
Cancel terminal checkout
POST
/api/v1/payments/{paymentPublicId}/refund
Refund payment
POST
/api/v1/payments/webhooks/sumup
Receive SumUp webhook

Add-on Catalog and Orders

Method Path Description
GET
/api/v1/events/{eventPublicId}/addons
List add-ons
POST
/api/v1/events/{eventPublicId}/addons
Create add-on
GET
.../addons/{addonPublicId}
Retrieve add-on
PATCH
.../addons/{addonPublicId}
Edit add-on
DELETE
.../addons/{addonPublicId}
Remove add-on
GET
/api/v1/events/{eventPublicId}/addon-orders
List orders
POST
/api/v1/events/{eventPublicId}/addon-orders
Create order
GET
.../addon-orders/{orderPublicId}
Retrieve order
POST
.../addon-orders/{orderPublicId}/cancel
Cancel order

Self-Service

Method Path Description
GET
/api/v1/me/registrations
List your own registrations
GET
/api/v1/me/registrations/{registrationPublicId}
Retrieve registration
PATCH
.../registrations/{registrationPublicId}/profile
Update profile data
POST
.../registrations/{registrationPublicId}/cancel
Cancel registration

Compliance (GDPR)

Method Path Description
POST
/api/v1/compliance/consents
Record consent
POST
/api/v1/compliance/exports
Request data export
POST
/api/v1/compliance/deletions
Submit deletion request
GET
/api/v1/compliance/requests/{requestPublicId}
Check request status
POST
/api/v1/compliance/legal-holds
Set legal hold
DELETE
/api/v1/compliance/legal-holds/{legalHoldPublicId}
Lift legal hold

Notifications

Method Path Description
GET
/api/v1/notifications/templates
List templates
POST
/api/v1/notifications/templates
Create template
GET
/api/v1/notifications/templates/placeholders
Available placeholders
GET
.../templates/{templatePublicId}
Retrieve template
PATCH
.../templates/{templatePublicId}
Edit template
GET
/api/v1/notifications/preferences
Retrieve personal preferences
PUT
/api/v1/notifications/preferences
Update preferences

##v1/o/{orgSlug}/

Method Path Description
GET
.../branding/header
Retrieve private branding
POST
.../branding/logo
Upload organization logo
DELETE
.../branding/logo
Remove organization logo
POST
.../events/{eventPublicId}/branding/logo
Upload event logo
DELETE
.../events/{eventPublicId}/branding/logo
Remove event logo
GET
.../payments/config
Retrieve payment configuration
PUT
.../payments/config
Set payment configuration
GET
.../payments/readers
List terminal readers
POST
.../payments/readers/pair
Pair reader
PATCH
.../payments/readers/{readerPublicId}
Update reader
DELETE
.../payments/readers/{readerPublicId}
Unpair reader
GET
.../payments/readers/{readerPublicId}/status
Check reader status

Additional Endpoints

Method Path Description
GET
/api/v1/branding/header
Private branding without org context
GET
/api/v1/dashboard/overview
Dashboard metrics
GET
/api/v1/audit/entries
Audit log entries
GET
/api/v1/search
Full-text search for events and participants

##v1/sync/

Method Path Description
POST
/api/v1/sync/bootstrap
Load initial data set
POST
/api/v1/sync/upload
Upload local changes
POST
/api/v1/sync/delta
Incremental update since last checkpoint
GET
/api/v1/sync/status/{eventPublicId}
Sync status and metrics

##pretix/v1/

Method Path Auth Description
GET
/api/pretix/v1/organizers/{orgSlug}/events/{eventRef}
API Key Event metrics in Pretix format