vivenu checkouts API

The checkouts API from vivenu — 2 operation(s) for checkouts.

OpenAPI Specification

vivenu-checkouts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: vivenu access-lists checkouts API
  description: vivenu API Documentation
  version: 1.0.0
  contact:
    name: vivenu GmbH
    url: https://vivenu.com
servers:
- url: https://vivenu.com
  description: Production API
- url: https://vivenu.dev
  description: Staging API
tags:
- name: checkouts
paths:
  /api/checkouts:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: status
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - NEW
            - ABORTED
            - COMPLETE
            metas: {}
          description: Filter checkouts by checkout status
          metas: {}
        in: query
        style: form
        explode: true
      - name: name
        required: false
        schema:
          type: string
          description: Filter checkouts by name
          metas: {}
        in: query
        style: form
        explode: true
      - name: email
        required: false
        schema:
          type: string
          description: The email of the checkout customer
          metas: {}
        in: query
        style: form
        explode: true
      - name: type
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - transaction
            - upgrade
            - rebooking
            - purchaseintent
            - subscription
            metas: {}
          description: Filter checkouts by checkout type
          metas: {}
        in: query
        style: form
        explode: true
      - name: customerId
        required: false
        schema:
          type: string
          description: The ID of the checkout customer
          metas: {}
        in: query
        style: form
        explode: true
      - name: channel
        required: false
        schema:
          type: array
          items:
            oneOf:
            - oneOf:
              - type: array
              - type: boolean
              - type: number
              - type: object
              - type: string
              enum:
              - online
              metas: {}
            - oneOf:
              - type: array
              - type: boolean
              - type: number
              - type: object
              - type: string
              enum:
              - internal
              metas: {}
            - oneOf:
              - type: array
              - type: boolean
              - type: number
              - type: object
              - type: string
              enum:
              - pos
              metas: {}
            metas: {}
          description: Filter checkout by checkout channel
          metas: {}
        in: query
        style: form
        explode: true
      - name: createdAt
        required: false
        schema:
          type: object
          properties:
            $gt:
              type: string
              format: date-time
              description: value is greater than
              metas: {}
            $gte:
              type: string
              format: date-time
              description: value is greater than or equal
              metas: {}
            $lt:
              type: string
              format: date-time
              description: value is less than
              metas: {}
            $lte:
              type: string
              format: date-time
              description: value is less than or equal
              metas: {}
            $eq:
              type: string
              format: date-time
              description: value is equal
              metas: {}
            $ne:
              type: string
              format: date-time
              description: value is not equal
              metas: {}
          description: Range of dates indicating when the checkout was created in ISO format.
          metas: {}
        in: query
        style: deepObject
        explode: true
      - name: updatedAt
        required: false
        schema:
          type: object
          properties:
            $gt:
              type: string
              format: date-time
              description: value is greater than
              metas: {}
            $gte:
              type: string
              format: date-time
              description: value is greater than or equal
              metas: {}
            $lt:
              type: string
              format: date-time
              description: value is less than
              metas: {}
            $lte:
              type: string
              format: date-time
              description: value is less than or equal
              metas: {}
            $eq:
              type: string
              format: date-time
              description: value is equal
              metas: {}
            $ne:
              type: string
              format: date-time
              description: value is not equal
              metas: {}
          description: Range of dates indicating when the checkout was last updated in ISO format.
          metas: {}
        in: query
        style: deepObject
        explode: true
      - name: top
        required: false
        schema:
          type: integer
          maximum: 1000
          description: A limit on the number of objects to be returned. Can range between 1 and 1000.
          default: 25
          metas: {}
        in: query
        style: form
        explode: true
      - name: skip
        required: false
        schema:
          type: integer
          description: The number of objects to skip for the requested result
          metas: {}
        in: query
        style: form
        explode: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GET_Checkouts_GetAllCheckouts_200_response'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - checkouts
      description: Get all checkouts
      operationId: checkouts/list
    post:
      security:
      - jwt: []
      - apikey: []
      parameters: []
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/POST_Checkouts_CreateACheckout'
      tags:
      - checkouts
      description: Create a checkout
      operationId: checkouts/createInternal
  /api/checkouts/{id}:
    get:
      security:
      - jwt: []
      - apikey: []
      parameters:
      - name: id
        required: true
        schema:
          type: string
          description: The ID of an existing checkout
          metas: {}
        in: path
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutResource'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      tags:
      - checkouts
      description: Get checkout by id
      operationId: checkouts/get
