Cart
A richer cart model than the public API: supports multiple item types (tickets, donations, vouchers), exposes timeout, and lets you check out directly with a known customer.
| Method | Path | Purpose |
|---|---|---|
GET | /peppered/cart/{cartId}/summary | Lightweight cart summary |
GET | /peppered/cart/{cartId} | Full cart contents |
POST | /peppered/cart/{cartId} | Add items to the cart |
DELETE | /peppered/cart/{cartId}/{itemId} | Remove an item |
DELETE | /peppered/cart/{cartId} | Empty/delete the cart |
POST | /peppered/cart/{cartId}/checkout | Check out (create order) |
Cart summary
GET /v1/:client_name/peppered/cart/{cartId}/summary
Lightweight response — just totals, no line-level detail. Useful for header-counters.
Response
200 OK
{
"cartId": "4DSMDACyPo8wLr8vFnTVUR6HzWC5tWGi",
"timeOut": "2026-04-22T14:35:00+02:00",
"numberOfItems": 3,
"amount": 73.50
}
Get cart
GET /v1/:client_name/peppered/cart/{cartId}
Full cart with all items.
Response
200 OK — CartResource:
{
"cartId": "4DSMDACyPo8wLr8vFnTVUR6HzWC5tWGi",
"timeOut": "2026-04-22T14:35:00+02:00",
"numberOfItems": 2,
"amount": 49.00,
"cartItems": [
{
"itemType": "ticket",
"itemId": "azL0bNZdD1",
"eventId": 95,
"priceId": "2ePdA8q3BN",
"priceName": "Standard",
"description": "Hamlet — Grote Zaal",
"amount": 24.50
}
]
}
Add items to cart
POST /v1/:client_name/peppered/cart/{cartId}
Adds one or more items to the cart. Body is an array — you can add multiple items in one call.
Request body
Array of items, each with:
| Field | Type | Required | Description |
|---|---|---|---|
priceId | string | ✓ | Ticket type / discount ID |
rankId | integer | ✓ | Rank ID (seat rank in the hall) |
eventId | integer | — | Event ID (for ticket items) |
numberOfTickets | integer | — | Quantity (default 1) |
seatId | string | — | Specific seat for reserved-seating halls |
[
{ "priceId": "2ePdA8q3BN", "rankId": 42, "eventId": 95, "numberOfTickets": 2 },
{ "priceId": "donation", "rankId": 0, "amount": 5.00 }
]
Response
200 OK — updated CartResource.
Delete cart item
DELETE /v1/:client_name/peppered/cart/{cartId}/{itemId}
Remove one item from the cart. Use the itemId from the cart response.
Response
200 OK — updated cart.
Delete entire cart
DELETE /v1/:client_name/peppered/cart/{cartId}
Abandons the cart completely — reserved seats are released.
Response
200 OK — empty body.
Checkout
POST /v1/:client_name/peppered/cart/{cartId}/checkout
Converts the cart into an order for a known customer. Unlike the public order endpoint, this endpoint requires an existing customerId.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
customerId | integer | ✓ | Existing customer ID (see Customers) |
paymentMethodId | integer | ✓ | Payment method ID (see Payment methods) |
redirectURL | string | — | Redirect URL after payment (for methods that need it) |
Response
200 OK
{
"orderId": 12345,
"orderKey": "unique-identifier",
"url": "https://payment-provider-redirect-or-null"
}
For payment methods that don't require external redirect (cash, invoice), url may be null and the order is immediately final.
CartResource fields
| Field | Type | Description |
|---|---|---|
cartId | string | Unique cart ID |
timeOut | ISO datetime | When reserved seats expire |
numberOfItems | integer | Total item count |
amount | decimal | Total price |
cartItems | array | Line items (see below) |
Cart item fields
| Field | Type | Description |
|---|---|---|
itemType | string | ticket, donation, voucher, or other |
itemId | string | Unique line-item ID (for delete) |
eventId | integer | null | Event ID (for ticket items) |
priceId | string | Discount / price ID |
priceName | string | Human-readable price name |
description | string | Line description |
amount | decimal | Price of this line |
See also: Customers · Orders · Payment methods