---
title: "POST /api/checkouts"
method: POST
path: "/api/checkouts"
tags: ["api", "checkouts"]
---

# POST /api/checkouts

`POST /api/checkouts`

Create a checkout

## Request body

- POSTCheckoutsCreateACheckout
  - `type` 'transaction' | 'upgrade' | 'rebooking' | 'purchaseintent' | 'subscription', required — The type of the checkout.
  - `eventId` string, required — The ID of the event to create the checkout item for.
  - `coupons` string[] — An array of coupon codes to apply to the checkout item.
  - `vouchers` string[] — An array of voucher codes to be redeemed through the checkout.
  - `shopId` string — The ID of the secret shop to create the checkout item for.
  - `items` union[], required — An array of all cart items.
    - union
      - object
        - `_id` string — Unique identifier for the cart item. If omitted, the system will automatically generate one.
        - `type` 'ticket' — The type of the cart item.
        - `amount` integer, required — The amount of the cart item.
        - `ticketTypeId` string, required — The ID of the ticket type of the cart item.
        - `seatingInfo` object, nullable — The associated seating object.
          - `_id` string — The ID of the seating object.
          - `_type` 6 | 7, float, required — Indicates the type of seating object. Seat = 6, General Admission = 7.
          - `categoryId` string — The ID of the category containing the seating object.
          - `statusId` string, required — The ID of a container holding information about the seating status of the seating object.
          - `name` string, nullable — If _type == 7. The name of the general admission.
          - `seatType` 'handicapped' | 'limitedView' | 'foldable', nullable — If _type == 6. The type of the seat. null = normal.
          - `sectionName` string, nullable — If _type == 6. The name of the section where the seat is located.
          - `groupName` string, nullable — If _type == 6. The name of the row group where the seat is located.
          - `rowName` string, nullable — If _type == 6. The name of the row where the seat is located.
          - `seatName` string, nullable — If _type == 6. The seat name.
          - `gate` string, nullable — The entry gate associated with the seating object.
        - `slotInfo` object, nullable — The associated time slot object.
          - `slotId` string, required — The ID of the time slot.
          - `slotStartTime` string, required — The start time of the time slot.
        - `asHardTicket` boolean, nullable — Whether this ticket is a hard ticket.
        - `listingId` string, nullable — Listing in secondary market.
        - `triggeredBy` union — An ID or an array of IDs of other cart items which triggered the buy action of the cart item.
          - string — An ID of another cart item which triggered the buy action of the cart item.
          - string[] — An array of IDs of other cart items which triggered the buy action of the cart item.
        - `triggeredAutomations` boolean, nullable — Whether the cart item triggered automations.
        - `meta` object, nullable — Meta data which is propagated to the ticket.
        - `bundleInfo` object, nullable
          - `bundleId` string
          - `componentId` string
          - `optionId` string
      - object
        - `_id` string — Unique identifier for the cart item. If omitted, the system will automatically generate one.
        - `type` 'product', required — The type of the cart item.
        - `amount` integer, required — The amount of the cart item.
        - `productVariantId` string, required — The ID of the product variant.
        - `isFulfillable` boolean — Whether the product can be delivered
        - `triggeredBy` union — An ID or an array of IDs of other cart items which triggered the buy action of the cart item.
          - string — An ID of another cart item which triggered the buy action of the cart item.
          - string[] — An array of IDs of other cart items which triggered the buy action of the cart item.
        - `bundleInfo` object, nullable
          - `bundleId` string
          - `componentId` string
          - `optionId` string
        - `price` number, float — The single piece price of the cart item.
      - object
        - `type` 'bundle' | 'additionalFee' | 'fulfillmentType' | 'insurance', required — The type of the cart item.
        - `_id` string — Unique identifier for the cart item. If omitted, the system will automatically generate one.
        - `name` string, nullable — The name of the cart item.
        - `amount` integer, required — The amount of the cart item.
        - `netPrice` number, float — The single piece net price of the cart item.
        - `price` number, float, required — The single piece price of the cart item.
        - `taxRate` number, float, nullable — The tax rate to be applied to this cart item. If not present the tax rate of the transaction is taken.
        - `triggeredBy` union — An ID or an array of IDs of other cart items which triggered the buy action of the cart item.
          - string — An ID of another cart item which triggered the buy action of the cart item.
          - string[] — An array of IDs of other cart items which triggered the buy action of the cart item.
        - `bundleInfo` object, nullable
          - `bundleId` string
          - `componentId` string
          - `optionId` string
        - `data` object
  - `seatingReservationToken` string — The reservation token of the selected seats.
  - `channelId` string — The ID of the channel to create the checkout item for.
  - `salesChannelId` string, required — The ID of the sales channel to create the checkout item for.
  - `preferredLanguage` 'de' | 'de-CH' | 'en' | 'en-GB' | 'en-AU' | 'fr' | 'es' | 'es-MX' | 'is' | 'it' | 'ru' | 'pt' | 'tr' | 'nb' | 'nl' | 'pl' | 'sv' | 'sl' | 'da' | 'cs' | 'lv' | 'he' | 'ar' | 'th' | 'ko' | 'ja' | 'zh-TW', nullable — The preferred language of the package checkout
  - `meta` object — Custom key-value data. Metadata is useful for storing additional, structured information on an object.
  - `customerId` string
  - `contractTypeId` string — The id of the contract type

## Response `200`

OK

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/vivenu/apis/vivenu-api.md) · [All operations](https://skmtc.net/vivenu/apis/vivenu-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vivenu/vivenu-api/revisions/36be0dca14e7/schema)
