Download OpenAPI specification:Download
Integrate your own systems with CM.com Ticketing. Use this API to manage your events, read products, channels and payment methods, create and complete orders, look up the tickets issued to your customers, and set up discount campaigns and marketing trackers.
Authentication. Every request must carry your system token in the X-CM-SSO-ACCOUNTGUID header. A request with a missing or unknown token is answered with 401; a token that is not allowed to perform the request is answered with 403. You only ever see and change data that belongs to your own organisation.
Rate limiting. Each organisation may send up to 120 requests per minute, with short bursts of up to 30 requests. Requests over the limit are answered with 429 and the error code rate_limit_exceeded; wait a moment and retry.
Pagination. List endpoints accept skip and take (default take is 100) and return items, total_items, page_size and links (self, first, prev, next, last) so you can walk through the results.
Errors. Errors from the API itself are returned as JSON with a machine-readable error_code and a human-readable error_msg; switch on error_code in your code, as error_msg may change. (Authentication failures, 401 and 403, are returned as plain text.)
Webhooks. Register webhook endpoints, and choose which message types they receive, in the CM.com Ticketing dashboard. Messages are sent as a JSON POST with the message type in the X-Message-Type header, and identify the resource that changed; fetch its current state from this API. Respond with 2xx within 10 seconds. Failed deliveries are retried, so the same message may arrive more than once.
Sent when a customer product (an individual ticket) is canceled, either on its own or as part of an order cancellation. Retrieve it with GET /events/{event_id}/orders/{order_id}/products/{customer_product_id}.
| X-Message-Type required | string Always |
Message payload
| customer_product_id | string UUID of the customer product. Present only when entity == "customer_product". |
| entity | string Resource the message is about. One of: order, customer_product. |
| event_id | string UUID of the ticketing event the resource belongs to. |
| order_id | string UUID of the order the resource belongs to. |
{- "customer_product_id": "f23c8ad2-9b5b-4f7e-9a55-7c5c4c8b71d2",
- "entity": "order",
- "event_id": "3e2af7d0-7c1f-4d40-9b62-2fcb6e0d2c8a",
- "order_id": "a76d9c1c-1bd6-4f6b-8a3e-5a9d9c8a1b54"
}{ }Sent when an order is canceled, followed by a customer_product.canceled message for each ticket in the order.
| X-Message-Type required | string Always |
Message payload
| customer_product_id | string UUID of the customer product. Present only when entity == "customer_product". |
| entity | string Resource the message is about. One of: order, customer_product. |
| event_id | string UUID of the ticketing event the resource belongs to. |
| order_id | string UUID of the order the resource belongs to. |
{- "customer_product_id": "f23c8ad2-9b5b-4f7e-9a55-7c5c4c8b71d2",
- "entity": "order",
- "event_id": "3e2af7d0-7c1f-4d40-9b62-2fcb6e0d2c8a",
- "order_id": "a76d9c1c-1bd6-4f6b-8a3e-5a9d9c8a1b54"
}{ }Sent when an order is completed. Retrieve it with GET /events/{event_id}/orders/{order_id}.
| X-Message-Type required | string Always |
Message payload
| customer_product_id | string UUID of the customer product. Present only when entity == "customer_product". |
| entity | string Resource the message is about. One of: order, customer_product. |
| event_id | string UUID of the ticketing event the resource belongs to. |
| order_id | string UUID of the order the resource belongs to. |
{- "customer_product_id": "f23c8ad2-9b5b-4f7e-9a55-7c5c4c8b71d2",
- "entity": "order",
- "event_id": "3e2af7d0-7c1f-4d40-9b62-2fcb6e0d2c8a",
- "order_id": "a76d9c1c-1bd6-4f6b-8a3e-5a9d9c8a1b54"
}{ }Returns all customer products (the individual tickets and other products issued to customers) across all of your events. Accepts the same filters as the event-level list.
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| product_type | string Only return customer products of this product type |
| status | string Only return customer products with this status |
| product_id | Array of strings Only return customer products of this product (UUID). Repeat the parameter to include several products |
| issued_at_from | string Only return customer products whose order was completed at or after this time (RFC 3339) |
| issued_at_to | string Only return customer products whose order was completed at or before this time (RFC 3339) |
| refunded_at_from | string Only return customer products whose order was refunded at or after this time (RFC 3339) |
| refunded_at_to | string Only return customer products whose order was refunded at or before this time (RFC 3339) |
{- "items": [
- {
- "event_id": "string",
- "id": "string",
- "order_id": "string",
- "product_id": "string",
- "status": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Returns all customer products (the individual tickets and other products issued to customers) of one event.
| event_id required | string Event ID (UUID) |
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| product_type | string Only return customer products of this product type |
| status | string Only return customer products with this status |
| product_id | Array of strings Only return customer products of this product (UUID). Repeat the parameter to include several products |
| issued_at_from | string Only return customer products whose order was completed at or after this time (RFC 3339) |
| issued_at_to | string Only return customer products whose order was completed at or before this time (RFC 3339) |
| refunded_at_from | string Only return customer products whose order was refunded at or after this time (RFC 3339) |
| refunded_at_to | string Only return customer products whose order was refunded at or before this time (RFC 3339) |
{- "items": [
- {
- "event_id": "string",
- "id": "string",
- "order_id": "string",
- "product_id": "string",
- "status": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Returns the customer products (the individual tickets and other products issued to the customer) of one order. Accepts the same filters as the event-level and organisation-level lists.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| product_type | string Only return customer products of this product type (for example |
| status | string Only return customer products with this status (for example |
| product_id | Array of strings Only return customer products of this product (UUID). Repeat the parameter to include several products |
| issued_at_from | string Only return customer products whose order was completed at or after this time (RFC 3339) |
| issued_at_to | string Only return customer products whose order was completed at or before this time (RFC 3339) |
| refunded_at_from | string Only return customer products whose order was refunded at or after this time (RFC 3339) |
| refunded_at_to | string Only return customer products whose order was refunded at or before this time (RFC 3339) |
{- "items": [
- {
- "event_id": "string",
- "id": "string",
- "order_id": "string",
- "product_id": "string",
- "status": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Returns the details of one customer product (an individual ticket or other product issued to a customer): the customer's details, the product, the event and venue, the seat (null for events without seating), how often and when it was last scanned, and the tracking parameters of the order it belongs to.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
| customer_product_id required | string Customer product ID (UUID) |
{- "barcode_id": "string",
- "canceled_at": "string",
- "created_at": "string",
- "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "event": {
- "name": "string",
- "uuid": "string"
}, - "expire_at": "string",
- "external_barcode_id": "string",
- "last_scanned_at": "string",
- "order_id": "string",
- "personalized_at": "string",
- "price_incl_vat": 0,
- "price_with_discount_incl_vat": 0,
- "product": {
- "external_id_1": "string",
- "external_id_2": "string",
- "external_id_3": "string",
- "is_checkin_allowed": true,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "price_incl_vat": 0,
- "product_type": "string",
- "sales_from": "string",
- "sales_until": "string",
- "uuid": "string",
- "valid_from": "string",
- "valid_until": "string",
- "validation_max_checkins": 0
}, - "scan_count": 0,
- "seat": {
- "entrance": "string",
- "primary_label": "string",
- "primary_type": "string",
- "seat_object_id": "string",
- "secondary_label": "string",
- "secondary_type": "string",
- "section": "string"
}, - "status": "string",
- "tracking_parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "used_access_key_id": "string",
- "used_discount_code_external_id": "string",
- "used_discount_code_id": "string",
- "uuid": "string",
- "venue": {
- "name": "string",
- "uuid": "string"
}
}Cancels one customer product (an individual ticket or other product issued to a customer). Its barcode can no longer be used for entry and the product's stock is increased by one. The order it belongs to is not changed, and no refund is made. Canceling a customer product that is already canceled returns 409.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
| customer_product_id required | string Customer product ID (UUID) |
{- "barcode_id": "string",
- "canceled_at": "string",
- "created_at": "string",
- "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "event": {
- "name": "string",
- "uuid": "string"
}, - "expire_at": "string",
- "external_barcode_id": "string",
- "last_scanned_at": "string",
- "order_id": "string",
- "personalized_at": "string",
- "price_incl_vat": 0,
- "price_with_discount_incl_vat": 0,
- "product": {
- "external_id_1": "string",
- "external_id_2": "string",
- "external_id_3": "string",
- "is_checkin_allowed": true,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "price_incl_vat": 0,
- "product_type": "string",
- "sales_from": "string",
- "sales_until": "string",
- "uuid": "string",
- "valid_from": "string",
- "valid_until": "string",
- "validation_max_checkins": 0
}, - "scan_count": 0,
- "seat": {
- "entrance": "string",
- "primary_label": "string",
- "primary_type": "string",
- "seat_object_id": "string",
- "secondary_label": "string",
- "secondary_type": "string",
- "section": "string"
}, - "status": "string",
- "tracking_parameters": [
- {
- "name": "string",
- "value": "string"
}
], - "used_access_key_id": "string",
- "used_discount_code_external_id": "string",
- "used_discount_code_id": "string",
- "uuid": "string",
- "venue": {
- "name": "string",
- "uuid": "string"
}
}Returns your organisation's active events.
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
{- "items": [
- {
- "downloadable_from": "string",
- "end_at": "string",
- "id": "string",
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "name": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "venue": {
- "address": "string",
- "city": "string",
- "country_code": "string",
- "id": "string",
- "name": "string",
- "state": "string",
- "zipcode": "string"
}
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Creates a new event. description and discount_label are objects keyed by language code (for example {"en": "...", "nl": "..."}); provide them for the languages you list in languages.
Event payload
object | |
object | |
| downloadable_from | string |
| end_at | string |
| is_active | boolean |
| is_downloadable | boolean |
| is_order_invoice_enabled | boolean |
| is_personalization_enabled | boolean |
| is_visible | boolean |
Array of objects | |
| minutes_to_order | integer |
| name | string |
| online_from | string |
| online_till | string |
| short_id | string |
| start_at | string |
object | |
| type | string Enum: "GENERAL_ADMISSION" "SEATED" |
object |
{- "description": {
- "property1": "string",
- "property2": "string"
}, - "discount_label": {
- "property1": "string",
- "property2": "string"
}, - "downloadable_from": "string",
- "end_at": "string",
- "is_active": true,
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "is_personalization_enabled": true,
- "is_visible": true,
- "languages": [
- {
- "code": "string"
}
], - "minutes_to_order": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "short_id": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "type": "GENERAL_ADMISSION",
- "venue": {
- "id": "string"
}
}{- "created_at": "string",
- "description": {
- "property1": "string",
- "property2": "string"
}, - "discount_label": {
- "property1": "string",
- "property2": "string"
}, - "downloadable_from": "string",
- "end_at": "string",
- "id": "string",
- "is_active": true,
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "is_personalization_enabled": true,
- "is_visible": true,
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "minutes_to_order": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "short_id": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "type": "string",
- "updated_at": "string",
- "venue": {
- "address": "string",
- "city": "string",
- "country_code": "string",
- "id": "string",
- "name": "string",
- "state": "string",
- "zipcode": "string"
}
}Deactivates an event: it is not removed, but is_active becomes false. Calling this on an event that is already inactive also returns 204.
| event_id required | string Event ID (UUID) |
{- "error_code": "string",
- "error_msg": "string"
}Returns the details of one event, including its description and discount label in every language they are available in.
| event_id required | string Event ID (UUID) |
{- "created_at": "string",
- "description": {
- "property1": "string",
- "property2": "string"
}, - "discount_label": {
- "property1": "string",
- "property2": "string"
}, - "downloadable_from": "string",
- "end_at": "string",
- "id": "string",
- "is_active": true,
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "is_personalization_enabled": true,
- "is_visible": true,
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "minutes_to_order": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "short_id": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "type": "string",
- "updated_at": "string",
- "venue": {
- "address": "string",
- "city": "string",
- "country_code": "string",
- "id": "string",
- "name": "string",
- "state": "string",
- "zipcode": "string"
}
}Replaces all editable fields of an event. This is a full replacement, not a partial update: send the complete event as you want it to be stored. Fields you leave out or set to null, and arrays you send empty, are cleared.
| event_id required | string Event ID (UUID) |
Event payload
object | |
object | |
| downloadable_from | string |
| end_at | string |
| is_active | boolean |
| is_downloadable | boolean |
| is_order_invoice_enabled | boolean |
| is_personalization_enabled | boolean |
| is_visible | boolean |
Array of objects | |
| minutes_to_order | integer |
| name | string |
| online_from | string |
| online_till | string |
| short_id | string |
| start_at | string |
object | |
| type | string Enum: "GENERAL_ADMISSION" "SEATED" |
object |
{- "description": {
- "property1": "string",
- "property2": "string"
}, - "discount_label": {
- "property1": "string",
- "property2": "string"
}, - "downloadable_from": "string",
- "end_at": "string",
- "is_active": true,
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "is_personalization_enabled": true,
- "is_visible": true,
- "languages": [
- {
- "code": "string"
}
], - "minutes_to_order": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "short_id": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "type": "GENERAL_ADMISSION",
- "venue": {
- "id": "string"
}
}{- "created_at": "string",
- "description": {
- "property1": "string",
- "property2": "string"
}, - "discount_label": {
- "property1": "string",
- "property2": "string"
}, - "downloadable_from": "string",
- "end_at": "string",
- "id": "string",
- "is_active": true,
- "is_downloadable": true,
- "is_order_invoice_enabled": true,
- "is_personalization_enabled": true,
- "is_visible": true,
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "minutes_to_order": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "short_id": "string",
- "start_at": "string",
- "timezone": {
- "country_code": "string",
- "name": "string"
}, - "type": "string",
- "updated_at": "string",
- "venue": {
- "address": "string",
- "city": "string",
- "country_code": "string",
- "id": "string",
- "name": "string",
- "state": "string",
- "zipcode": "string"
}
}Returns the active sales channels of an event. Each channel has a public shop url that you can link your customers to.
| event_id required | string Event ID (UUID) |
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| sort | string Enum: "created_at" "slug" Field to sort by |
| order | string Enum: "asc" "desc" Sort direction |
{- "items": [
- {
- "created_at": "string",
- "online_from": "string",
- "online_till": "string",
- "slug": "string",
- "url": "string",
- "uuid": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Creates a discount campaign for an event. Set discount_type to choose the kind of discount. With ORDER, the discount applies to the whole order: provide a rate, a rate_type (MONETARY or PERCENTAGE) and the discount_code your customers will enter. With PRODUCT, the discount applies to specific products: provide discount_campaign_products with a product_uuid, max_usage, rate and currency_id for each product (each rate_type must be MONETARY); the discount code is generated for you. The response contains the campaign id, the discount_code (the one you supplied for ORDER, the generated one for PRODUCT) and the rate, or the per-product entries.
| event_id required | string Event ID (UUID) |
Discount payload
| currency_id | string |
Array of objects (handler.createDiscountRequestProduct) Only for PRODUCT campaigns. | |
| discount_code | string Only for ORDER campaigns. |
| discount_type | string ORDER (discount on the whole order) or PRODUCT (discount on specific products) |
| max_usage | integer |
| name | string |
| online_from | string |
| online_till | string |
| rate | number |
| rate_type | string |
{- "currency_id": "string",
- "discount_campaign_products": [
- {
- "currency_id": "string",
- "max_usage": 0,
- "product_uuid": "string",
- "rate": 0,
- "rate_type": "string"
}
], - "discount_code": "string",
- "discount_type": "string",
- "max_usage": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "rate": 0,
- "rate_type": "string"
}{- "currency_id": "string",
- "discount_campaign_products": [
- {
- "currency_id": "string",
- "id": 0,
- "max_usage": 0,
- "product_uuid": "string",
- "rate": 0,
- "rate_type": "string"
}
], - "discount_code": "string",
- "discount_type": "string",
- "id": "string",
- "max_usage": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "rate": 0,
- "rate_type": "string"
}Updates the name, max_usage, online_from and online_till of a discount campaign. The rate, currency, discount code and per-product entries cannot be changed after the campaign is created; to change them, create a new campaign. The response has the same shape as the create response.
| event_id required | string Event ID (UUID) |
| discount_id required | string Discount campaign ID (UUID) |
Fields to update
| max_usage | integer |
| name | string |
| online_from | string |
| online_till | string |
{- "max_usage": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string"
}{- "currency_id": "string",
- "discount_campaign_products": [
- {
- "currency_id": "string",
- "id": 0,
- "max_usage": 0,
- "product_uuid": "string",
- "rate": 0,
- "rate_type": "string"
}
], - "discount_code": "string",
- "discount_type": "string",
- "id": "string",
- "max_usage": 0,
- "name": "string",
- "online_from": "string",
- "online_till": "string",
- "rate": 0,
- "rate_type": "string"
}Returns the marketing trackers of an event, grouped by channel (shop). Each group has totals for clicks, orders and tickets sold, and lists its trackers with their own statistics and the tracking link to share.
| event_id required | string Event ID (UUID) |
[- {
- "channel_uuid": "string",
- "conversion_rate": 0,
- "marketing_trackers": [
- {
- "channel": "string",
- "clicks": 0,
- "conversion_rate": 0,
- "link": "string",
- "mails_sent": 0,
- "name": "string",
- "orders": 0,
- "tickets_sold": 0,
- "uuid": "string"
}
], - "orders": 0,
- "tickets_sold": 0,
- "total_clicks": 0,
- "uri": "string"
}
]Creates a marketing tracker for one of your event's channels (shops). Pass the channel's uuid, as returned by GET /events/{event_id}/channels, as viewport_uuid. The tracker gets its own tracking link, so you can see how many clicks, orders and tickets each promotion brings in. Supported channels are INSTAGRAM, FACEBOOK, TIKTOK, WHATSAPP, NEWSLETTER, X, SHOPIFY and OTHER. The SPOTIFY and AUTOMATED_EMAIL channels are managed by CM.com and cannot be created here.
| event_id required | string Event ID (UUID) |
Marketing tracker payload
| channel | string |
| name | string |
| viewport_uuid | string |
{- "channel": "string",
- "name": "string",
- "viewport_uuid": "string"
}{- "channel": "string",
- "clicks": 0,
- "created_at": "string",
- "deliveries": 0,
- "event_uuid": "string",
- "id": "string",
- "name": "string",
- "orders": 0,
- "products": 0,
- "viewport_uuid": "string"
}Deletes a marketing tracker. Only trackers that you created can be deleted; the SPOTIFY and AUTOMATED_EMAIL trackers are managed by CM.com and cannot be deleted.
| event_id required | string Event ID (UUID) |
| tracker_id required | string Marketing Tracker ID (UUID) |
{- "error_code": "string",
- "error_msg": "string"
}Returns the orders of an event, optionally filtered by status, product, sales origin or completion time.
| event_id required | string Event ID (UUID) |
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| status | string Enum: "COMPLETED" "CANCELED" "REFUNDED" "RELEASED" "PENDING" Only return orders with this status |
| product_id | Array of strings Only return orders that contain this product (UUID). Repeat the parameter to match orders containing any of several products |
| sales_origin | string Only return orders created through this sales origin: |
| completed_at_from | string Only return orders completed at or after this time (RFC 3339) |
| completed_at_to | string Only return orders completed at or before this time (RFC 3339) |
{- "items": [
- {
- "batch_id": "string",
- "external_batch_id": "string",
- "status": "string",
- "uuid": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Creates an order for an event. There are two ways to use it. With complete=true the order is completed immediately, using the payment_method and delivery_method in the same request. With complete=false (the default) the order is created with status PENDING and reserves the requested tickets; you then finish it with PUT /events/{event_id}/orders/{order_id}/complete, or release the tickets with PUT /events/{event_id}/orders/{order_id}/cancel. The response has the same shape as GET /events/{event_id}/orders/{order_id}. Use external_batch_id to store your own reference for the order.
| event_id required | string Event ID (UUID) |
Order payload
| complete | boolean |
object (handler.createOrderCustomerData) | |
| delivery_method | string Enum: "NONE" "EMAIL" |
| external_batch_id | string |
| payment_method | string Enum: "FREE" "EXTERNAL_PAYMENT" |
Array of objects (handler.createOrderTicket) |
{- "complete": true,
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "language": "string",
- "last_name": "string",
- "mobile": "string"
}, - "delivery_method": "NONE",
- "external_batch_id": "string",
- "payment_method": "FREE",
- "tickets": [
- {
- "amount": 0,
- "product_id": "string"
}
]
}{- "batch_id": "string",
- "canceled_at": "string",
- "completed_at": "string",
- "consents": [
- {
- "is_accepted": true,
- "name": "string",
- "uuid": "string"
}
], - "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "download_url": "string",
- "external_batch_id": "string",
- "is_guest_list_order": true,
- "payment_method": "string",
- "personalized_at": "string",
- "refunded_at": "string",
- "requested_language_id": "string",
- "status": "string",
- "tickets": [
- {
- "amount": 0,
- "cancellations": 0,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "product_price_incl_vat": 0,
- "product_type": "string",
- "uuid": "string"
}
], - "total_balance": 0,
- "uuid": "string"
}Returns the details of one order: its status, the customer's details, the payment method, the tickets that were ordered and the consents the customer gave.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
{- "batch_id": "string",
- "canceled_at": "string",
- "completed_at": "string",
- "consents": [
- {
- "is_accepted": true,
- "name": "string",
- "uuid": "string"
}
], - "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "download_url": "string",
- "external_batch_id": "string",
- "is_guest_list_order": true,
- "payment_method": "string",
- "personalized_at": "string",
- "refunded_at": "string",
- "requested_language_id": "string",
- "status": "string",
- "tickets": [
- {
- "amount": 0,
- "cancellations": 0,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "product_price_incl_vat": 0,
- "product_type": "string",
- "uuid": "string"
}
], - "total_balance": 0,
- "uuid": "string"
}Cancels an order that is still PENDING and makes the tickets it reserved available again. This endpoint does not refund or cancel completed orders; to cancel individual tickets of a completed order, use the customer product cancel endpoint. Canceling an order that is already canceled returns 409.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
{- "batch_id": "string",
- "canceled_at": "string",
- "completed_at": "string",
- "consents": [
- {
- "is_accepted": true,
- "name": "string",
- "uuid": "string"
}
], - "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "download_url": "string",
- "external_batch_id": "string",
- "is_guest_list_order": true,
- "payment_method": "string",
- "personalized_at": "string",
- "refunded_at": "string",
- "requested_language_id": "string",
- "status": "string",
- "tickets": [
- {
- "amount": 0,
- "cancellations": 0,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "product_price_incl_vat": 0,
- "product_type": "string",
- "uuid": "string"
}
], - "total_balance": 0,
- "uuid": "string"
}Completes an order that was created with complete=false and is still PENDING. If you leave out payment_method it defaults to FREE, and if you leave out delivery_method it defaults to NONE. Completing an order that is already completed returns 409.
| event_id required | string Event ID (UUID) |
| order_id required | string Order ID (UUID) |
Complete order payload
| delivery_method | string Enum: "NONE" "EMAIL" |
| mark_as_scanned | boolean |
| payment_method | string Enum: "FREE" "EXTERNAL_PAYMENT" |
{- "delivery_method": "NONE",
- "mark_as_scanned": true,
- "payment_method": "FREE"
}{- "batch_id": "string",
- "canceled_at": "string",
- "completed_at": "string",
- "consents": [
- {
- "is_accepted": true,
- "name": "string",
- "uuid": "string"
}
], - "currency_id": "string",
- "customer_data": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "mobile": "string",
- "uuid": "string"
}, - "download_url": "string",
- "external_batch_id": "string",
- "is_guest_list_order": true,
- "payment_method": "string",
- "personalized_at": "string",
- "refunded_at": "string",
- "requested_language_id": "string",
- "status": "string",
- "tickets": [
- {
- "amount": 0,
- "cancellations": 0,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "product_price_incl_vat": 0,
- "product_type": "string",
- "uuid": "string"
}
], - "total_balance": 0,
- "uuid": "string"
}Returns the payment methods that are enabled for an event and available to online customers. Box-office-only payment methods are not included.
| event_id required | string Event ID (UUID) |
[- {
- "currency_id": "string",
- "image_uri": "string",
- "name": "string",
- "uuid": "string"
}
]Returns the active products (for example tickets) of an event, with their name in each language and their price.
| event_id required | string Event ID (UUID) |
| skip | integer Number of items to skip (default 0) |
| take | integer Page size (default 100) |
| sort | string Enum: "display_order" "name" "created_at" Field to sort by |
| order | string Enum: "asc" "desc" Sort direction |
{- "items": [
- {
- "name": {
- "property1": "string",
- "property2": "string"
}, - "price": 0,
- "uuid": "string"
}
], - "links": {
- "first": "string",
- "last": "string",
- "next": "string",
- "prev": "string",
- "self": "string"
}, - "page_size": 0,
- "total_items": 0
}Returns the details of one product, including its remaining stock (reported as 0 when has_unlimited_stock is true) and the capacity of the pool it draws from, which can be shared with other products.
| event_id required | string Event ID (UUID) |
| product_id required | string Product ID (UUID) |
{- "additional_information": {
- "property1": "string",
- "property2": "string"
}, - "capacity": 0,
- "description": {
- "property1": "string",
- "property2": "string"
}, - "external_id_1": "string",
- "external_id_2": "string",
- "external_id_3": "string",
- "has_unlimited_stock": true,
- "is_personalizable": true,
- "is_visible": true,
- "name": {
- "property1": "string",
- "property2": "string"
}, - "price": 0,
- "product_type": "string",
- "sales_from": "string",
- "sales_until": "string",
- "stock": 0,
- "subtitle": {
- "property1": "string",
- "property2": "string"
}, - "ticket_status_type_id": "string",
- "uuid": "string",
- "valid_from": "string",
- "valid_until": "string"
}