components:
  schemas:
    GET_Checkouts_GetAllCheckouts_200_response:
      type: object
      properties:
        docs:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutResource'
        total:
          type: integer
    LanguageResource:
      type: string
      nullable: true
      enum:
      - 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
      description: The preferred language of the package checkout
    CheckoutResource:
      type: object
      properties:
        _id:
          type: string
          description: The ID of the checkout.
        secret:
          type: string
          description: The secret token of the checkout.
        status:
          type: string
          enum:
          - NEW
          - ABORTED
          - COMPLETE
          description: The status of the checkout.
        type:
          type: string
          enum:
          - transaction
          - upgrade
          - rebooking
          - purchaseintent
          - subscription
          description: The type of the checkout.
          example: transaction
        company:
          type: string
          description: The company name of the checkout's customer.
        firstname:
          type: string
          description: The first name of the checkout's customer.
        lastname:
          type: string
          description: The last name of the checkout's customer.
        name:
          type: string
          description: The full name of the checkout's customer.
        email:
          type: string
          format: email
          description: The email of the checkout's customer.
        phone:
          type: string
          description: The phone number of the checkout's customer.
        customerId:
          type: string
          description: The ID of the customer.
        address:
          type: object
          properties:
            fullAddress:
              type: string
              nullable: true
              description: Optional full address
            street:
              type: string
              nullable: true
              description: The street of the address. Street name including number.
            line2:
              type: string
              nullable: true
              description: The additional field of the address.
            postal:
              type: string
              nullable: true
              description: The postal code of the address.
            city:
              type: string
              nullable: true
              description: The city of the address.
            country:
              type: string
              nullable: true
              description: The country of the address. An ISO 3166 country code.
            state:
              type: string
              nullable: true
              description: The state of the address. If applicable
          description: The address of the checkout.
        deliveryAddress:
          type: object
          properties:
            fullAddress:
              type: string
              nullable: true
              description: Optional full address
            street:
              type: string
              nullable: true
              description: The street of the address. Street name including number.
            line2:
              type: string
              nullable: true
              description: The additional field of the address.
            postal:
              type: string
              nullable: true
              description: The postal code of the address.
            city:
              type: string
              nullable: true
              description: The city of the address.
            country:
              type: string
              nullable: true
              description: The country of the address. An ISO 3166 country code.
            state:
              type: string
              nullable: true
              description: The state of the address. If applicable
            name:
              type: string
              description: The name of the person receiving delivery.
          description: The delivery address of the checkout.
        identification:
          type: array
          items:
            $ref: '#/components/schemas/LegalIdentificationDocumentResource'
          description: An array of identification items
        sellerId:
          type: string
          description: The ID of the seller of the checkout.
        items:
          type: array
          items:
            type: object
            properties:
              _id:
                type: string
                description: The ID of the checkout item.
              eventId:
                type: string
                description: The ID of the event containing the item.
              shopId:
                type: string
                description: The ID of the under shop this item originated from.
              channelId:
                type: string
                description: The ID of the channel this item originated from.
              redeemedVouchers:
                type: object
                properties:
                  totalRedeemedAmount:
                    type: number
                    format: float
                    description: The sum of all vouchers applied.
                  vouchers:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the voucher.
                        code:
                          type: string
                          description: The Code of the voucher.
                        redeemedAmount:
                          type: number
                          format: float
                          description: The applied value of the voucher.
                      required:
                      - code
                      - redeemedAmount
                    description: An array of all redeemed vouchers of the checkout item.
                required:
                - totalRedeemedAmount
                description: An object including information on all redeemed vouchers within the checkout item.
              appliedCoupons:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                      description: The ID of the applied coupon.
                    code:
                      type: string
                      description: The code of the applied coupon.
                description: An array including information on all applied coupons within the checkout item.
              appliedDiscountInfo:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the applied discount info item.
                        itemId:
                          type: string
                          description: The ID of the item on which the discount is applied.
                        amount:
                          type: number
                          format: float
                          description: The amount of applied discounts.
                        regularPrice:
                          type: number
                          format: float
                          description: The regular price before applying the discount.
                        price:
                          type: number
                          format: float
                          description: The price after applying the discount.
                        varDiscounts:
                          type: array
                          items:
                            type: object
                            properties:
                              _id:
                                type: string
                                description: The ID of the discount info.
                              discountId:
                                type: string
                                description: The ID of the discount of the discount info.
                              category:
                                type: string
                                enum:
                                - coupon
                                - groupDiscount
                                - posDiscount
                                - voucher
                                - system
                                - modifier
                                description: The category of the discount.
                              name:
                                type: string
                                description: The name of the discount.
                              type:
                                type: string
                                enum:
                                - fix
                                - var
                                - fixPerItem
                                - waiveFees
                                description: The type of the discount.
                              value:
                                type: number
                                format: float
                                description: The value of the discount.
                              allowedItems:
                                type: array
                                items:
                                  type: string
                                description: An array of the IDs of allowed items of the discount.
                            required:
                            - _id
                            - type
                          description: An array of var discounts of the applied discount info item.
                        fixDiscounts:
                          type: array
                          items:
                            type: object
                            properties:
                              _id:
                                type: string
                                description: The ID of the discount info.
                              discountId:
                                type: string
                                description: The ID of the discount of the discount info.
                              category:
                                type: string
                                enum:
                                - coupon
                                - groupDiscount
                                - posDiscount
                                - voucher
                                - system
                                - modifier
                                description: The category of the discount.
                              name:
                                type: string
                                description: The name of the discount.
                              type:
                                type: string
                                enum:
                                - fix
                                - var
                                - fixPerItem
                                - waiveFees
                                description: The type of the discount.
                              value:
                                type: number
                                format: float
                                description: The value of the discount.
                              allowedItems:
                                type: array
                                items:
                                  type: string
                                description: An array of the IDs of allowed items of the discount.
                            required:
                            - _id
                            - type
                          description: An array of fix discounts of the applied discount info item.
                      required:
                      - _id
                    description: An array of applied discount info items.
                  discounts:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the discount info.
                        discountId:
                          type: string
                          description: The ID of the discount of the discount info.
                        category:
                          type: string
                          enum:
                          - coupon
                          - groupDiscount
                          - posDiscount
                          - voucher
                          - system
                          - modifier
                          description: The category of the discount.
                        name:
                          type: string
                          description: The name of the discount.
                        type:
                          type: string
                          enum:
                          - fix
                          - var
                          - fixPerItem
                          - waiveFees
                          description: The type of the discount.
                        value:
                          type: number
                          format: float
                          description: The value of the discount.
                        allowedItems:
                          type: array
                          items:
                            type: string
                          description: An array of the IDs of allowed items of the discount.
                        maxItemsInCart:
                          type: number
                          format: float
                          description: The maximum amount of items the discount will be applied towards.
                        maxAbsoluteValue:
                          type: number
                          format: float
                          description: The maximum absolute value of the discount.
                        absoluteDiscountValue:
                          type: number
                          format: float
                          description: The absolute value of the discount.
                      required:
                      - _id
                      - type
                    description: An array of extended discount info items.
                description: Applied discountInfo of the checkout item.
              regularPrice:
                type: number
                format: float
                description: The regular price of the checkout item.
              realPrice:
                type: number
                format: float
                description: The calculated price of the checkout item.
              innerFeeComponents:
                type: object
                properties:
                  _id:
                    type: string
                    description: The ID of the fee composition.
                  fix:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the fee component.
                        amount:
                          type: number
                          format: float
                          description: The fee amount.
                        value:
                          type: number
                          format: float
                          description: The fee value.
                        total:
                          type: number
                          format: float
                          description: The fee total. Calculated with amount and value.
                        type:
                          type: string
                          enum:
                          - onTicket
                          - onHardTicket
                          - onCart
                          description: The fee type of the fee component.
                        name:
                          type: string
                          nullable: true
                          description: The name of the fee.
                        publicName:
                          type: string
                          description: The public name of the fee component.
                        exposed:
                          type: boolean
                          description: Whether this fee will be exposed to the ticket buyer.
                        scheme:
                          type: object
                          properties:
                            schemeId:
                              type: string
                              description: The ID of the fee scheme.
                            feeId:
                              type: string
                              description: The ID of the fee scheme fee.
                          description: The fee scheme of the fee component.
                      required:
                      - _id
                    description: An array of fee components for the fix fee.
                  var:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the fee component.
                        amount:
                          type: number
                          format: float
                          description: The fee amount.
                        value:
                          type: number
                          format: float
                          description: The fee value.
                        total:
                          type: number
                          format: float
                          description: The fee total. Calculated with amount and value.
                        type:
                          type: string
                          enum:
                          - onTicket
                          - onHardTicket
                          - onCart
                          description: The fee type of the fee component.
                        name:
                          type: string
                          nullable: true
                          description: The name of the fee.
                        publicName:
                          type: string
                          description: The public name of the fee component.
                        exposed:
                          type: boolean
                          description: Whether this fee will be exposed to the ticket buyer.
                        scheme:
                          type: object
                          properties:
                            schemeId:
                              type: string
                              description: The ID of the fee scheme.
                            feeId:
                              type: string
                              description: The ID of the fee scheme fee.
                          description: The fee scheme of the fee component.
                      required:
                      - _id
                    description: An array of fee components for the var fee.
                required:
                - _id
                description: The inner fee of the transaction as a result of the checkout item including fix and var fees.
              innerCharge:
                type: number
                format: float
                description: The inner charge of the checkout item.
              outerFeeComponents:
                type: object
                properties:
                  _id:
                    type: string
                    description: The ID of the fee composition.
                  fix:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the fee component.
                        amount:
                          type: number
                          format: float
                          description: The fee amount.
                        value:
                          type: number
                          format: float
                          description: The fee value.
                        total:
                          type: number
                          format: float
                          description: The fee total. Calculated with amount and value.
                        type:
                          type: string
                          enum:
                          - onTicket
                          - onHardTicket
                          - onCart
                          description: The fee type of the fee component.
                        name:
                          type: string
                          nullable: true
                          description: The name of the fee.
                        publicName:
                          type: string
                          description: The public name of the fee component.
                        exposed:
                          type: boolean
                          description: Whether this fee will be exposed to the ticket buyer.
                        scheme:
                          type: object
                          properties:
                            schemeId:
                              type: string
                              description: The ID of the fee scheme.
                            feeId:
                              type: string
                              description: The ID of the fee scheme fee.
                          description: The fee scheme of the fee component.
                      required:
                      - _id
                    description: An array of fee components for the fix fee.
                  var:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                          description: The ID of the fee component.
                        amount:
                          type: number
                          format: float
                          description: The fee amount.
                        value:
                          type: number
                          format: float
                          description: The fee value.
                        total:
                          type: number
                          format: float
                          description: The fee total. Calculated with amount and value.
                        type:
                          type: string
                          enum:
                          - onTicket
                          - onHardTicket
                          - onCart
                          description: The fee type of the fee component.
                        name:
                          type: string
                          nullable: true
                          description: The name of the fee.
                        publicName:
                          type: string
                          description: The public name of the fee component.
                        exposed:
                          type: boolean
                          description: Whether this fee will be exposed to the ticket buyer.
                        scheme:
                          type: object
                          properties:
                            schemeId:
                              type: string
                              description: The ID of the fee scheme.
                            feeId:
                              type: string
                              description: The ID of the fee scheme fee.
                          description: The fee scheme of the fee component.
                      required:
                      - _id
                    description: An array of fee components for the var fee.
                required:
                - _id
                description: The outer fee of the transaction as a result of the checkout item including fix and var fees.
              outerCharge:

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vivenu/refs/heads/main/openapi/vivenu-checkouts-api-openapi.yml