> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fynn.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieves a cart by its ID.

> Retrieves a cart by its ID.

<sup>Required permissions: `cart:read`</sup>



## OpenAPI

````yaml get /checkout/carts/{id}
openapi: 3.1.0
info:
  title: Fynn API
  description: ''
  termsOfService: https://www.fynn.eu/tos
  contact:
    name: Fynn UG (haftungsbeschränkt)
    url: https://www.fynn.eu
    email: hi@fynn.eu
  license:
    name: Proprietary
    url: https://www.fynn.eu/license
  version: 0.0.0
servers:
  - url: https://coreapi.io
    description: Production
  - url: https://preview.coreapi.io
    description: Sandbox
security:
  - JWT: []
tags: []
paths:
  /checkout/carts/{id}:
    parameters: []
    get:
      tags:
        - Cart
      summary: Retrieves a cart by its ID.
      description: |-
        Retrieves a cart by its ID.

        <sup>Required permissions: `cart:read`</sup>
      operationId: getCart
      parameters:
        - name: id
          in: path
          description: Cart identifier
          required: true
          deprecated: false
          schema:
            type: string
          style: simple
          explode: false
      responses:
        '200':
          description: Cart resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cart-Cart'
            text/html:
              schema:
                $ref: '#/components/schemas/Cart-Cart'
        '404':
          description: Resource not found
      deprecated: false
      security:
        - JWT:
            - cart:read
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl -X GET \
             /checkout/carts/{id} \
             --header "Authorization: Bearer <token>"
