#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 |
|
|