REST API v2. Authenticate with a Bearer JWT in the Authorization header unless an endpoint is marked public.
Servers​
Promo Codes​
Endpoints to interact with promo codes
Operations​
Get a list of promo codes​
Authorizations​
Parameters​
Query Parameters
Filter by status
"active""inactive""soldOut""expired""active"Filter by type
"specific""percentage""flat""specificTag""percentage"Filter to promo codes limited to any of these event ids (comma-separated).
"1,2"Filter to promo codes limited to any of these ticket type ids (comma-separated).
"10,11"Filter to promo codes limited to any of these wave time ids (comma-separated).
"5,6"Exact match on code group (codeGroup).
"General"Exact match on linked affiliate id (promoter).
12"int64"Promos with activeFrom on or after this instant (PHP strtotime string, e.g. 2025-06-01 or 2025-06-01 09:00:00).
"2025-06-01"Promos with activeTo on or before end of that day (or the given time if included).
"2025-12-31"Exact match on passId (access pass). Use 0 for none.
0"int64"If true, rows where activeTo < now; if false, activeTo >= now. Omit or false for active export.
falsefalseResponses​
Promo code list
Create promo code​
List distinct promo code groups​
Returns unique codeGroup values from non-deleted promos (excluding stored-value codes), sorted alphabetically. Same scope as GET /promo-codes.
Authorizations​
Responses​
Distinct code groups
Get promo code by ID​
Delete promo code​
Update promo code​
Update promo code by id in request body
Authorizations​
Parameters​
Path Parameters
Promo code ID
"int64"Request Body​
Responses​
Promo code updated
Duplicate promo code​
Duplicate a promo code and its relation limits (events, ticket types, wave times, tags, tag price pairs). Requires a new unique code; any other create field may be overridden in the body. Does not copy passId/transferTicketId or usage counters (matches admin promo code duplicate).
Authorizations​
Parameters​
Path Parameters
Source promo code ID to duplicate
"int64"Request Body​
Responses​
Promo code duplicated
Bulk delete promo codes​
Upload promo code import file (step 1)​
Upload CSV/TXT for a two-step import. Returns importId, column headers or synthetic names, preview rows, and row count. File is stored in private storage until confirm or expiry.
Authorizations​
Request Body​
CSV or TXT file
"binary"Treat first row as column headers
falseMax preview rows (1–100)
20Responses​
Upload result
Confirm promo code import (step 2)​
Apply column mapping and defaults, create or optionally update promo codes (or stored value codes when defaults.type is "storedValue") from the staged CSV. If any row fails (failed > 0), the upload session is kept so you can call confirm again with the same importId (e.g. set overwriteDuplicate to true after duplicate errors). On full success (failed === 0), the staged file and session are removed.
Authorizations​
Parameters​
Path Parameters
Session id returned by POST /api/v2/promo-codes/import/upload
"uuid"Request Body​
Responses​
Import result
Export filtered promo codes to CSV (zipped)​
Creates a UTF-8 CSV inside a ZIP, uploads to private storage, and optionally emails a Global Export Manager download link. Filters mirror v1 promoCodeManager apiExportCsv: search on code and codeGroup, expired toggles rows with activeTo before now versus on or after now, excludes storedValue types.
Authorizations​
Parameters​
Query Parameters
Search text (code and codeGroup).
"SUMMER"If true, rows where activeTo < now; if false, activeTo >= now. Omit or false for active export.
falsefalseRecipient for download link email; if omitted, v1-style defaults apply.
"reports@example.com""email"Responses​
Export created; use downloadUrlPath with site origin or email link
GET /api/v2/promo-code/​
Authorizations​
Parameters​
Query Parameters
Limit to results matching this search string
Limit results
"int64"Offset results
"int64"Code to search for
"int64"Expired flag
"int64"Responses​
GET /api/v2/promo-code/{id}​
Create a new Promo Code​
GET /api/v2/promo-code/{id}/applies-to-ticket-type​
GET /api/v2/promo-code/{id}/calculate-discount​
Authorizations​
Parameters​
Path Parameters
ID of promo code to use
"int64"Query Parameters
Ticket type to apply discount to
"int64"Original price
"float"Already applied amount
"int64"