components:
  schemas:
    Cart-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: c1b0d0c0-0b0b-4b0b-8b0b-0b0b0b0b0b0b
          type: string
        status:
          readOnly: true
          description: |-
            The status of the cart.

            Possible values:
             * `open`: The cart is open and can be edited.
             * `confirming`: The cart is confirming and cannot be edited.
          default: open
          example: open
        customer:
          description: The customer who owns the cart.
          example: c1b0d0c0-0b0b-4b0b-8b0b-0b0b0b0b0b0b
          anyOf:
            - $ref: '#/components/schemas/Customer-Cart'
            - type: 'null'
        customerEmail:
          readOnly: true
          description: The customer email which is used for the cart.
          anyOf:
            - $ref: '#/components/schemas/CustomerEmail-Cart'
            - type: 'null'
        invoiceAddress:
          anyOf:
            - $ref: '#/components/schemas/CustomerAddress-Cart'
            - type: 'null'
        paymentMethod:
          description: The payment method which should be used for the cart.
          example: c1b0d0c0-0b0b-4b0b-8b0b-0b0b0b0b0b0b
          anyOf:
            - $ref: '#/components/schemas/PaymentMethod-Cart'
            - type: 'null'
        createdAt:
          readOnly: true
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          type: string
          format: date-time
        completedAt:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
        redirectUrl:
          readOnly: true
          type:
            - string
            - 'null'
        items:
          description: The items of the cart.
          type: array
          items:
            $ref: '#/components/schemas/CartItem-Cart'
        invoice:
          readOnly: true
          description: >-
            The invoice of the cart. If the cart total amount is zero, no
            invoice will be created.
          anyOf:
            - $ref: '#/components/schemas/Invoice-Cart'
            - type: 'null'
        subscription:
          readOnly: true
          description: >-
            The subscription of the cart. If the cart has no recurring items
            (has only one-time fees), no subscription will be created.
          anyOf:
            - $ref: '#/components/schemas/Subscription-Cart'
            - type: 'null'
        metadata:
          description: ' A collection of key-value pairs that can be linked to an object. This feature is beneficial for storing extra details regarding the object in an organized manner. To remove all keys, simply submit an empty value to the metadata.'
          example:
            yourKey: value
          type: array
          items:
            type: string
        transactions:
          readOnly: true
          description: The transactions of the cart.
          type: array
          items:
            $ref: '#/components/schemas/Transaction-Cart'
    Customer-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: 00000000-0000-0000-0000-000000000000
          type: string
        customerNumber:
          minLength: 2
          maxLength: 255
          example: CUSTOMER-000
          nullable: false
        timeZone:
          readOnly: true
          default: Europe/Berlin
          example: Europe/Berlin
          type: string
        firstName:
          minLength: 2
          maxLength: 255
          description: Can be empty if the customer is a company.
          example: John
          nullable: true
        lastName:
          minLength: 2
          maxLength: 255
          description: Can be empty if the customer is a company.
          example: Doe
          nullable: true
        currencyCode:
          description: >-
            Can be empty. In this case the default currency of the tenant is
            used.
          externalDocs:
            url: https://schema.org/priceCurrency
          example: EUR
          type: string
        companyName:
          minLength: 2
          maxLength: 255
          example: Acme Inc.
          type:
            - string
            - 'null'
        datevId:
          minLength: 2
          maxLength: 255
          description: The ID of the customer in DATEV
          example: '123456789'
          type:
            - string
            - 'null'
        status:
          default: STATUS_ACTIVE
          example: STATUS_ACTIVE
          enum:
            - STATUS_ACTIVE
            - STATUS_ARCHIVED
            - STATUS_SUSPENDED
    CustomerEmail-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: 00000000-0000-0000-0000-000000000000
          type: string
        email:
          format: email
          maxLength: 255
          externalDocs:
            url: https://schema.org/email
          example: john.doe@example.com
          type: string
        receiverName:
          maxLength: 255
          example: John Doe
          type: string
        type:
          example: TYPE_COMPANY
          enum:
            - TYPE_COMPANY
            - TYPE_INVOICE
        default:
          example: 'true'
          type: boolean
      required:
        - email
        - receiverName
        - type
    CustomerAddress-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
        vatId:
          description: >-
            VAT ID, which will be used to bill to. If not provided, we will use
            the customer vat id.
          example: DE123456789
          type:
            - string
            - 'null'
        type:
          example: TYPE_DEFAULT
          enum:
            - TYPE_DEFAULT
            - TYPE_INVOICE
        default:
          example: 'true'
          type: boolean
        status:
          readOnly: true
          example: active
          enum:
            - active
            - archived
        city:
          example: Berlin
          type: string
        zip:
          example: '12345'
          type: string
        street:
          example: Musterstraße
          type: string
        houseNumber:
          example: 1a
          type: string
        countryCode:
          example: DE
          type: string
        companyName:
          description: Company name, which will be used to bill to.
          example: ACME Inc.
          type:
            - string
            - 'null'
        salutation:
          example: Herr
          enum:
            - Firma
            - Herr
            - Frau
        addition:
          description: >-
            Additional address information, which will be shown on generated
            documents like invoices, reminders, etc.
          example: c/o John Doe
          type:
            - string
            - 'null'
        costCentre:
          description: >-
            Cost centre, which will be shown on generated documents like
            invoices, reminders, etc.
          example: '123456789'
          type:
            - string
            - 'null'
        firstName:
          description: >-
            First name, which will be shown on generated documents like
            invoices, reminders, etc.
          example: John
          type:
            - string
            - 'null'
        lastName:
          description: >-
            Last name, which will be shown on generated documents like invoices,
            reminders, etc.
          example: Doe
          type:
            - string
            - 'null'
    PaymentMethod-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
          description: Unique identifier of the payment method
          example: c1a2b3c4-d5e6-4f7a-8b9b-0c1d2e3f4a5b
        gatewayName:
          type: string
          enum:
            - wallet
            - sepa_debit
            - stripe
            - fake_provider
            - paypal
            - bank_transfer
            - go_cardless
            - testing
          description: The payment gateway used to process the payment method
        type:
          type:
            - string
            - 'null'
          enum:
            - sepa_debit
            - card
            - paypal
            - bank_transfer
            - wallet
            - fake_provider
            - null
          description: The type of the payment method
        default:
          type: boolean
          description: Whether this is the default payment method for the customer
          example: true
        status:
          default: active
          example: active
          type: string
          enum:
            - active
            - action_required
            - expired
            - revoked
            - gateway_unconfigured
          description: The current status of the payment method
        enabled:
          type: boolean
          description: Whether the payment method is enabled for use
          example: true
        name:
          type:
            - string
            - 'null'
          description: Display name of the payment method
          example: Visa (4242)
        creationDate:
          readOnly: true
          type: string
          format: date-time
          description: The date when the payment method was created
          example: '2024-01-15T10:30:00+00:00'
        expirationDate:
          type:
            - string
            - 'null'
          format: date-time
          description: The expiration date of the payment method, if applicable
          example: '2026-12-31T23:59:59+00:00'
        card:
          readOnly: true
          description: The card data of the payment method, if the type is "card"
          type: object
          properties:
            brand:
              type: string
              example: Visa
              description: The brand of the card
            last4:
              type: string
              example: '4242'
              description: The last 4 digits of the card
            expMonth:
              type: integer
              example: 12
              description: The expiration month of the card
            expYear:
              type: integer
              example: 2022
              description: The expiration year of the card
            cardHolder:
              type: string
              example: Max Mustermann
              description: The card holder name
        sepaDebit:
          readOnly: true
          description: >-
            The sepa mandate data of the payment method, if the type is
            "sepa_debit"
          type: object
          properties:
            iban:
              type: string
              example: DE8937*********3232
              description: The iban of the sepa mandate
            bic:
              type: string
              example: COBADEFFXXX
              description: The bic of the sepa mandate
            mandateReference:
              type: string
              example: MNDT-2021-123456
              description: The mandate reference of the sepa mandate
            signingDate:
              type: string
              example: '2021-01-01T00:00:00+00:00'
              description: The signing date of the sepa mandate
        paypal:
          readOnly: true
          description: The paypal data of the payment method, if the type is "paypal"
          type: object
          properties:
            email:
              type: string
              example: max@mustermann.de
              description: The email of the paypal account
            billingAgreementId:
              type: string
              example: I-1J5gqz2eZvKYlo2C2X2X2X2X
              description: The billing agreement id of the paypal account
    CartItem-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
        product:
          $ref: '#/components/schemas/Product-Cart'
        pricePlan:
          anyOf:
            - $ref: '#/components/schemas/PricePlan-Cart'
            - type: 'null'
        quantity:
          $ref: '#/components/schemas/Quantity-Cart'
        type:
          readOnly: true
          default: product
          example: product
          type: string
          enum:
            - product
        periods:
          type: array
          items:
            $ref: '#/components/schemas/TermPeriod-Cart'
        createdAt:
          readOnly: true
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          type: string
          format: date-time
    Invoice-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          description: The unique identifier of the invoice.
          example: 00000000-0000-0000-0000-000000000000
          type: string
          format: uuid
        customer:
          $ref: '#/components/schemas/Customer-Cart'
          description: The customer of the invoice.
        paymentMethod:
          description: >-
            The payment method which should be used to fullfill the payment of
            the invoice.
          anyOf:
            - $ref: '#/components/schemas/PaymentMethod-Cart'
            - type: 'null'
        type:
          description: The type of the invoice.
          example: TYPE_INVOICE
          enum:
            - TYPE_INVOICE
            - TYPE_CREDIT
            - TYPE_REFUND
            - TYPE_REMINDER
            - TYPE_CANCEL
            - TYPE_DUNNING
        currencyCode:
          description: >-
            The currency code of the invoice. If multiple currency codes will be
            used in the positions, they will be converted to that base currency.
          example: EUR
          type: string
        number:
          readOnly: true
          description: >-
            The document id of the invoice. This will be generated, when the
            invoice will be finalized.
          example: RE-0000000001
          type: string
        status:
          readOnly: true
          type: string
          enum:
            - STATUS_DRAFT
            - STATUS_PAID
            - STATUS_CANCELLED
            - STATUS_CLOSED
            - STATUS_REFUNDED
            - STATUS_REMINDED
            - STATUS_UNPAID
            - STATUS_NEW
            - STATUS_FINALIZING
        finalizationDate:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
        dueDate:
          type:
            - string
            - 'null'
          format: date-time
        dunningLevel:
          readOnly: true
          type: integer
        dunningStatus:
          readOnly: true
          default: none
          example: none
          type: string
          enum:
            - reminder
            - dunning
            - none
        payDate:
          readOnly: true
          type:
            - string
            - 'null'
          format: date-time
        invoiceAddress:
          readOnly: true
          description: The invoice address of the invoice.
          nullable: true
        internalNote:
          description: The notice of the invoice.
          deprecated: true
          example: This invoice is with a special discount.
          type:
            - string
            - 'null'
        netAmount:
          $ref: '#/components/schemas/MoneyEmbedded-Cart'
          readOnly: true
          description: The net amount of the invoice.
        grossAmount:
          $ref: '#/components/schemas/MoneyEmbedded-Cart'
          readOnly: true
        taxAmount:
          $ref: '#/components/schemas/MoneyEmbedded-Cart'
          readOnly: true
        customFields:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
          example:
            field1: value1
            field2: value2
          description: >-
            Custom fields for the entity. The keys are the field names and the
            values are the field values. They need to be configured under
            \"/custom-fields\" in the API documentation. The input is validated
            against the configuration. For more details see [Custom Fields
            Guide](/guide/tenant/custom-fields)
        unpaidAmount:
          $ref: '#/components/schemas/Money-Cart'
          readOnly: true
    Subscription-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b
          type: string
        externalId:
          type:
            - string
            - 'null'
        number:
          description: The number of the subscription.
          example: S-00000001
          type: string
        name:
          description: >-
            The name of the subscription. Defaults to the name of the plan. This
            will be used in the invoice for the grouping headers.
          example: Fitness M
          type:
            - string
            - 'null'
        billingGroup:
          description: The billing group defines the billing cycle of the subscription.
          anyOf:
            - $ref: '#/components/schemas/BillingGroup-Cart'
            - type: 'null'
        periods:
          type: array
          items:
            $ref: '#/components/schemas/TermPeriod-Cart'
        status:
          readOnly: true
          description: |-
            The status of the subscription.

            Possible values:
             * `draft`: The subscription is in draft mode and not active yet.
             * `active`: The subscription is active and will be billed.
             * `paused`: The subscription is paused and will not be billed.
             * `cancelled`: The subscription is cancelled and will not be billed anymore.
             * `terminated`: The subscription is terminated and will not be billed anymore.
             * `offer`: The subscription is an offer and waiting for acceptance.
          example: active
        activatedAt:
          readOnly: true
          description: The date the subscription was activated.
          example: '2021-01-01T00:00:00+00:00'
          type:
            - string
            - 'null'
          format: date-time
        poNumber:
          description: The po number of the subscription.
          example: PO-00000001
          type:
            - string
            - 'null'
        contractDetails:
          $ref: '#/components/schemas/ContractDetails-Cart'
          description: The contract details of the subscription.
        trialEndsOn:
          readOnly: true
          description: The date the trial period ends.
          example: '2021-01-01T00:00:00+00:00'
          type:
            - string
            - 'null'
          format: date-time
        customFields:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
          example:
            field1: value1
            field2: value2
          description: >-
            Custom fields for the entity. The keys are the field names and the
            values are the field values. They need to be configured under
            \"/custom-fields\" in the API documentation. The input is validated
            against the configuration. For more details see [Custom Fields
            Guide](/guide/tenant/custom-fields)
        nextBillingDate:
          readOnly: true
          description: The next billing date of the subscription.
          type:
            - string
            - 'null'
          format: date-time
        lastBillingAt:
          readOnly: true
          description: The last billing date of the subscription.
          type:
            - string
            - 'null'
          format: date-time
        partner:
          readOnly: true
          description: The partner of the customer.
          anyOf:
            - $ref: '#/components/schemas/PartnerResource-Cart'
            - type: 'null'
    Transaction-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          example: ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b
          type: string
        type:
          readOnly: true
          default: payment
          example: payment
          type: string
          enum:
            - payment
            - refund
        status:
          readOnly: true
          description: |-
            The status of the transaction.

            Possible values:
             * `new`: The transaction is new and not yet processed. A new transaction is created when a payment is initiated.
             * `authorized`: The transaction is authorized and can be captured.
             * `authorizing`: The transaction is authorizing. No actions can be performed on the transaction.
             * `waiting`: The transaction is waiting for a response from the payment provider, or a customer input. No actions can be performed on the transaction.
             * `offsite_authorization_required`: The transaction requires an offsite authorization, e.g. 3D Secure. The customer is informed about the required authorization and redirected to the payment provider.
             * `booked`: The transaction is captured and booked on the account.
             * `captured`: The transaction is captured and will be booked on the account.
             * `dispute`: The transaction is disputed.
             * `manual`: Legacy status. Do not use.
             * `canceled`: The transaction is canceled, e.g. by the customer during the payment process, or by the merchant.
             * `pending`: The transaction is pending, and will be processed soon by the payment provider.
             * `expired`: The transaction is expired, e.g. because the customer did not complete the payment process in time.
             * `processing`: The transaction is processing, e.g. because the payment provider is currently processing the payment.
             * `failed`: The transaction failed, e.g. because the payment provider could not process the payment.
             * `unknown`: The transaction status is unknown.
             * `refunded`: The transaction is fully refunded.
             * `payedout`: The transaction was a payout.
             * `partial_refunded`: The transaction is partially refunded.
             * `refund_failed`: The transaction refund failed.
          example: new
        description:
          readOnly: true
          description: The description of the transaction.
          example: 'Payment for invoice #123'
          type: string
        documentNumber:
          readOnly: true
          description: The internal reference number of the transaction.
          example: '123456789'
          type: string
        currencyCode:
          $ref: '#/components/schemas/CurrencyCode-Cart'
          readOnly: true
          description: The currency code of the transaction.
          example: EUR
        amount:
          readOnly: true
          description: The original amount which was requested.
          example: 500
          type: integer
        refundedAmount:
          readOnly: true
          description: The amount which was refunded.
          type: integer
        chargedAmount:
          readOnly: true
          description: The amount which was charged to the payment method.
          example: 500
          type: integer
        feeAmount:
          readOnly: true
          description: The amount of the transaction fee.
          example: 50
          type:
            - integer
            - 'null'
        createdAt:
          readOnly: true
          description: The date when the transaction was created.
          type: string
          format: date-time
        paidAt:
          readOnly: true
          description: The date when the transaction was charged.
          type:
            - string
            - 'null'
          format: date-time
    Product-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          description: The unique identifier of the product.
          example: ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b
          type: string
        name:
          description: >-
            The name of the product based on the current tenant language. This
            will be displayed on customer communication.
          example: Basic
          type: string
        description:
          description: The description of the product based on the current tenant language.
          example: For small teams.
          type:
            - string
            - 'null'
        type:
          description: |
            The type of the product.
             - `product`: recurring billed product
             - `charge`: one-time billing
             - `plan`: plan specific product, which cannot be used as a normal product. Will be filtered out in any product lists.
          type: string
          enum:
            - product
            - charge
            - plan
        invoiceVisibility:
          description: |
            Defines when the product should be displayed in the invoice.
             - `always`: The product is always displayed in the invoice.
             - `only_if_charged`: The product is only displayed in the invoice if it is charged.
          type: string
          enum:
            - always
            - only_if_charged
        customFields:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
          example:
            field1: value1
            field2: value2
          description: >-
            Custom fields for the entity. The keys are the field names and the
            values are the field values. They need to be configured under
            \"/custom-fields\" in the API documentation. The input is validated
            against the configuration. For more details see [Custom Fields
            Guide](/guide/tenant/custom-fields)
      required:
        - type
    PricePlan-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          description: The unique identifier of the price plan.
          example: ad8f1c2c-3b1c-4b0a-8b0a-0b0b0b0b0b0b
          type: string
        type:
          description: |-
            The type of the charge. This defines how the price is calculated.

            Possible values:
             * `flat_fee`: A flat fee is charged, e.g. 10€ per month independent of the number of units.
             * `volume`: A volume based price is charged, e.g. 10€ for the first 10 units and 9€ for all units when the number of units is above 10. Useful for volume discounts.
             * `percentage`: A percentage of the total price is charged, e.g. 10% of the total price multiplied by the number of units. Useful for provisions.
             * `per_unit`: A price per unit is charged, e.g. 10€ per unit per billing interval. Useful for per seat based pricing.
             * `tiered`: A tiered price is charged. E.g. 10€ per unit for the first 10 units, 9€ per unit for the next 10 units and 8€ per unit for all units above 20.
             * `stair_step`: A stair step price is charged. E.g. 10€ per unit for the first 10 units, 9€ per unit for all units above 10.
          example: flat_fee
        applyTrial:
          description: >-
            If this is set to true, the price plan can be applied on a trial. If
            the product is in trial, and this is false, the price will be
            charged on subscription start, otherwise after trial.
          default: true
          example: true
          type: boolean
        payInAdvance:
          description: >-
            If this is set to true, the price will be charged in advance. If
            this is false, the price will be charged at the end of the billing
            interval.
          default: true
          example: true
          type:
            - boolean
            - 'null'
        proRata:
          description: >-
            If this is set to true, the price will be charged prorated when a
            partial billing interval is billed. This applies to measurements of
            type "recurring" or non-one-time billing intervals. For other
            measurements this parameter will be ignored.
          type: boolean
        freeUnits:
          description: >-
            The amount of free units. If null, no free units are available. Free
            units will be applied before passed to the price calculation and are
            available prorated.

            If the customer does not uses the free units during a billing
            period, they are not carried over to the next billing period.

            If the customer cancels the subscription before ending the billing
            period, the free units are only available prorated for the remaining
            billing period.



            **Example**: You offer 2400 free units for 12 months and your price
            has a billing interval for 1 month. The customer cancels after 6
            months. Only 1200 free units are available.


            **A price plan for a recurring product cannot have free units. Use a
            metered product instead.**


            **A price plan related to a product of type charge cannot have free
            units.**
          anyOf:
            - $ref: '#/components/schemas/Quantity-Cart'
            - type: 'null'
        billingInterval:
          description: >-
            The billing interval of the price plan. If null, this is a one-time
            charge.

            Billing intervals of null cannot be prorated.
          example: 1M
          anyOf:
            - $ref: '#/components/schemas/BillingInterval-Cart'
            - type: 'null'
        showPricePerInterval:
          description: >-
            Display the billed price per interval in customerfront or invoices.
            If null, the price will be shown per billing interval.

            Currently only available for billing intervals of months, years.
            Currently only allowed to show price per month (1M)
          example: 1M
          anyOf:
            - $ref: '#/components/schemas/Interval-Cart'
            - type: 'null'
        currencyCode:
          $ref: '#/components/schemas/CurrencyCode-Cart'
          description: The currency of the price
        price:
          description: The price in the defined billing interval.
          type: object
          oneOf:
            - $ref: '#/components/schemas/FlatFeePrice'
              title: Flat fee
            - $ref: '#/components/schemas/PercentagePrice'
              title: Percentage
            - $ref: '#/components/schemas/PerUnitPrice'
              title: Per unit
            - $ref: '#/components/schemas/TieredPrice'
              title: Tiered
      required:
        - type
        - currencyCode
        - price
    Quantity-Cart:
      type:
        - number
        - 'null'
      description: A numeric quantity value.
      example: 1
    TermPeriod-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
        contractPeriodCount:
          readOnly: true
          type: integer
        contractPeriod:
          $ref: '#/components/schemas/Interval-Cart'
          readOnly: true
        cancellationPeriod:
          $ref: '#/components/schemas/Interval-Cart'
          readOnly: true
    MoneyEmbedded-Cart:
      type: object
      description: ''
      deprecated: false
    Money-Cart:
      type: object
      description: ''
      deprecated: false
    BillingGroup-Cart:
      type: object
      description: ''
      deprecated: false
    ContractDetails-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        contractStart:
          description: The start of the contract.
          type: string
          format: date-time
        contractEnd:
          description: The end of the contract.
          type:
            - string
            - 'null'
          format: date-time
    PartnerResource-Cart:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          description: The ID of the partner
          example: ad8f7e7d-3b3b-4b3b-8b3b-3b3b3b3b3b3b
          type: string
        name:
          description: The name of the partner
          example: John Doe
          type: string
        number:
          description: The customer number of the partner
          example: '123456'
          type: string
        email:
          description: The email address of the partner
          example: partner@example.com
          type:
            - string
            - 'null'
    CurrencyCode-Cart:
      type: string
      description: ISO 4217 currency code.
      example: EUR
    BillingInterval-Cart:
      type: object
      description: ''
      deprecated: false
    Interval-Cart:
      type: object
      description: ''
      deprecated: false
    FlatFeePrice:
      type: object
      description: ''
      deprecated: false
      required:
        - amount
      properties:
        amount:
          description: The amount of the flat fee per unit
          type: number
        createdAt:
          readOnly: true
          description: The date and time when the resource was created.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          description: The date and time when the resource was last updated.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        tenantId:
          readOnly: true
          type: string
      title: Flat fee
    PercentagePrice:
      type: object
      description: ''
      deprecated: false
      required:
        - percentage
        - fixedAmount
        - freeUnitsPerEvent
        - freeUnitsPerBillingInterval
      properties:
        percentage:
          description: The percentage of the total amount that is charged.
          type: number
        fixedAmount:
          description: >-
            The fixed amount that is charged per unit, metered in the billing
            period. E.g. on pushing 1000 units, the fixed amount is charged 1000
            times * percentage
          type: number
        freeUnitsPerEvent:
          description: The number of units that are not subject to the fixed fee.
          type: integer
        freeUnitsPerBillingInterval:
          description: The amount that is not subject to the charge rate.
          type: number
        createdAt:
          readOnly: true
          description: The date and time when the resource was created.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          description: The date and time when the resource was last updated.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        tenantId:
          readOnly: true
          type: string
      title: Percentage
    PerUnitPrice:
      type: object
      description: ''
      deprecated: false
      required:
        - amount
      properties:
        amount:
          description: The amount of money per unit
          example: 0.99
          type: number
        createdAt:
          readOnly: true
          description: The date and time when the resource was created.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          description: The date and time when the resource was last updated.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        tenantId:
          readOnly: true
          type: string
      title: Per unit
    TieredPrice:
      type: object
      description: ''
      deprecated: false
      required:
        - items
      properties:
        items:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/TierItem'
        createdAt:
          readOnly: true
          description: The date and time when the resource was created.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          description: The date and time when the resource was last updated.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        tenantId:
          readOnly: true
          type: string
      title: Tiered
    TierItem:
      type: object
      description: ''
      deprecated: false
      properties:
        id:
          readOnly: true
          type: string
        from:
          description: The lower bound of the tier
          type: number
        amount:
          description: The amount of the tier per unit
          type: number
        flatAmount:
          description: >-
            The flat amount of the tier, billed once in addition to the amount
            per unit in a billing period
          type: number
        createdAt:
          readOnly: true
          description: The date and time when the resource was created.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        updatedAt:
          readOnly: true
          description: The date and time when the resource was last updated.
          example: '2021-01-01T00:00:00+00:00'
          type: string
          format: date-time
        tenantId:
          readOnly: true
          type: string
      required:
        - from
        - amount
        - flatAmount
  securitySchemes:
    JWT:
      type: http
      scheme: bearer

````