Ga naar hoofdinhoud

Exports

Bulk-export endpoints for BI pipelines, CRM sync, and analytics. Unlike the list endpoints, exports include inline related data — orders include seats and customer info, waiting-list entries include user records.

MethodPathPurpose
GET/peppered/export/clienttypesAll tag names used in this client
POST/peppered/export/customersBulk customers
POST/peppered/export/ordersBulk orders with seats
POST/peppered/export/waitinglistWaiting-list entries

All export endpoints support a changedSince filter for incremental sync.


Client types

GET /v1/:client_name/peppered/export/clienttypes

Returns the full list of customer-tag names used in this client.

Response

200 OK

["friend", "donor", "vip", "press", "student", "subscriber"]

Use this to validate tag values before calling POST /customer/{id}/clienttypes.


Customers

POST /v1/:client_name/peppered/export/customers

Request body

FieldTypeDescription
changedSincedateOptional — only return customers changed since this date

Response

200 OK — array of full customer records in the same shape as UserResource.


Orders

POST /v1/:client_name/peppered/export/orders

Full order export with seat-level detail, deleted seats (for auditing), and inline customer data.

Request body

FieldTypeDescription
changedSincedateOptional — only return orders changed since this date

Response

200 OK — array of OrderExportResource:

[
{
"orderId": 12345,
"orderKey": "XgFca-QmBxG-9WhAj-Osszb",
"customerId": 867,
"orderStatus": "ord",
"orderPaymentStatus": "paid",
"orderChannel": "www",
"orderDate": "2026-04-22T13:08:55+02:00",
"timeOut": null,
"lastChanged": "2026-04-22T13:10:12+02:00",
"amount": 49.00,
"fee": 0.50,
"donation": 5.00,
"handlingTextPayment": "iDEAL",
"discountName": null,
"seats": [
{
"seatId": 2904,
"eventId": 95,
"rankId": 42,
"rowNr": 5,
"seatNr": 12,
"amount": 24.50,
"priceId": "2ePdA8q3BN",
"priceName": "Standard"
}
],
"deletedSeats": [],
"user": {
"customerId": 867,
"email": "visitor@example.com",
"customerFirstName": "Jane",
"customerLastName": "Doe"
}
}
]

OrderExportResource fields

Same as OrderResource, plus:

FieldTypeDescription
orderChannelstringwww (webshop) / sp (sales point / POS)
feedecimalTransaction fee
donationdecimalAlias for orderDonation
seatsarrayAll seats on this order
deletedSeatsarraySeats that were removed (for audit)
userobjectInline customer (UserResource)

Waiting list

POST /v1/:client_name/peppered/export/waitinglist

Exports all waiting-list entries with inline customer data.

Request body

FieldTypeDescription
changedSincedateOptional — only return entries changed since this date

Response

200 OK — array of WaitinglistExportResource:

[
{
"waitingId": 42,
"customerId": 867,
"eventId": 95,
"numberOfTickets": 2,
"type": "notified",
"createdAt": "2026-04-10T10:00:00+02:00",
"notifiedAt": "2026-04-20T09:30:00+02:00",
"user": {
"customerId": 867,
"email": "visitor@example.com",
"customerFirstName": "Jane",
"customerLastName": "Doe"
}
}
]

WaitinglistExportResource fields

FieldTypeDescription
waitingIdintegerUnique waiting-list entry ID
customerIdintegerLinked customer
eventIdintegerEvent they're waiting for
numberOfTicketsintegerHow many tickets they want
typestringStatus (waiting, notified, converted, etc.)
createdAtISO datetimeWhen the entry was added
notifiedAtISO datetime | nullWhen the customer was notified (if applicable)
userobjectInline UserResource

Incremental sync pattern

Same pattern as the orders list endpoint:

  1. Record the latest lastChanged / createdAt from your last sync.
  2. Pass as changedSince.
  3. Update your local store.
  4. Save the new high-watermark.

For very large exports, paginate by date-range rather than fetching everything in one call.


See also: Customers · Orders · Wachtlijst (Dashboard, NL)