components:
  schemas:
    AddLineItem:
      description: |-
        Any transaction that be a part of handle_payment,
            for saving and update status of order
      properties:
        lines:
          items:
            $ref: '#/components/schemas/CreateOrderLine'
          type: array
        payment_details:
          oneOf:
            - $ref: '#/components/schemas/AddLineItemPaymentDetail'
            - type: 'null'
      required:
        - lines
      type: object
    AddLineItemPaymentDetail:
      properties:
        payment_gateway:
          type:
            - integer
            - 'null'
        payment_gateway_group:
          type:
            - integer
            - 'null'
        statement_descriptor:
          description: 'Statement descriptor supports up to 22 alphanumeric characters, spaces, and these special characters: & , . - #.'
          type:
            - string
            - 'null'
      type: object
    AddOrderLine:
      properties:
        metadata: {}
        price:
          description: Set custom price for this item.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product_id:
          type: integer
        properties:
          default: {}
          oneOf:
            - {}
            - type: 'null'
        quantity:
          minimum: 0
          type: integer
        reason:
          description: Reason for adding this item.
          type: string
      required:
        - product_id
        - quantity
      type: object
    AddOrderShipmentTracking:
      properties:
        carrier:
          description: |-
            * `amazon` - amazon
            * `aramex` - aramex
            * `asendia` - asendia
            * `australia_post` - australia_post
            * `china_post` - china_post
            * `cirro` - cirro
            * `deutsche_de` - deutsche_de
            * `dhl` - dhl
            * `dhl_ecommerce` - dhl_ecommerce
            * `dor` - dor
            * `dpd` - dpd
            * `emile_express` - emile_express
            * `fedex` - fedex
            * `firstmile` - firstmile
            * `4px` - 4px
            * `gls` - gls
            * `gofo_express` - gofo_express
            * `hermesworld_uk` - hermesworld_uk
            * `hua_han` - hua_han
            * `jt_express` - jt_express
            * `jy_express` - jy_express
            * `myhermes` - myhermes
            * `ontrac` - ontrac
            * `other` - other
            * `postnl` - postnl
            * `royal_mail` - royal_mail
            * `sfyd_express` - sfyd_express
            * `shipx` - shipx
            * `speedx` - speedx
            * `speedy` - speedy
            * `sunyou` - sunyou
            * `swiftx` - swiftx
            * `swiss_post` - swiss_post
            * `ts_express` - ts_express
            * `ulala` - ulala
            * `united_delivery_service` - united_delivery_service
            * `uniuni` - uniuni
            * `ups` - ups
            * `usps` - usps
            * `ysd_post` - ysd_post
            * `yunexpress` - yunexpress
          enum:
            - amazon
            - aramex
            - asendia
            - australia_post
            - china_post
            - cirro
            - deutsche_de
            - dhl
            - dhl_ecommerce
            - dor
            - dpd
            - emile_express
            - fedex
            - firstmile
            - 4px
            - gls
            - gofo_express
            - hermesworld_uk
            - hua_han
            - jt_express
            - jy_express
            - myhermes
            - ontrac
            - other
            - postnl
            - royal_mail
            - sfyd_express
            - shipx
            - speedx
            - speedy
            - sunyou
            - swiftx
            - swiss_post
            - ts_express
            - ulala
            - united_delivery_service
            - uniuni
            - ups
            - usps
            - ysd_post
            - yunexpress
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 0615dfb0936c2c3f
        date_created:
          format: date-time
          readOnly: true
          type: string
        lines:
          items:
            type:
              - integer
              - 'null'
          type: array
        reference:
          readOnly: true
          type: string
        send_shipped_notification:
          type:
            - boolean
            - 'null'
        tracking_code:
          type:
            - string
            - 'null'
        tracking_link:
          type:
            - string
            - 'null'
      required:
        - date_created
        - reference
      type: object
    AddSubscriptionLine:
      properties:
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product_id:
          type: integer
        properties:
          default: {}
          oneOf:
            - {}
            - type: 'null'
        quantity:
          type: integer
      required:
        - product_id
        - quantity
      type: object
    Agent:
      properties:
        email:
          format: email
          title: Email address
          type:
            - string
            - 'null'
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        last_name:
          maxLength: 255
          type: string
      required:
        - id
      type: object
    Attachment:
      properties:
        file:
          format: uri
          type: string
        file_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
      required:
        - file
        - file_name
        - id
      type: object
    Author:
      properties:
        email:
          format: email
          title: Email address
          type:
            - string
            - 'null'
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        last_name:
          maxLength: 255
          type: string
      required:
        - id
      type: object
    AvailableLanguages:
      properties:
        code:
          type: string
        label:
          readOnly: true
          type: string
      required:
        - code
        - label
      type: object
    AvailableLocationFulfillmentOrder:
      properties:
        available_locations:
          additionalProperties: {}
          readOnly: true
          type: object
      required:
        - available_locations
      type: object
    BasketLineReport:
      properties:
        currency:
          maxLength: 3
          readOnly: true
          type: string
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - price_excl_tax
        - price_incl_tax
        - total_cost
        - total_discount
        - unit_cost
      type: object
    BasketReportValues:
      properties:
        currency:
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
      type: object
    BillingAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        first_name:
          description: The first name of the address.
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        last_name:
          description: The last name of the address.
          maxLength: 255
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/Province
          type: string
      required:
        - country
        - first_name
        - id
        - last_name
        - line1
        - line4
      type: object
    CalculateRefundLineResponse:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        line_id:
          readOnly: true
          type: integer
        product_id:
          readOnly: true
          type: integer
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        product_url:
          format: uri
          readOnly: true
          type: string
        quantity:
          minimum: 0
          readOnly: true
          type: integer
        refundable_quantity:
          type: integer
        restock_type:
          readOnly: true
          type: string
        sku:
          readOnly: true
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        variant_id:
          readOnly: true
          type: integer
        variant_title:
          readOnly: true
          type: string
      required:
        - amount_excl_tax
        - amount_incl_tax
        - line_id
        - product_id
        - product_image
        - product_title
        - product_url
        - quantity
        - refundable_quantity
        - restock_type
        - sku
        - total_tax
        - variant_id
        - variant_title
      type: object
    CalculateRefundRequest:
      properties:
        refund_lines:
          items:
            $ref: '#/components/schemas/RefundLineRequest'
          type: array
        refund_shipping:
          $ref: '#/components/schemas/RefundShippingRequest'
      type: object
    CalculateRefundResponse:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        currency:
          readOnly: true
          type: string
        refund_lines:
          items:
            $ref: '#/components/schemas/CalculateRefundLineResponse'
          readOnly: true
          type: array
        refund_shipping:
          allOf:
            - $ref: '#/components/schemas/CalculateRefundShippingResponse'
          readOnly: true
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/CalculateRefundTransactionResponseSerailizer'
          readOnly: true
          type: array
      required:
        - amount_excl_tax
        - amount_incl_tax
        - currency
        - refund_lines
        - refund_shipping
        - total_tax
        - transactions
      type: object
    CalculateRefundShippingResponse:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        currency:
          readOnly: true
          type: string
        refundable_amount:
          readOnly: true
          type: string
        shipping_code:
          readOnly: true
          type: string
        shipping_method:
          readOnly: true
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
      required:
        - amount_excl_tax
        - amount_incl_tax
        - currency
        - refundable_amount
        - shipping_code
        - shipping_method
        - total_tax
      type: object
    CalculateRefundTransactionResponseSerailizer:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        gateway_id:
          readOnly: true
          type: integer
        gateway_name:
          readOnly: true
          type: string
        id:
          type: integer
        payment_method:
          readOnly: true
          type: string
        refundable_amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        type:
          readOnly: true
          type: string
      required:
        - amount
        - gateway_id
        - gateway_name
        - payment_method
        - refundable_amount
        - type
      type: object
    CancelOrder:
      properties:
        cancel_reason:
          type: string
        full_refund:
          default: false
          type: boolean
        send_cancel_notification:
          default: true
          type: boolean
      required:
        - cancel_reason
      type: object
    CancelSubscription:
      properties:
        cancel_reason:
          description: |-
            * `not_satisfied_with_product` - Not satisfied with product quality
            * `product_too_expensive` - Product is too expensive
            * `cancel_recurring` - Changed my mind, cancel recurring
            * `unwanted_subscription` - Didn't intend to sign up for a subscription
            * `recurring_payment_declined` - Recurring payment declined
            * `disputed_cancel_recurring` - Disputed cancel recurring
            * `schedule_ended` - Subscription schedule ended
            * `other` - Other
          enum:
            - not_satisfied_with_product
            - product_too_expensive
            - cancel_recurring
            - unwanted_subscription
            - recurring_payment_declined
            - disputed_cancel_recurring
            - schedule_ended
            - other
          type: string
          x-spec-enum-id: f4552e8661c0211b
        cancel_reason_other_message:
          type:
            - string
            - 'null'
        send_cancel_notification:
          default: true
          type: boolean
      required:
        - cancel_reason
      type: object
    CancellationRequest:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    CancellationRequestAccept:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    CancellationRequestCancel:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    CancellationRequestReject:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    CaptureTransaction:
      properties:
        amount:
          description: |2-

                        The amount of funds that will be captured.
                        Must be between 0.01 and the previously authorized amount.
                        If not specified, the full authorized amount will be captured by default.
                    
          format: decimal
          pattern: ^-?\d{0,7}(?:\.\d{0,2})?$
          type:
            - string
            - 'null'
      type: object
    CardNetwork:
      properties:
        acquirer_bin:
          readOnly: true
          type: string
        mcc_code:
          readOnly: true
          type: string
        merchant_id:
          readOnly: true
          type: string
      required:
        - acquirer_bin
        - mcc_code
        - merchant_id
      type: object
    Cart:
      properties:
        abandoned:
          type: boolean
        attribution:
          allOf:
            - $ref: '#/components/schemas/MarketingAttribution'
          readOnly: true
        checkout_url:
          format: uri
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_created:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        metadata:
          oneOf:
            - {}
            - type: 'null'
        status:
          description: 'Available values : Open'
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - attribution
        - checkout_url
        - currency
        - date_created
        - id
        - status
        - user
      type: object
    CartDetail:
      properties:
        abandoned:
          type: boolean
        attribution:
          allOf:
            - $ref: '#/components/schemas/MarketingAttribution'
          readOnly: true
        checkout_url:
          format: uri
          readOnly: true
          type: string
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        lines:
          items:
            $ref: '#/components/schemas/CartLine'
          readOnly: true
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        report_values:
          allOf:
            - $ref: '#/components/schemas/BasketReportValues'
          readOnly: true
        status:
          description: 'Available values : Open'
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
        voucher_discounts:
          items:
            $ref: '#/components/schemas/VoucherDiscount'
          type: array
      required:
        - attribution
        - checkout_url
        - created_at
        - currency
        - id
        - lines
        - report_values
        - status
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
        - user
      type: object
    CartLine:
      properties:
        currency:
          maxLength: 3
          type: string
        id:
          readOnly: true
          type: integer
        interval:
          type:
            - string
            - 'null'
        interval_count:
          maximum: 2147483647
          minimum: 0
          type:
            - integer
            - 'null'
        is_upsell:
          default: false
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        product_id:
          readOnly: true
          type: integer
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        product_url:
          format: uri
          readOnly: true
          type: string
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        report_values:
          allOf:
            - $ref: '#/components/schemas/BasketLineReport'
          readOnly: true
        sku:
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        variant_id:
          readOnly: true
          type: integer
        variant_title:
          readOnly: true
          type: string
      required:
        - id
        - price_excl_tax
        - price_incl_tax
        - product_id
        - product_image
        - product_title
        - product_url
        - properties
        - report_values
        - sku
        - total_cost
        - total_discount
        - unit_cost
        - variant_id
        - variant_title
      type: object
    Category:
      properties:
        description:
          type: string
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, Taxjar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        image:
          description: URL of the image to fetch and associate with the category
          format: uri
          type:
            - string
            - 'null'
        is_public:
          description: Show this category in search results and catalogue listings.
          type: boolean
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        name:
          maxLength: 255
          type: string
        slug:
          maxLength: 255
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
        template:
          description: Use a custom template from your theme to customize the category display.
          title: Theme Template
          type:
            - string
            - 'null'
      required:
        - id
        - name
        - slug
      type: object
    CloseFulfillmentOrder:
      properties:
        message:
          type: string
      type: object
    CollectPayment:
      properties:
        send_payment_notification:
          default: false
          description: Send payment notification to customer.
          type: boolean
      type: object
    ContactAddress:
      properties:
        city:
          description: City of the address.
          readOnly: true
          type: string
        company_name:
          readOnly: true
          type: string
        country:
          description: The address country code.
          readOnly: true
          type: string
        line1:
          description: The first line of the address.
          readOnly: true
          type: string
        line2:
          description: Optional second line of of the address.
          readOnly: true
          type: string
        phone_number:
          description: The address phone number.
          readOnly: true
          type: string
        postcode:
          description: The address post code or zip code.
          readOnly: true
          type: string
        state:
          description: The address state/province.
          readOnly: true
          type: string
      required:
        - city
        - company_name
        - country
        - line1
        - line2
        - phone_number
        - postcode
        - state
      type: object
    Country:
      properties:
        code:
          readOnly: true
          type: string
        name:
          readOnly: true
          type: string
      required:
        - code
        - name
      type: object
    CreateCart:
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        currency:
          maxLength: 3
          type: string
        lines:
          items:
            $ref: '#/components/schemas/CreateOrderLine'
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        user:
          $ref: '#/components/schemas/CreateUser'
        vouchers:
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - lines
      type: object
    CreateDefinition:
      properties:
        enable_export:
          default: false
          type: boolean
        enable_filter:
          default: false
          type: boolean
        key:
          type: string
        name:
          maxLength: 255
          type: string
        object:
          description: |-
            Source object this metadata is linked to.

            * `attribution` - Attribution
            * `customer` - Customer
            * `dispute` - Dispute
            * `line` - Line Item
            * `order` - Order
            * `product` - Product
            * `variant` - Variant
            * `blog` - Blog
            * `page` - Page
          enum:
            - attribution
            - customer
            - dispute
            - line
            - order
            - product
            - variant
            - blog
            - page
          type: string
          x-spec-enum-id: 06e58adfbb02ad1f
        type:
          description: |-
            Expected data type.

            * `text` - Text
            * `integer` - Integer
            * `decimal` - Decimal
            * `rich_text` - Rich Text
            * `multi_text` - Multi Text
            * `file` - File
            * `boolean` - Boolean
          enum:
            - text
            - integer
            - decimal
            - rich_text
            - multi_text
            - file
            - boolean
          type: string
          x-spec-enum-id: 079b46b0c121a3e8
        validations:
          items:
            $ref: '#/components/schemas/Validation'
          type: array
      required:
        - key
        - name
        - object
        - type
      type: object
    CreateDispute:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          title: Dispute Amount
          type:
            - string
            - 'null'
        arn:
          type:
            - string
            - 'null'
        case_number:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        happened_at:
          format: date-time
          title: Dispute Date
          type: string
        id:
          readOnly: true
          type: integer
        metadata:
          oneOf:
            - {}
            - type: 'null'
        order:
          readOnly: true
          type:
            - string
            - 'null'
        report_amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          readOnly: true
          type:
            - string
            - 'null'
        report_currency:
          readOnly: true
          type:
            - string
            - 'null'
        resolution:
          description: |-
            * `could_not_find_order` - Transaction Not found
            * `declined_or_canceled_nothing_to_do` - Nothing To Do
            * `issued_full_refund` - Issued Full Refund
            * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
            * `3ds_authorized_successfully` - Transaction 3DS Authorized
            * `previously_refunded_nothing_to_do` - Previously Refunded
            * `unable_to_refund_merchant_account_closed` - Unable to Refund
            * `won` - Won
            * `lost` - Lost
            * `accepted` - Accepted
            * `other` - Other
          enum:
            - could_not_find_order
            - declined_or_canceled_nothing_to_do
            - issued_full_refund
            - issued_refund_for_remaining_amount
            - 3ds_authorized_successfully
            - previously_refunded_nothing_to_do
            - unable_to_refund_merchant_account_closed
            - won
            - lost
            - accepted
            - other
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 8848f3a079993862
        resolution_other_message:
          title: Other Message
          type:
            - string
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `resolved` - Resolved
          enum:
            - new
            - open
            - resolved
          readOnly: true
          type: string
          x-spec-enum-id: 4c48cc1c536a35b2
        transaction:
          type:
            - integer
            - 'null'
        type:
          description: |-
            * `alert` - Alert
            * `chargeback` - Chargeback
          enum:
            - alert
            - chargeback
          type: string
          x-spec-enum-id: 3c60da80149644ea
      required:
        - date_created
        - id
        - order
        - report_amount
        - report_currency
        - status
      type: object
    CreateDisputeNote:
      properties:
        message:
          type: string
      required:
        - message
      type: object
    CreateExport:
      properties:
        date_from:
          format: date-time
          type: string
        date_to:
          format: date-time
          type: string
        type:
          description: |-
            * `order_list` - Orders
            * `order_line_items` - Order Line Items
            * `customer_list` - Customers
            * `transaction_list` - Transactions
            * `dispute_list` - Disputes
            * `subscription_list` - Subscriptions
            * `subscription_line_items` - Subscription Line Items
            * `open_cart_list` - Open Carts
            * `open_cart_line_items` - Open Cart Line Items
            * `return_list` - Returns
            * `return_line_items` - Return Line Items
            * `fulfillment_list` - Fulfillments
            * `fulfillment_line_items` - Fulfillment Line Items
          enum:
            - order_list
            - order_line_items
            - customer_list
            - transaction_list
            - dispute_list
            - subscription_list
            - subscription_line_items
            - open_cart_list
            - open_cart_line_items
            - return_list
            - return_line_items
            - fulfillment_list
            - fulfillment_line_items
          type: string
          x-spec-enum-id: d018e10950f018b1
      required:
        - date_from
        - date_to
        - type
      type: object
    CreateFulfillment:
      properties:
        fulfillment_order_line_items:
          items:
            $ref: '#/components/schemas/FulfillmentOrderLineItem'
          type: array
        notify:
          default: true
          type: boolean
        tracking_info:
          items:
            $ref: '#/components/schemas/TrackingInfo'
          type: array
      type: object
    CreateFulfillmentEvent:
      properties:
        city:
          description: City of the address.
          type:
            - string
            - 'null'
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type:
            - string
            - 'null'
        estimated_delivery_at:
          format: date-time
          type:
            - string
            - 'null'
        happened_at:
          format: date-time
          type: string
        latitude:
          format: double
          maximum: 90
          minimum: -90
          type:
            - number
            - 'null'
        line1:
          description: The first line of the address.
          title: First line of address
          type:
            - string
            - 'null'
        line2:
          description: Optional second line of of the address.
          title: Second line of address
          type:
            - string
            - 'null'
        longitude:
          format: double
          maximum: 180
          minimum: -180
          type:
            - number
            - 'null'
        message:
          type:
            - string
            - 'null'
        postcode:
          description: The address post code or zip code.
          title: Post/Zip-code
          type:
            - string
            - 'null'
        state:
          description: The address state/province.
          title: State/County
          type:
            - string
            - 'null'
        status:
          description: |-
            Expected statuses.

            * `label_printed` - Label Printed
            * `label_purchased` - Label Purchased
            * `confirmed` - Confirmed
            * `ready_for_pickup` - Ready For Pickup
            * `carrier_picked_up` - Carrier Picked Up
            * `picked_up` - Picked Up
            * `in_transit` - In Transit
            * `out_for_delivery` - Out For Delivery
            * `attempted_delivery` - Attempted Delivery
            * `failure` - Failure
            * `delivered` - Delivered
            * `delayed` - Delayed
          enum:
            - label_printed
            - label_purchased
            - confirmed
            - ready_for_pickup
            - carrier_picked_up
            - picked_up
            - in_transit
            - out_for_delivery
            - attempted_delivery
            - failure
            - delivered
            - delayed
          type: string
          x-spec-enum-id: 99c7bdf85f387700
      required:
        - status
      type: object
    CreateGiftCard:
      properties:
        currency:
          maxLength: 3
          type: string
        expired_at:
          format: date-time
          type:
            - string
            - 'null'
        initial:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        user:
          $ref: '#/components/schemas/CreateUser'
      required:
        - currency
        - initial
      type: object
    CreateMarketingAttribution:
      properties:
        affiliate:
          description: Affiliate identifier.
          type:
            - string
            - 'null'
        agent:
          description: Identifier for the agent handling the order.
          type:
            - integer
            - 'null'
        funnel:
          description: The marketing funnel attributed to the order.
          type:
            - string
            - 'null'
        gclid:
          description: Google Click Identifier.
          type:
            - string
            - 'null'
        metadata:
          description: Additional attribution metadata.
        subaffiliate1:
          description: Sub-affiliate identifier 1.
          title: Sub-Affiliate 1
          type:
            - string
            - 'null'
        subaffiliate2:
          description: Sub-affiliate identifier 2.
          title: Sub-Affiliate 2
          type:
            - string
            - 'null'
        subaffiliate3:
          description: Sub-affiliate identifier 3.
          title: Sub-Affiliate 3
          type:
            - string
            - 'null'
        subaffiliate4:
          description: Sub-affiliate identifier 4.
          title: Sub-Affiliate 4
          type:
            - string
            - 'null'
        subaffiliate5:
          description: ' Sub-affiliate identifier 5.'
          title: Sub-Affiliate 5
          type:
            - string
            - 'null'
        utm_campaign:
          description: Campaign name.
          type:
            - string
            - 'null'
        utm_content:
          description: Content of the traffic (e.g., banner, text link).
          type:
            - string
            - 'null'
        utm_medium:
          description: Medium of the traffic (e.g., email, CPC).
          type:
            - string
            - 'null'
        utm_source:
          description: Source of the traffic (e.g., search engine, newsletter).
          type:
            - string
            - 'null'
        utm_term:
          description: Search term or keyword.
          type:
            - string
            - 'null'
      type: object
    CreateOrder:
      description: |-
        Any transaction that be a part of handle_payment,
            for saving and update status of order
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        billing_same_as_shipping_address:
          default: false
          type: boolean
        currency:
          maxLength: 3
          type: string
        date_placed:
          format: date-time
          type:
            - string
            - 'null'
        lines:
          items:
            $ref: '#/components/schemas/CreateOrderLine'
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        offers:
          items:
            type: integer
          type: array
        payment_details:
          oneOf:
            - $ref: '#/components/schemas/PaymentDetail'
            - type: 'null'
        payment_method:
          description: |-
            * `card_token` - Card Token
            * `saved_card` - Saved Card
            * `apple_pay` - Apple Pay
            * `google_pay` - Google Pay
            * `external` - External
            * `paypal` - PayPal
            * `affirm` - Affirm
            * `afterpay` - Afterpay
            * `bancontact` - Bancontact
            * `giropay` - Giropay
            * `ideal` - iDEAL
            * `klarna` - Klarna
            * `link` - Link
            * `sepa_debit` - SEPA Direct Debit
            * `sofort` - Sofort
            * `swish` - Swish
            * `twint` - Twint
          enum:
            - card_token
            - saved_card
            - apple_pay
            - google_pay
            - external
            - paypal
            - affirm
            - afterpay
            - bancontact
            - giropay
            - ideal
            - klarna
            - link
            - sepa_debit
            - sofort
            - swish
            - twint
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 7cba57fc47c4da29
        send_receipt:
          default: true
          type: boolean
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          type:
            - string
            - 'null'
        shipping_price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        status:
          description: |-
            * `open` - open
            * `archived` - archived
            * `canceled` - canceled
          enum:
            - open
            - archived
            - canceled
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 84cac15b283ee444
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        use_default_billing_address:
          default: false
          type: boolean
        use_default_shipping_address:
          default: false
          type: boolean
        user:
          $ref: '#/components/schemas/CreateUser'
        vouchers:
          items:
            type: string
          type:
            - array
            - 'null'
      required:
        - lines
      type: object
    CreateOrderLine:
      properties:
        is_upsell:
          default: false
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product_id:
          type: integer
        properties:
          default: {}
          oneOf:
            - {}
            - type: 'null'
        quantity:
          minimum: 1
          type: integer
        subscription:
          $ref: '#/components/schemas/CreateOrderSubscriptionLine'
      required:
        - product_id
        - quantity
      type: object
    CreateOrderNote:
      properties:
        message:
          type: string
      required:
        - message
      type: object
    CreateOrderSubscriptionLine:
      properties:
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
          type: string
          x-spec-enum-id: b47bd58ee0e62834
        interval_count:
          minimum: 1
          type: integer
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
      required:
        - interval
        - interval_count
      type: object
    CreateProduct:
      properties:
        categories:
          deprecated: true
          items:
            type: integer
          type: array
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        description:
          type: string
        enable_subscription:
          type: boolean
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, TaxJar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
            - ''
            - null
          title: Subscription Interval
          type:
            - string
            - 'null'
          x-spec-enum-id: b47bd58ee0e62834
        interval_counts:
          description: Choose a predefined value or type to enter custom value(s).
          items:
            maximum: 2147483647
            minimum: -2147483648
            type: integer
          title: Interval Count Options
          type:
            - array
            - 'null'
        is_discountable:
          description: This flag indicates if this product can be used in an offer or not
          title: Is discountable?
          type: boolean
        is_public:
          description: Show this product in search results and catalogue listings.
          type: boolean
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        ranking:
          description: The highest ranking are shown first
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        rating:
          format: double
          readOnly: true
          type:
            - number
            - 'null'
        recommended_products:
          items:
            type: integer
          type: array
        slug:
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          type: string
        template:
          description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
          title: Theme Template
          type:
            - string
            - 'null'
        title:
          type: string
        url:
          format: uri
          readOnly: true
          type: string
        variant_attributes:
          items:
            $ref: '#/components/schemas/ProductVariantAttribute'
          type: array
        variants:
          items:
            $ref: '#/components/schemas/CreateProductVariantForProduct'
          type: array
      required:
        - date_created
        - date_updated
        - id
        - images
        - rating
        - slug
        - title
        - url
      type: object
    CreateProductVariant:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        image:
          type:
            - integer
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          type: array
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Cost Per Item
          type:
            - string
            - 'null'
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        variant_attribute_values:
          items:
            $ref: '#/components/schemas/ProductVariantAttributeValue'
          type: array
          writeOnly: true
      required:
        - variant_attribute_values
      type: object
    CreateProductVariantAttributeValue:
      properties:
        name:
          type: string
        value:
          type: string
      required:
        - name
        - value
      type: object
    CreateProductVariantForProduct:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        image:
          readOnly: true
          type:
            - integer
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          type: array
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Cost Per Item
          type:
            - string
            - 'null'
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        variant_attribute_values:
          items:
            $ref: '#/components/schemas/CreateProductVariantAttributeValue'
          type: array
      required:
        - image
      type: object
    CreateRefundLineRequest:
      properties:
        line_id:
          type: integer
        quantity:
          minimum: 0
          type: integer
        restock_type:
          description: |2-

                For physical products:
                    - Unfulfilled: restock_type must be cancel
                    - Fulfilled: restock_type can be no_restock or return

                For digital products:
                    - Unfulfilled: restock_type must be cancel
                    - Fulfilled: restock_type must be no_restock

                If restock_type is not provided in the calculate endpoint, the system will infer it based on quantity.
                You can then use the inferred value in the orderRefundCreate endpoint.


            * `cancel` - Cancel
            * `no_restock` - No Restock
            * `return` - Return
          enum:
            - cancel
            - no_restock
            - return
          type: string
          x-spec-enum-id: fdd1ffe20f0e32e5
      required:
        - line_id
        - quantity
        - restock_type
      type: object
    CreateSubscription:
      description: |-
        Any transaction that be a part of handle_payment,
            for saving and update status of order
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        billing_same_as_shipping_address:
          default: false
          type: boolean
        currency:
          maxLength: 12
          type: string
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
          type: string
          x-spec-enum-id: b47bd58ee0e62834
        interval_count:
          minimum: 1
          type: integer
        lines:
          items:
            $ref: '#/components/schemas/CreateOrderLine'
          type: array
        next_renewal_date:
          description: 'format: YYYY-MM-DDThh:mm:ss #eg. 2021-12-07T12:04:45'
          format: date-time
          type: string
        payment_details:
          oneOf:
            - $ref: '#/components/schemas/SubscriptionPaymentDetail'
            - type: 'null'
        payment_method:
          description: '* `card_token` - Card Token'
          enum:
            - card_token
          type: string
          x-spec-enum-id: 98d6b14356537d48
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          type:
            - string
            - 'null'
        shipping_price:
          format: decimal
          pattern: ^-?\d{0,7}(?:\.\d{0,2})?$
          type: string
        use_default_billing_address:
          default: false
          type: boolean
        use_default_shipping_address:
          default: false
          type: boolean
        user:
          $ref: '#/components/schemas/CreateUser'
      required:
        - interval
        - interval_count
        - lines
        - next_renewal_date
        - payment_method
        - user
      type: object
    CreateTicketComment:
      properties:
        attachments:
          items:
            type: integer
          type: array
        author:
          type:
            - integer
            - 'null'
        body:
          type:
            - string
            - 'null'
        from_email:
          description: In case user contact from email and user does not in system yet.
          format: email
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        is_public:
          type: boolean
      required:
        - id
      type: object
    CreateUpdatePage:
      properties:
        content:
          type: string
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        slug:
          type:
            - string
            - 'null'
        template:
          description: Custom template name from your theme, ie pages/page.{custom_name}.html
          type:
            - string
            - 'null'
        title:
          maxLength: 200
          type: string
      required:
        - title
      type: object
    CreateUpdateStockRecord:
      properties:
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        location_id:
          type: integer
        low_stock_threshold:
          maximum: 2147483647
          minimum: 0
          type: integer
        num_in_stock:
          type: integer
        product:
          type: integer
        sku:
          deprecated: true
          readOnly: true
          type: string
      required:
        - date_created
        - date_updated
        - id
        - location_id
        - product
        - sku
      type: object
    CreateUpdateTicket:
      properties:
        assignee:
          type:
            - integer
            - 'null'
        comment:
          allOf:
            - $ref: '#/components/schemas/CreateTicketComment'
          description: An object that adds a comment to the ticket.
        created_at:
          format: date-time
          readOnly: true
          type: string
        from_email:
          description: In case user contact from email and user does not in system yet.
          format: email
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        order:
          title: Order number
          type:
            - string
            - 'null'
        priority:
          description: |-
            * `high` - High
            * `medium` - Medium
            * `low` - Low
          enum:
            - high
            - medium
            - low
          type: string
          x-spec-enum-id: 2d141e09614b8e57
        products:
          items:
            type: integer
          type: array
        requester:
          type:
            - integer
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `pending` - Pending
            * `solved` - Solved
            * `closed` - Closed
          enum:
            - new
            - open
            - pending
            - solved
            - closed
          type: string
          x-spec-enum-id: 30751850e74b0756
        subject:
          type: string
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        ticket_type:
          type:
            - integer
            - 'null'
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - created_at
        - id
        - updated_at
      type: object
    CreateUser:
      properties:
        accepts_marketing:
          title: Subscribe to Marketing Emails
          type: boolean
        email:
          format: email
          type:
            - string
            - 'null'
        first_name:
          maxLength: 255
          type: string
        id:
          type:
            - integer
            - 'null'
        ip:
          title: Ip address
          type:
            - string
            - 'null'
        language:
          description: |-
            required : E164

            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          enum:
            - en
            - fr
            - th
            - de
            - sv
            - 'no'
            - it
            - es
            - nl
            - pt
            - da
            - fi
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 70ceea9c8488568b
        last_name:
          maxLength: 255
          type: string
        metadata:
          oneOf:
            - {}
            - type: 'null'
        phone_number:
          type:
            - string
            - 'null'
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        user_agent:
          type:
            - string
            - 'null'
      type: object
    CreateUserAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        first_name:
          description: The first name of the address.
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        is_default_for_billing:
          description: Use this address as the default billing address.
          title: Default billing address?
          type: boolean
        is_default_for_shipping:
          description: Use this address as the default shipping address.
          title: Default shipping address?
          type: boolean
        last_name:
          description: The last name of the address.
          maxLength: 255
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        notes:
          description: Tell us anything we should know when delivering your order.
          title: Instructions
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/Province
          type: string
      required:
        - country
        - id
        - line1
        - line4
      type: object
    CreateUserNote:
      properties:
        message:
          type: string
      required:
        - message
      type: object
    Currency:
      properties:
        code:
          maxLength: 5
          title: Currency Code
          type: string
        label:
          readOnly: true
          type: string
      required:
        - code
        - label
      type: object
    Definition:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type: string
        enable_export:
          description: Adds a column to exports for this metadata where available.
          title: Enabled on Exports
          type: boolean
        enable_filter:
          description: Adds a search filter for this metadata where available.
          title: Enabled in Search Filters
          type: boolean
        id:
          readOnly: true
          type: integer
        key:
          type: string
        name:
          maxLength: 255
          type: string
        object:
          description: |-
            Source object this metadata is linked to.

            * `attribution` - Attribution
            * `customer` - Customer
            * `dispute` - Dispute
            * `line` - Line Item
            * `order` - Order
            * `product` - Product
            * `variant` - Variant
            * `blog` - Blog
            * `page` - Page
          enum:
            - attribution
            - customer
            - dispute
            - line
            - order
            - product
            - variant
            - blog
            - page
          type: string
          x-spec-enum-id: 06e58adfbb02ad1f
        type:
          description: |-
            Expected data type.

            * `text` - Text
            * `integer` - Integer
            * `decimal` - Decimal
            * `rich_text` - Rich Text
            * `multi_text` - Multi Text
            * `file` - File
            * `boolean` - Boolean
          enum:
            - text
            - integer
            - decimal
            - rich_text
            - multi_text
            - file
            - boolean
          type: string
          x-spec-enum-id: 079b46b0c121a3e8
        updated_at:
          format: date-time
          readOnly: true
          type: string
        validations:
          items:
            $ref: '#/components/schemas/Validation'
          readOnly: true
          type: array
      required:
        - created_at
        - id
        - key
        - name
        - object
        - type
        - updated_at
        - validations
      type: object
    Dispute:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          title: Dispute Amount
          type:
            - string
            - 'null'
        arn:
          type:
            - string
            - 'null'
        case_number:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        happened_at:
          format: date-time
          readOnly: true
          title: Dispute Date
          type: string
        id:
          readOnly: true
          type: integer
        metadata:
          oneOf:
            - {}
            - type: 'null'
        order:
          readOnly: true
          type:
            - string
            - 'null'
        report_amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          readOnly: true
          type:
            - string
            - 'null'
        report_currency:
          readOnly: true
          type:
            - string
            - 'null'
        resolution:
          description: |-
            * `could_not_find_order` - Transaction Not found
            * `declined_or_canceled_nothing_to_do` - Nothing To Do
            * `issued_full_refund` - Issued Full Refund
            * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
            * `3ds_authorized_successfully` - Transaction 3DS Authorized
            * `previously_refunded_nothing_to_do` - Previously Refunded
            * `unable_to_refund_merchant_account_closed` - Unable to Refund
            * `won` - Won
            * `lost` - Lost
            * `accepted` - Accepted
            * `other` - Other
          enum:
            - could_not_find_order
            - declined_or_canceled_nothing_to_do
            - issued_full_refund
            - issued_refund_for_remaining_amount
            - 3ds_authorized_successfully
            - previously_refunded_nothing_to_do
            - unable_to_refund_merchant_account_closed
            - won
            - lost
            - accepted
            - other
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 8848f3a079993862
        resolution_other_message:
          title: Other Message
          type:
            - string
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `resolved` - Resolved
          enum:
            - new
            - open
            - resolved
          readOnly: true
          type: string
          x-spec-enum-id: 4c48cc1c536a35b2
        transaction:
          type:
            - integer
            - 'null'
        type:
          description: |-
            * `alert` - Alert
            * `chargeback` - Chargeback
          enum:
            - alert
            - chargeback
          readOnly: true
          type: string
          x-spec-enum-id: 3c60da80149644ea
      required:
        - date_created
        - happened_at
        - id
        - order
        - report_amount
        - report_currency
        - status
        - type
      type: object
    DisputeNote:
      properties:
        app:
          $ref: '#/components/schemas/OAuthApp'
        author:
          $ref: '#/components/schemas/Author'
        created_at:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        message:
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - app
        - author
        - created_at
        - id
        - message
        - updated_at
      type: object
    Export:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type: string
        date_from:
          format: date-time
          type:
            - string
            - 'null'
        date_to:
          format: date-time
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        status:
          description: |-
            * `available` - Available
            * `pending` - Pending
          enum:
            - available
            - pending
          type: string
          x-spec-enum-id: 97f0edd07d5d92b9
        type:
          description: |-
            * `order_list` - Orders
            * `order_line_items` - Order Line Items
            * `customer_list` - Customers
            * `transaction_list` - Transactions
            * `dispute_list` - Disputes
            * `subscription_list` - Subscriptions
            * `subscription_line_items` - Subscription Line Items
            * `open_cart_list` - Open Carts
            * `open_cart_line_items` - Open Cart Line Items
            * `return_list` - Returns
            * `return_line_items` - Return Line Items
            * `fulfillment_list` - Fulfillments
            * `fulfillment_line_items` - Fulfillment Line Items
          enum:
            - order_list
            - order_line_items
            - customer_list
            - transaction_list
            - dispute_list
            - subscription_list
            - subscription_line_items
            - open_cart_list
            - open_cart_line_items
            - return_list
            - return_line_items
            - fulfillment_list
            - fulfillment_line_items
          readOnly: true
          type: string
          x-spec-enum-id: d018e10950f018b1
        url:
          format: uri
          readOnly: true
          type: string
      required:
        - created_at
        - id
        - type
        - url
      type: object
    ExportDownload:
      properties:
        url:
          format: uri
          readOnly: true
          type: string
      required:
        - url
      type: object
    ExportType:
      properties:
        code:
          type: string
        name:
          type: string
      required:
        - code
        - name
      type: object
    ExportTypes:
      properties:
        types:
          items:
            $ref: '#/components/schemas/ExportType'
          type: array
      required:
        - types
      type: object
    Fulfillment:
      properties:
        carrier:
          readOnly: true
          type: string
        date_created:
          format: date-time
          type: string
        delivered_at:
          format: date-time
          type:
            - string
            - 'null'
        delivery_status:
          description: |-
            Expected delivery statuses.

            * `None` - No Status
            * `tracking_added` - Tracking Added
            * `in_transit` - In Transit
            * `out_for_delivery` - Out For Delivery
            * `attempted_delivery` - Attempted Delivery
            * `failed_delivery` - Failed Delivery
            * `delivered` - Delivered
            * `delayed` - Delayed
          enum:
            - null
            - tracking_added
            - in_transit
            - out_for_delivery
            - attempted_delivery
            - failed_delivery
            - delivered
            - delayed
            - ''
          readOnly: true
          x-spec-enum-id: 3b886e5b796c0603
        id:
          readOnly: true
          type: integer
        last_event_date:
          format: date-time
          readOnly: true
          type: string
        lines:
          readOnly: true
          type: string
        processing_at:
          format: date-time
          type:
            - string
            - 'null'
        reference:
          maxLength: 512
          type: string
        requires_shipping:
          type: boolean
        status:
          readOnly: true
          type: string
        tracking_code:
          readOnly: true
          type: string
        tracking_link:
          readOnly: true
          type: string
      required:
        - carrier
        - date_created
        - delivery_status
        - id
        - last_event_date
        - lines
        - status
        - tracking_code
        - tracking_link
      type: object
    FulfillmentEvent:
      properties:
        city:
          description: City of the address.
          readOnly: true
          type: string
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        estimated_delivery_at:
          format: date-time
          type:
            - string
            - 'null'
        fulfillment:
          type: integer
        happened_at:
          format: date-time
          type: string
        id:
          readOnly: true
          type: integer
        latitude:
          format: double
          maximum: 90
          minimum: -90
          type:
            - number
            - 'null'
        line1:
          description: The first line of the address.
          title: First line of address
          type:
            - string
            - 'null'
        line2:
          description: Optional second line of of the address.
          title: Second line of address
          type:
            - string
            - 'null'
        longitude:
          format: double
          maximum: 180
          minimum: -180
          type:
            - number
            - 'null'
        message:
          type:
            - string
            - 'null'
        order:
          type: string
        postcode:
          description: The address post code or zip code.
          title: Post/Zip-code
          type:
            - string
            - 'null'
        state:
          description: The address state/province.
          title: State/County
          type:
            - string
            - 'null'
        status:
          description: |-
            Expected statuses.

            * `label_printed` - Label Printed
            * `label_purchased` - Label Purchased
            * `confirmed` - Confirmed
            * `ready_for_pickup` - Ready For Pickup
            * `carrier_picked_up` - Carrier Picked Up
            * `picked_up` - Picked Up
            * `in_transit` - In Transit
            * `out_for_delivery` - Out For Delivery
            * `attempted_delivery` - Attempted Delivery
            * `failure` - Failure
            * `delivered` - Delivered
            * `delayed` - Delayed
          enum:
            - label_printed
            - label_purchased
            - confirmed
            - ready_for_pickup
            - carrier_picked_up
            - picked_up
            - in_transit
            - out_for_delivery
            - attempted_delivery
            - failure
            - delivered
            - delayed
          type: string
          x-spec-enum-id: 99c7bdf85f387700
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - city
        - created_at
        - fulfillment
        - id
        - order
        - status
        - updated_at
      type: object
    FulfillmentHold:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type: string
        reason:
          description: |-
            * `address_incorrect` - Address incorrect
            * `out_of_stock` - Out of stock
            * `high_risk` - High risk
            * `awaiting_payment` - Awaiting payment
            * `other` - Other
          enum:
            - address_incorrect
            - out_of_stock
            - high_risk
            - awaiting_payment
            - other
          type: string
          x-spec-enum-id: 673dfdc898bbc483
        reason_message:
          type:
            - string
            - 'null'
      required:
        - created_at
      type: object
    FulfillmentLineResponse:
      properties:
        currency:
          maxLength: 12
          readOnly: true
          type: string
        fulfilled_quantity:
          readOnly: true
          type: string
        fulfillment_service:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        order_line_id:
          readOnly: true
          type: integer
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        product_id:
          readOnly: true
          type: integer
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        requires_shipping:
          readOnly: true
          type: boolean
        returnable_quantity:
          readOnly: true
          type: string
        returned_quantity:
          readOnly: true
          type: string
        sku:
          readOnly: true
          type: string
        tax_lines:
          items:
            $ref: '#/components/schemas/FulfillmentTaxPriceBreakdown'
          readOnly: true
          type: array
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - fulfilled_quantity
        - fulfillment_service
        - id
        - order_line_id
        - price_excl_tax
        - price_incl_tax
        - product_id
        - product_image
        - product_title
        - properties
        - requires_shipping
        - returnable_quantity
        - returned_quantity
        - sku
        - tax_lines
        - total_discount
      type: object
    FulfillmentOrder:
      properties:
        assigned_location:
          $ref: '#/components/schemas/Location'
        created_at:
          format: date-time
          readOnly: true
          type: string
        fulfillment_holds:
          items:
            $ref: '#/components/schemas/FulfillmentHold'
          type:
            - array
            - 'null'
        id:
          readOnly: true
          type: integer
        line_items:
          items:
            $ref: '#/components/schemas/FulfillmentOrderLine'
          type: array
        merchant_requests:
          items:
            $ref: '#/components/schemas/MerchantRequest'
          type:
            - array
            - 'null'
        order_number:
          readOnly: true
          title: Order number
          type: string
        request_status:
          description: |-
            * `pending` - Pending
            * `requested` - Requested
            * `accepted` - Accepted
            * `rejected` - Rejected
            * `cancel_requested` - Cancel Requested
            * `cancel_accepted` - Cancel Accepted
            * `cancel_rejected` - Cancel Rejected
            * `closed` - Closed
          enum:
            - pending
            - requested
            - accepted
            - rejected
            - cancel_requested
            - cancel_accepted
            - cancel_rejected
            - closed
          type: string
          x-spec-enum-id: 5e87a3d9cb8f7ccc
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/FulfillmentShippingAddress'
            - type: 'null'
        shipping_method:
          $ref: '#/components/schemas/ShippingMethodObject'
        status:
          description: |-
            * `not_required` - Not Requried
            * `open` - Open
            * `processing` - Processing
            * `on_hold` - On Hold
            * `incomplete` - Incomplete
            * `closed` - Closed
            * `canceled` - Canceled
          enum:
            - not_required
            - open
            - processing
            - on_hold
            - incomplete
            - closed
            - canceled
          type: string
          x-spec-enum-id: 4980268d45eef5a2
        supported_actions:
          items: {}
          type:
            - array
            - 'null'
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - assigned_location
        - created_at
        - id
        - line_items
        - order_number
        - shipping_method
        - updated_at
      type: object
    FulfillmentOrderCancelResponse:
      properties:
        new_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
        original_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
      required:
        - new_fulfillment_order
        - original_fulfillment_order
      type: object
    FulfillmentOrderLine:
      properties:
        currency:
          maxLength: 12
          readOnly: true
          type: string
        fulfillable_quantity:
          readOnly: true
          type: string
        fulfillment_order_id:
          readOnly: true
          type: integer
        id:
          readOnly: true
          type: integer
        order_line_id:
          readOnly: true
          type: integer
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        product_id:
          readOnly: true
          type: string
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        sku:
          readOnly: true
          type: string
        stockrecord_id:
          readOnly: true
          type: integer
        tax_lines:
          items:
            $ref: '#/components/schemas/FulfillmentTaxPriceBreakdown'
          readOnly: true
          type: array
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - fulfillable_quantity
        - fulfillment_order_id
        - id
        - order_line_id
        - price_excl_tax
        - price_incl_tax
        - product_id
        - product_image
        - product_title
        - properties
        - sku
        - stockrecord_id
        - tax_lines
        - total_discount
      type: object
    FulfillmentOrderLineItem:
      properties:
        id:
          type: integer
        quantity:
          minimum: 1
          type: integer
      required:
        - id
        - quantity
      type: object
    FulfillmentRequest:
      properties:
        fulfillment_order_line_items:
          items:
            $ref: '#/components/schemas/FulfillmentOrderLineItem'
          type: array
        message:
          type:
            - string
            - 'null'
        notify:
          type: boolean
      type: object
    FulfillmentRequestAccept:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    FulfillmentRequestCancel:
      properties:
        message:
          type:
            - string
            - 'null'
      type: object
    FulfillmentRequestReject:
      properties:
        message:
          type:
            - string
            - 'null'
        rejected_reason:
          description: |-
            * `incorrect_address` - Incorrect Address
            * `inventory_out_of_stock` - Inventory out of stock
            * `ineligible_product` - Ineligible Product
            * `undeliverable_address` - Undeliverable address
            * `other` - Other
          enum:
            - incorrect_address
            - inventory_out_of_stock
            - ineligible_product
            - undeliverable_address
            - other
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: e024b9d5cc05f27d
      type: object
    FulfillmentRequestResponse:
      properties:
        original_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
        requested_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
        unrequested_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
      required:
        - original_fulfillment_order
        - requested_fulfillment_order
        - unrequested_fulfillment_order
      type: object
    FulfillmentResponse:
      properties:
        created_at:
          format: date-time
          type: string
        delivered_at:
          format: date-time
          type:
            - string
            - 'null'
        delivery_status:
          description: |-
            Expected delivery statuses.

            * `None` - No Status
            * `tracking_added` - Tracking Added
            * `in_transit` - In Transit
            * `out_for_delivery` - Out For Delivery
            * `attempted_delivery` - Attempted Delivery
            * `failed_delivery` - Failed Delivery
            * `delivered` - Delivered
            * `delayed` - Delayed
          enum:
            - null
            - tracking_added
            - in_transit
            - out_for_delivery
            - attempted_delivery
            - failed_delivery
            - delivered
            - delayed
            - ''
          readOnly: true
          x-spec-enum-id: 3b886e5b796c0603
        id:
          readOnly: true
          type: integer
        last_event_date:
          format: date-time
          type:
            - string
            - 'null'
        line_items:
          items:
            $ref: '#/components/schemas/FulfillmentLineResponse'
          type: array
        location_id:
          type: integer
        order_number:
          readOnly: true
          title: Order number
          type: string
        origin_address:
          allOf:
            - $ref: '#/components/schemas/LocationAddress'
          readOnly: true
        processing_at:
          format: date-time
          type:
            - string
            - 'null'
        requires_shipping:
          type: boolean
        shipping_method:
          type: string
        status:
          description: |-
            * `success` - Success
            * `canceled` - Canceled
          enum:
            - success
            - canceled
          readOnly: true
          type: string
          x-spec-enum-id: 4d2f0d468cf04267
        tracking_carrier:
          type: string
        tracking_carriers:
          readOnly: true
          type: string
        tracking_code:
          readOnly: true
          type: string
        tracking_codes:
          readOnly: true
          type: string
        tracking_link:
          readOnly: true
          type: string
        tracking_links:
          format: uri
          readOnly: true
          type: string
      required:
        - delivery_status
        - id
        - line_items
        - location_id
        - order_number
        - origin_address
        - shipping_method
        - status
        - tracking_carrier
        - tracking_carriers
        - tracking_code
        - tracking_codes
        - tracking_link
        - tracking_links
      type: object
    FulfillmentShippingAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        first_name:
          description: The first name of the address.
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        last_name:
          description: The last name of the address.
          maxLength: 255
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        notes:
          description: Tell us anything we should know when delivering your order.
          title: Instructions
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/Province
          type: string
      required:
        - country
        - first_name
        - id
        - last_name
        - line1
        - line4
      type: object
    FulfillmentTaxPriceBreakdown:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        rate:
          format: double
          type: number
        report_values:
          allOf:
            - $ref: '#/components/schemas/TaxPriceBreakdownReportValueSeraizlier'
          readOnly: true
        source:
          readOnly: true
          type: string
        tax_id:
          type: integer
        tax_title:
          readOnly: true
          type: string
      required:
        - amount
        - currency
        - rate
        - report_values
        - source
        - tax_id
        - tax_title
      type: object
    GatewayGroup:
      properties:
        available_currencies:
          items:
            $ref: '#/components/schemas/Currency'
          readOnly: true
          type: array
        available_express_payment_methods:
          items:
            $ref: '#/components/schemas/PaymentMethod'
          readOnly: true
          type: array
        available_payment_methods:
          items:
            $ref: '#/components/schemas/PaymentMethodSupportCurrencies'
          readOnly: true
          type: array
        card_types:
          items:
            $ref: '#/components/schemas/PaymentMethod'
          readOnly: true
          type: array
        id:
          readOnly: true
          type: integer
        name:
          maxLength: 256
          type: string
      required:
        - available_currencies
        - available_express_payment_methods
        - available_payment_methods
        - card_types
        - id
        - name
      type: object
    HoldFulfillment:
      description: Serializer for serializing incoming Fulfillment Hold post data
      properties:
        reason:
          description: |-
            * `address_incorrect` - Address incorrect
            * `out_of_stock` - Out of stock
            * `high_risk` - High risk
            * `awaiting_payment` - Awaiting payment
            * `other` - Other
          enum:
            - address_incorrect
            - out_of_stock
            - high_risk
            - awaiting_payment
            - other
          type: string
          x-spec-enum-id: 673dfdc898bbc483
        reason_message:
          type:
            - string
            - 'null'
      required:
        - reason
      type: object
    LineAttribute:
      properties:
        key:
          readOnly: true
          type: string
        value: {}
      required:
        - key
        - value
      type: object
    Location:
      properties:
        accept_return:
          title: Accepts Returns
          type: boolean
        address:
          $ref: '#/components/schemas/LocationAddress'
        allowed_destination_countries:
          description: List of country codes this location can ship to.
          items:
            title: Allowed Destination Countries
            type: string
          type: array
        callback_url:
          format: uri
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        name:
          maxLength: 128
          type: string
      required:
        - address
        - id
      type: object
    LocationAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/County
          type: string
      required:
        - country
        - line1
        - line4
      type: object
    MarkAsPaid:
      properties:
        external_payment_method:
          type:
            - string
            - 'null'
      type: object
    MarketingAttribution:
      properties:
        affiliate:
          description: Affiliate identifier.
          type:
            - string
            - 'null'
        agent:
          $ref: '#/components/schemas/Agent'
        funnel:
          description: The marketing funnel attributed to the order.
          type:
            - string
            - 'null'
        gclid:
          description: Google Click Identifier.
          type:
            - string
            - 'null'
        metadata:
          description: Additional attribution metadata.
        subaffiliate1:
          description: Sub-affiliate identifier 1.
          title: Sub-Affiliate 1
          type:
            - string
            - 'null'
        subaffiliate2:
          description: Sub-affiliate identifier 2.
          title: Sub-Affiliate 2
          type:
            - string
            - 'null'
        subaffiliate3:
          description: Sub-affiliate identifier 3.
          title: Sub-Affiliate 3
          type:
            - string
            - 'null'
        subaffiliate4:
          description: Sub-affiliate identifier 4.
          title: Sub-Affiliate 4
          type:
            - string
            - 'null'
        subaffiliate5:
          description: ' Sub-affiliate identifier 5.'
          title: Sub-Affiliate 5
          type:
            - string
            - 'null'
        utm_campaign:
          description: Campaign name.
          type:
            - string
            - 'null'
        utm_content:
          description: Content of the traffic (e.g., banner, text link).
          type:
            - string
            - 'null'
        utm_medium:
          description: Medium of the traffic (e.g., email, CPC).
          type:
            - string
            - 'null'
        utm_source:
          description: Source of the traffic (e.g., search engine, newsletter).
          type:
            - string
            - 'null'
        utm_term:
          description: Search term or keyword.
          type:
            - string
            - 'null'
      required:
        - agent
      type: object
    MerchantProfile:
      properties:
        amex:
          allOf:
            - $ref: '#/components/schemas/CardNetwork'
          readOnly: true
        discover:
          allOf:
            - $ref: '#/components/schemas/CardNetwork'
          readOnly: true
        mastercard:
          allOf:
            - $ref: '#/components/schemas/CardNetwork'
          readOnly: true
        merchant_country:
          description: The country the merchant is registered in.
          readOnly: true
          title: ISO 3166-1 alpha-2
          type:
            - string
            - 'null'
        merchant_name:
          description: Merchant name assigned by your acquiring bank, contact them if you are not sure.
          readOnly: true
          type:
            - string
            - 'null'
        visa:
          allOf:
            - $ref: '#/components/schemas/CardNetwork'
          readOnly: true
      required:
        - amex
        - discover
        - mastercard
        - merchant_country
        - merchant_name
        - visa
      type: object
    MerchantRequest:
      properties:
        message:
          type:
            - string
            - 'null'
        notify:
          type: boolean
        type:
          description: |-
            * `fulfill_request` - Fulfill Request
            * `cancel_request` - Cancel Request
          enum:
            - fulfill_request
            - cancel_request
          type: string
          x-spec-enum-id: 4d67e89980fba849
      type: object
    MoveFulfillmentOrder:
      properties:
        fulfillment_order_line_items:
          items:
            $ref: '#/components/schemas/MoveFulfillmentOrderLineItem'
          type: array
        new_location_id:
          type: integer
      required:
        - new_location_id
      type: object
    MoveFulfillmentOrderLineItem:
      properties:
        id:
          type: integer
      required:
        - id
      type: object
    MoveFulfillmentOrderResponse:
      properties:
        moved_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
        original_fulfillment_order:
          $ref: '#/components/schemas/FulfillmentOrder'
      required:
        - moved_fulfillment_order
        - original_fulfillment_order
      type: object
    OAuthApp:
      properties:
        client_id:
          maxLength: 100
          type: string
        name:
          maxLength: 255
          type: string
      type: object
    Order:
      properties:
        attribution:
          $ref: '#/components/schemas/MarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_placed:
          format: date-time
          readOnly: true
          type: string
        display_taxes:
          readOnly: true
          type: string
        fulfillment_status:
          description: |-
            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          enum:
            - not_required
            - unfulfilled
            - on_hold
            - rejected
            - processing
            - fulfilled
            - incomplete
          type: string
          x-spec-enum-id: f7a016fc10fb8390
        fulfillments:
          items:
            $ref: '#/components/schemas/FulfillmentResponse'
          readOnly: true
          type: array
        is_test:
          readOnly: true
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/OrderLine'
          readOnly: true
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        number:
          readOnly: true
          title: Order number
          type: string
        offer_discounts:
          items:
            $ref: '#/components/schemas/OrderOfferDiscount'
          readOnly: true
          type: array
        order_status_url:
          format: uri
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        payment_status:
          description: |-
            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          enum:
            - pending
            - authorized
            - expiring
            - expired
            - paid
            - voided
            - refunded
            - partially_paid
            - partially_refunded
            - partially_voided
          readOnly: true
          type: string
          x-spec-enum-id: 4ddf29c57b2eb8f6
        refunds:
          items:
            $ref: '#/components/schemas/Refund'
          readOnly: true
          type: array
        report_values:
          allOf:
            - $ref: '#/components/schemas/OrderReportValues'
          readOnly: true
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (excl. tax)
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (inc. tax)
          type: string
        shipping_method:
          readOnly: true
          type: string
        shipping_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        source:
          readOnly: true
          type: string
        status:
          maxLength: 100
          type: string
        subscription_lifecycle:
          readOnly: true
          type: string
        subscriptions:
          items:
            $ref: '#/components/schemas/OrderSubscription'
          readOnly: true
          type: array
        supports_post_purchase_upsells:
          readOnly: true
          type: boolean
        tags:
          description: An array of tags associated with the order.
          items:
            type:
              - string
              - 'null'
          type: array
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxSerailizer'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (excl. tax)
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (inc. tax)
          type: string
        total_outstanding:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/TransactionObject'
          readOnly: true
          type: array
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
        voucher_discounts:
          items:
            $ref: '#/components/schemas/OrderVoucherOffer'
          readOnly: true
          type: array
      required:
        - attribution
        - created_at
        - currency
        - date_placed
        - display_taxes
        - fulfillments
        - is_test
        - lines
        - number
        - offer_discounts
        - order_status_url
        - original_shipping_excl_tax
        - original_shipping_incl_tax
        - original_total_discount
        - original_total_excl_tax
        - original_total_incl_tax
        - payment_status
        - refunds
        - report_values
        - shipping_code
        - shipping_excl_tax
        - shipping_incl_tax
        - shipping_method
        - shipping_tax
        - shipping_tax_lines
        - source
        - subscription_lifecycle
        - subscriptions
        - supports_post_purchase_upsells
        - tax_lines
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
        - total_outstanding
        - total_tax
        - transactions
        - updated_at
        - user
        - voucher_discounts
      type: object
    OrderLine:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        currency:
          maxLength: 12
          type: string
        current_quantity:
          description: Number of line items, minus removed quantity.
          readOnly: true
          type: integer
        editable_quantity:
          description: Number of items that can be edited.
          readOnly: true
          type: integer
        fulfillable_quantity:
          description: The number of items that can be fulfilled from this line.
          readOnly: true
          type: integer
        id:
          readOnly: true
          type: integer
        is_gift_card:
          type: boolean
        is_upsell:
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        original_price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product_id:
          readOnly: true
          type: integer
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        product_url:
          format: uri
          readOnly: true
          type: string
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          description: The number of items of this line.
          readOnly: true
          type: integer
        report_values:
          allOf:
            - $ref: '#/components/schemas/OrderLineReport'
          readOnly: true
        requires_shipping:
          readOnly: true
          type: boolean
        sku:
          readOnly: true
          type: string
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        variant_id:
          readOnly: true
          type: integer
        variant_title:
          readOnly: true
          type: string
      required:
        - created_at
        - currency
        - current_quantity
        - editable_quantity
        - fulfillable_quantity
        - id
        - original_price_excl_tax
        - original_price_incl_tax
        - original_total_discount
        - price_excl_tax
        - price_incl_tax
        - product_id
        - product_image
        - product_title
        - product_url
        - properties
        - quantity
        - report_values
        - requires_shipping
        - sku
        - tax_lines
        - total_cost
        - total_discount
        - unit_cost
        - updated_at
        - variant_id
        - variant_title
      type: object
    OrderLineDetail:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        is_gift_card:
          type: boolean
        is_upsell:
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price_currency:
          maxLength: 12
          type: string
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        price_excl_tax_excl_discounts:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        price_incl_tax_excl_discounts:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product:
          allOf:
            - $ref: '#/components/schemas/Product '
          readOnly: true
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        stockrecord:
          $ref: '#/components/schemas/Stockrecord'
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
      required:
        - created_at
        - id
        - price_currency
        - price_excl_tax
        - price_excl_tax_excl_discounts
        - price_incl_tax
        - price_incl_tax_excl_discounts
        - product
        - properties
        - stockrecord
        - tax_lines
        - total_cost
        - unit_cost
        - updated_at
      type: object
    OrderLineReport:
      properties:
        currency:
          maxLength: 3
          readOnly: true
          type: string
        original_price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        price_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - original_price_excl_tax
        - original_price_incl_tax
        - original_total_discount
        - price_excl_tax
        - price_incl_tax
        - total_cost
        - total_discount
        - unit_cost
      type: object
    OrderList:
      properties:
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_placed:
          format: date-time
          readOnly: true
          type: string
        display_taxes:
          readOnly: true
          type: string
        fulfillment_status:
          description: |-
            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          enum:
            - not_required
            - unfulfilled
            - on_hold
            - rejected
            - processing
            - fulfilled
            - incomplete
          type: string
          x-spec-enum-id: f7a016fc10fb8390
        is_test:
          readOnly: true
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        number:
          readOnly: true
          title: Order number
          type: string
        order_status_url:
          format: uri
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        payment_status:
          description: |-
            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          enum:
            - pending
            - authorized
            - expiring
            - expired
            - paid
            - voided
            - refunded
            - partially_paid
            - partially_refunded
            - partially_voided
          readOnly: true
          type: string
          x-spec-enum-id: 4ddf29c57b2eb8f6
        shipping_code:
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (excl. tax)
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (inc. tax)
          type: string
        shipping_method:
          readOnly: true
          type: string
        shipping_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        source:
          readOnly: true
          type: string
        status:
          maxLength: 100
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type:
            - string
            - 'null'
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (excl. tax)
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (inc. tax)
          type: string
        total_outstanding:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - created_at
        - currency
        - date_placed
        - display_taxes
        - is_test
        - number
        - order_status_url
        - original_shipping_excl_tax
        - original_shipping_incl_tax
        - original_total_discount
        - original_total_excl_tax
        - original_total_incl_tax
        - payment_status
        - shipping_code
        - shipping_excl_tax
        - shipping_incl_tax
        - shipping_method
        - shipping_tax
        - source
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
        - total_outstanding
        - total_tax
        - updated_at
        - user
      type: object
    OrderNote:
      properties:
        app:
          $ref: '#/components/schemas/OAuthApp'
        author:
          $ref: '#/components/schemas/Author'
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        message:
          type: string
      required:
        - app
        - author
        - date_created
        - date_updated
        - id
        - message
      type: object
    OrderOfferDiscount:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        description:
          type: string
        name:
          type: string
      required:
        - amount
        - description
        - name
      type: object
    OrderReportValues:
      properties:
        currency:
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - original_shipping_excl_tax
        - original_shipping_incl_tax
        - original_total_discount
        - original_total_excl_tax
        - original_total_incl_tax
        - shipping_excl_tax
        - shipping_incl_tax
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
      type: object
    OrderSubscription:
      properties:
        billing_cycle:
          readOnly: true
          type: integer
        id:
          readOnly: true
          type: integer
      required:
        - billing_cycle
        - id
      type: object
    OrderVoucher:
      properties:
        code:
          description: Case insensitive / No spaces allowed
          maxLength: 128
          type: string
        end_datetime:
          format: date-time
          type: string
        name:
          description: This will be shown in the checkout and basket once the coupon is entered
          maxLength: 128
          type: string
        start_datetime:
          format: date-time
          type: string
      required:
        - code
        - end_datetime
        - name
        - start_datetime
      type: object
    OrderVoucherOffer:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        description:
          type: string
        name:
          type: string
        voucher:
          $ref: '#/components/schemas/OrderVoucher'
      required:
        - amount
        - description
        - name
      type: object
    Page:
      properties:
        content:
          type: string
        id:
          readOnly: true
          type: integer
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        slug:
          readOnly: true
          type: string
        template:
          description: Custom template name from your theme, ie pages/page.{custom_name}.html
          type:
            - string
            - 'null'
        title:
          maxLength: 200
          type: string
      required:
        - id
        - slug
        - title
      type: object
    PaginatedCartList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Cart'
          type: array
      required:
        - results
      type: object
    PaginatedCategoryList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Category'
          type: array
      required:
        - results
      type: object
    PaginatedDefinitionList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Definition'
          type: array
      required:
        - results
      type: object
    PaginatedDisputeList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Dispute'
          type: array
      required:
        - results
      type: object
    PaginatedDisputeNoteList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/DisputeNote'
          type: array
      required:
        - results
      type: object
    PaginatedExportList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Export'
          type: array
      required:
        - results
      type: object
    PaginatedFulfillmentOrderList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/FulfillmentOrder'
          type: array
      required:
        - results
      type: object
    PaginatedGatewayGroupList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/GatewayGroup'
          type: array
      required:
        - results
      type: object
    PaginatedLocationList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Location'
          type: array
      required:
        - results
      type: object
    PaginatedOrderListList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/OrderList'
          type: array
      required:
        - results
      type: object
    PaginatedOrderNoteList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/OrderNote'
          type: array
      required:
        - results
      type: object
    PaginatedPageList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Page'
          type: array
      required:
        - results
      type: object
    PaginatedPaymentGatewayList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/PaymentGateway'
          type: array
      required:
        - results
      type: object
    PaginatedProductListList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/ProductList'
          type: array
      required:
        - results
      type: object
    PaginatedResponseGiftCardList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/ResponseGiftCard'
          type: array
      required:
        - results
      type: object
    PaginatedShippingMethodList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/ShippingMethod'
          type: array
      required:
        - results
      type: object
    PaginatedStockRecordList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/StockRecord'
          type: array
      required:
        - results
      type: object
    PaginatedSubscriptionDetailList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/SubscriptionDetail'
          type: array
      required:
        - results
      type: object
    PaginatedSubscriptionTransactionList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/SubscriptionTransaction'
          type: array
      required:
        - results
      type: object
    PaginatedThemeList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Theme'
          type: array
      required:
        - results
      type: object
    PaginatedTicketList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Ticket'
          type: array
      required:
        - results
      type: object
    PaginatedTicketTypeList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/TicketType'
          type: array
      required:
        - results
      type: object
    PaginatedTransactionListList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/TransactionList'
          type: array
      required:
        - results
      type: object
    PaginatedUpdatePriceWithCurrencyList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/UpdatePriceWithCurrency'
          type: array
      required:
        - results
      type: object
    PaginatedUserAddressList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/UserAddress'
          type: array
      required:
        - results
      type: object
    PaginatedUserList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/User'
          type: array
      required:
        - results
      type: object
    PaginatedUserNoteList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/UserNote'
          type: array
      required:
        - results
      type: object
    PaginatedWebhookList:
      properties:
        next:
          example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
          format: uri
          nullable: true
          type: string
        previous:
          example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
          format: uri
          nullable: true
          type: string
        results:
          items:
            $ref: '#/components/schemas/Webhook'
          type: array
      required:
        - results
      type: object
    PatchedCreateUpdatePage:
      properties:
        content:
          type: string
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        slug:
          type:
            - string
            - 'null'
        template:
          description: Custom template name from your theme, ie pages/page.{custom_name}.html
          type:
            - string
            - 'null'
        title:
          maxLength: 200
          type: string
      type: object
    PatchedCreateUpdateStockRecord:
      properties:
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        location_id:
          type: integer
        low_stock_threshold:
          maximum: 2147483647
          minimum: 0
          type: integer
        num_in_stock:
          type: integer
        product:
          type: integer
        sku:
          deprecated: true
          readOnly: true
          type: string
      type: object
    PatchedCreateUpdateTicket:
      properties:
        assignee:
          type:
            - integer
            - 'null'
        comment:
          allOf:
            - $ref: '#/components/schemas/CreateTicketComment'
          description: An object that adds a comment to the ticket.
        created_at:
          format: date-time
          readOnly: true
          type: string
        from_email:
          description: In case user contact from email and user does not in system yet.
          format: email
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        order:
          title: Order number
          type:
            - string
            - 'null'
        priority:
          description: |-
            * `high` - High
            * `medium` - Medium
            * `low` - Low
          enum:
            - high
            - medium
            - low
          type: string
          x-spec-enum-id: 2d141e09614b8e57
        products:
          items:
            type: integer
          type: array
        requester:
          type:
            - integer
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `pending` - Pending
            * `solved` - Solved
            * `closed` - Closed
          enum:
            - new
            - open
            - pending
            - solved
            - closed
          type: string
          x-spec-enum-id: 30751850e74b0756
        subject:
          type: string
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        ticket_type:
          type:
            - integer
            - 'null'
        updated_at:
          format: date-time
          readOnly: true
          type: string
      type: object
    PatchedDispute:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          title: Dispute Amount
          type:
            - string
            - 'null'
        arn:
          type:
            - string
            - 'null'
        case_number:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        happened_at:
          format: date-time
          readOnly: true
          title: Dispute Date
          type: string
        id:
          readOnly: true
          type: integer
        metadata:
          oneOf:
            - {}
            - type: 'null'
        order:
          readOnly: true
          type:
            - string
            - 'null'
        report_amount:
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          readOnly: true
          type:
            - string
            - 'null'
        report_currency:
          readOnly: true
          type:
            - string
            - 'null'
        resolution:
          description: |-
            * `could_not_find_order` - Transaction Not found
            * `declined_or_canceled_nothing_to_do` - Nothing To Do
            * `issued_full_refund` - Issued Full Refund
            * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
            * `3ds_authorized_successfully` - Transaction 3DS Authorized
            * `previously_refunded_nothing_to_do` - Previously Refunded
            * `unable_to_refund_merchant_account_closed` - Unable to Refund
            * `won` - Won
            * `lost` - Lost
            * `accepted` - Accepted
            * `other` - Other
          enum:
            - could_not_find_order
            - declined_or_canceled_nothing_to_do
            - issued_full_refund
            - issued_refund_for_remaining_amount
            - 3ds_authorized_successfully
            - previously_refunded_nothing_to_do
            - unable_to_refund_merchant_account_closed
            - won
            - lost
            - accepted
            - other
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 8848f3a079993862
        resolution_other_message:
          title: Other Message
          type:
            - string
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `resolved` - Resolved
          enum:
            - new
            - open
            - resolved
          readOnly: true
          type: string
          x-spec-enum-id: 4c48cc1c536a35b2
        transaction:
          type:
            - integer
            - 'null'
        type:
          description: |-
            * `alert` - Alert
            * `chargeback` - Chargeback
          enum:
            - alert
            - chargeback
          readOnly: true
          type: string
          x-spec-enum-id: 3c60da80149644ea
      type: object
    PatchedProductImageUpdate:
      properties:
        caption:
          maxLength: 200
          type: string
        display_order:
          description: An image with a display order of zero will be the primary image for a product
          maximum: 2147483647
          minimum: 0
          type: integer
        id:
          readOnly: true
          type: integer
        variants:
          items:
            type: integer
          type: array
      type: object
    PatchedUpdateDefinition:
      properties:
        enable_export:
          default: false
          type: boolean
        enable_filter:
          default: false
          type: boolean
        name:
          maxLength: 255
          type: string
        object:
          description: |-
            Source object this metadata is linked to.

            * `attribution` - Attribution
            * `customer` - Customer
            * `dispute` - Dispute
            * `line` - Line Item
            * `order` - Order
            * `product` - Product
            * `variant` - Variant
            * `blog` - Blog
            * `page` - Page
          enum:
            - attribution
            - customer
            - dispute
            - line
            - order
            - product
            - variant
            - blog
            - page
          type: string
          x-spec-enum-id: 06e58adfbb02ad1f
        validations:
          items:
            $ref: '#/components/schemas/Validation'
          type: array
      type: object
    PatchedUpdateGiftCard:
      properties:
        expired_at:
          format: date-time
          type:
            - string
            - 'null'
        user:
          $ref: '#/components/schemas/CreateUser'
      type: object
    PatchedUpdateOrder:
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_placed:
          format: date-time
          readOnly: true
          type: string
        display_taxes:
          readOnly: true
          type: string
        fulfillment_status:
          description: |-
            The order's status in terms of fulfillment.

            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          enum:
            - not_required
            - unfulfilled
            - on_hold
            - rejected
            - processing
            - fulfilled
            - incomplete
          type: string
          x-spec-enum-id: f7a016fc10fb8390
        fulfillments:
          items:
            $ref: '#/components/schemas/Fulfillment'
          readOnly: true
          type: array
        is_test:
          readOnly: true
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/OrderLineDetail'
          readOnly: true
          type: array
        metadata:
          description: Additional order metadata.
          oneOf:
            - {}
            - type: 'null'
        number:
          readOnly: true
          title: Order number
          type: string
        offer_discounts:
          items:
            $ref: '#/components/schemas/OrderOfferDiscount'
          readOnly: true
          type: array
        order_status_url:
          format: uri
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        payment_status:
          description: |-
            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          enum:
            - pending
            - authorized
            - expiring
            - expired
            - paid
            - voided
            - refunded
            - partially_paid
            - partially_refunded
            - partially_voided
          readOnly: true
          type: string
          x-spec-enum-id: 4ddf29c57b2eb8f6
        refunds:
          items:
            $ref: '#/components/schemas/Refund'
          readOnly: true
          type: array
        report_values:
          allOf:
            - $ref: '#/components/schemas/OrderReportValues'
          readOnly: true
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (excl. tax)
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (inc. tax)
          type: string
        shipping_method:
          readOnly: true
          type: string
        shipping_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        source:
          readOnly: true
          type: string
        status:
          description: The order's overall status.
          maxLength: 100
          type: string
        subscription_lifecycle:
          readOnly: true
          type: string
        subscriptions:
          items:
            $ref: '#/components/schemas/OrderSubscription'
          readOnly: true
          type: array
        supports_post_purchase_upsells:
          readOnly: true
          type: boolean
        tags:
          description: An array of tags associated with the order.
          items:
            type:
              - string
              - 'null'
          type: array
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxSerailizer'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (excl. tax)
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (inc. tax)
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/TransactionObject'
          readOnly: true
          type: array
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
        voucher_discounts:
          items:
            $ref: '#/components/schemas/OrderVoucherOffer'
          readOnly: true
          type: array
      type: object
    PatchedUpdateOrderLine:
      properties:
        metadata: {}
        properties:
          default: {}
          oneOf:
            - {}
            - type: 'null'
        quantity:
          minimum: 0
          type: integer
        reason:
          description: Reason for editing this item.
          type: string
      type: object
    PatchedUpdatePriceWithCurrency:
      properties:
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        retail:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Price (retail)
          type:
            - string
            - 'null'
        subscription:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Subscription Price
          type:
            - string
            - 'null'
        subscription_suggested_downsell:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Suggested Downsell Price
          type:
            - string
            - 'null'
      type: object
    PatchedUpdateProduct:
      properties:
        categories:
          deprecated: true
          items:
            type: integer
          type: array
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        description:
          type: string
        enable_subscription:
          type: boolean
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, TaxJar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
            - ''
            - null
          title: Subscription Interval
          type:
            - string
            - 'null'
          x-spec-enum-id: b47bd58ee0e62834
        interval_counts:
          description: Choose a predefined value or type to enter custom value(s).
          items:
            maximum: 2147483647
            minimum: -2147483648
            type: integer
          title: Interval Count Options
          type:
            - array
            - 'null'
        is_discountable:
          description: This flag indicates if this product can be used in an offer or not
          title: Is discountable?
          type: boolean
        is_public:
          description: Show this product in search results and catalogue listings.
          type: boolean
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        ranking:
          description: The highest ranking are shown first
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        rating:
          format: double
          readOnly: true
          type:
            - number
            - 'null'
        recommended_products:
          items:
            type: integer
          type: array
        slug:
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          type: string
        template:
          description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
          title: Theme Template
          type:
            - string
            - 'null'
        title:
          type: string
        url:
          format: uri
          readOnly: true
          type: string
        variant_attributes:
          items:
            $ref: '#/components/schemas/ProductVariantAttribute'
          type: array
        variants:
          items:
            $ref: '#/components/schemas/UpdateProductVariantForProduct'
          type: array
      type: object
    PatchedUpdateProductVariant:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        image:
          type:
            - integer
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          readOnly: true
          type: array
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Cost Per Item
          type:
            - string
            - 'null'
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        variant_attribute_values:
          items:
            $ref: '#/components/schemas/ProductVariantAttributeValue'
          type: array
          writeOnly: true
      type: object
    PatchedUpdateSubscription:
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        cancel_reason:
          readOnly: true
          type: string
        cancel_reason_other_message:
          readOnly: true
          type:
            - string
            - 'null'
        currency:
          readOnly: true
          type: string
        date_created:
          format: date-time
          readOnly: true
          type: string
        frequency:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
          type: string
          x-spec-enum-id: b47bd58ee0e62834
        interval_count:
          minimum: 1
          type: integer
        is_tax_known:
          deprecated: true
          readOnly: true
          type: boolean
        is_test:
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/SubscriptionLine'
          readOnly: true
          type: array
        next_renewal_date:
          format: date-time
          type:
            - string
            - 'null'
        num_lines:
          readOnly: true
          type: integer
        num_orders:
          readOnly: true
          type: integer
        orders:
          items:
            $ref: '#/components/schemas/SubscriptionOrder'
          readOnly: true
          type: array
        payment_details:
          oneOf:
            - $ref: '#/components/schemas/SubscriptionPaymentDetail'
            - type: 'null'
        payment_method:
          readOnly: true
          type: string
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          type:
            - string
            - 'null'
        shipping_price:
          format: decimal
          pattern: ^-?\d{0,7}(?:\.\d{0,2})?$
          type:
            - string
            - 'null'
        status:
          description: |-
            * `active` - Active
            * `past_due` - Past Due
            * `canceled` - Canceled
            * `retrying` - Retrying
          enum:
            - active
            - past_due
            - canceled
            - retrying
          type: string
          x-spec-enum-id: c5c93fe104ef015e
        total:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      type: object
    PatchedUpdateUser:
      properties:
        accepts_marketing:
          title: Subscribe to Marketing Emails
          type: boolean
        addresses:
          items:
            $ref: '#/components/schemas/UserAddress'
          readOnly: true
          type: array
        date_joined:
          format: date-time
          readOnly: true
          type: string
        email:
          format: email
          type: string
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        ip:
          title: Ip address
          type:
            - string
            - 'null'
        is_blocked:
          default: false
          type: boolean
        language:
          description: |-
            required : E164

            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          enum:
            - en
            - fr
            - th
            - de
            - sv
            - 'no'
            - it
            - es
            - nl
            - pt
            - da
            - fi
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 70ceea9c8488568b
        last_name:
          maxLength: 255
          type: string
        metadata:
          oneOf:
            - {}
            - type: 'null'
        orders_count:
          default: 0
          readOnly: true
          type: integer
        phone_number:
          type:
            - string
            - 'null'
        subscriptions_count:
          readOnly: true
          type: integer
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        total_spent:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user_agent:
          type:
            - string
            - 'null'
        user_type:
          description: 'Available values : customer, lead, dashboard'
          enum:
            - customer
            - lead
            - dashboard
          readOnly: true
          type: string
      type: object
    PatchedWebhook:
      properties:
        active:
          type: boolean
        api_version:
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        events:
          description: List of event triggers for the webhook.
          items:
            enum:
              - cart.abandoned
              - customer.created
              - customer.deleted
              - customer.redacted
              - customer.updated
              - dispute.created
              - dispute.updated
              - export.created
              - fulfillment.created
              - fulfillment.updated
              - gateway.created
              - gateway.updated
              - gateway_group.created
              - gateway_group.updated
              - order.created
              - order.updated
              - product.created
              - product.deleted
              - product.updated
              - store.updated
              - subscription.created
              - subscription.updated
              - transaction.created
              - transaction.updated
            type:
              - string
              - 'null'
            x-spec-enum-id: 2fff8156f601ff82
          type: array
        id:
          readOnly: true
          type: integer
        name:
          description: A label to identify this webhook in the list. Maximum 50 characters.
          title: Webhook Name
          type:
            - string
            - 'null'
        next_check_date:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        secret_key:
          type:
            - string
            - 'null'
        target:
          description: Full url for your webhook receiver endpoint.
          format: uri
          maxLength: 255
          title: Webhook target
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
        warning_count:
          readOnly: true
          type: integer
      type: object
    PauseSubscription:
      properties:
        pause_until:
          description: 'Date until the subscription is paused (format: YYYY-MM-DD). If omitted, paused indefinitely and auto-cancelled if not resumed within 6 months.'
          format: date
          type:
            - string
            - 'null'
      type: object
    Payment:
      properties:
        available_express_payment_methods:
          items:
            $ref: '#/components/schemas/PaymentMethod'
          readOnly: true
          type: array
        available_payment_methods:
          items:
            $ref: '#/components/schemas/PaymentMethodSupportCurrencies'
          readOnly: true
          type: array
        certificate_token:
          readOnly: true
          type: string
        environment_key:
          type: string
      required:
        - available_express_payment_methods
        - available_payment_methods
        - certificate_token
        - environment_key
      type: object
    PaymentDetail:
      properties:
        authorize_value:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        card_token:
          type:
            - string
            - 'null'
        external_payment_method:
          type:
            - string
            - 'null'
        language:
          description: |-
            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          enum:
            - en
            - fr
            - th
            - de
            - sv
            - 'no'
            - it
            - es
            - nl
            - pt
            - da
            - fi
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 70ceea9c8488568b
        payment_gateway:
          type:
            - integer
            - 'null'
        payment_gateway_group:
          type:
            - integer
            - 'null'
        payment_return_url:
          format: uri
          type:
            - string
            - 'null'
        paypal_account:
          type:
            - integer
            - 'null'
        recache_card_cvv:
          type:
            - integer
            - 'null'
        reference_transaction_id:
          type:
            - string
            - 'null'
        save_card:
          default: true
          type: boolean
        statement_descriptor:
          description: 'Statement descriptor supports up to 22 alphanumeric characters, spaces, and these special characters: & , . - #.'
          type:
            - string
            - 'null'
      type: object
    PaymentGateway:
      properties:
        active:
          description: Gateway must be active to accept and process transactions.
          type: boolean
        auto_capture_on_fulfillment:
          description: When enabled, payments will be automatically captured when orders are fulfilled.
          type: boolean
        card_types:
          items:
            $ref: '#/components/schemas/PaymentMethod'
          readOnly: true
          type: array
        currencies:
          items:
            $ref: '#/components/schemas/Currency'
          readOnly: true
          type: array
        delayed_capture_days:
          description: Payments will be automatically captured up to 7 days after the authorization.
          maximum: 7
          minimum: 1
          type:
            - integer
            - 'null'
        enable_3ds2:
          description: Transactions are attempted with 3DS authentication.
          title: Enable 3D Secure Transactions
          type: boolean
        gateway_groups:
          items:
            $ref: '#/components/schemas/PaymentGatewayGroup'
          readOnly: true
          type: array
        gateway_type:
          description: Payment gateway provider.
          maxLength: 100
          type: string
        id:
          readOnly: true
          type: integer
        is_next_payments:
          readOnly: true
          type: boolean
        merchant_profile:
          allOf:
            - $ref: '#/components/schemas/MerchantProfile'
          readOnly: true
        name:
          description: Used for reporting and transaction references.
          maxLength: 100
          type: string
        optimized_3ds:
          description: Transactions will be optimized for lowest friction, requires non-3DS transaction support.
          title: Enable Optimized 3D Secure Transactions
          type: boolean
        payment_flow:
          description: |-
            Transaction type initiated for new orders.

            * `charge` - Charge
            * `auth-capture` - Auth / Capture
          enum:
            - charge
            - auth-capture
          type: string
          x-spec-enum-id: 0e887a41ea162b2f
        re_attemp_group:
          allOf:
            - $ref: '#/components/schemas/GatewayGroup'
          readOnly: true
        re_attemp_intitial_charge:
          description: Reattempt soft declines with another gateway.
          title: Re-attempt declined initial charge attempts
          type:
            - boolean
            - 'null'
      required:
        - card_types
        - currencies
        - gateway_groups
        - gateway_type
        - id
        - is_next_payments
        - merchant_profile
        - name
        - re_attemp_group
      type: object
    PaymentGatewayGroup:
      properties:
        id:
          type: integer
        name:
          type: string
        weight:
          type: integer
      required:
        - id
        - name
        - weight
      type: object
    PaymentMethod:
      properties:
        code:
          type: string
        label:
          type: string
      required:
        - code
        - label
      type: object
    PaymentMethodSupportCurrencies:
      properties:
        code:
          type: string
        label:
          type: string
        supported_currencies:
          items: {}
          readOnly: true
          type: array
      required:
        - code
        - label
        - supported_currencies
      type: object
    PreferredPaymentGateway:
      properties:
        gateway_type:
          description: Payment gateway provider.
          maxLength: 100
          type: string
        id:
          readOnly: true
          type: integer
        name:
          description: Used for reporting and transaction references.
          maxLength: 100
          type: string
      required:
        - gateway_type
        - id
        - name
      type: object
    Product:
      properties:
        categories:
          deprecated: true
          items:
            $ref: '#/components/schemas/ProductCategory'
          readOnly: true
          type: array
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        description:
          type: string
        enable_subscription:
          type: boolean
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, TaxJar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
            - ''
            - null
          title: Subscription Interval
          type:
            - string
            - 'null'
          x-spec-enum-id: b47bd58ee0e62834
        interval_counts:
          description: Choose a predefined value or type to enter custom value(s).
          items:
            maximum: 2147483647
            minimum: -2147483648
            type: integer
          title: Interval Count Options
          type:
            - array
            - 'null'
        is_discountable:
          description: This flag indicates if this product can be used in an offer or not
          title: Is discountable?
          type: boolean
        is_public:
          description: Show this product in search results and catalogue listings.
          type: boolean
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        ranking:
          description: The highest ranking are shown first
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        rating:
          format: double
          readOnly: true
          type:
            - number
            - 'null'
        recommended_products:
          items:
            type: integer
          type: array
        slug:
          maxLength: 255
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          type: string
        structure:
          description: |-
            * `standalone` - Stand-alone Product
            * `parent` - Product with Variants
            * `child` - Child Product
          enum:
            - standalone
            - parent
            - child
          readOnly: true
          title: Product Structure
          type: string
          x-spec-enum-id: a1df31d9b9dfd9ac
        template:
          description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
          title: Theme Template
          type:
            - string
            - 'null'
        title:
          readOnly: true
          type: string
        url:
          format: uri
          readOnly: true
          type: string
        variant_attributes:
          items:
            $ref: '#/components/schemas/ProductVariantAttribute'
          type: array
        variants:
          items:
            $ref: '#/components/schemas/ProductVariant'
          readOnly: true
          type: array
      required:
        - categories
        - date_created
        - date_updated
        - id
        - images
        - rating
        - slug
        - structure
        - title
        - url
        - variants
      type: object
    'Product ':
      properties:
        categories:
          deprecated: true
          items:
            $ref: '#/components/schemas/ProductCategory'
          readOnly: true
          type: array
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        title:
          readOnly: true
          type: string
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        url:
          format: uri
          readOnly: true
          type: string
      required:
        - categories
        - id
        - images
        - title
        - url
      type: object
    ProductCategory:
      properties:
        id:
          readOnly: true
          type: integer
        name:
          readOnly: true
          type: string
        slug:
          maxLength: 255
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
      required:
        - id
        - name
        - slug
      type: object
    ProductImage:
      properties:
        attachment:
          description: The base64 string file to upload (image attachment).
          type:
            - string
            - 'null'
        caption:
          maxLength: 200
          type: string
        display_order:
          description: An image with a display order of zero will be the primary image for a product
          maximum: 2147483647
          minimum: 0
          type: integer
        file_name:
          type: string
          writeOnly: true
        id:
          readOnly: true
          type: integer
        src:
          description: URL of the image to fetch and associate with the product
          format: uri
          type:
            - string
            - 'null'
          writeOnly: true
      required:
        - id
      type: object
    ProductList:
      properties:
        categories:
          deprecated: true
          items:
            $ref: '#/components/schemas/ProductCategory'
          readOnly: true
          type: array
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        enable_subscription:
          type: boolean
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, TaxJar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
            - ''
            - null
          title: Subscription Interval
          type:
            - string
            - 'null'
          x-spec-enum-id: b47bd58ee0e62834
        interval_counts:
          description: Choose a predefined value or type to enter custom value(s).
          items:
            maximum: 2147483647
            minimum: -2147483648
            type: integer
          title: Interval Count Options
          type:
            - array
            - 'null'
        is_discountable:
          description: This flag indicates if this product can be used in an offer or not
          title: Is discountable?
          type: boolean
        is_public:
          description: Show this product in search results and catalogue listings.
          type: boolean
        metadata:
          oneOf:
            - {}
            - type: 'null'
        ranking:
          description: The highest ranking are shown first
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        rating:
          format: double
          readOnly: true
          type:
            - number
            - 'null'
        recommended_products:
          items:
            type: integer
          type: array
        slug:
          maxLength: 255
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          type: string
        structure:
          description: |-
            * `standalone` - Stand-alone Product
            * `parent` - Product with Variants
            * `child` - Child Product
          enum:
            - standalone
            - parent
            - child
          readOnly: true
          title: Product Structure
          type: string
          x-spec-enum-id: a1df31d9b9dfd9ac
        title:
          readOnly: true
          type: string
        url:
          format: uri
          readOnly: true
          type: string
        variant_attributes:
          items:
            $ref: '#/components/schemas/ProductVariantAttribute'
          type: array
        variants:
          items:
            $ref: '#/components/schemas/ProductVariant'
          readOnly: true
          type: array
      required:
        - categories
        - date_created
        - date_updated
        - id
        - images
        - rating
        - slug
        - structure
        - title
        - url
        - variants
      type: object
    ProductPrices:
      properties:
        currency:
          maxLength: 12
          type: string
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        retail:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Price (retail)
          type:
            - string
            - 'null'
        subscription:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Subscription Price
          type:
            - string
            - 'null'
        subscription_suggested_downsell:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Suggested Downsell Price
          type:
            - string
            - 'null'
      required:
        - price
      type: object
    ProductVariant:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        images:
          readOnly: true
          type: string
        inventory_availability:
          description: |-
            Inventory availability at fulfillment locations

            * `in_stock` - In Stock
            * `low_stock` - Low Stock
            * `out_of_stock` - Out of Stock
            * `untracked` - Untracked
          enum:
            - in_stock
            - low_stock
            - out_of_stock
            - untracked
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: b27c4da75c8684c5
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        product_id:
          type: integer
        purchase_availability:
          description: |-
            Product's availability to purchase in new orders

            * `available` - Available
            * `unavailable` - Unavailable
          enum:
            - available
            - unavailable
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: c3aa4eaf80db200b
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          type: array
        title:
          readOnly: true
          type: string
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        variant_attribute_values:
          items:
            $ref: '#/components/schemas/ProductVariantAttributeValue'
          type: array
      required:
        - date_created
        - date_updated
        - id
        - images
        - product_id
        - title
        - unit_cost
      type: object
    ProductVariantAttribute:
      properties:
        code:
          maxLength: 128
          pattern: ^[a-zA-Z_][0-9a-zA-Z_]*$
          readOnly: true
          type: string
        name:
          maxLength: 128
          type: string
        values:
          items:
            type: string
          type: array
      required:
        - code
        - name
        - values
      type: object
    ProductVariantAttributeValue:
      properties:
        code:
          readOnly: true
          type: string
        name:
          type: string
        value:
          type: string
      required:
        - code
        - name
        - value
      type: object
    PublicApp:
      properties:
        client_id:
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        name:
          maxLength: 255
          type: string
        settings:
          oneOf:
            - {}
            - type: 'null'
        updated_at:
          format: date-time
          readOnly: true
          type: string
        version:
          type:
            - string
            - 'null'
      required:
        - created_at
        - name
        - updated_at
      type: object
    Refund:
      properties:
        adjustments:
          items:
            $ref: '#/components/schemas/RefundAdjustment'
          type: array
        created_at:
          format: date-time
          type: string
        id:
          readOnly: true
          type: integer
        note:
          type:
            - string
            - 'null'
        order_number:
          type: string
        refund_line_items:
          items:
            $ref: '#/components/schemas/RefundLine'
          type: array
        report_values:
          allOf:
            - $ref: '#/components/schemas/RefundReportValue'
          readOnly: true
        total_refund_amount:
          description: Sum of all successful transaction amounts
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_return_excl_tax:
          description: Sum of lines and adjustments values excluding tax.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_return_incl_tax:
          description: Sum of lines and adjustments values including tax.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/TransactionObject'
          type: array
        user_id:
          readOnly: true
          type: integer
      required:
        - adjustments
        - id
        - order_number
        - refund_line_items
        - report_values
        - total_refund_amount
        - total_return_excl_tax
        - total_return_incl_tax
        - transactions
        - user_id
      type: object
    RefundAdjustment:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        id:
          readOnly: true
          type: integer
        report_values:
          allOf:
            - $ref: '#/components/schemas/RefundAdjustmentReportValue'
          readOnly: true
        type:
          description: |-
            * `refund_shipping` - Refund Shipping
            * `refund_discrepancy` - Refund Discrepancy
          enum:
            - refund_shipping
            - refund_discrepancy
          type: string
          x-spec-enum-id: 1bc4eac94a84cc0a
      required:
        - id
        - report_values
        - type
      type: object
    RefundAdjustmentReportValue:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
      required:
        - amount_excl_tax
        - amount_incl_tax
        - currency
      type: object
    RefundLine:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        id:
          readOnly: true
          type: integer
        line_item_id:
          readOnly: true
          type: integer
        location_id:
          readOnly: true
          type: integer
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        report_values:
          allOf:
            - $ref: '#/components/schemas/RefundLineReportValue'
          readOnly: true
        restock_type:
          description: |-
            * `cancel` - Cancel
            * `no_restock` - No Restock
            * `return` - Return
          enum:
            - cancel
            - no_restock
            - return
          type: string
          x-spec-enum-id: fdd1ffe20f0e32e5
      required:
        - amount_excl_tax
        - amount_incl_tax
        - id
        - line_item_id
        - location_id
        - quantity
        - report_values
      type: object
    RefundLineReportValue:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        amount_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
      required:
        - amount_excl_tax
        - amount_incl_tax
        - currency
      type: object
    RefundLineRequest:
      properties:
        line_id:
          type: integer
        quantity:
          minimum: 0
          type: integer
        restock_type:
          description: |2-

                For physical products:
                    - Unfulfilled: restock_type must be cancel
                    - Fulfilled: restock_type can be no_restock or return

                For digital products:
                    - Unfulfilled: restock_type must be cancel
                    - Fulfilled: restock_type must be no_restock

                If restock_type is not provided in the calculate endpoint, the system will infer it based on quantity.
                You can then use the inferred value in the orderRefundCreate endpoint.


            * `cancel` - Cancel
            * `no_restock` - No Restock
            * `return` - Return
          enum:
            - cancel
            - no_restock
            - return
          type: string
          x-spec-enum-id: fdd1ffe20f0e32e5
      required:
        - line_id
        - quantity
      type: object
    RefundOrder:
      properties:
        note:
          type: string
        refund_lines:
          items:
            $ref: '#/components/schemas/CreateRefundLineRequest'
          type: array
        refund_shipping:
          $ref: '#/components/schemas/RefundShippingRequest'
        send_refund_notification:
          default: true
          type: boolean
        transactions:
          items:
            $ref: '#/components/schemas/RefundTransactionRequest'
          type: array
      required:
        - transactions
      type: object
    RefundReportValue:
      properties:
        currency:
          readOnly: true
          type: string
        total_refund_amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_return_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_return_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
      required:
        - currency
        - total_refund_amount
        - total_return_excl_tax
        - total_return_incl_tax
      type: object
    RefundShippingRequest:
      properties:
        amount_excl_tax:
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          type: string
        full_refund:
          default: false
          type: boolean
      type: object
    RefundTransaction:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,7}(?:\.\d{0,2})?$
          type: string
        is_external:
          default: false
          type: boolean
        send_refund_notification:
          default: true
          type: boolean
      required:
        - amount
      type: object
    RefundTransactionRequest:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        id:
          type: integer
        is_external:
          default: false
          type: boolean
      required:
        - amount
        - id
      type: object
    ResolveDispute:
      properties:
        create_external_refund:
          type:
            - boolean
            - 'null'
        resolution:
          description: |-
            * `could_not_find_order` - Transaction Not found
            * `declined_or_canceled_nothing_to_do` - Nothing To Do
            * `issued_full_refund` - Issued Full Refund
            * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
            * `3ds_authorized_successfully` - Transaction 3DS Authorized
            * `previously_refunded_nothing_to_do` - Previously Refunded
            * `unable_to_refund_merchant_account_closed` - Unable to Refund
            * `won` - Won
            * `lost` - Lost
            * `accepted` - Accepted
            * `other` - Other
          enum:
            - could_not_find_order
            - declined_or_canceled_nothing_to_do
            - issued_full_refund
            - issued_refund_for_remaining_amount
            - 3ds_authorized_successfully
            - previously_refunded_nothing_to_do
            - unable_to_refund_merchant_account_closed
            - won
            - lost
            - accepted
            - other
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 8848f3a079993862
        resolution_other_message:
          title: Other Message
          type:
            - string
            - 'null'
      type: object
    ResponseCreateGiftCard:
      properties:
        balance:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type:
            - string
            - 'null'
        code:
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          type: string
        currency:
          maxLength: 12
          type: string
        disabled_at:
          format: date-time
          type:
            - string
            - 'null'
        expired_at:
          format: date-time
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        initial:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        last_four:
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - currency
        - id
        - initial
        - last_four
        - updated_at
        - user
      type: object
    ResponseGiftCard:
      properties:
        balance:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          type: string
        currency:
          maxLength: 12
          type: string
        disabled_at:
          format: date-time
          type:
            - string
            - 'null'
        expired_at:
          format: date-time
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        initial:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        last_four:
          readOnly: true
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - currency
        - id
        - initial
        - last_four
        - updated_at
        - user
      type: object
    ResumeSubscription:
      properties:
        next_renewal_date:
          description: 'Date for the next rebill to reactivate the subscription (format: YYYY-MM-DD). Must be a future date.'
          format: date
          type: string
      required:
        - next_renewal_date
      type: object
    RetrySubscription:
      properties:
        payment_gateway:
          type:
            - integer
            - 'null'
      type: object
    ShippingAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        first_name:
          description: The first name of the address.
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        last_name:
          description: The last name of the address.
          maxLength: 255
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        notes:
          description: Tell us anything we should know when delivering your order.
          title: Instructions
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/Province
          type: string
      required:
        - country
        - first_name
        - id
        - last_name
        - line1
        - line4
        - phone_number
      type: object
    ShippingMethod:
      properties:
        code:
          description: If left empty, a code name will be generated based on the name of the shipping method.
          maxLength: 128
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
        countries:
          items:
            $ref: '#/components/schemas/Country'
          type: array
        delivery_time:
          description: Shows in checkout, example value should be "3-5 days".
          maxLength: 128
          type: string
        description:
          type: string
        id:
          readOnly: true
          type: integer
        is_public:
          description: Only public shipping methods are shown in the checkout flow.
          type: boolean
        name:
          maxLength: 128
          type: string
        prices:
          items:
            $ref: '#/components/schemas/ShippingMethodPrices'
          readOnly: true
          type: array
      required:
        - countries
        - id
        - name
        - prices
      type: object
    ShippingMethodObject:
      properties:
        code:
          type: string
        name:
          type: string
      required:
        - code
        - name
      type: object
    ShippingMethodPrices:
      properties:
        currency:
          description: Currency to apply this pricing.
          maxLength: 5
          type: string
        price_per_order:
          description: Shipping fee for the order.
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
      required:
        - currency
      type: object
    StockRecord:
      properties:
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        location:
          allOf:
            - $ref: '#/components/schemas/Location'
          readOnly: true
        low_stock_threshold:
          maximum: 2147483647
          minimum: 0
          type: integer
        net_stock_level:
          readOnly: true
          type: integer
        num_allocated:
          maximum: 2147483647
          minimum: -2147483648
          title: Number allocated
          type:
            - integer
            - 'null'
        num_in_stock:
          maximum: 2147483647
          minimum: -2147483648
          title: Number in stock
          type:
            - integer
            - 'null'
        product:
          allOf:
            - $ref: '#/components/schemas/StockRecordProduct'
          readOnly: true
      required:
        - date_created
        - date_updated
        - id
        - location
        - net_stock_level
        - product
      type: object
    StockRecordProduct:
      properties:
        id:
          readOnly: true
          type: integer
        sku:
          readOnly: true
          type: string
        title:
          readOnly: true
          type: string
        variant_id:
          readOnly: true
          type: integer
        variant_title:
          readOnly: true
          type: string
      required:
        - id
        - sku
        - title
        - variant_id
        - variant_title
      type: object
    Stockrecord:
      properties:
        id:
          readOnly: true
          type: integer
        low_stock_threshold:
          maximum: 2147483647
          minimum: 0
          type: integer
        num_allocated:
          maximum: 2147483647
          minimum: -2147483648
          title: Number allocated
          type:
            - integer
            - 'null'
        num_in_stock:
          maximum: 2147483647
          minimum: -2147483648
          title: Number in stock
          type:
            - integer
            - 'null'
        partner_sku:
          title: SKU
          type:
            - string
            - 'null'
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type:
            - string
            - 'null'
        price_currency:
          title: Currency
          type:
            - string
            - 'null'
        price_retail:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Price (retail)
          type:
            - string
            - 'null'
      required:
        - id
      type: object
    StockrecordLocation:
      properties:
        id:
          readOnly: true
          type: integer
        location_id:
          type: integer
        low_stock_threshold:
          maximum: 2147483647
          minimum: 0
          type: integer
        num_allocated:
          readOnly: true
          title: Number allocated
          type:
            - integer
            - 'null'
        num_in_stock:
          maximum: 2147483647
          minimum: -2147483648
          title: Number in stock
          type:
            - integer
            - 'null'
      required:
        - id
        - location_id
        - num_allocated
      type: object
    Store:
      properties:
        available_currencies:
          items:
            $ref: '#/components/schemas/Currency'
          readOnly: true
          type: array
        available_languages:
          items:
            $ref: '#/components/schemas/AvailableLanguages'
          readOnly: true
          type: array
        contact_address:
          allOf:
            - $ref: '#/components/schemas/ContactAddress'
          readOnly: true
        name:
          readOnly: true
          type: string
        payments:
          allOf:
            - $ref: '#/components/schemas/Payment'
          readOnly: true
        primary_domain:
          readOnly: true
          type: string
        tagline:
          readOnly: true
          type: string
        tax_id:
          readOnly: true
          type: string
        timezone:
          readOnly: true
          type: string
      required:
        - available_currencies
        - available_languages
        - contact_address
        - name
        - payments
        - primary_domain
        - tagline
        - tax_id
        - timezone
      type: object
    Subscription:
      properties:
        attribution:
          $ref: '#/components/schemas/MarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        cancel_reason:
          readOnly: true
          type: string
        cancel_reason_other_message:
          readOnly: true
          type:
            - string
            - 'null'
        currency:
          readOnly: true
          type: string
        date_created:
          format: date-time
          readOnly: true
          type: string
        frequency:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
          type: string
          x-spec-enum-id: b47bd58ee0e62834
        interval_count:
          minimum: 1
          type: integer
        is_tax_known:
          deprecated: true
          readOnly: true
          type: boolean
        is_test:
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/SubscriptionLine'
          readOnly: true
          type: array
        next_renewal_date:
          format: date-time
          type:
            - string
            - 'null'
        num_lines:
          readOnly: true
          type: integer
        num_orders:
          readOnly: true
          type: integer
        orders:
          items:
            $ref: '#/components/schemas/SubscriptionOrder'
          readOnly: true
          type: array
        payment_details:
          additionalProperties: {}
          readOnly: true
          type: object
        payment_method:
          readOnly: true
          type: string
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          maxLength: 128
          type: string
        shipping_price:
          readOnly: true
          type: string
        status:
          description: |-
            * `active` - Active
            * `past_due` - Past Due
            * `canceled` - Canceled
            * `retrying` - Retrying
            * `paused` - Paused
          enum:
            - active
            - past_due
            - canceled
            - retrying
            - paused
          type: string
          x-spec-enum-id: 99133723086a4290
        total:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - attribution
        - cancel_reason
        - cancel_reason_other_message
        - currency
        - date_created
        - frequency
        - id
        - is_tax_known
        - lines
        - num_lines
        - num_orders
        - orders
        - payment_details
        - payment_method
        - shipping_price
        - total
        - user
      type: object
    SubscriptionDetail:
      properties:
        attribution:
          $ref: '#/components/schemas/MarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        cancel_reason:
          readOnly: true
          type: string
        cancel_reason_other_message:
          readOnly: true
          type:
            - string
            - 'null'
        currency:
          readOnly: true
          type: string
        date_created:
          format: date-time
          readOnly: true
          type: string
        frequency:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
          type: string
          x-spec-enum-id: b47bd58ee0e62834
        interval_count:
          minimum: 1
          type: integer
        is_test:
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/SubscriptionLine'
          readOnly: true
          type: array
        next_renewal_date:
          format: date-time
          type:
            - string
            - 'null'
        num_lines:
          readOnly: true
          type: integer
        num_orders:
          readOnly: true
          type: integer
        orders:
          items:
            $ref: '#/components/schemas/SubscriptionOrder'
          readOnly: true
          type: array
        paused_at:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        paused_until:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        payment_details:
          additionalProperties: {}
          readOnly: true
          type: object
        payment_method:
          readOnly: true
          type: string
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          maxLength: 128
          type: string
        shipping_price:
          readOnly: true
          type: string
        status:
          description: |-
            * `active` - Active
            * `past_due` - Past Due
            * `canceled` - Canceled
            * `retrying` - Retrying
            * `paused` - Paused
          enum:
            - active
            - past_due
            - canceled
            - retrying
            - paused
          type: string
          x-spec-enum-id: 99133723086a4290
        total:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
      required:
        - attribution
        - cancel_reason
        - cancel_reason_other_message
        - currency
        - date_created
        - frequency
        - id
        - lines
        - num_lines
        - num_orders
        - orders
        - paused_at
        - paused_until
        - payment_details
        - payment_method
        - shipping_price
        - total
        - user
      type: object
    SubscriptionLine:
      properties:
        id:
          readOnly: true
          type: integer
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        product_id:
          readOnly: true
          type: integer
        product_image:
          format: uri
          readOnly: true
          type: string
        product_title:
          readOnly: true
          type: string
        product_url:
          format: uri
          readOnly: true
          type: string
        properties:
          items:
            $ref: '#/components/schemas/LineAttribute'
          readOnly: true
          type: array
        quantity:
          maximum: 2147483647
          minimum: 0
          type: integer
        sku:
          readOnly: true
          type: string
        variant_id:
          readOnly: true
          type: integer
        variant_title:
          readOnly: true
          type: string
      required:
        - id
        - price
        - product_id
        - product_image
        - product_title
        - product_url
        - properties
        - sku
        - variant_id
        - variant_title
      type: object
    SubscriptionOrder:
      properties:
        billing_cycle:
          readOnly: true
          type: integer
        order_number:
          readOnly: true
          type: string
      required:
        - billing_cycle
        - order_number
      type: object
    SubscriptionPaymentDetail:
      properties:
        card_token:
          type:
            - string
            - 'null'
        external_payment_method:
          type:
            - string
            - 'null'
        payment_gateway:
          type:
            - integer
            - 'null'
        recache_card_cvv:
          type:
            - integer
            - 'null'
        statement_descriptor:
          description: 'Statement descriptor supports up to 22 alphanumeric characters, spaces, and these special characters: & , . - #.'
          type:
            - string
            - 'null'
      type: object
    SubscriptionTransaction:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_available_for_refund:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        attribution:
          allOf:
            - $ref: '#/components/schemas/MarketingAttribution'
          readOnly: true
        auth_code:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        external_id:
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        initiator:
          allOf:
            - $ref: '#/components/schemas/Agent'
          readOnly: true
        is_disputed:
          type: boolean
        is_external:
          type: boolean
        is_test:
          type:
            - boolean
            - 'null'
        network_transaction_id:
          type:
            - string
            - 'null'
        order:
          type:
            - string
            - 'null'
        parent_id:
          description: |
            The ID of an associated transaction.
            - For capture transactions, the parent is the authorization transaction. 
            - For void transactions, the parent is the authorization transaction. 
            - For refund transactions, the parent is the debit transaction. 
          readOnly: true
          type:
            - integer
            - 'null'
        payment_details:
          allOf:
            - $ref: '#/components/schemas/TransactionPaymentDetail'
          readOnly: true
        payment_method:
          type:
            - string
            - 'null'
        report_values:
          allOf:
            - $ref: '#/components/schemas/TransactionReportValues'
          readOnly: true
        response_code:
          type: integer
        statement_descriptor:
          type:
            - string
            - 'null'
        status:
          description: |-
            * `succeeded` - Succeeded
            * `failed` - Failed
          enum:
            - succeeded
            - failed
            - ''
          type: string
          x-spec-enum-id: a6661c405ff6d2ee
        subscription:
          allOf:
            - $ref: '#/components/schemas/TransactionSubscription'
          readOnly: true
        type:
          type: string
        user:
          $ref: '#/components/schemas/UserInline'
      required:
        - amount
        - attribution
        - date_created
        - id
        - initiator
        - order
        - parent_id
        - payment_details
        - report_values
        - response_code
        - subscription
        - type
        - user
      type: object
    TaxPriceBreakdown:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        rate:
          format: double
          type: number
        report_values:
          allOf:
            - $ref: '#/components/schemas/TaxPriceBreakdownReportValueSeraizlier'
          readOnly: true
        source:
          readOnly: true
          type: string
        tax_id:
          type: integer
        tax_title:
          readOnly: true
          type: string
      required:
        - amount
        - currency
        - rate
        - report_values
        - source
        - tax_id
        - tax_title
      type: object
    TaxPriceBreakdownReportValueSeraizlier:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
      required:
        - amount
        - currency
      type: object
    TaxReportValueSeraizlier:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
      required:
        - amount
        - currency
      type: object
    TaxSerailizer:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        currency:
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        rate:
          format: double
          readOnly: true
          type: number
        report_values:
          allOf:
            - $ref: '#/components/schemas/TaxReportValueSeraizlier'
          readOnly: true
        source:
          type:
            - string
            - 'null'
        tax_title:
          readOnly: true
          type: string
      required:
        - id
        - rate
        - report_values
        - tax_title
      type: object
    Template:
      properties:
        content:
          type: string
        file:
          format: uri
          title: Upload File
          type: string
        name:
          description: 'Example: ''flatpages/default.html'''
          maxLength: 256
          type: string
        theme:
          type:
            - integer
            - 'null'
      required:
        - name
        - theme
      type: object
    Theme:
      properties:
        active:
          type: boolean
        id:
          readOnly: true
          type: integer
        name:
          maxLength: 255
          type: string
      required:
        - id
        - name
      type: object
    Ticket:
      properties:
        assignee:
          type:
            - integer
            - 'null'
        channel:
          description: |-
            * `customer_account` - Customer account
            * `dashboard` - Dashboard
            * `email` - Email
            * `api` - API
            * `follow_up` - Follow up
          enum:
            - customer_account
            - dashboard
            - email
            - api
            - follow_up
          type: string
          x-spec-enum-id: c3aad35666245662
        comments:
          items:
            $ref: '#/components/schemas/TicketComment'
          type: array
        created_at:
          format: date-time
          readOnly: true
          type: string
        from_email:
          description: In case user contact from email and user does not in system yet.
          format: email
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        order:
          readOnly: true
          title: Order number
          type: string
        priority:
          description: |-
            * `high` - High
            * `medium` - Medium
            * `low` - Low
          enum:
            - high
            - medium
            - low
          type: string
          x-spec-enum-id: 2d141e09614b8e57
        products:
          items:
            type: integer
          type: array
        requester:
          type:
            - integer
            - 'null'
        status:
          description: |-
            * `new` - New
            * `open` - Open
            * `pending` - Pending
            * `solved` - Solved
            * `closed` - Closed
          enum:
            - new
            - open
            - pending
            - solved
            - closed
          type: string
          x-spec-enum-id: 30751850e74b0756
        subject:
          type: string
        tags:
          items:
            type: string
          readOnly: true
          type: array
        ticket_type:
          type:
            - integer
            - 'null'
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - comments
        - created_at
        - id
        - order
        - tags
        - updated_at
      type: object
    TicketComment:
      properties:
        attachments:
          items:
            $ref: '#/components/schemas/Attachment'
          type: array
        author:
          type:
            - integer
            - 'null'
        body:
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          type: string
        from_email:
          description: In case user contact from email and user does not in system yet.
          format: email
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        is_public:
          type: boolean
      required:
        - attachments
        - id
      type: object
    TicketType:
      properties:
        id:
          readOnly: true
          type: integer
        name:
          type: string
      required:
        - id
        - name
      type: object
    TrackingInfo:
      properties:
        carrier:
          description: |-
            * `4px` - 4px
            * `amazon` - amazon
            * `aramex` - aramex
            * `asendia` - asendia
            * `australia_post` - australia_post
            * `china_post` - china_post
            * `cirro` - cirro
            * `deutsche_de` - deutsche_de
            * `dhl` - dhl
            * `dhl_ecommerce` - dhl_ecommerce
            * `dor` - dor
            * `dpd` - dpd
            * `emile_express` - emile_express
            * `fedex` - fedex
            * `firstmile` - firstmile
            * `gls` - gls
            * `gofo_express` - gofo_express
            * `hermesworld_uk` - hermesworld_uk
            * `hua_han` - hua_han
            * `jt_express` - jt_express
            * `jy_express` - jy_express
            * `myhermes` - myhermes
            * `ontrac` - ontrac
            * `other` - other
            * `postnl` - postnl
            * `royal_mail` - royal_mail
            * `sfyd_express` - sfyd_express
            * `shipx` - shipx
            * `speedx` - speedx
            * `speedy` - speedy
            * `sunyou` - sunyou
            * `swiftx` - swiftx
            * `swiss_post` - swiss_post
            * `ts_express` - ts_express
            * `ulala` - ulala
            * `united_delivery_service` - united_delivery_service
            * `uniuni` - uniuni
            * `ups` - ups
            * `usps` - usps
            * `ysd_post` - ysd_post
            * `yunexpress` - yunexpress
          enum:
            - 4px
            - amazon
            - aramex
            - asendia
            - australia_post
            - china_post
            - cirro
            - deutsche_de
            - dhl
            - dhl_ecommerce
            - dor
            - dpd
            - emile_express
            - fedex
            - firstmile
            - gls
            - gofo_express
            - hermesworld_uk
            - hua_han
            - jt_express
            - jy_express
            - myhermes
            - ontrac
            - other
            - postnl
            - royal_mail
            - sfyd_express
            - shipx
            - speedx
            - speedy
            - sunyou
            - swiftx
            - swiss_post
            - ts_express
            - ulala
            - united_delivery_service
            - uniuni
            - ups
            - usps
            - ysd_post
            - yunexpress
          type: string
          x-spec-enum-id: c0cf6bc6e54c4dfa
        carrier_other_name:
          type:
            - string
            - 'null'
        tracking_code:
          type:
            - string
            - 'null'
        tracking_link:
          format: uri
          type:
            - string
            - 'null'
      required:
        - carrier
      type: object
    Transaction:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_available_for_refund:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        attribution:
          allOf:
            - $ref: '#/components/schemas/MarketingAttribution'
          readOnly: true
        auth_code:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        external_id:
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        initiator:
          allOf:
            - $ref: '#/components/schemas/Agent'
          readOnly: true
        is_disputed:
          type: boolean
        is_external:
          type: boolean
        is_test:
          type:
            - boolean
            - 'null'
        network_transaction_id:
          type:
            - string
            - 'null'
        order:
          type:
            - string
            - 'null'
        parent_id:
          description: |
            The ID of an associated transaction.
            - For capture transactions, the parent is the authorization transaction. 
            - For void transactions, the parent is the authorization transaction. 
            - For refund transactions, the parent is the debit transaction. 
          readOnly: true
          type:
            - integer
            - 'null'
        payment_details:
          allOf:
            - $ref: '#/components/schemas/TransactionPaymentDetail'
          readOnly: true
        payment_method:
          type:
            - string
            - 'null'
        report_values:
          allOf:
            - $ref: '#/components/schemas/TransactionReportValues'
          readOnly: true
        response_code:
          type: integer
        statement_descriptor:
          type:
            - string
            - 'null'
        status:
          description: |-
            * `succeeded` - Succeeded
            * `failed` - Failed
          enum:
            - succeeded
            - failed
            - ''
          type: string
          x-spec-enum-id: a6661c405ff6d2ee
        subscription:
          allOf:
            - $ref: '#/components/schemas/TransactionSubscription'
          readOnly: true
        type:
          type: string
        user:
          $ref: '#/components/schemas/UserInline'
      required:
        - amount
        - attribution
        - date_created
        - id
        - initiator
        - order
        - parent_id
        - payment_details
        - report_values
        - response_code
        - subscription
        - type
        - user
      type: object
    TransactionList:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        amount_available_for_refund:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        attribution:
          allOf:
            - $ref: '#/components/schemas/MarketingAttribution'
          readOnly: true
        auth_code:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        external_id:
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        initiator:
          allOf:
            - $ref: '#/components/schemas/Agent'
          readOnly: true
        is_disputed:
          type: boolean
        is_external:
          type: boolean
        network_transaction_id:
          type:
            - string
            - 'null'
        order:
          type:
            - string
            - 'null'
        parent_id:
          description: |
            The ID of an associated transaction.
            - For capture transactions, the parent is the authorization transaction. 
            - For void transactions, the parent is the authorization transaction. 
            - For refund transactions, the parent is the debit transaction. 
          readOnly: true
          type:
            - integer
            - 'null'
        payment_details:
          allOf:
            - $ref: '#/components/schemas/TransactionPaymentDetail'
          readOnly: true
        payment_method:
          type:
            - string
            - 'null'
        response_code:
          type: integer
        status:
          description: |-
            * `succeeded` - Succeeded
            * `failed` - Failed
          enum:
            - succeeded
            - failed
            - ''
          type: string
          x-spec-enum-id: a6661c405ff6d2ee
        subscription:
          allOf:
            - $ref: '#/components/schemas/TransactionSubscription'
          readOnly: true
        type:
          type: string
        user:
          $ref: '#/components/schemas/UserInline'
      required:
        - amount
        - attribution
        - date_created
        - id
        - initiator
        - order
        - parent_id
        - payment_details
        - response_code
        - subscription
        - type
        - user
      type: object
    TransactionObject:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        auth_code:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        date_created:
          format: date-time
          readOnly: true
          type: string
        external_id:
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        is_disputed:
          type: boolean
        is_external:
          type: boolean
        is_initial_retry:
          type:
            - boolean
            - 'null'
        is_test:
          type:
            - boolean
            - 'null'
        network_transaction_id:
          type:
            - string
            - 'null'
        parent_id:
          description: |2-

                The ID of an associated transaction.
                - For capture transactions, the parent is the authorization transaction.
                - For void transactions, the parent is the authorization transaction.
                - For refund transactions, the parent is the debit transaction.
                    
          readOnly: true
          type:
            - integer
            - 'null'
        payment_details:
          allOf:
            - $ref: '#/components/schemas/TransactionPaymentDetail'
          readOnly: true
        payment_method:
          type:
            - string
            - 'null'
        report_values:
          allOf:
            - $ref: '#/components/schemas/TransactionReportValues'
          readOnly: true
        response_code:
          type: integer
        statement_descriptor:
          type:
            - string
            - 'null'
        status:
          description: |-
            * `succeeded` - Succeeded
            * `failed` - Failed
          enum:
            - succeeded
            - failed
            - ''
          type: string
          x-spec-enum-id: a6661c405ff6d2ee
        type:
          type: string
      required:
        - amount
        - date_created
        - id
        - parent_id
        - payment_details
        - report_values
        - response_code
        - type
      type: object
    TransactionPaymentDetail:
      properties:
        bankcard_first_six:
          readOnly: true
          title: First Six
          type:
            - string
            - 'null'
        bankcard_last_four:
          readOnly: true
          title: Last four
          type:
            - string
            - 'null'
        card_token:
          readOnly: true
          type: string
        gateway:
          allOf:
            - $ref: '#/components/schemas/TransactionPaymentDetailGateway'
          readOnly: true
        is_3ds:
          readOnly: true
          type: boolean
        optimized_3ds:
          readOnly: true
          type: boolean
        paypal_vault_id:
          readOnly: true
          type: string
        sca_flow:
          type: string
      required:
        - bankcard_first_six
        - bankcard_last_four
        - card_token
        - gateway
        - is_3ds
        - optimized_3ds
        - paypal_vault_id
        - sca_flow
      type: object
    TransactionPaymentDetailGateway:
      properties:
        id:
          type: integer
        is_next_payments:
          readOnly: true
          type: boolean
        name:
          type: string
        type:
          type: string
      required:
        - id
        - is_next_payments
        - name
        - type
      type: object
    TransactionReportValues:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
      required:
        - amount
        - currency
      type: object
    TransactionSubscription:
      properties:
        billing_cycle:
          readOnly: true
          type:
            - integer
            - 'null'
        id:
          readOnly: true
          type: integer
      required:
        - billing_cycle
        - id
      type: object
    UpdateCart:
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        id:
          readOnly: true
          type: integer
        lines:
          items:
            $ref: '#/components/schemas/CreateOrderLine'
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        vouchers:
          items:
            type: string
          type:
            - array
            - 'null'
          writeOnly: true
      required:
        - id
        - lines
      type: object
    UpdateDefinition:
      properties:
        enable_export:
          default: false
          type: boolean
        enable_filter:
          default: false
          type: boolean
        name:
          maxLength: 255
          type: string
        object:
          description: |-
            Source object this metadata is linked to.

            * `attribution` - Attribution
            * `customer` - Customer
            * `dispute` - Dispute
            * `line` - Line Item
            * `order` - Order
            * `product` - Product
            * `variant` - Variant
            * `blog` - Blog
            * `page` - Page
          enum:
            - attribution
            - customer
            - dispute
            - line
            - order
            - product
            - variant
            - blog
            - page
          type: string
          x-spec-enum-id: 06e58adfbb02ad1f
        validations:
          items:
            $ref: '#/components/schemas/Validation'
          type: array
      required:
        - name
        - object
      type: object
    UpdateOrder:
      properties:
        attribution:
          $ref: '#/components/schemas/CreateMarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_placed:
          format: date-time
          readOnly: true
          type: string
        display_taxes:
          readOnly: true
          type: string
        fulfillment_status:
          description: |-
            The order's status in terms of fulfillment.

            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          enum:
            - not_required
            - unfulfilled
            - on_hold
            - rejected
            - processing
            - fulfilled
            - incomplete
          type: string
          x-spec-enum-id: f7a016fc10fb8390
        fulfillments:
          items:
            $ref: '#/components/schemas/Fulfillment'
          readOnly: true
          type: array
        is_test:
          readOnly: true
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/OrderLineDetail'
          readOnly: true
          type: array
        metadata:
          description: Additional order metadata.
          oneOf:
            - {}
            - type: 'null'
        number:
          readOnly: true
          title: Order number
          type: string
        offer_discounts:
          items:
            $ref: '#/components/schemas/OrderOfferDiscount'
          readOnly: true
          type: array
        order_status_url:
          format: uri
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        payment_status:
          description: |-
            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          enum:
            - pending
            - authorized
            - expiring
            - expired
            - paid
            - voided
            - refunded
            - partially_paid
            - partially_refunded
            - partially_voided
          readOnly: true
          type: string
          x-spec-enum-id: 4ddf29c57b2eb8f6
        refunds:
          items:
            $ref: '#/components/schemas/Refund'
          readOnly: true
          type: array
        report_values:
          allOf:
            - $ref: '#/components/schemas/OrderReportValues'
          readOnly: true
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (excl. tax)
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (inc. tax)
          type: string
        shipping_method:
          readOnly: true
          type: string
        shipping_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        source:
          readOnly: true
          type: string
        status:
          description: The order's overall status.
          maxLength: 100
          type: string
        subscription_lifecycle:
          readOnly: true
          type: string
        subscriptions:
          items:
            $ref: '#/components/schemas/OrderSubscription'
          readOnly: true
          type: array
        supports_post_purchase_upsells:
          readOnly: true
          type: boolean
        tags:
          description: An array of tags associated with the order.
          items:
            type:
              - string
              - 'null'
          type: array
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxSerailizer'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (excl. tax)
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (inc. tax)
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/TransactionObject'
          readOnly: true
          type: array
        updated_at:
          format: date-time
          readOnly: true
          type: string
        user:
          allOf:
            - $ref: '#/components/schemas/UserInline'
          readOnly: true
        voucher_discounts:
          items:
            $ref: '#/components/schemas/OrderVoucherOffer'
          readOnly: true
          type: array
      required:
        - created_at
        - currency
        - date_placed
        - display_taxes
        - fulfillments
        - is_test
        - lines
        - number
        - offer_discounts
        - order_status_url
        - original_shipping_excl_tax
        - original_shipping_incl_tax
        - original_total_excl_tax
        - original_total_incl_tax
        - payment_status
        - refunds
        - report_values
        - shipping_code
        - shipping_excl_tax
        - shipping_incl_tax
        - shipping_method
        - shipping_tax
        - shipping_tax_lines
        - source
        - subscription_lifecycle
        - subscriptions
        - supports_post_purchase_upsells
        - tax_lines
        - total_cost
        - total_excl_tax
        - total_incl_tax
        - total_tax
        - transactions
        - updated_at
        - user
        - voucher_discounts
      type: object
    UpdatePriceWithCurrency:
      properties:
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        retail:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Price (retail)
          type:
            - string
            - 'null'
        subscription:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Subscription Price
          type:
            - string
            - 'null'
        subscription_suggested_downsell:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Suggested Downsell Price
          type:
            - string
            - 'null'
      required:
        - price
      type: object
    UpdateProduct:
      properties:
        categories:
          deprecated: true
          items:
            type: integer
          type: array
        date_created:
          format: date-time
          readOnly: true
          type: string
        date_updated:
          format: date-time
          readOnly: true
          type: string
        description:
          type: string
        enable_subscription:
          type: boolean
        external_tax_code:
          description: Tax code to be used with external tax systems such as Avalara, TaxJar.
          title: Tax Code
          type:
            - string
            - 'null'
        id:
          readOnly: true
          type: integer
        images:
          items:
            $ref: '#/components/schemas/ProductImage'
          readOnly: true
          type: array
        interval:
          description: |-
            * `day` - Day
            * `week` - Week
            * `month` - Month
            * `year` - Year
          enum:
            - day
            - week
            - month
            - year
            - ''
            - null
          title: Subscription Interval
          type:
            - string
            - 'null'
          x-spec-enum-id: b47bd58ee0e62834
        interval_counts:
          description: Choose a predefined value or type to enter custom value(s).
          items:
            maximum: 2147483647
            minimum: -2147483648
            type: integer
          title: Interval Count Options
          type:
            - array
            - 'null'
        is_discountable:
          description: This flag indicates if this product can be used in an offer or not
          title: Is discountable?
          type: boolean
        is_public:
          description: Show this product in search results and catalogue listings.
          type: boolean
        meta_description:
          type:
            - string
            - 'null'
        meta_title:
          type:
            - string
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        ranking:
          description: The highest ranking are shown first
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        rating:
          format: double
          readOnly: true
          type:
            - number
            - 'null'
        recommended_products:
          items:
            type: integer
          type: array
        slug:
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          type: string
        template:
          description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
          title: Theme Template
          type:
            - string
            - 'null'
        title:
          type: string
        url:
          format: uri
          readOnly: true
          type: string
        variant_attributes:
          items:
            $ref: '#/components/schemas/ProductVariantAttribute'
          type: array
        variants:
          items:
            $ref: '#/components/schemas/UpdateProductVariantForProduct'
          type: array
      required:
        - date_created
        - date_updated
        - id
        - images
        - rating
        - slug
        - url
      type: object
    UpdateProductVariant:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        image:
          type:
            - integer
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          readOnly: true
          type: array
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Cost Per Item
          type:
            - string
            - 'null'
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
        variant_attribute_values:
          items:
            $ref: '#/components/schemas/ProductVariantAttributeValue'
          type: array
          writeOnly: true
      required:
        - stockrecords
        - variant_attribute_values
      type: object
    UpdateProductVariantForProduct:
      properties:
        allow_backorders:
          description: Continue selling when out of stock.
          type: boolean
        id:
          type: integer
        image:
          readOnly: true
          type:
            - integer
            - 'null'
        metadata:
          oneOf:
            - {}
            - type: 'null'
        prices:
          items:
            $ref: '#/components/schemas/ProductPrices'
          type: array
        requires_shipping:
          title: Requires shipping?
          type: boolean
        sku:
          description: Stock Keeping Unit
          type:
            - string
            - 'null'
        stockrecords:
          items:
            $ref: '#/components/schemas/StockrecordLocation'
          readOnly: true
          type: array
        track_stock:
          description: Track inventory quantities at fulfillment locations.
          title: Track Stock Levels
          type: boolean
        unit_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          title: Cost Per Item
          type:
            - string
            - 'null'
        upc:
          description: Universal Product Code
          type:
            - string
            - 'null'
      required:
        - id
        - image
        - stockrecords
      type: object
    UpdateSubscriptionLine:
      properties:
        metadata:
          oneOf:
            - {}
            - type: 'null'
        price:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        properties:
          default: {}
          oneOf:
            - {}
            - type: 'null'
        quantity:
          type: integer
      required:
        - quantity
      type: object
    UpdateUser:
      properties:
        accepts_marketing:
          title: Subscribe to Marketing Emails
          type: boolean
        addresses:
          items:
            $ref: '#/components/schemas/UserAddress'
          readOnly: true
          type: array
        date_joined:
          format: date-time
          readOnly: true
          type: string
        email:
          format: email
          type: string
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        ip:
          title: Ip address
          type:
            - string
            - 'null'
        is_blocked:
          default: false
          type: boolean
        language:
          description: |-
            required : E164

            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          enum:
            - en
            - fr
            - th
            - de
            - sv
            - 'no'
            - it
            - es
            - nl
            - pt
            - da
            - fi
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 70ceea9c8488568b
        last_name:
          maxLength: 255
          type: string
        metadata:
          oneOf:
            - {}
            - type: 'null'
        orders_count:
          default: 0
          readOnly: true
          type: integer
        phone_number:
          type:
            - string
            - 'null'
        subscriptions_count:
          readOnly: true
          type: integer
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        total_spent:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user_agent:
          type:
            - string
            - 'null'
        user_type:
          description: 'Available values : customer, lead, dashboard'
          enum:
            - customer
            - lead
            - dashboard
          readOnly: true
          type: string
      required:
        - addresses
        - date_joined
        - id
        - orders_count
        - subscriptions_count
        - total_spent
        - user_type
      type: object
    User:
      properties:
        accepts_marketing:
          title: Subscribe to Marketing Emails
          type: boolean
        addresses:
          items:
            $ref: '#/components/schemas/UserAddress'
          type: array
        date_joined:
          format: date-time
          readOnly: true
          type: string
        email:
          format: email
          type: string
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        ip:
          title: Ip address
          type:
            - string
            - 'null'
        is_blocked:
          default: false
          type: boolean
        language:
          description: |-
            required : E164

            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          enum:
            - en
            - fr
            - th
            - de
            - sv
            - 'no'
            - it
            - es
            - nl
            - pt
            - da
            - fi
            - ''
            - null
          type:
            - string
            - 'null'
          x-spec-enum-id: 70ceea9c8488568b
        last_name:
          maxLength: 255
          type: string
        metadata:
          oneOf:
            - {}
            - type: 'null'
        orders_count:
          default: 0
          readOnly: true
          type: integer
        phone_number:
          type:
            - string
            - 'null'
        subscriptions_count:
          readOnly: true
          type: integer
        tags:
          items:
            type:
              - string
              - 'null'
          type: array
        total_spent:
          default: '0.00'
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        user_agent:
          type:
            - string
            - 'null'
        user_type:
          description: 'Available values : customer, lead, dashboard'
          enum:
            - customer
            - lead
            - dashboard
          readOnly: true
          type: string
      required:
        - date_joined
        - email
        - id
        - orders_count
        - subscriptions_count
        - total_spent
        - user_type
      type: object
    UserAddress:
      properties:
        country:
          description: The address country code.
          title: ISO 3166-1 alpha-2
          type: string
        first_name:
          description: The first name of the address.
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        is_default_for_billing:
          description: Use this address as the default billing address.
          title: Default billing address?
          type: boolean
        is_default_for_shipping:
          description: Use this address as the default shipping address.
          title: Default shipping address?
          type: boolean
        last_name:
          description: The last name of the address.
          maxLength: 255
          type: string
        line1:
          description: The first line of the address.
          maxLength: 255
          title: First line of address
          type: string
        line2:
          description: Optional second line of of the address.
          maxLength: 255
          title: Second line of address
          type: string
        line3:
          description: Optional third line of of the address.
          maxLength: 255
          title: Third line of address
          type: string
        line4:
          description: City of the address.
          maxLength: 255
          title: City
          type: string
        notes:
          description: Tell us anything we should know when delivering your order.
          title: Instructions
          type: string
        phone_number:
          description: The address phone number.
          maxLength: 128
          type: string
        postcode:
          description: The address post code or zip code.
          maxLength: 64
          title: Post/Zip-code
          type: string
        state:
          description: The address state/province.
          maxLength: 255
          title: State/Province
          type: string
      required:
        - country
        - id
        - line1
        - line4
      type: object
    UserInline:
      properties:
        accepts_marketing:
          title: Subscribe to Marketing Emails
          type: boolean
        email:
          format: email
          title: Email address
          type:
            - string
            - 'null'
        first_name:
          maxLength: 255
          type: string
        id:
          readOnly: true
          type: integer
        ip:
          title: Ip address
          type:
            - string
            - 'null'
        language:
          title: Preferred language
          type:
            - string
            - 'null'
        last_name:
          maxLength: 255
          type: string
        phone_number:
          type:
            - string
            - 'null'
        user_agent:
          type:
            - string
            - 'null'
      required:
        - id
      type: object
    UserNote:
      properties:
        app:
          $ref: '#/components/schemas/OAuthApp'
        author:
          $ref: '#/components/schemas/Author'
        created_at:
          format: date-time
          readOnly: true
          type: string
        id:
          readOnly: true
          type: integer
        message:
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
      required:
        - app
        - author
        - created_at
        - id
        - message
        - updated_at
      type: object
    UserOrderInline:
      properties:
        attribution:
          $ref: '#/components/schemas/MarketingAttribution'
        billing_address:
          oneOf:
            - $ref: '#/components/schemas/BillingAddress'
            - type: 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        currency:
          readOnly: true
          type: string
        date_placed:
          format: date-time
          readOnly: true
          type: string
        display_taxes:
          readOnly: true
          type: string
        fulfillment_status:
          description: |-
            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          enum:
            - not_required
            - unfulfilled
            - on_hold
            - rejected
            - processing
            - fulfilled
            - incomplete
          type: string
          x-spec-enum-id: f7a016fc10fb8390
        fulfillments:
          items:
            $ref: '#/components/schemas/FulfillmentResponse'
          readOnly: true
          type: array
        is_test:
          readOnly: true
          type: boolean
        lines:
          items:
            $ref: '#/components/schemas/OrderLine'
          readOnly: true
          type: array
        metadata:
          oneOf:
            - {}
            - type: 'null'
        number:
          readOnly: true
          title: Order number
          type: string
        offer_discounts:
          items:
            $ref: '#/components/schemas/OrderOfferDiscount'
          readOnly: true
          type: array
        order_status_url:
          format: uri
          readOnly: true
          type: string
        original_shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        original_total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        payment_status:
          description: |-
            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          enum:
            - pending
            - authorized
            - expiring
            - expired
            - paid
            - voided
            - refunded
            - partially_paid
            - partially_refunded
            - partially_voided
          readOnly: true
          type: string
          x-spec-enum-id: 4ddf29c57b2eb8f6
        refunds:
          items:
            $ref: '#/components/schemas/Refund'
          readOnly: true
          type: array
        report_values:
          allOf:
            - $ref: '#/components/schemas/OrderReportValues'
          readOnly: true
        shipping_address:
          oneOf:
            - $ref: '#/components/schemas/ShippingAddress'
            - type: 'null'
        shipping_code:
          readOnly: true
          type: string
        shipping_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (excl. tax)
          type: string
        shipping_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Shipping charge (inc. tax)
          type: string
        shipping_method:
          readOnly: true
          type: string
        shipping_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        shipping_tax_lines:
          items:
            $ref: '#/components/schemas/TaxPriceBreakdown'
          readOnly: true
          type: array
        source:
          readOnly: true
          type: string
        status:
          maxLength: 100
          type: string
        subscription_lifecycle:
          readOnly: true
          type: string
        subscriptions:
          items:
            $ref: '#/components/schemas/OrderSubscription'
          readOnly: true
          type: array
        supports_post_purchase_upsells:
          readOnly: true
          type: boolean
        tags:
          description: An array of tags associated with the order.
          items:
            type:
              - string
              - 'null'
          type: array
        tax_lines:
          items:
            $ref: '#/components/schemas/TaxSerailizer'
          readOnly: true
          type: array
        total_cost:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_discount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_excl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (excl. tax)
          type: string
        total_incl_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          title: Order total (inc. tax)
          type: string
        total_outstanding:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        total_tax:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          readOnly: true
          type: string
        transactions:
          items:
            $ref: '#/components/schemas/TransactionObject'
          readOnly: true
          type: array
        updated_at:
          format: date-time
          readOnly: true
          type: string
        voucher_discounts:
          items:
            $ref: '#/components/schemas/OrderVoucherOffer'
          readOnly: true
          type: array
      required:
        - attribution
        - created_at
        - currency
        - date_placed
        - display_taxes
        - fulfillments
        - is_test
        - lines
        - number
        - offer_discounts
        - order_status_url
        - original_shipping_excl_tax
        - original_shipping_incl_tax
        - original_total_discount
        - original_total_excl_tax
        - original_total_incl_tax
        - payment_status
        - refunds
        - report_values
        - shipping_code
        - shipping_excl_tax
        - shipping_incl_tax
        - shipping_method
        - shipping_tax
        - shipping_tax_lines
        - source
        - subscription_lifecycle
        - subscriptions
        - supports_post_purchase_upsells
        - tax_lines
        - total_cost
        - total_discount
        - total_excl_tax
        - total_incl_tax
        - total_outstanding
        - total_tax
        - transactions
        - updated_at
        - voucher_discounts
      type: object
    Validation:
      properties:
        type:
          description: |-
            * `maximum_length` - maximum_length
            * `maximum_value` - maximum_value
            * `minimum_value` - minimum_value
            * `maximum_precision` - maximum_precision
            * `accept_only_image` - accept_only_image
          enum:
            - maximum_length
            - maximum_value
            - minimum_value
            - maximum_precision
            - accept_only_image
          type: string
          x-spec-enum-id: e6e4b370566eb845
        value:
          type: string
      required:
        - type
        - value
      type: object
    VerifyTransaction:
      properties:
        card_token:
          maxLength: 128
          type: string
        currency:
          maxLength: 12
          type: string
        payment_gateway:
          type:
            - integer
            - 'null'
        payment_gateway_group:
          type:
            - integer
            - 'null'
        user:
          $ref: '#/components/schemas/CreateUser'
      required:
        - card_token
        - currency
        - user
      type: object
    VerifyTransactionResponse:
      properties:
        card_token:
          type: string
        preferred_payment_gateway:
          $ref: '#/components/schemas/PreferredPaymentGateway'
        user:
          $ref: '#/components/schemas/CreateUser'
      required:
        - card_token
        - preferred_payment_gateway
        - user
      type: object
    Voucher:
      properties:
        code:
          description: Case insensitive / No spaces allowed
          maxLength: 128
          type: string
        end_datetime:
          format: date-time
          type: string
        name:
          description: This will be shown in the checkout and basket once the coupon is entered
          maxLength: 128
          type: string
        start_datetime:
          format: date-time
          type: string
      required:
        - code
        - end_datetime
        - name
        - start_datetime
      type: object
    VoucherDiscount:
      properties:
        amount:
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
          type: string
        description:
          type: string
        name:
          type: string
        voucher:
          $ref: '#/components/schemas/Voucher'
      required:
        - amount
        - description
        - name
      type: object
    Webhook:
      properties:
        active:
          type: boolean
        api_version:
          type:
            - string
            - 'null'
        created_at:
          format: date-time
          readOnly: true
          type: string
        events:
          description: List of event triggers for the webhook.
          items:
            enum:
              - cart.abandoned
              - customer.created
              - customer.deleted
              - customer.redacted
              - customer.updated
              - dispute.created
              - dispute.updated
              - export.created
              - fulfillment.created
              - fulfillment.updated
              - gateway.created
              - gateway.updated
              - gateway_group.created
              - gateway_group.updated
              - order.created
              - order.updated
              - product.created
              - product.deleted
              - product.updated
              - store.updated
              - subscription.created
              - subscription.updated
              - transaction.created
              - transaction.updated
            type:
              - string
              - 'null'
            x-spec-enum-id: 2fff8156f601ff82
          type: array
        id:
          readOnly: true
          type: integer
        name:
          description: A label to identify this webhook in the list. Maximum 50 characters.
          title: Webhook Name
          type:
            - string
            - 'null'
        next_check_date:
          format: date-time
          readOnly: true
          type:
            - string
            - 'null'
        secret_key:
          type:
            - string
            - 'null'
        target:
          description: Full url for your webhook receiver endpoint.
          format: uri
          maxLength: 255
          title: Webhook target
          type: string
        updated_at:
          format: date-time
          readOnly: true
          type: string
        warning_count:
          readOnly: true
          type: integer
      required:
        - created_at
        - events
        - id
        - next_check_date
        - target
        - updated_at
        - warning_count
      type: object
  securitySchemes:
    oauth2:
      description: 'Generate an [Access Token through **Settings > API Access**](https://developers.nextcommerce.com/docs/admin-api) for single store access or use the [Authorization Code flow with your partner App Client ID](https://developers.nextcommerce.com/docs/apps/oauth). Use required permission scopes for API endpoint access. <br/><br/>**Example** <br/> `Authorization: Bearer 123`'
      flows:
        authorizationCode:
          authorizationUrl: /oauth2/authorize/
          scopes:
            admin:read: Access to list and view all data
            admin:write: Access to create and update all data
            campaigns:read: Access to list and view campaigns
            campaigns:write: Access to create and update campaigns
            carts:read: Access to list and view carts
            carts:write: Access to create and update carts
            catalogue:read: Access to list and view catalogue related objects
            catalogue:write: Access to create and update catalogue related objects
            content:read: Access to list and view storefront content related objects
            content:write: Access to create and update storefront content related objects
            disputes:read: Access to list and view disputes
            disputes:write: Access to create and update disputes
            exports:read: Access to list and view all exports
            exports:write: Access to create and update exports
            fulfillment_orders:read: Access to list fulfillment order fulfillment requests
            fulfillment_orders:write: Access to update fulfillment order fulfillment requests
            fulfillment_service:read: Access to list assigned fulfillment orders and own locations
            fulfillment_service:write: Access to create fulfillment locations and fulfillments
            gateways:read: Access to list and view all gateways
            gift_cards:read: Access to list and view all gift cards
            gift_cards:write: Access to create and update gift cards
            locations:read: Access to list and view all locations
            locations:write: Access to create and update locations
            metadata:read: Access to list and view all metadata definitions
            metadata:write: Access to create and update metadata definitions
            orders:read: Access to list and view all orders
            orders:write: Access to create and update orders
            store:read: Access to list and view store
            subscriptions:read: Access to list and view all subscriptions
            subscriptions:write: Access to create and update subscriptions
            themes:read: Access to list and view all themes
            themes:write: Access to create and update themes
            tickets:read: Access to list and view all tickets
            tickets:write: Access to create and update tickets
            transactions:read: Access to list and view all transactions
            transactions:write: Access to create and update transactions
            users:read: Access to list and view all users
            users:write: Access to create and update users
            webhooks:read: Access to list and view all webhooks
            webhooks:write: Access to create and update webhooks
          tokenUrl: /oauth2/token/
      type: oauth2
externalDocs:
  description: See API Introduction Documentation
  url: https://developers.nextcommerce.com/docs/admin-api
info:
  description: |

    ## Authentication
    The Admin API uses Oauth 2 Bearer Access Tokens to manage access to your store's resources. Oauth Apps (and associated access tokens) can be tailored with object-level permission to ensure that each integrated service only has access to necessary objects.

    Before using the Admin API, you'll need to create a store and create an OAuth App necessary for API access.

    To create an OAuth App, navigate to **Settings > API Access** and create a new Oauth App with applicable [permission scopes](https://developers.29next.com/docs/api/admin/permissions/) to retrieve your Access Token.

    It's recommended to create unique Oauth Apps per external system so that you can revoke as needed.

    ## Versioning

    API versioning allows 29 Next to continuously evolve the platform while maintaining predictable behavior for existing APIs with a path for upgrades and deprecations.

    To specify a version, pass the `X-29Next-Api-Version` header with your desired API version.

    ## Rate Limiting

    Admin APIs are rate-limited to maintain the stability and equity of our platform for all users. We employ a number of methods to enforce rate limits including API Access Token and IP Address.

    | Identifier | Rate Limit Method | Limit |
    | ---- | ---- | ---- |
    | Access Token | Request-based | 4 requests/second |

    ### Sample

    The following sample shows the API response for the status code 429.

    ```http
    HTTP/1.1 429 Too Many Requests
    Retry-After: 1
    ```

    ### Why Rate Limits?

    Rate limiting is required to prevent the network and application services from becoming overloaded.

    Setting a rate limit helps to prevent API abuse and provide overall fairness of use across the platform.
  title: Admin API
  version: '2024-04-01'
openapi: 3.1.0
paths:
  /apps/{clientId}/:
    get:
      description: Retrieve a object of app.
      operationId: appsRetrieve
      parameters:
        - in: path
          name: clientId
          required: true
          schema:
            type:
              - string
              - 'null'
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApp'
          description: ''
      security:
        - oauth2: []
      tags:
        - apps
  /apps/{clientId}/settings/:
    delete:
      description: Delete an existing app settings.
      operationId: appsSettingsDestroy
      parameters:
        - in: path
          name: clientId
          required: true
          schema:
            type:
              - string
              - 'null'
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2: []
      tags:
        - apps
    get:
      description: Retrieve a object of all app settings.
      operationId: appsSettingsRetrieve
      parameters:
        - in: path
          name: clientId
          required: true
          schema:
            type:
              - string
              - 'null'
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: {}
                type: object
          description: ''
      security:
        - oauth2: []
      tags:
        - apps
    patch:
      description: Partially update an existing app settings.
      operationId: appsSettingsPartialUpdate
      parameters:
        - in: path
          name: clientId
          required: true
          schema:
            type:
              - string
              - 'null'
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: {}
              type: object
          application/x-www-form-urlencoded:
            schema:
              additionalProperties: {}
              type: object
          multipart/form-data:
            schema:
              additionalProperties: {}
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: {}
                type: object
          description: ''
      security:
        - oauth2: []
      tags:
        - apps
    put:
      description: Update an existing app settings.
      operationId: appsSettingsUpdate
      parameters:
        - in: path
          name: clientId
          required: true
          schema:
            type:
              - string
              - 'null'
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: {}
              type: object
          application/x-www-form-urlencoded:
            schema:
              additionalProperties: {}
              type: object
          multipart/form-data:
            schema:
              additionalProperties: {}
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: {}
                type: object
          description: ''
      security:
        - oauth2: []
      tags:
        - apps
  /assigned-fulfillment-orders/:
    get:
      description: Retrieve assigned fulfillment order requests
      operationId: assignedFulfillmentOrdersList
      parameters:
        - description: Location ID
          in: query
          name: location_id
          schema:
            type: string
        - description: |-
            Assignment Status

            * `fulfillment_unrequested` - Fulfillment Unrequested
            * `fulfillment_requested` - Fulfillment Requested
            * `fulfillment_accepted` - Fulfillment Accepted
            * `cancellation_requested` - Cancellation Requested
          in: query
          name: assignment_status
          schema:
            enum:
              - cancellation_requested
              - fulfillment_accepted
              - fulfillment_requested
              - fulfillment_unrequested
            type: string
            x-spec-enum-id: 5e87a3d9cb8f7ccc
        - description: YYYY-MM-DD
          in: query
          name: date_created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_to
          schema:
            format: date
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFulfillmentOrderList'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
      tags:
        - fulfillment
  /campaigns/:
    get:
      description: List every campaign belonging to the store.
      operationId: campaignsList
      parameters:
        - description: Created on or after this date (YYYY-MM-DD, UTC).
          in: query
          name: created_date_from
          schema:
            format: date
            type: string
        - description: Created on or before this date (YYYY-MM-DD, UTC).
          in: query
          name: created_date_to
          schema:
            format: date
            type: string
        - description: Default currency, as an ISO 4217 code (e.g. USD).
          in: query
          name: currency
          schema:
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - description: Campaign language, as an ISO 639-1 code (e.g. en).
          in: query
          name: language
          schema:
            type: string
        - description: Campaign name contains this text, case-insensitive.
          in: query
          name: name
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: page_size
          required: false
          schema:
            type: integer
        - description: Last updated on or after this date (YYYY-MM-DD, UTC).
          in: query
          name: updated_date_from
          schema:
            format: date
            type: string
        - description: Last updated on or before this date (YYYY-MM-DD, UTC).
          in: query
          name: updated_date_to
          schema:
            format: date
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  next:
                    example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      description: Enough to pick a campaign; its settings live on the detail endpoint.
                      properties:
                        created_at:
                          description: When the campaign was created.
                          format: date-time
                          readOnly: true
                          type: string
                        currency:
                          description: Default currency for orders created through this campaign.
                          maxLength: 3
                          title: Default Currency
                          type: string
                        id:
                          description: Campaign ID, the path parameter on the detail endpoint.
                          readOnly: true
                          type: integer
                        language:
                          description: Preferred language for customers of this campaign.
                          maxLength: 3
                          type: string
                        name:
                          description: Campaign name used internally for reference.
                          maxLength: 200
                          type: string
                        updated_at:
                          description: When the campaign was last updated.
                          format: date-time
                          readOnly: true
                          type: string
                      required:
                        - created_at
                        - currency
                        - id
                        - language
                        - name
                        - updated_at
                      type: object
                    type: array
                required:
                  - results
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    post:
      description: Create a campaign's settings.
      operationId: campaignsCreate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                currency:
                  description: Default currency for orders created through this campaign.
                  maxLength: 3
                  title: Default Currency
                  type: string
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              required:
                - currency
                - language
                - name
                - payment_gateway_group_id
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                currency:
                  description: Default currency for orders created through this campaign.
                  maxLength: 3
                  title: Default Currency
                  type: string
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              required:
                - currency
                - language
                - name
                - payment_gateway_group_id
              type: object
          multipart/form-data:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                currency:
                  description: Default currency for orders created through this campaign.
                  maxLength: 3
                  title: Default Currency
                  type: string
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              required:
                - currency
                - language
                - name
                - payment_gateway_group_id
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  additional_currencies:
                    description: Currencies supported in addition to the default currency.
                    items:
                      maxLength: 3
                      nullable: true
                      type: string
                    nullable: true
                    type: array
                  api_key:
                    description: Key the storefront authenticates against the campaigns API with.
                    readOnly: true
                    type: string
                  available_express_payment_methods:
                    description: Express payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Express payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable express payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_payment_methods:
                    description: Payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_shipping_countries:
                    description: Countries the campaign can ship to.
                    items:
                      properties:
                        code:
                          description: ISO 3166-1 alpha-2 country code.
                          type: string
                        name:
                          description: Country name.
                          type: string
                      required:
                        - code
                        - name
                      type: object
                    readOnly: true
                    type: array
                  created_at:
                    description: When the campaign was created.
                    format: date-time
                    readOnly: true
                    type: string
                  currency:
                    description: Default currency for orders created through this campaign.
                    maxLength: 3
                    title: Default Currency
                    type: string
                  id:
                    description: Campaign ID, the path parameter on this endpoint.
                    readOnly: true
                    type: integer
                  language:
                    description: Preferred language for customers of this campaign.
                    maxLength: 3
                    type: string
                  name:
                    description: Campaign name used internally for reference.
                    maxLength: 200
                    type: string
                  payment_gateway_group_id:
                    description: Payment gateway group used instead of the store default.
                    maximum: 2147483647
                    minimum: 0
                    type: integer
                  payment_gateway_group_name:
                    description: Name of the payment gateway group.
                    maxLength: 200
                    nullable: true
                    type: string
                  paypal_account_id:
                    description: PayPal account used instead of the store default.
                    nullable: true
                    type: integer
                  statement_descriptor:
                    description: Descriptor shown on the customer's card statement.
                    maxLength: 255
                    nullable: true
                    type: string
                  updated_at:
                    description: When the campaign was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - api_key
                  - available_express_payment_methods
                  - available_payment_methods
                  - available_shipping_countries
                  - created_at
                  - currency
                  - id
                  - language
                  - name
                  - payment_gateway_group_id
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/:
    delete:
      description: Delete a campaign's settings.
      operationId: campaignsDestroy
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
    get:
      description: Retrieve a campaign's settings.
      operationId: campaignsRetrieve
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  additional_currencies:
                    description: Currencies supported in addition to the default currency.
                    items:
                      maxLength: 3
                      nullable: true
                      type: string
                    nullable: true
                    type: array
                  api_key:
                    description: Key the storefront authenticates against the campaigns API with.
                    readOnly: true
                    type: string
                  available_express_payment_methods:
                    description: Express payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Express payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable express payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_payment_methods:
                    description: Payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_shipping_countries:
                    description: Countries the campaign can ship to.
                    items:
                      properties:
                        code:
                          description: ISO 3166-1 alpha-2 country code.
                          type: string
                        name:
                          description: Country name.
                          type: string
                      required:
                        - code
                        - name
                      type: object
                    readOnly: true
                    type: array
                  created_at:
                    description: When the campaign was created.
                    format: date-time
                    readOnly: true
                    type: string
                  currency:
                    description: Default currency for orders created through this campaign.
                    maxLength: 3
                    title: Default Currency
                    type: string
                  id:
                    description: Campaign ID, the path parameter on this endpoint.
                    readOnly: true
                    type: integer
                  language:
                    description: Preferred language for customers of this campaign.
                    maxLength: 3
                    type: string
                  name:
                    description: Campaign name used internally for reference.
                    maxLength: 200
                    type: string
                  payment_gateway_group_id:
                    description: Payment gateway group used instead of the store default.
                    maximum: 2147483647
                    minimum: 0
                    type: integer
                  payment_gateway_group_name:
                    description: Name of the payment gateway group.
                    maxLength: 200
                    nullable: true
                    type: string
                  paypal_account_id:
                    description: PayPal account used instead of the store default.
                    nullable: true
                    type: integer
                  statement_descriptor:
                    description: Descriptor shown on the customer's card statement.
                    maxLength: 255
                    nullable: true
                    type: string
                  updated_at:
                    description: When the campaign was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - api_key
                  - available_express_payment_methods
                  - available_payment_methods
                  - available_shipping_countries
                  - created_at
                  - currency
                  - id
                  - language
                  - name
                  - payment_gateway_group_id
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    patch:
      description: Partial update a campaign's settings.
      operationId: campaignsPartialUpdate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              type: object
          multipart/form-data:
            schema:
              properties:
                additional_currencies:
                  description: Currencies supported in addition to the default currency.
                  items:
                    maxLength: 3
                    nullable: true
                    type: string
                  nullable: true
                  type: array
                available_express_payment_methods:
                  description: Express payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_payment_methods:
                  description: Payment method codes to enable, drawn from the resolved payment gateway group.
                  items:
                    type: string
                  type: array
                available_shipping_countries:
                  description: ISO 3166-1 alpha-2 country codes the campaign can ship to.
                  items:
                    type: string
                  type: array
                language:
                  description: Preferred language for customers of this campaign.
                  maxLength: 3
                  type: string
                name:
                  description: Campaign name used internally for reference.
                  maxLength: 200
                  type: string
                payment_gateway_group_id:
                  description: Payment gateway group used instead of the store default.
                  maximum: 2147483647
                  minimum: 0
                  type: integer
                paypal_account_id:
                  description: PayPal account used instead of the store default.
                  nullable: true
                  type: integer
                statement_descriptor:
                  description: Descriptor shown on the customer's card statement.
                  maxLength: 255
                  nullable: true
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  additional_currencies:
                    description: Currencies supported in addition to the default currency.
                    items:
                      maxLength: 3
                      nullable: true
                      type: string
                    nullable: true
                    type: array
                  api_key:
                    description: Key the storefront authenticates against the campaigns API with.
                    readOnly: true
                    type: string
                  available_express_payment_methods:
                    description: Express payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Express payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable express payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_payment_methods:
                    description: Payment methods enabled on the campaign.
                    items:
                      properties:
                        code:
                          description: Payment method code.
                          maxLength: 255
                          nullable: true
                          type: string
                        name:
                          description: Human-readable payment method name.
                          maxLength: 128
                          nullable: true
                          type: string
                      type: object
                    readOnly: true
                    type: array
                  available_shipping_countries:
                    description: Countries the campaign can ship to.
                    items:
                      properties:
                        code:
                          description: ISO 3166-1 alpha-2 country code.
                          type: string
                        name:
                          description: Country name.
                          type: string
                      required:
                        - code
                        - name
                      type: object
                    readOnly: true
                    type: array
                  created_at:
                    description: When the campaign was created.
                    format: date-time
                    readOnly: true
                    type: string
                  currency:
                    description: Default currency for orders created through this campaign.
                    maxLength: 3
                    title: Default Currency
                    type: string
                  id:
                    description: Campaign ID, the path parameter on this endpoint.
                    readOnly: true
                    type: integer
                  language:
                    description: Preferred language for customers of this campaign.
                    maxLength: 3
                    type: string
                  name:
                    description: Campaign name used internally for reference.
                    maxLength: 200
                    type: string
                  payment_gateway_group_id:
                    description: Payment gateway group used instead of the store default.
                    maximum: 2147483647
                    minimum: 0
                    type: integer
                  payment_gateway_group_name:
                    description: Name of the payment gateway group.
                    maxLength: 200
                    nullable: true
                    type: string
                  paypal_account_id:
                    description: PayPal account used instead of the store default.
                    nullable: true
                    type: integer
                  statement_descriptor:
                    description: Descriptor shown on the customer's card statement.
                    maxLength: 255
                    nullable: true
                    type: string
                  updated_at:
                    description: When the campaign was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - api_key
                  - available_express_payment_methods
                  - available_payment_methods
                  - available_shipping_countries
                  - created_at
                  - currency
                  - id
                  - language
                  - name
                  - payment_gateway_group_id
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/offers/:
    get:
      description: List every offer on the campaign.
      operationId: campaignsOffersList
      parameters:
        - description: |-
            Indicates whether the offer is available for use.

            * `true` - The offer is available
            * `false` - The offer is not available
          in: query
          name: available
          schema:
            type: boolean
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Offer name contains this text, case-insensitive.
          in: query
          name: name
          schema:
            type: string
        - description: |-
            How the offer is applied.

            * `offer` - Automatically applies when the offer condition is met.
            * `voucher` - Applies only when the customer enters the specified voucher code.
          in: query
          name: offer_type
          schema:
            enum:
              - offer
              - voucher
            title: Type
            type: string
        - description: Number of results to return per page.
          in: query
          name: page_size
          required: false
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  next:
                    example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      properties:
                        available:
                          description: |-
                            Indicates whether the offer is available for use.

                            * `true` - The offer is available
                            * `false` - The offer is not available
                          readOnly: true
                          type: boolean
                        benefit:
                          allOf:
                            - properties:
                                description:
                                  description: Summary of the benefit.
                                  readOnly: true
                                  type: string
                                price_rounding:
                                  description: |-
                                    Cents rounding applied to each discounted unit price. Null when not set.

                                    * `0.00` - XX.00
                                    * `0.95` - XX.95
                                    * `0.97` - XX.97
                                    * `0.99` - XX.99
                                  nullable: true
                                  oneOf:
                                    - description: |-
                                        * `0.00` - XX.00
                                        * `0.95` - XX.95
                                        * `0.97` - XX.97
                                        * `0.99` - XX.99
                                      enum:
                                        - '0.00'
                                        - '0.95'
                                        - '0.97'
                                        - '0.99'
                                      type: string
                                    - enum:
                                        - null
                                  readOnly: true
                                type:
                                  allOf:
                                    - description: |-
                                        * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                        * `shipping_percentage` - Apply a percentage off shipping price.
                                        * `order_percentage` - Apply a percentage off the entire order.
                                      enum:
                                        - package_percentage
                                        - shipping_percentage
                                        - order_percentage
                                      type: string
                                  description: |-
                                    How the discount is applied to the order.

                                    * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                    * `shipping_percentage` - Apply a percentage off shipping price.
                                    * `order_percentage` - Apply a percentage off the entire order.
                                  readOnly: true
                                value:
                                  description: Percentage discount to apply.
                                  format: decimal
                                  nullable: true
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Discount Amount
                                  type: string
                              required:
                                - description
                                - price_rounding
                                - type
                              type: object
                          description: Discount applied once the condition is met.
                          readOnly: true
                        code:
                          description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                          maxLength: 64
                          nullable: true
                          title: Discount code
                          type: string
                        condition:
                          allOf:
                            - properties:
                                description:
                                  description: Summary of the condition.
                                  readOnly: true
                                  type: string
                                type:
                                  allOf:
                                    - description: |-
                                        * `any` - Applies the condition without criteria.
                                        * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                                      enum:
                                        - any
                                        - count
                                      type: string
                                  description: |-
                                    How the condition is evaluated.

                                    * `any` - Applies the condition without criteria.
                                    * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                                value:
                                  description: Minimum package quantity required to meet the condition. Required when `type` is count.
                                  format: decimal
                                  nullable: true
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                              required:
                                - description
                                - type
                              type: object
                          description: Condition that must be met for the offer to apply.
                          readOnly: true
                        id:
                          description: Offer reference ID.
                          type: integer
                        name:
                          description: Offer name, unique within the campaign.
                          maxLength: 128
                          type: string
                        offer_type:
                          allOf:
                            - description: |-
                                * `offer` - Automatically applies when the offer condition is met.
                                * `voucher` - Applies only when the customer enters the specified voucher code.
                              enum:
                                - offer
                                - voucher
                              type: string
                          description: |-
                            How the offer is applied.

                            * `offer` - Automatically applies when the offer condition is met.
                            * `voucher` - Applies only when the customer enters the specified voucher code.
                      required:
                        - available
                        - benefit
                        - condition
                        - id
                        - name
                        - offer_type
                      type: object
                    type: array
                required:
                  - results
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    post:
      description: Create an offer on the campaign, with its condition and benefit.
      operationId: campaignsOffersCreate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              required:
                - benefit
                - condition
                - name
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              required:
                - benefit
                - condition
                - name
              type: object
          multipart/form-data:
            schema:
              properties:
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              required:
                - benefit
                - condition
                - name
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  available:
                    description: |-
                      Indicates whether the offer is available for use.

                      * `true` - The offer is available
                      * `false` - The offer is not available
                    readOnly: true
                    type: boolean
                  benefit:
                    allOf:
                      - properties:
                          description:
                            description: Summary of the benefit.
                            readOnly: true
                            type: string
                          price_rounding:
                            description: |-
                              Cents rounding applied to each discounted unit price. Null when not set.

                              * `0.00` - XX.00
                              * `0.95` - XX.95
                              * `0.97` - XX.97
                              * `0.99` - XX.99
                            nullable: true
                            oneOf:
                              - description: |-
                                  * `0.00` - XX.00
                                  * `0.95` - XX.95
                                  * `0.97` - XX.97
                                  * `0.99` - XX.99
                                enum:
                                  - '0.00'
                                  - '0.95'
                                  - '0.97'
                                  - '0.99'
                                type: string
                              - enum:
                                  - null
                            readOnly: true
                          type:
                            allOf:
                              - description: |-
                                  * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                  * `shipping_percentage` - Apply a percentage off shipping price.
                                  * `order_percentage` - Apply a percentage off the entire order.
                                enum:
                                  - package_percentage
                                  - shipping_percentage
                                  - order_percentage
                                type: string
                            description: |-
                              How the discount is applied to the order.

                              * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                              * `shipping_percentage` - Apply a percentage off shipping price.
                              * `order_percentage` - Apply a percentage off the entire order.
                            readOnly: true
                          value:
                            description: Percentage discount to apply.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            title: Discount Amount
                            type: string
                        required:
                          - description
                          - price_rounding
                          - type
                        type: object
                    description: Discount applied once the condition is met.
                    readOnly: true
                  code:
                    description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                    maxLength: 64
                    nullable: true
                    title: Discount code
                    type: string
                  condition:
                    allOf:
                      - properties:
                          all_packages:
                            description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                            type: boolean
                          description:
                            description: Summary of the condition.
                            readOnly: true
                            type: string
                          packages:
                            description: Packages the condition applies to.
                            items:
                              properties:
                                id:
                                  description: Package reference ID.
                                  type: integer
                                name:
                                  description: Package name.
                                  type: string
                                product_id:
                                  description: ID of the product linked to the package.
                                  type: integer
                                product_sku:
                                  description: SKU of the product variant linked to the package.
                                  type: string
                              required:
                                - id
                                - name
                                - product_id
                                - product_sku
                              type: object
                            readOnly: true
                            type: array
                          type:
                            allOf:
                              - description: |-
                                  * `any` - Applies the condition without criteria.
                                  * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                                enum:
                                  - any
                                  - count
                                type: string
                            description: |-
                              How the condition is evaluated.

                              * `any` - Applies the condition without criteria.
                              * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                          value:
                            description: Minimum package quantity required to meet the condition. Required when `type` is count.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                        required:
                          - description
                          - packages
                          - type
                        type: object
                    description: Condition that must be met for the offer to apply.
                    readOnly: true
                  id:
                    description: Offer reference ID.
                    type: integer
                  name:
                    description: Offer name, unique within the campaign.
                    maxLength: 128
                    type: string
                  offer_type:
                    allOf:
                      - description: |-
                          * `offer` - Automatically applies when the offer condition is met.
                          * `voucher` - Applies only when the customer enters the specified voucher code.
                        enum:
                          - offer
                          - voucher
                        type: string
                    description: |-
                      How the offer is applied.

                      * `offer` - Automatically applies when the offer condition is met.
                      * `voucher` - Applies only when the customer enters the specified voucher code.
                required:
                  - available
                  - benefit
                  - condition
                  - id
                  - name
                  - offer_type
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/offers/{offerId}/:
    delete:
      description: Delete an offer on the campaign.
      operationId: campaignsOffersDestroy
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Offer reference ID, unique within the campaign.
          in: path
          name: offerId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
    get:
      description: Retrieve an offer on the campaign.
      operationId: campaignsOffersRetrieve
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Offer reference ID, unique within the campaign.
          in: path
          name: offerId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  available:
                    description: |-
                      Indicates whether the offer is available for use.

                      * `true` - The offer is available
                      * `false` - The offer is not available
                    readOnly: true
                    type: boolean
                  benefit:
                    allOf:
                      - properties:
                          description:
                            description: Summary of the benefit.
                            readOnly: true
                            type: string
                          price_rounding:
                            description: |-
                              Cents rounding applied to each discounted unit price. Null when not set.

                              * `0.00` - XX.00
                              * `0.95` - XX.95
                              * `0.97` - XX.97
                              * `0.99` - XX.99
                            nullable: true
                            oneOf:
                              - description: |-
                                  * `0.00` - XX.00
                                  * `0.95` - XX.95
                                  * `0.97` - XX.97
                                  * `0.99` - XX.99
                                enum:
                                  - '0.00'
                                  - '0.95'
                                  - '0.97'
                                  - '0.99'
                                type: string
                              - enum:
                                  - null
                            readOnly: true
                          type:
                            allOf:
                              - description: |-
                                  * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                  * `shipping_percentage` - Apply a percentage off shipping price.
                                  * `order_percentage` - Apply a percentage off the entire order.
                                enum:
                                  - package_percentage
                                  - shipping_percentage
                                  - order_percentage
                                type: string
                            description: |-
                              How the discount is applied to the order.

                              * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                              * `shipping_percentage` - Apply a percentage off shipping price.
                              * `order_percentage` - Apply a percentage off the entire order.
                            readOnly: true
                          value:
                            description: Percentage discount to apply.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            title: Discount Amount
                            type: string
                        required:
                          - description
                          - price_rounding
                          - type
                        type: object
                    description: Discount applied once the condition is met.
                    readOnly: true
                  code:
                    description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                    maxLength: 64
                    nullable: true
                    title: Discount code
                    type: string
                  condition:
                    allOf:
                      - properties:
                          all_packages:
                            description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                            type: boolean
                          description:
                            description: Summary of the condition.
                            readOnly: true
                            type: string
                          packages:
                            description: Packages the condition applies to.
                            items:
                              properties:
                                id:
                                  description: Package reference ID.
                                  type: integer
                                name:
                                  description: Package name.
                                  type: string
                                product_id:
                                  description: ID of the product linked to the package.
                                  type: integer
                                product_sku:
                                  description: SKU of the product variant linked to the package.
                                  type: string
                              required:
                                - id
                                - name
                                - product_id
                                - product_sku
                              type: object
                            readOnly: true
                            type: array
                          type:
                            allOf:
                              - description: |-
                                  * `any` - Applies the condition without criteria.
                                  * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                                enum:
                                  - any
                                  - count
                                type: string
                            description: |-
                              How the condition is evaluated.

                              * `any` - Applies the condition without criteria.
                              * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                          value:
                            description: Minimum package quantity required to meet the condition. Required when `type` is count.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                        required:
                          - description
                          - packages
                          - type
                        type: object
                    description: Condition that must be met for the offer to apply.
                    readOnly: true
                  id:
                    description: Offer reference ID.
                    type: integer
                  name:
                    description: Offer name, unique within the campaign.
                    maxLength: 128
                    type: string
                  offer_type:
                    allOf:
                      - description: |-
                          * `offer` - Automatically applies when the offer condition is met.
                          * `voucher` - Applies only when the customer enters the specified voucher code.
                        enum:
                          - offer
                          - voucher
                        type: string
                    description: |-
                      How the offer is applied.

                      * `offer` - Automatically applies when the offer condition is met.
                      * `voucher` - Applies only when the customer enters the specified voucher code.
                required:
                  - available
                  - benefit
                  - condition
                  - id
                  - name
                  - offer_type
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    patch:
      description: Partially update an offer on the campaign. Providing `condition` or `benefit` replaces it entirely -- these are not merged field by field.
      operationId: campaignsOffersPartialUpdate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Offer reference ID, unique within the campaign.
          in: path
          name: offerId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                available:
                  description: |-
                    Indicates whether the offer is available for use.

                    * `true` - The offer is available
                    * `false` - The offer is not available
                  type: boolean
                  writeOnly: true
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met. Replaces the existing benefit entirely when provided.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply. Replaces the existing condition (including its packages) entirely when provided.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                available:
                  description: |-
                    Indicates whether the offer is available for use.

                    * `true` - The offer is available
                    * `false` - The offer is not available
                  type: boolean
                  writeOnly: true
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met. Replaces the existing benefit entirely when provided.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply. Replaces the existing condition (including its packages) entirely when provided.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              type: object
          multipart/form-data:
            schema:
              properties:
                available:
                  description: |-
                    Indicates whether the offer is available for use.

                    * `true` - The offer is available
                    * `false` - The offer is not available
                  type: boolean
                  writeOnly: true
                benefit:
                  allOf:
                    - properties:
                        price_rounding:
                          description: |-
                            Cents rounding applied to each discounted unit price. No rounding when not set.

                            * `0.00` - XX.00
                            * `0.95` - XX.95
                            * `0.97` - XX.97
                            * `0.99` - XX.99
                          nullable: true
                          oneOf:
                            - description: |-
                                * `0.00` - XX.00
                                * `0.95` - XX.95
                                * `0.97` - XX.97
                                * `0.99` - XX.99
                              enum:
                                - '0.00'
                                - '0.95'
                                - '0.97'
                                - '0.99'
                              type: string
                            - enum:
                                - null
                        type:
                          allOf:
                            - description: |-
                                * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                * `shipping_percentage` - Apply a percentage off shipping price.
                                * `order_percentage` - Apply a percentage off the entire order.
                              enum:
                                - package_percentage
                                - shipping_percentage
                                - order_percentage
                              type: string
                          description: |-
                            How the discount is applied to the order.

                            * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                            * `shipping_percentage` - Apply a percentage off shipping price.
                            * `order_percentage` - Apply a percentage off the entire order.
                        value:
                          description: Percentage discount to apply.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - type
                        - value
                      type: object
                  description: Discount applied once the condition is met. Replaces the existing benefit entirely when provided.
                code:
                  description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                  maxLength: 64
                  nullable: true
                  title: Discount code
                  type: string
                condition:
                  allOf:
                    - properties:
                        all_packages:
                          default: false
                          description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                          type: boolean
                        package_ids:
                          description: IDs of the campaign packages that this condition applies to. Required when `all_packages` is false. Use the package `id` returned by the Packages API.
                          items:
                            type: integer
                          type: array
                          writeOnly: true
                        type:
                          allOf:
                            - description: |-
                                * `any` - Applies the condition without criteria.
                                * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                              enum:
                                - any
                                - count
                              type: string
                          description: |-
                            How the condition is evaluated.

                            * `any` - Applies the condition without criteria.
                            * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                        value:
                          description: Minimum package quantity required to meet the condition, must be greater than 0. Required when `type` is count, ignored otherwise.
                          minimum: 1
                          nullable: true
                          type: integer
                      required:
                        - type
                      type: object
                  description: Condition that must be met for the offer to apply. Replaces the existing condition (including its packages) entirely when provided.
                name:
                  description: Offer name, unique within the campaign.
                  maxLength: 128
                  type: string
                offer_type:
                  allOf:
                    - description: |-
                        * `offer` - Automatically applies when the offer condition is met.
                        * `voucher` - Applies only when the customer enters the specified voucher code.
                      enum:
                        - offer
                        - voucher
                      type: string
                  description: |-
                    How the offer is applied.

                    * `offer` - Automatically applies when the offer condition is met.
                    * `voucher` - Applies only when the customer enters the specified voucher code.
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  available:
                    description: |-
                      Indicates whether the offer is available for use.

                      * `true` - The offer is available
                      * `false` - The offer is not available
                    readOnly: true
                    type: boolean
                  benefit:
                    allOf:
                      - properties:
                          description:
                            description: Summary of the benefit.
                            readOnly: true
                            type: string
                          price_rounding:
                            description: |-
                              Cents rounding applied to each discounted unit price. Null when not set.

                              * `0.00` - XX.00
                              * `0.95` - XX.95
                              * `0.97` - XX.97
                              * `0.99` - XX.99
                            nullable: true
                            oneOf:
                              - description: |-
                                  * `0.00` - XX.00
                                  * `0.95` - XX.95
                                  * `0.97` - XX.97
                                  * `0.99` - XX.99
                                enum:
                                  - '0.00'
                                  - '0.95'
                                  - '0.97'
                                  - '0.99'
                                type: string
                              - enum:
                                  - null
                            readOnly: true
                          type:
                            allOf:
                              - description: |-
                                  * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                                  * `shipping_percentage` - Apply a percentage off shipping price.
                                  * `order_percentage` - Apply a percentage off the entire order.
                                enum:
                                  - package_percentage
                                  - shipping_percentage
                                  - order_percentage
                                type: string
                            description: |-
                              How the discount is applied to the order.

                              * `package_percentage` - Apply a percentage off the packages that meet the criteria.
                              * `shipping_percentage` - Apply a percentage off shipping price.
                              * `order_percentage` - Apply a percentage off the entire order.
                            readOnly: true
                          value:
                            description: Percentage discount to apply.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            title: Discount Amount
                            type: string
                        required:
                          - description
                          - price_rounding
                          - type
                        type: object
                    description: Discount applied once the condition is met.
                    readOnly: true
                  code:
                    description: Voucher code used to apply the offer. Required when `offer_type` is voucher.
                    maxLength: 64
                    nullable: true
                    title: Discount code
                    type: string
                  condition:
                    allOf:
                      - properties:
                          all_packages:
                            description: Determines which packages the condition applies to. Set to true to apply the condition to all current and future packages. Otherwise, send `package_ids` to restrict the condition to specific packages.
                            type: boolean
                          description:
                            description: Summary of the condition.
                            readOnly: true
                            type: string
                          packages:
                            description: Packages the condition applies to.
                            items:
                              properties:
                                id:
                                  description: Package reference ID.
                                  type: integer
                                name:
                                  description: Package name.
                                  type: string
                                product_id:
                                  description: ID of the product linked to the package.
                                  type: integer
                                product_sku:
                                  description: SKU of the product variant linked to the package.
                                  type: string
                              required:
                                - id
                                - name
                                - product_id
                                - product_sku
                              type: object
                            readOnly: true
                            type: array
                          type:
                            allOf:
                              - description: |-
                                  * `any` - Applies the condition without criteria.
                                  * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                                enum:
                                  - any
                                  - count
                                type: string
                            description: |-
                              How the condition is evaluated.

                              * `any` - Applies the condition without criteria.
                              * `count` - Applies the condition when the package quantity is greater than or equal to the `value`.
                          value:
                            description: Minimum package quantity required to meet the condition. Required when `type` is count.
                            format: decimal
                            nullable: true
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                        required:
                          - description
                          - packages
                          - type
                        type: object
                    description: Condition that must be met for the offer to apply.
                    readOnly: true
                  id:
                    description: Offer reference ID.
                    type: integer
                  name:
                    description: Offer name, unique within the campaign.
                    maxLength: 128
                    type: string
                  offer_type:
                    allOf:
                      - description: |-
                          * `offer` - Automatically applies when the offer condition is met.
                          * `voucher` - Applies only when the customer enters the specified voucher code.
                        enum:
                          - offer
                          - voucher
                        type: string
                    description: |-
                      How the offer is applied.

                      * `offer` - Automatically applies when the offer condition is met.
                      * `voucher` - Applies only when the customer enters the specified voucher code.
                required:
                  - available
                  - benefit
                  - condition
                  - id
                  - name
                  - offer_type
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/packages/:
    get:
      description: List every packages on the campaign.
      operationId: campaignsPackagesList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Package name contains this text, case-insensitive.
          in: query
          name: name
          schema:
            type: string
        - description: Number of results to return per page.
          in: query
          name: page_size
          required: false
          schema:
            type: integer
        - description: Product name contains this text, case-insensitive.
          in: query
          name: product_name
          schema:
            type: string
        - description: Product sku contains this text, case-insensitive.
          in: query
          name: product_sku
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  next:
                    example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      properties:
                        created_at:
                          description: When the package was created.
                          format: date-time
                          readOnly: true
                          type: string
                        id:
                          description: Package reference ID
                          type: integer
                        image:
                          description: URL of the package image.
                          format: uri
                          nullable: true
                          readOnly: true
                          type: string
                        interval:
                          description: |-
                            Recurring interval for subscription products.

                            * `day` - Day
                            * `month` - Month
                          nullable: true
                          oneOf:
                            - description: |-
                                * `day` - Day
                                * `month` - Month
                              enum:
                                - day
                                - month
                              type: string
                            - enum:
                                - ''
                            - enum:
                                - null
                          title: Recurring Interval
                        interval_count:
                          description: Number of intervals for the subscription.
                          maximum: 2147483647
                          minimum: 0
                          nullable: true
                          title: Subscription Interval Count
                          type: integer
                        is_recurring:
                          title: Package is a recurring product subscription.
                          type: boolean
                        name:
                          maxLength: 200
                          title: Package name
                          type: string
                        prices:
                          description: Price of the package in every currency the campaign supports.
                          items:
                            properties:
                              currency:
                                description: Currency for the package price.
                                maxLength: 3
                                type: string
                              price:
                                description: Price per product unit in the package.
                                format: decimal
                                pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                                type: string
                              price_recurring:
                                description: Recurring subscription price per unit of product in the package.
                                format: decimal
                                pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                                type: string
                            required:
                              - currency
                              - price
                              - price_recurring
                            type: object
                          readOnly: true
                          type: array
                        product_id:
                          description: ID of the product linked to the package.
                          type: integer
                        product_inventory_availability:
                          description: |-
                            Inventory availability at fulfillment locations

                            * `in_stock` - In Stock
                            * `low_stock` - Low Stock
                            * `out_of_stock` - Out of Stock
                            * `untracked` - Untracked
                          nullable: true
                          oneOf:
                            - description: |-
                                * `in_stock` - In Stock
                                * `low_stock` - Low Stock
                                * `out_of_stock` - Out of Stock
                                * `untracked` - Untracked
                              enum:
                                - in_stock
                                - low_stock
                                - out_of_stock
                                - untracked
                              type: string
                            - enum:
                                - ''
                            - enum:
                                - null
                          title: Inventory Availability
                        product_name:
                          description: Product name.
                          type: string
                        product_purchase_availability:
                          description: |-
                            Product's availability to purchase in new orders

                            * `available` - Available
                            * `unavailable` - Unavailable
                          nullable: true
                          oneOf:
                            - description: |-
                                * `available` - Available
                                * `unavailable` - Unavailable
                              enum:
                                - available
                                - unavailable
                              type: string
                            - enum:
                                - ''
                            - enum:
                                - null
                          title: Purchase Availability
                        product_sku:
                          description: SKU of the product linked to the package
                          maxLength: 128
                          nullable: true
                          type: string
                        product_variant_id:
                          description: ID of the product variant linked to the package.
                          type: integer
                        product_variant_name:
                          description: Product variant name.
                          type: string
                        updated_at:
                          description: When the package was last updated.
                          format: date-time
                          readOnly: true
                          type: string
                      required:
                        - created_at
                        - id
                        - image
                        - name
                        - prices
                        - product_id
                        - product_name
                        - product_variant_id
                        - product_variant_name
                        - updated_at
                      type: object
                    type: array
                required:
                  - results
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    post:
      description: Create a package on the campaign.
      operationId: campaignsPackagesCreate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                price:
                  description: Price per product variant unit in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                price_recurring:
                  description: Recurring subscription price per unit of product in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  type: integer
                  writeOnly: true
                product_variant_ids:
                  description: IDs of the product variants linked to the package.
                  items:
                    type: integer
                  type: array
                  writeOnly: true
              required:
                - name
                - product_id
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                price:
                  description: Price per product variant unit in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                price_recurring:
                  description: Recurring subscription price per unit of product in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  type: integer
                  writeOnly: true
                product_variant_ids:
                  description: IDs of the product variants linked to the package.
                  items:
                    type: integer
                  type: array
                  writeOnly: true
              required:
                - name
                - product_id
              type: object
          multipart/form-data:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                price:
                  description: Price per product variant unit in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                price_recurring:
                  description: Recurring subscription price per unit of product in the package.
                  format: decimal
                  nullable: true
                  pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  type: integer
                  writeOnly: true
                product_variant_ids:
                  description: IDs of the product variants linked to the package.
                  items:
                    type: integer
                  type: array
                  writeOnly: true
              required:
                - name
                - product_id
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  created_at:
                    description: When the package was created.
                    format: date-time
                    readOnly: true
                    type: string
                  id:
                    description: Package reference ID
                    type: integer
                  image:
                    description: URL of the package image.
                    format: uri
                    nullable: true
                    readOnly: true
                    type: string
                  interval:
                    description: |-
                      Recurring interval for subscription products.

                      * `day` - Day
                      * `month` - Month
                    nullable: true
                    oneOf:
                      - description: |-
                          * `day` - Day
                          * `month` - Month
                        enum:
                          - day
                          - month
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Recurring Interval
                  interval_count:
                    description: Number of intervals for the subscription.
                    maximum: 2147483647
                    minimum: 0
                    nullable: true
                    title: Subscription Interval Count
                    type: integer
                  is_recurring:
                    title: Package is a recurring product subscription.
                    type: boolean
                  name:
                    maxLength: 200
                    title: Package name
                    type: string
                  prices:
                    description: Price of the package in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          description: Currency for the package price.
                          maxLength: 3
                          type: string
                        price:
                          description: Price per product unit in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                        price_recurring:
                          description: Recurring subscription price per unit of product in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                        - price_recurring
                      type: object
                    readOnly: true
                    type: array
                  product_id:
                    description: ID of the product linked to the package.
                    type: integer
                  product_inventory_availability:
                    description: |-
                      Inventory availability at fulfillment locations

                      * `in_stock` - In Stock
                      * `low_stock` - Low Stock
                      * `out_of_stock` - Out of Stock
                      * `untracked` - Untracked
                    nullable: true
                    oneOf:
                      - description: |-
                          * `in_stock` - In Stock
                          * `low_stock` - Low Stock
                          * `out_of_stock` - Out of Stock
                          * `untracked` - Untracked
                        enum:
                          - in_stock
                          - low_stock
                          - out_of_stock
                          - untracked
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Inventory Availability
                  product_name:
                    description: Product name.
                    type: string
                  product_purchase_availability:
                    description: |-
                      Product's availability to purchase in new orders

                      * `available` - Available
                      * `unavailable` - Unavailable
                    nullable: true
                    oneOf:
                      - description: |-
                          * `available` - Available
                          * `unavailable` - Unavailable
                        enum:
                          - available
                          - unavailable
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Purchase Availability
                  product_sku:
                    description: SKU of the product linked to the package
                    maxLength: 128
                    nullable: true
                    type: string
                  product_variant_id:
                    description: ID of the product variant linked to the package.
                    type: integer
                  product_variant_name:
                    description: Product variant name.
                    type: string
                  updated_at:
                    description: When the package was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - created_at
                  - id
                  - image
                  - name
                  - prices
                  - product_id
                  - product_name
                  - product_variant_id
                  - product_variant_name
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/packages/{packageId}/:
    delete:
      description: Delete a package on the campaign.
      operationId: campaignsPackagesDestroy
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Package ID.
          in: path
          name: packageId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
    get:
      description: Retrieve a package on the campaign.
      operationId: campaignsPackagesRetrieve
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Package ID.
          in: path
          name: packageId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  created_at:
                    description: When the package was created.
                    format: date-time
                    readOnly: true
                    type: string
                  id:
                    description: Package reference ID
                    type: integer
                  image:
                    description: URL of the package image.
                    format: uri
                    nullable: true
                    readOnly: true
                    type: string
                  interval:
                    description: |-
                      Recurring interval for subscription products.

                      * `day` - Day
                      * `month` - Month
                    nullable: true
                    oneOf:
                      - description: |-
                          * `day` - Day
                          * `month` - Month
                        enum:
                          - day
                          - month
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Recurring Interval
                  interval_count:
                    description: Number of intervals for the subscription.
                    maximum: 2147483647
                    minimum: 0
                    nullable: true
                    title: Subscription Interval Count
                    type: integer
                  is_recurring:
                    title: Package is a recurring product subscription.
                    type: boolean
                  name:
                    maxLength: 200
                    title: Package name
                    type: string
                  prices:
                    description: Price of the package in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          description: Currency for the package price.
                          maxLength: 3
                          type: string
                        price:
                          description: Price per product unit in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                        price_recurring:
                          description: Recurring subscription price per unit of product in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                        - price_recurring
                      type: object
                    readOnly: true
                    type: array
                  product_id:
                    description: ID of the product linked to the package.
                    type: integer
                  product_inventory_availability:
                    description: |-
                      Inventory availability at fulfillment locations

                      * `in_stock` - In Stock
                      * `low_stock` - Low Stock
                      * `out_of_stock` - Out of Stock
                      * `untracked` - Untracked
                    nullable: true
                    oneOf:
                      - description: |-
                          * `in_stock` - In Stock
                          * `low_stock` - Low Stock
                          * `out_of_stock` - Out of Stock
                          * `untracked` - Untracked
                        enum:
                          - in_stock
                          - low_stock
                          - out_of_stock
                          - untracked
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Inventory Availability
                  product_name:
                    description: Product name.
                    type: string
                  product_purchase_availability:
                    description: |-
                      Product's availability to purchase in new orders

                      * `available` - Available
                      * `unavailable` - Unavailable
                    nullable: true
                    oneOf:
                      - description: |-
                          * `available` - Available
                          * `unavailable` - Unavailable
                        enum:
                          - available
                          - unavailable
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Purchase Availability
                  product_sku:
                    description: SKU of the product linked to the package
                    maxLength: 128
                    nullable: true
                    type: string
                  product_variant_attribute_values:
                    description: Product variant atrribute values.
                  product_variant_id:
                    description: ID of the product variant linked to the package.
                    type: integer
                  product_variant_name:
                    description: Product variant name.
                    type: string
                  updated_at:
                    description: When the package was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - created_at
                  - id
                  - image
                  - name
                  - prices
                  - product_id
                  - product_name
                  - product_variant_attribute_values
                  - product_variant_id
                  - product_variant_name
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    patch:
      description: Partially update a package on the campaign.
      operationId: campaignsPackagesPartialUpdate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Package ID.
          in: path
          name: packageId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                prices:
                  description: Per-currency prices to update for the package. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Price per product unit in the package.
                        format: decimal
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                      price_recurring:
                        description: Recurring subscription price per unit of product in the package.
                        format: decimal
                        nullable: true
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                product_variant_id:
                  description: ID of the product variant linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                prices:
                  description: Per-currency prices to update for the package. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Price per product unit in the package.
                        format: decimal
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                      price_recurring:
                        description: Recurring subscription price per unit of product in the package.
                        format: decimal
                        nullable: true
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                product_variant_id:
                  description: ID of the product variant linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
              type: object
          multipart/form-data:
            schema:
              properties:
                interval:
                  description: |-
                    Recurring subscription interval type.

                    * `day` - Day
                    * `month` - Month
                  nullable: true
                  oneOf:
                    - description: |-
                        * `day` - Day
                        * `month` - Month
                      enum:
                        - day
                        - month
                      type: string
                    - enum:
                        - ''
                    - enum:
                        - null
                  title: Recurring Interval
                interval_count:
                  description: Recurring subscription interval count.
                  maximum: 2147483647
                  minimum: 0
                  nullable: true
                  title: Subscription Interval Count
                  type: integer
                name:
                  description: Package name.
                  maxLength: 200
                  title: Package name
                  type: string
                prices:
                  description: Per-currency prices to update for the package. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Price per product unit in the package.
                        format: decimal
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                      price_recurring:
                        description: Recurring subscription price per unit of product in the package.
                        format: decimal
                        nullable: true
                        pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                product_id:
                  description: ID of the product linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                product_variant_id:
                  description: ID of the product variant linked to the package.
                  nullable: true
                  type: integer
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  created_at:
                    description: When the package was created.
                    format: date-time
                    readOnly: true
                    type: string
                  id:
                    description: Package reference ID
                    type: integer
                  image:
                    description: URL of the package image.
                    format: uri
                    nullable: true
                    readOnly: true
                    type: string
                  interval:
                    description: |-
                      Recurring interval for subscription products.

                      * `day` - Day
                      * `month` - Month
                    nullable: true
                    oneOf:
                      - description: |-
                          * `day` - Day
                          * `month` - Month
                        enum:
                          - day
                          - month
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Recurring Interval
                  interval_count:
                    description: Number of intervals for the subscription.
                    maximum: 2147483647
                    minimum: 0
                    nullable: true
                    title: Subscription Interval Count
                    type: integer
                  is_recurring:
                    title: Package is a recurring product subscription.
                    type: boolean
                  name:
                    maxLength: 200
                    title: Package name
                    type: string
                  prices:
                    description: Price of the package in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          description: Currency for the package price.
                          maxLength: 3
                          type: string
                        price:
                          description: Price per product unit in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                        price_recurring:
                          description: Recurring subscription price per unit of product in the package.
                          format: decimal
                          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                        - price_recurring
                      type: object
                    readOnly: true
                    type: array
                  product_id:
                    description: ID of the product linked to the package.
                    type: integer
                  product_inventory_availability:
                    description: |-
                      Inventory availability at fulfillment locations

                      * `in_stock` - In Stock
                      * `low_stock` - Low Stock
                      * `out_of_stock` - Out of Stock
                      * `untracked` - Untracked
                    nullable: true
                    oneOf:
                      - description: |-
                          * `in_stock` - In Stock
                          * `low_stock` - Low Stock
                          * `out_of_stock` - Out of Stock
                          * `untracked` - Untracked
                        enum:
                          - in_stock
                          - low_stock
                          - out_of_stock
                          - untracked
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Inventory Availability
                  product_name:
                    description: Product name.
                    type: string
                  product_purchase_availability:
                    description: |-
                      Product's availability to purchase in new orders

                      * `available` - Available
                      * `unavailable` - Unavailable
                    nullable: true
                    oneOf:
                      - description: |-
                          * `available` - Available
                          * `unavailable` - Unavailable
                        enum:
                          - available
                          - unavailable
                        type: string
                      - enum:
                          - ''
                      - enum:
                          - null
                    title: Purchase Availability
                  product_sku:
                    description: SKU of the product linked to the package
                    maxLength: 128
                    nullable: true
                    type: string
                  product_variant_attribute_values:
                    description: Product variant atrribute values.
                  product_variant_id:
                    description: ID of the product variant linked to the package.
                    type: integer
                  product_variant_name:
                    description: Product variant name.
                    type: string
                  updated_at:
                    description: When the package was last updated.
                    format: date-time
                    readOnly: true
                    type: string
                required:
                  - created_at
                  - id
                  - image
                  - name
                  - prices
                  - product_id
                  - product_name
                  - product_variant_attribute_values
                  - product_variant_id
                  - product_variant_name
                  - updated_at
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/shipping-methods/:
    get:
      description: List every shipping method on the campaign.
      operationId: campaignsShippingMethodsList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Number of results to return per page.
          in: query
          name: page_size
          required: false
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  next:
                    example: http://api.example.org/accounts/?cursor=cD00ODY%3D"
                    format: uri
                    nullable: true
                    type: string
                  previous:
                    example: http://api.example.org/accounts/?cursor=cj0xJnA9NDg3
                    format: uri
                    nullable: true
                    type: string
                  results:
                    items:
                      properties:
                        id:
                          description: Shipping method reference ID.
                          type: integer
                        name:
                          description: Shipping method name used internally for reference.
                          maxLength: 128
                          type: string
                        prices:
                          description: Price of the shipping method in every currency the campaign supports.
                          items:
                            properties:
                              currency:
                                maxLength: 3
                                type: string
                              price:
                                description: Shipping price in this currency.
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            required:
                              - currency
                              - price
                            type: object
                          readOnly: true
                          type: array
                        shipping_method:
                          description: Shipping method code / carrier.
                          maxLength: 128
                          type: string
                      required:
                        - id
                        - prices
                      type: object
                    type: array
                required:
                  - results
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    post:
      description: Create a shipping method on the campaign. `price` is set for the campaign's default currency; every other currency configured on the campaign is populated automatically through forex conversion.
      operationId: campaignsShippingMethodsCreate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                price:
                  description: Shipping price in the campaign's default currency. Every other currency configured on the campaign is populated automatically through forex conversion.
                  format: decimal
                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is populated automatically from this.
                  maxLength: 128
                  type: string
              required:
                - price
                - shipping_method
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                price:
                  description: Shipping price in the campaign's default currency. Every other currency configured on the campaign is populated automatically through forex conversion.
                  format: decimal
                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is populated automatically from this.
                  maxLength: 128
                  type: string
              required:
                - price
                - shipping_method
              type: object
          multipart/form-data:
            schema:
              properties:
                price:
                  description: Shipping price in the campaign's default currency. Every other currency configured on the campaign is populated automatically through forex conversion.
                  format: decimal
                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                  type: string
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is populated automatically from this.
                  maxLength: 128
                  type: string
              required:
                - price
                - shipping_method
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                description: |-
                  Identical to the list row today; kept distinct so detail can grow fields later
                  without also changing every list row, mirroring `PackageListSerializer`/`PackageDetailSerializer`.
                properties:
                  id:
                    description: Shipping method reference ID.
                    type: integer
                  name:
                    description: Shipping method name used internally for reference.
                    maxLength: 128
                    type: string
                  prices:
                    description: Price of the shipping method in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          maxLength: 3
                          type: string
                        price:
                          description: Shipping price in this currency.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                      type: object
                    readOnly: true
                    type: array
                  shipping_method:
                    description: Shipping method code / carrier.
                    maxLength: 128
                    type: string
                required:
                  - id
                  - prices
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /campaigns/{id}/shipping-methods/{shippingMethodId}/:
    delete:
      description: Delete a shipping method on the campaign.
      operationId: campaignsShippingMethodsDestroy
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Shipping method reference ID, unique within the campaign.
          in: path
          name: shippingMethodId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
    get:
      description: Retrieve a shipping method on the campaign.
      operationId: campaignsShippingMethodsRetrieve
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Shipping method reference ID, unique within the campaign.
          in: path
          name: shippingMethodId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                description: |-
                  Identical to the list row today; kept distinct so detail can grow fields later
                  without also changing every list row, mirroring `PackageListSerializer`/`PackageDetailSerializer`.
                properties:
                  id:
                    description: Shipping method reference ID.
                    type: integer
                  name:
                    description: Shipping method name used internally for reference.
                    maxLength: 128
                    type: string
                  prices:
                    description: Price of the shipping method in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          maxLength: 3
                          type: string
                        price:
                          description: Shipping price in this currency.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                      type: object
                    readOnly: true
                    type: array
                  shipping_method:
                    description: Shipping method code / carrier.
                    maxLength: 128
                    type: string
                required:
                  - id
                  - prices
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:read
      tags:
        - campaigns
    patch:
      description: Partially update a shipping method on the campaign.
      operationId: campaignsShippingMethodsPartialUpdate
      parameters:
        - description: Campaign ID.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Shipping method reference ID, unique within the campaign.
          in: path
          name: shippingMethodId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                prices:
                  description: Per-currency prices to update for the shipping method. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Shipping price in this currency.
                        format: decimal
                        pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is re-populated automatically from this when provided.
                  maxLength: 128
                  type: string
              type: object
          application/x-www-form-urlencoded:
            schema:
              properties:
                prices:
                  description: Per-currency prices to update for the shipping method. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Shipping price in this currency.
                        format: decimal
                        pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is re-populated automatically from this when provided.
                  maxLength: 128
                  type: string
              type: object
          multipart/form-data:
            schema:
              properties:
                prices:
                  description: Per-currency prices to update for the shipping method. Currencies not included are left unchanged.
                  items:
                    properties:
                      currency:
                        description: Currency this price entry applies to.
                        type: string
                      price:
                        description: Shipping price in this currency.
                        format: decimal
                        pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                        type: string
                    required:
                      - currency
                      - price
                    type: object
                  type: array
                  writeOnly: true
                recalculate_prices:
                  default: false
                  description: Whether to recalculate prices for currencies not included in `prices`, via forex conversion. Source is the campaign's default currency if included in `prices`, else the first currency listed — include the default currency or submit only one to avoid ambiguity.
                  nullable: true
                  type: boolean
                  writeOnly: true
                shipping_method:
                  description: Shipping method code from the store's configured shipping methods. `name` is re-populated automatically from this when provided.
                  maxLength: 128
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                description: |-
                  Identical to the list row today; kept distinct so detail can grow fields later
                  without also changing every list row, mirroring `PackageListSerializer`/`PackageDetailSerializer`.
                properties:
                  id:
                    description: Shipping method reference ID.
                    type: integer
                  name:
                    description: Shipping method name used internally for reference.
                    maxLength: 128
                    type: string
                  prices:
                    description: Price of the shipping method in every currency the campaign supports.
                    items:
                      properties:
                        currency:
                          maxLength: 3
                          type: string
                        price:
                          description: Shipping price in this currency.
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      required:
                        - currency
                        - price
                      type: object
                    readOnly: true
                    type: array
                  shipping_method:
                    description: Shipping method code / carrier.
                    maxLength: 128
                    type: string
                required:
                  - id
                  - prices
                type: object
          description: ''
      security:
        - oauth2:
            - campaigns:write
      tags:
        - campaigns
  /carts/:
    get:
      description: Retrieve a list of all open carts.
      operationId: cartsList
      parameters:
        - explode: true
          in: query
          name: product
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: YYYY-MM-DD
          in: query
          name: date_created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_to
          schema:
            format: date
            type: string
        - in: query
          name: abandoned
          schema:
            type: boolean
        - description: Currency
          in: query
          name: currency
          schema:
            type: string
        - description: Funnels
          explode: true
          in: query
          name: funnels
          schema:
            items:
              title: Funnel
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: UTM Source
          in: query
          name: utm_source
          schema:
            type: string
        - description: UTM Campaign
          in: query
          name: utm_campaign
          schema:
            type: string
        - description: UTM Term
          in: query
          name: utm_term
          schema:
            type: string
        - description: UTM Content
          in: query
          name: utm_content
          schema:
            type: string
        - description: Affiliate
          in: query
          name: affiliate
          schema:
            type: string
        - description: Sub-Affiliate 1
          in: query
          name: subaffiliate1
          schema:
            type: string
        - description: Sub-Affiliate 2
          in: query
          name: subaffiliate2
          schema:
            type: string
        - description: Sub-Affiliate 3
          in: query
          name: subaffiliate3
          schema:
            type: string
        - description: Sub-Affiliate 4
          in: query
          name: subaffiliate4
          schema:
            type: string
        - description: Sub-Affiliate 5
          in: query
          name: subaffiliate5
          schema:
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCartList'
          description: ''
      security:
        - oauth2:
            - carts:read
      tags:
        - carts
    post:
      description: Create a new cart.
      operationId: cartsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateCart'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartDetail'
          description: ''
      security:
        - oauth2:
            - carts:write
      tags:
        - carts
  /carts/{id}/:
    delete:
      description: Delete an existing cart.
      operationId: cartsDestroy
      parameters:
        - description: A unique integer value identifying this Cart.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - carts:write
      tags:
        - carts
    get:
      description: Retrieve a cart.
      operationId: cartsRetrieve
      parameters:
        - description: A unique integer value identifying this Cart.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartDetail'
          description: ''
      security:
        - oauth2:
            - carts:read
      tags:
        - carts
    put:
      description: Update an existing cart.
      operationId: cartsUpdate
      parameters:
        - description: A unique integer value identifying this Cart.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateCart'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartDetail'
          description: ''
      security:
        - oauth2:
            - carts:write
      tags:
        - carts
  /categories/:
    get:
      description: Retrieve a list of categories.
      operationId: categoriesList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryList'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a new category.
      operationId: categoriesCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Category'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Category'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /categories/{id}/:
    get:
      description: Retrieve a category.
      operationId: categoriesRetrieve
      parameters:
        - description: A unique integer value identifying this Category.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    put:
      description: Update an existing category.
      operationId: categoriesUpdate
      parameters:
        - description: A unique integer value identifying this Category.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Category'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Category'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /disputes/:
    get:
      description: Retrieve a list of disputes.
      operationId: disputesList
      parameters:
        - description: ID
          in: query
          name: id
          schema:
            type: string
        - description: |-
            * `alert` - Alert
            * `chargeback` - Chargeback
          in: query
          name: type
          schema:
            enum:
              - alert
              - chargeback
            type: string
            x-spec-enum-id: 3c60da80149644ea
        - description: |-
            * `new` - New
            * `open` - Open
            * `resolved` - Resolved
          in: query
          name: status
          schema:
            enum:
              - new
              - open
              - resolved
            type: string
            x-spec-enum-id: 4c48cc1c536a35b2
        - description: Order Number
          in: query
          name: order_number
          schema:
            type: string
        - description: Transaction ID
          in: query
          name: transaction_id
          schema:
            type: string
        - description: Auth Code
          in: query
          name: auth_code
          schema:
            type: string
        - description: Network Transaction ID
          in: query
          name: network_transaction_id
          schema:
            type: string
        - description: |-
            Card Brand

            * `visa` - Visa
            * `mastercard` - Mastercard
            * `american_express` - American Express
            * `diners_club` - Diners Club
            * `discover` - Discover
            * `jcb` - JCB
            * `maestro` - Maestro
            * `dankort` - Dankort
          explode: true
          in: query
          name: card_type
          schema:
            items:
              enum:
                - american_express
                - dankort
                - diners_club
                - discover
                - jcb
                - maestro
                - mastercard
                - visa
              title: Card Brand
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: Card First Six
          in: query
          name: card_first_six
          schema:
            type: string
        - description: Card Last Four
          in: query
          name: card_last_four
          schema:
            type: string
        - description: Case Number
          in: query
          name: case_number
          schema:
            type: string
        - description: Gateway ID
          in: query
          name: gateway_id
          schema:
            type: integer
        - description: Payment Method
          in: query
          name: payment_method
          schema:
            type:
              - string
              - 'null'
        - description: |-
            * `could_not_find_order` - Transaction Not found
            * `declined_or_canceled_nothing_to_do` - Nothing To Do
            * `issued_full_refund` - Issued Full Refund
            * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
            * `3ds_authorized_successfully` - Transaction 3DS Authorized
            * `previously_refunded_nothing_to_do` - Previously Refunded
            * `unable_to_refund_merchant_account_closed` - Unable to Refund
            * `won` - Won
            * `lost` - Lost
            * `accepted` - Accepted
            * `other` - Other
          in: query
          name: resolution
          schema:
            enum:
              - 3ds_authorized_successfully
              - accepted
              - could_not_find_order
              - declined_or_canceled_nothing_to_do
              - issued_full_refund
              - issued_refund_for_remaining_amount
              - lost
              - other
              - previously_refunded_nothing_to_do
              - unable_to_refund_merchant_account_closed
              - won
            type:
              - string
              - 'null'
            x-spec-enum-id: 8848f3a079993862
        - description: YYYY-MM-DD
          in: query
          name: dispute_date_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: dispute_date_to
          schema:
            format: date
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDisputeList'
          description: ''
      security:
        - oauth2:
            - disputes:read
      tags:
        - payments
    post:
      description: Create a new dispute.
      operationId: disputesCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDispute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateDispute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateDispute'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dispute'
          description: ''
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
  /disputes/{id}/:
    delete:
      description: Delete an existing dispute.
      operationId: disputesDestroy
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
    get:
      description: Retrieve a dispute.
      operationId: disputesRetrieve
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dispute'
          description: ''
      security:
        - oauth2:
            - disputes:read
      tags:
        - payments
    patch:
      description: Partial update an existing dispute.
      operationId: disputesPartialUpdate
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDispute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDispute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDispute'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dispute'
          description: ''
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
    put:
      description: Update an existing dispute.
      operationId: disputesUpdate
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dispute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Dispute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Dispute'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dispute'
          description: ''
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
  /disputes/{id}/notes/:
    get:
      description: Retrieve a list of all dispute notes in an existing dispute.
      operationId: disputesNotesList
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDisputeNoteList'
          description: ''
      security:
        - oauth2:
            - disputes:read
      tags:
        - payments
    post:
      description: Create an dispute note in an existing dispute.
      operationId: disputesNotesCreate
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDisputeNote'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateDisputeNote'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateDisputeNote'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisputeNote'
          description: ''
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
  /disputes/{id}/resolve/:
    post:
      description: Resolve a dispute with a resolution and optional external refund.
      operationId: disputesResolveCreate
      parameters:
        - description: A unique integer value identifying this Dispute.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolveDispute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResolveDispute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ResolveDispute'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dispute'
          description: ''
      security:
        - oauth2:
            - disputes:write
      tags:
        - payments
  /exports/:
    get:
      description: Retrieve a list of exports.
      operationId: exportsList
      parameters:
        - description: |-
            * `order_list` - Orders
            * `order_line_items` - Order Line Items
            * `customer_list` - Customers
            * `transaction_list` - Transactions
            * `dispute_list` - Disputes
            * `subscription_list` - Subscriptions
            * `subscription_line_items` - Subscription Line Items
            * `open_cart_list` - Open Carts
            * `open_cart_line_items` - Open Cart Line Items
            * `return_list` - Returns
            * `return_line_items` - Return Line Items
            * `fulfillment_list` - Fulfillments
            * `fulfillment_line_items` - Fulfillment Line Items
          in: query
          name: type
          schema:
            enum:
              - customer_list
              - dispute_list
              - fulfillment_line_items
              - fulfillment_list
              - open_cart_line_items
              - open_cart_list
              - order_line_items
              - order_list
              - return_line_items
              - return_list
              - subscription_line_items
              - subscription_list
              - transaction_list
            type: string
            x-spec-enum-id: d0060bc4b12d9a83
        - description: YYYY-MM-DD
          in: query
          name: date_created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_to
          schema:
            format: date
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedExportList'
          description: ''
      security:
        - oauth2:
            - exports:read
      tags:
        - exports
    post:
      description: Create a new export.
      operationId: exportsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateExport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateExport'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Export'
          description: ''
      security:
        - oauth2:
            - exports:write
      tags:
        - exports
  /exports/types/:
    get:
      description: Retrieve all available export types.
      operationId: exportsTypesRetrieve
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportTypes'
          description: ''
      security:
        - oauth2:
            - exports:read
      tags:
        - exports
  /exports/{id}/:
    get:
      description: Retrieve an export.
      operationId: exportsRetrieve
      parameters:
        - description: A unique integer value identifying this Export CSV.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Export'
          description: ''
      security:
        - oauth2:
            - exports:read
      tags:
        - exports
  /exports/{id}/download/:
    get:
      description: Retrieve the download URL for a completed export file.
      operationId: exportsDownloadRetrieve
      parameters:
        - description: A unique integer value identifying this Export CSV.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportDownload'
          description: ''
      security:
        - oauth2:
            - exports:read
      tags:
        - exports
  /fulfillment-orders/:
    get:
      description: Retrieve a list of fulfillment orders.
      operationId: fulfillmentOrdersList
      parameters:
        - description: Order Number
          in: query
          name: order_number
          schema:
            type: string
        - description: Location ID
          in: query
          name: location_id
          schema:
            type: string
        - description: |-
            Status

            * `not_required` - Not Requried
            * `open` - Open
            * `processing` - Processing
            * `on_hold` - On Hold
            * `incomplete` - Incomplete
            * `closed` - Closed
            * `canceled` - Canceled
          explode: true
          in: query
          name: status
          schema:
            items:
              enum:
                - canceled
                - closed
                - incomplete
                - not_required
                - on_hold
                - open
                - processing
              type: string
              x-spec-enum-id: 4980268d45eef5a2
            type: array
          style: form
        - description: |-
            Request Status

            * `pending` - Pending
            * `requested` - Requested
            * `accepted` - Accepted
            * `rejected` - Rejected
            * `cancel_requested` - Cancel Requested
            * `cancel_accepted` - Cancel Accepted
            * `cancel_rejected` - Cancel Rejected
            * `closed` - Closed
          explode: true
          in: query
          name: request_status
          schema:
            items:
              enum:
                - accepted
                - cancel_accepted
                - cancel_rejected
                - cancel_requested
                - closed
                - pending
                - rejected
                - requested
              type: string
              x-spec-enum-id: 5e87a3d9cb8f7ccc
            type: array
          style: form
        - description: Fulfillment Order  Id
          in: query
          name: fulfillment_order_id
          schema:
            type: string
        - description: Shipping Method
          explode: true
          in: query
          name: shipping_method
          schema:
            items:
              type: string
            type: array
          style: form
        - description: YYYY-MM-DD
          in: query
          name: date_created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_to
          schema:
            format: date
            type: string
        - description: Filter by product ID (supports variant and parent product IDs)
          explode: true
          in: query
          name: product
          schema:
            items:
              items:
                type: integer
              type: array
            type: array
          style: form
        - description: Filter by SKU
          explode: true
          in: query
          name: sku
          schema:
            items:
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFulfillmentOrderList'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
            - fulfillment_orders:read
      tags:
        - fulfillment
  /fulfillment-orders/{id}/:
    get:
      description: Retrieve a fulfillment order.
      operationId: fulfillmentOrdersRetrieve
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
            - fulfillment_orders:read
      tags:
        - fulfillment
  /fulfillment-orders/{id}/available-locations/:
    get:
      description: Retrieve available locations for a Fulfillment Order.
      operationId: availableLocationsRetrieve
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableLocationFulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:read
      tags:
        - fulfillment
  /fulfillment-orders/{id}/cancel/:
    post:
      description: Cancel fulfillment order
      operationId: fulfillmentOrdersCancel
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrderCancelResponse'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/cancellation-request/:
    post:
      description: Sends a fulfillment cancellation request to the fulfillment service.
      operationId: cancellationRequestSend
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancellationRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancellationRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancellationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/cancellation-request/accept/:
    post:
      description: Accepts a fulfillment cancellation request sent to a fulfillment service for a fulfillment order.
      operationId: cancellationRequestAccept
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancellationRequestAccept'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancellationRequestAccept'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancellationRequestAccept'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/cancellation-request/cancel/:
    post:
      description: Cancel a requested fulfillment cancellation request.
      operationId: cancellationRequestCancel
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancellationRequestCancel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancellationRequestCancel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancellationRequestCancel'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/cancellation-request/reject/:
    post:
      description: Rejects a fulfillment cancellation request sent to a fulfillment service for a fulfillment order.
      operationId: cancellationRequestReject
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancellationRequestReject'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancellationRequestReject'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancellationRequestReject'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/close/:
    post:
      description: Marks an processing fulfillment order as incomplete
      operationId: fulfillmentOrdersClose
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseFulfillmentOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CloseFulfillmentOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CloseFulfillmentOrder'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/fulfillment-request/:
    post:
      description: Sends a fulfillment request to the fulfillment service of a fulfillment order.
      operationId: fulfillmentRequestSend
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FulfillmentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FulfillmentRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FulfillmentRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentRequestResponse'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/fulfillment-request/accept/:
    post:
      description: Accepts a fulfillment request sent to a fulfillment service for a fulfillment order.
      operationId: fulfillmentRequestAccept
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestAccept'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestAccept'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestAccept'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/fulfillment-request/cancel/:
    post:
      description: Cancel Requested Fulfillment Order.
      operationId: fulfillmentRequestCancel
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestCancel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestCancel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestCancel'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/fulfillment-request/reject/:
    post:
      description: Rejects a fulfillment request sent to a fulfillment service for a fulfillment order.
      operationId: fulfillmentRequestReject
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestReject'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestReject'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FulfillmentRequestReject'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/fulfillments/:
    get:
      description: Retrieve Fulfillments for a Fulfillment Order.
      operationId: fulfillmentsRetrieve
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentResponse'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
            - fulfillment_orders:read
      tags:
        - fulfillment
    post:
      description: Create Fulfillments for a Fulfillment Order.
      operationId: fulfillmentsCreate
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFulfillment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateFulfillment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateFulfillment'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentResponse'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/hold/:
    post:
      description: Hold Fulfillment.
      operationId: fulfillmentOrdersHold
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HoldFulfillment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HoldFulfillment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/HoldFulfillment'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/move/:
    post:
      description: Move location of a fulfillment order.
      operationId: fulfillmentOrdersMove
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveFulfillmentOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MoveFulfillmentOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MoveFulfillmentOrder'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveFulfillmentOrderResponse'
          description: ''
      security:
        - oauth2:
            - fulfillment_orders:write
      tags:
        - fulfillment
  /fulfillment-orders/{id}/release-hold/:
    post:
      description: Release On Hold Fulfillment.
      operationId: fulfillmentOrdersReleaseHold
      parameters:
        - description: A unique integer value identifying this fulfillment order.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - fulfillment_orders:write
      tags:
        - fulfillment
  /gateway-groups/:
    get:
      description: Retrieve a list of gatway groups.
      operationId: gatewayGroupsList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGatewayGroupList'
          description: ''
      security:
        - oauth2:
            - gateways:read
      tags:
        - payments
  /gateway-groups/{id}/:
    get:
      description: Retrieve a gatway group.
      operationId: gatewayGroupsRetrieve
      parameters:
        - description: A unique integer value identifying this Gateway Group.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayGroup'
          description: ''
      security:
        - oauth2:
            - gateways:read
      tags:
        - payments
  /gateways/:
    get:
      description: Retrieve a list of gateways.
      operationId: gatewaysList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPaymentGatewayList'
          description: ''
      security:
        - oauth2:
            - gateways:read
      tags:
        - payments
  /gateways/{id}/:
    get:
      description: Retrieve a gateway.
      operationId: gatewaysRetrieve
      parameters:
        - description: A unique integer value identifying this Payment Gateway.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentGateway'
          description: ''
      security:
        - oauth2:
            - gateways:read
      tags:
        - payments
  /gift-cards/:
    get:
      description: Retrieve a list of gift cards.
      operationId: giftCardsList
      parameters:
        - description: Generic search by code, name, email.
          in: query
          name: search_text
          schema:
            type: string
        - description: YYYY-MM-DD
          in: query
          name: created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: created_to
          schema:
            format: date
            type: string
        - description: Customer
          in: query
          name: customer
          schema:
            type: integer
        - description: |-
            Status

            * `active` - Active
            * `expired` - Expired
            * `disabled` - Disabled
          in: query
          name: status
          schema:
            enum:
              - active
              - disabled
              - expired
            type: string
        - description: Currency
          in: query
          name: currency
          schema:
            type: string
        - description: Amount From
          in: query
          name: amount_from
          schema:
            type: number
        - description: Amount To
          in: query
          name: amount_to
          schema:
            type: number
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGiftCardList'
          description: ''
      security:
        - oauth2:
            - gift_cards:read
      tags:
        - gift-cards
    post:
      description: Create a gift card.
      operationId: giftCardsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGiftCard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateGiftCard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateGiftCard'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseCreateGiftCard'
          description: ''
      security:
        - oauth2:
            - gift_cards:write
      tags:
        - gift-cards
  /gift-cards/{id}/:
    get:
      description: Retrieve a gift card.
      operationId: giftCardsRetrieve
      parameters:
        - description: A unique integer value identifying this gift card.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseGiftCard'
          description: ''
      security:
        - oauth2:
            - gift_cards:read
      tags:
        - gift-cards
    patch:
      description: Update a gift card.
      operationId: giftCardsPartialUpdate
      parameters:
        - description: A unique integer value identifying this gift card.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateGiftCard'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateGiftCard'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateGiftCard'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseGiftCard'
          description: ''
      security:
        - oauth2:
            - gift_cards:write
      tags:
        - gift-cards
  /gift-cards/{id}/deactivate/:
    post:
      description: Deactivate a gift card.
      operationId: giftCardsDeactivate
      parameters:
        - description: A unique integer value identifying this gift card.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseGiftCard'
          description: ''
      security:
        - oauth2:
            - gift_cards:write
      tags:
        - gift-cards
  /locations/:
    get:
      description: Retrieve a list of all configured fulfillment locations.
      operationId: locationsList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationList'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
            - locations:read
      tags:
        - fulfillment
    post:
      description: Create a new fulfillment location.
      operationId: locationsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Location'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Location'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - locations:write
      tags:
        - fulfillment
  /locations/{id}/:
    delete:
      operationId: locationsDestroy
      parameters:
        - description: A unique integer value identifying this partner.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - fulfillment_service:write
            - locations:write
      tags:
        - fulfillment
    get:
      description: Retrieve an existing fulfillment location.
      operationId: locationsRetrieve
      parameters:
        - description: A unique integer value identifying this partner.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:read
            - locations:read
      tags:
        - fulfillment
    put:
      description: Update an existing fulfillment location.
      operationId: locationsUpdate
      parameters:
        - description: A unique integer value identifying this partner.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Location'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Location'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
      security:
        - oauth2:
            - fulfillment_service:write
            - locations:write
      tags:
        - fulfillment
  /metadata/:
    get:
      description: Retrieve a list of metadata definitions.
      operationId: metadataList
      parameters:
        - description: Name
          in: query
          name: name
          schema:
            type: string
        - description: |-
            Object

            * `attribution` - Attribution
            * `customer` - Customer
            * `dispute` - Dispute
            * `line` - Line Item
            * `order` - Order
            * `product` - Product
            * `variant` - Variant
            * `blog` - Blog
            * `page` - Page
          explode: true
          in: query
          name: object
          schema:
            items:
              enum:
                - attribution
                - blog
                - customer
                - dispute
                - line
                - order
                - page
                - product
                - variant
              type: string
              x-spec-enum-id: 06e58adfbb02ad1f
            type: array
          style: form
        - description: Metadata Key
          in: query
          name: metadata_key
          schema:
            type: string
        - description: |-
            Type

            * `text` - Text
            * `integer` - Integer
            * `decimal` - Decimal
            * `rich_text` - Rich Text
            * `multi_text` - Multi Text
            * `file` - File
            * `boolean` - Boolean
          explode: true
          in: query
          name: type
          schema:
            items:
              enum:
                - boolean
                - decimal
                - file
                - integer
                - multi_text
                - rich_text
                - text
              type: string
              x-spec-enum-id: 079b46b0c121a3e8
            type: array
          style: form
        - description: Export
          in: query
          name: enable_export
          schema:
            type: boolean
        - description: Search Filter
          in: query
          name: enable_filter
          schema:
            type: boolean
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDefinitionList'
          description: ''
      security:
        - oauth2:
            - metadata:read
      tags:
        - metadata
    post:
      description: Create a new metadata definition.
      operationId: metadataCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDefinition'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateDefinition'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateDefinition'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Definition'
          description: ''
      security:
        - oauth2:
            - metadata:write
      tags:
        - metadata
  /metadata/{id}/:
    delete:
      description: Delete an existing metadata definition.
      operationId: metadataDestroy
      parameters:
        - description: A unique integer value identifying this definition.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - metadata:write
      tags:
        - metadata
    get:
      description: Retrieve a metadata definition.
      operationId: metadataRetrieve
      parameters:
        - description: A unique integer value identifying this definition.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Definition'
          description: ''
      security:
        - oauth2:
            - metadata:read
      tags:
        - metadata
    patch:
      description: Partial update an existing metadata definition.
      operationId: metadataPartialUpdate
      parameters:
        - description: A unique integer value identifying this definition.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateDefinition'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateDefinition'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateDefinition'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Definition'
          description: ''
      security:
        - oauth2:
            - metadata:write
      tags:
        - metadata
    put:
      description: Update an existing metadata definition.
      operationId: metadataUpdate
      parameters:
        - description: A unique integer value identifying this definition.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDefinition'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateDefinition'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateDefinition'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Definition'
          description: ''
      security:
        - oauth2:
            - metadata:write
      tags:
        - metadata
  /orders/:
    get:
      description: Retrieve a list of orders.
      operationId: ordersList
      parameters:
        - in: query
          name: search_text
          schema:
            type: string
        - in: query
          name: address
          schema:
            type: string
        - description: Order Number
          in: query
          name: order_number
          schema:
            type: string
        - in: query
          name: name
          schema:
            type: string
        - description: Filter by product ID (supports variant and parent product IDs)
          explode: true
          in: query
          name: product
          schema:
            items:
              items:
                type: integer
              type: array
            type: array
          style: form
        - explode: true
          in: query
          name: location_id
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: Filter by SKU
          explode: true
          in: query
          name: sku
          schema:
            items:
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: |-
            Status

            * `open` - open
            * `archived` - archived
            * `canceled` - canceled
          explode: true
          in: query
          name: status
          schema:
            items:
              enum:
                - archived
                - canceled
                - open
              type: string
            type: array
          style: form
        - description: Payment Method
          explode: true
          in: query
          name: payment_method
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: currency
          schema:
            type: string
        - description: |-
            Fulfillment Status

            * `not_required` - Not Required
            * `unfulfilled` - Unfulfilled
            * `on_hold` - On Hold
            * `rejected` - Rejected
            * `processing` - Processing
            * `partially_fulfilled` - Partially Fulfilled
            * `fulfilled` - Fulfilled
            * `incomplete` - Incomplete
          explode: true
          in: query
          name: fulfillment_status
          schema:
            items:
              enum:
                - fulfilled
                - incomplete
                - not_required
                - on_hold
                - partially_fulfilled
                - processing
                - rejected
                - unfulfilled
              type: string
              x-spec-enum-id: 732a013686f682ba
            type: array
          style: form
        - description: |-
            Delivery Status

            * `tracking_added` - Tracking Added
            * `in_transit` - In Transit
            * `out_for_delivery` - Out For Delivery
            * `attempted_delivery` - Attempted Delivery
            * `failed_delivery` - Failed Delivery
            * `delivered` - Delivered
            * `delayed` - Delayed
          explode: true
          in: query
          name: delivery_status
          schema:
            items:
              enum:
                - attempted_delivery
                - delayed
                - delivered
                - failed_delivery
                - in_transit
                - out_for_delivery
                - tracking_added
              type: string
            type: array
          style: form
        - description: |-
            Payment Status

            * `pending` - Payment Pending
            * `authorized` - Authorized
            * `expiring` - Expiring
            * `expired` - Expired
            * `paid` - Paid
            * `voided` - Voided
            * `refunded` - Refunded
            * `partially_paid` - Partially Paid
            * `partially_refunded` - Partially Refunded
            * `partially_voided` - Partially Voided
          explode: true
          in: query
          name: payment_status
          schema:
            items:
              enum:
                - authorized
                - expired
                - expiring
                - paid
                - partially_paid
                - partially_refunded
                - partially_voided
                - pending
                - refunded
                - voided
              type: string
              x-spec-enum-id: 4ddf29c57b2eb8f6
            type: array
          style: form
        - description: |-
            Subscription Lifecycle

            * `recurring` - Recurring
            * `non-recurring` - Non-Recurring
          in: query
          name: subscription_lifecycle
          schema:
            enum:
              - non-recurring
              - recurring
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_placed_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_placed_to
          schema:
            format: date
            type: string
        - description: Coupon code
          explode: true
          in: query
          name: coupon_code
          schema:
            items:
              title: Code
              type: string
            type: array
          style: form
        - description: Tags
          explode: true
          in: query
          name: tags
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Offers
          explode: true
          in: query
          name: offers
          schema:
            items:
              type: string
            type: array
          style: form
        - explode: true
          in: query
          name: countries
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Funnels
          explode: true
          in: query
          name: funnels
          schema:
            items:
              title: Funnel
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: |-
            Source

            * `admin_api` - Admin API
            * `checkout` - Checkout Flow
            * `subscription` - Subscription
            * `dashboard` - Dashboard
          explode: true
          in: query
          name: sources
          schema:
            items:
              enum:
                - admin_api
                - checkout
                - dashboard
                - subscription
              type:
                - string
                - 'null'
              x-spec-enum-id: 560f42e2fb5961ae
            type: array
          style: form
        - description: Agents
          explode: true
          in: query
          name: agents
          schema:
            items:
              format: email
              title: Email address
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: UTM Source
          in: query
          name: utm_source
          schema:
            type: string
        - description: UTM Campaign
          in: query
          name: utm_campaign
          schema:
            type: string
        - description: UTM Term
          in: query
          name: utm_term
          schema:
            type: string
        - description: UTM Content
          in: query
          name: utm_content
          schema:
            type: string
        - description: Affiliate
          in: query
          name: affiliate
          schema:
            type: string
        - description: Sub-Affiliate 1
          in: query
          name: subaffiliate1
          schema:
            type: string
        - description: Sub-Affiliate 2
          in: query
          name: subaffiliate2
          schema:
            type: string
        - description: Sub-Affiliate 3
          in: query
          name: subaffiliate3
          schema:
            type: string
        - description: Sub-Affiliate 4
          in: query
          name: subaffiliate4
          schema:
            type: string
        - description: Sub-Affiliate 5
          in: query
          name: subaffiliate5
          schema:
            type: string
        - in: query
          name: is_disputed
          schema:
            type: boolean
        - in: query
          name: has_outstanding_balance
          schema:
            type: boolean
        - in: query
          name: has_split_fulfillment
          schema:
            type: boolean
        - description: Is Test Order
          in: query
          name: is_test
          schema:
            type: boolean
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOrderListList'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
    post:
      description: Create a new order.
      operationId: ordersCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateOrder'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/:
    get:
      description: Retrieve a order.
      operationId: ordersRetrieve
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
    patch:
      description: Partial update an existing order.
      operationId: ordersPartialUpdate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrder'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
    put:
      description: Update an existing order.
      operationId: ordersUpdate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateOrder'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/add-line-items/:
    post:
      description: Add additional items to the order and charge the initial order payment method.
      operationId: ordersAddLineItemsCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddLineItem'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/cancel/:
    post:
      description: Cancel an existing order.
      operationId: ordersCancelCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancelOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancelOrder'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/capture/:
    post:
      description: Captures the total amount of the previously authorized funds for this order.
      operationId: ordersCaptureCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/collect-payment/:
    post:
      description: Collect payment for an order outstanding balance on the order.                      Requires order original payment method to support merchant initiated transactions.
      operationId: ordersCollectPaymentCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectPayment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CollectPayment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CollectPayment'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/fulfillment-orders/:
    get:
      description: Retrieves a list of fulfillment orders for a specific order.
      operationId: ordersFulfillmentOrdersRetrieve
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentOrder'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
  /orders/{number}/fulfillments/:
    get:
      description: Retrieve order fulfillments.
      operationId: ordersFulfillmentsRetrieve
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentResponse'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
    post:
      description: Add shipment order for separate line.
      operationId: ordersFulfillmentsCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrderShipmentTracking'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddOrderShipmentTracking'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddOrderShipmentTracking'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentResponse'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/fulfillments/{fulfillmentId}/:
    get:
      description: Retrieve an existing order fulfillment.
      operationId: ordersFulfillmentRetrieve
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: path
          name: fulfillmentId
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentResponse'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
  /orders/{number}/fulfillments/{fulfillmentId}/events/:
    get:
      description: Retrieve a list of fulfillment events of a order fulfillment.
      operationId: ordersFulfillmentsEventsList
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this fulfillment.
          in: path
          name: fulfillmentId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentEvent'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
    post:
      description: Create a fulfillment event in an existing order fulfillment.
      operationId: ordersFulfillmentsEventsCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this fulfillment.
          in: path
          name: fulfillmentId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFulfillmentEvent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateFulfillmentEvent'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateFulfillmentEvent'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentEvent'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/fulfillments/{fulfillmentId}/events/{eventId}/:
    delete:
      description: Delete an existing fulfillment event.
      operationId: ordersFulfillmentsEventsDestroy
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this fulfillment.
          in: path
          name: fulfillmentId
          required: true
          schema:
            type: integer
        - in: path
          name: eventId
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
    get:
      description: Retrieve a fulfillment event.
      operationId: ordersFulfillmentsEventsRetrieve
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this fulfillment.
          in: path
          name: fulfillmentId
          required: true
          schema:
            type: integer
        - in: path
          name: eventId
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentEvent'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
  /orders/{number}/lines/:
    post:
      description: Add a new line item to an existing order.
      operationId: ordersLinesCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrderLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddOrderLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddOrderLine'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/lines/{lineId}/:
    delete:
      description: Remove a line item from an existing order.
      operationId: ordersLinesDestroy
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this Order Line.
          in: path
          name: lineId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
    patch:
      description: Update an existing line item in an order.
      operationId: ordersLinesPartialUpdate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            type: string
        - description: A unique integer value identifying this Order Line.
          in: path
          name: lineId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrderLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrderLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateOrderLine'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/mark-as-paid/:
    post:
      description: Marks an order as paid. You can only mark an order as paid if it isn't already fully paid.
      operationId: ordersMarkAsPaidCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkAsPaid'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarkAsPaid'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MarkAsPaid'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/notes/:
    get:
      description: Retrieve a list of all order notes in an existing order.
      operationId: ordersNotesList
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOrderNoteList'
          description: ''
      security:
        - oauth2:
            - orders:read
      tags:
        - orders
    post:
      description: Create an order note in an existing order.
      operationId: ordersNotesCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderNote'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateOrderNote'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateOrderNote'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderNote'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/refund/:
    post:
      description: Refund an existing order.
      operationId: ordersRefundCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RefundOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RefundOrder'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Refund'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /orders/{number}/refund/calculate/:
    post:
      operationId: ordersRefundCalculateCreate
      parameters:
        - in: path
          name: number
          required: true
          schema:
            title: Order number
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateRefundRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CalculateRefundRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CalculateRefundRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateRefundResponse'
          description: ''
      security:
        - oauth2:
            - orders:write
      tags:
        - orders
  /pages/:
    get:
      description: Retrieve a list of pages.
      operationId: pagesList
      parameters:
        - description: Title
          in: query
          name: title
          schema:
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPageList'
          description: ''
      security:
        - oauth2:
            - content:read
      tags:
        - storefront
    post:
      description: Create a new page.
      operationId: pagesCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
      security:
        - oauth2:
            - content:write
      tags:
        - storefront
  /pages/{id}/:
    delete:
      description: Delete an existing page.
      operationId: pagesDestroy
      parameters:
        - description: A unique integer value identifying this flat page.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - content:write
      tags:
        - storefront
    get:
      description: Retrieve a page.
      operationId: pagesRetrieve
      parameters:
        - description: A unique integer value identifying this flat page.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
      security:
        - oauth2:
            - content:read
      tags:
        - storefront
    patch:
      description: Partially update an existing page.
      operationId: pagesPartialUpdate
      parameters:
        - description: A unique integer value identifying this flat page.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdatePage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdatePage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdatePage'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
      security:
        - oauth2:
            - content:write
      tags:
        - storefront
    put:
      description: Update an existing page.
      operationId: pagesUpdate
      parameters:
        - description: A unique integer value identifying this flat page.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdatePage'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
      security:
        - oauth2:
            - content:write
      tags:
        - storefront
  /products/:
    get:
      description: Retrieve a list of all products.
      operationId: productsList
      parameters:
        - in: query
          name: title
          schema:
            type: string
        - explode: true
          in: query
          name: category
          schema:
            items:
              type: integer
            type: array
          style: form
        - explode: true
          in: query
          name: range
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: Is Public
          in: query
          name: is_public
          schema:
            type: boolean
        - description: Is Gift Card
          in: query
          name: is_gift_card
          schema:
            type: boolean
        - explode: true
          in: query
          name: sku
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProductListList'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a new product.
      operationId: productsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProduct'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateProduct'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateProduct'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/variants/{id}/:
    delete:
      operationId: productsVariantsDestroy
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    get:
      operationId: productsVariantsRetrieve
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVariant'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    patch:
      operationId: productsVariantsPartialUpdate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProductVariant'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProductVariant'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProductVariant'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVariant'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    put:
      operationId: productsVariantsUpdate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProductVariant'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateProductVariant'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateProductVariant'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVariant'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/:
    delete:
      description: Delete an existing product.
      operationId: productsDestroy
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    get:
      description: Retrieve a product.
      operationId: productsRetrieve
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    patch:
      description: Partially update an existing product.
      operationId: productsPartialUpdate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProduct'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProduct'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateProduct'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    put:
      description: Update an existing product.
      operationId: productsUpdate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProduct'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateProduct'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateProduct'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/images/:
    get:
      description: Retrieve a list of all images from a product.
      operationId: productsImageList
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductImage'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a new image in an existing product.
      operationId: productsImageCreate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductImage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProductImage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProductImage'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductImage'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/images/{imageId}/:
    delete:
      description: Delete an image of the product.
      operationId: productsImageDelete
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: imageId
          required: true
          schema:
            pattern: ^\d+$
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    get:
      description: Retrieve the details of an image from a product.
      operationId: productsImageDetail
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: imageId
          required: true
          schema:
            pattern: ^\d+$
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductImage'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    patch:
      description: Update details of an existing product image.
      operationId: productsImageUpdate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: imageId
          required: true
          schema:
            pattern: ^\d+$
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProductImageUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProductImageUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProductImageUpdate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductImage'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/prices/:
    get:
      description: Retrieve a list of all prices from a product.
      operationId: productsPricesList
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPrices'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a product price in an existing product.
      operationId: productsPricesCreate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductPrices'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProductPrices'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProductPrices'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPrices'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/prices/{currency}/:
    delete:
      description: Delete a price in an existing product.
      operationId: productsPricesDestroy
      parameters:
        - description: A unique integer value identifying this Price.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: currency
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    get:
      description: Retrieve a price in an existing product.
      operationId: productsPricesRetrieve
      parameters:
        - description: A unique integer value identifying this Price.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: currency
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePriceWithCurrency'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    patch:
      description: Update details of an existing product price.
      operationId: productsPricesPartialUpdate
      parameters:
        - description: A unique integer value identifying this Price.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: path
          name: currency
          required: true
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePriceWithCurrency'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePriceWithCurrency'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePriceWithCurrency'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatePriceWithCurrency'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /products/{id}/variants/:
    get:
      description: Retrieve a list of variant products for a product.
      operationId: productsVariantList
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVariant'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a variant product in an existing product.
      operationId: productsVariantCreate
      parameters:
        - description: A unique integer value identifying this Product.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProductVariant'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateProductVariant'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateProductVariant'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductVariant'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /shipping-methods/:
    get:
      description: Retrieve a list of all configured shipping methods.
      operationId: shippingMethodsList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedShippingMethodList'
          description: ''
      security:
        - oauth2: []
      tags:
        - fulfillment
  /shipping-methods/{id}/:
    get:
      description: Retrieve an existing shipping method.
      operationId: shippingMethodsRetrieve
      parameters:
        - description: A unique integer value identifying this Order and Item Charge.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShippingMethod'
          description: ''
      security:
        - oauth2: []
      tags:
        - fulfillment
  /stockrecords/:
    get:
      description: Retrieve a list of stockrecords.
      operationId: stockrecordsList
      parameters:
        - description: Generic search by product name or SKU.
          in: query
          name: search_text
          schema:
            type: string
        - description: Location
          explode: true
          in: query
          name: location_id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: SKU
          in: query
          name: sku
          schema:
            type: string
        - description: |-
            Inventory Availability

            * `in_stock` - In Stock
            * `low_stock` - Low Stock
            * `out_of_stock` - Out of Stock
            * `untracked` - Untracked
          in: query
          name: inventory_availability
          schema:
            enum:
              - in_stock
              - low_stock
              - out_of_stock
              - untracked
            type: string
        - description: |-
            Purchase Availability

            * `available` - Available
            * `unavailable` - Unavailable
          in: query
          name: purchase_availability
          schema:
            enum:
              - available
              - unavailable
            type:
              - string
              - 'null'
            x-spec-enum-id: c3aa4eaf80db200b
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockRecordList'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    post:
      description: Create a new stockrecord.
      operationId: stockrecordsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateStockRecord'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateStockRecord'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateStockRecord'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockRecord'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /stockrecords/{id}/:
    delete:
      description: Delete an existing stockrecord.
      operationId: stockrecordsDestroy
      parameters:
        - description: A unique integer value identifying this Stock record.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
    get:
      description: Retrieve a stockrecord.
      operationId: stockrecordsRetrieve
      parameters:
        - description: A unique integer value identifying this Stock record.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockRecord'
          description: ''
      security:
        - oauth2:
            - catalogue:read
      tags:
        - products
    patch:
      description: Partial update an existing stockrecord.
      operationId: stockrecordsPartialUpdate
      parameters:
        - description: A unique integer value identifying this Stock record.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateStockRecord'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateStockRecord'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateStockRecord'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockRecord'
          description: ''
      security:
        - oauth2:
            - catalogue:write
      tags:
        - products
  /store/:
    get:
      description: Retrieve general business information and store settings.
      operationId: storeDetail
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Store'
          description: ''
      security:
        - oauth2:
            - store:read
      tags:
        - store
  /subscriptions/:
    get:
      description: Retrieve a list of subscriptions.
      operationId: subscriptionsList
      parameters:
        - in: query
          name: search_text
          schema:
            type: string
        - in: query
          name: address
          schema:
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_to
          schema:
            format: date
            type: string
        - description: |-
            Status

            * `active` - Active
            * `past_due` - Past Due
            * `canceled` - Canceled
            * `retrying` - Retrying
            * `paused` - Paused
          explode: true
          in: query
          name: status
          schema:
            items:
              enum:
                - active
                - canceled
                - past_due
                - paused
                - retrying
              type: string
              x-spec-enum-id: 99133723086a4290
            type: array
          style: form
        - explode: true
          in: query
          name: product
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: SKU
          explode: true
          in: query
          name: sku
          schema:
            items:
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: Gateway
          explode: true
          in: query
          name: gateway
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: |-
            Card Brand

            * `visa` - Visa
            * `mastercard` - Mastercard
            * `american_express` - American Express
            * `diners_club` - Diners Club
            * `discover` - Discover
            * `jcb` - JCB
            * `maestro` - Maestro
            * `dankort` - Dankort
          explode: true
          in: query
          name: card_type
          schema:
            items:
              enum:
                - american_express
                - dankort
                - diners_club
                - discover
                - jcb
                - maestro
                - mastercard
                - visa
              type: string
            type: array
          style: form
        - description: Order Number
          in: query
          name: order_number
          schema:
            type: string
        - description: Customer Email
          in: query
          name: customer_email
          schema:
            type: string
        - description: Customer phone number
          in: query
          name: customer_phone_number
          schema:
            type: string
        - description: Cancel Reason
          in: query
          name: cancel_reason
          schema:
            type: string
        - description: YYYY-MM-DD
          in: query
          name: next_renewal_date_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: next_renewal_date_to
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: cancel_date_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: cancel_date_to
          schema:
            format: date
            type: string
        - description: |-
            Recovery Source

            * `email_automation` - Email Automation
            * `retries` - Retries
            * `account_updater` - Account Updater
            * `other` - Other
            * `storefront` - Storefront
            * `dashboard` - Dashboard
          in: query
          name: recoveries_source
          schema:
            enum:
              - account_updater
              - dashboard
              - email_automation
              - other
              - retries
              - storefront
            type: string
        - description: YYYY-MM-DD
          in: query
          name: recoveries_date_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: recoveries_date_to
          schema:
            format: date
            type: string
        - description: Funnels
          explode: true
          in: query
          name: funnels
          schema:
            items:
              title: Funnel
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: Agents
          explode: true
          in: query
          name: agents
          schema:
            items:
              format: email
              title: Email address
              type:
                - string
                - 'null'
            type: array
          style: form
        - description: UTM Source
          in: query
          name: utm_source
          schema:
            type: string
        - description: UTM Campaign
          in: query
          name: utm_campaign
          schema:
            type: string
        - description: UTM Term
          in: query
          name: utm_term
          schema:
            type: string
        - description: UTM Content
          in: query
          name: utm_content
          schema:
            type: string
        - description: Affiliate
          in: query
          name: affiliate
          schema:
            type: string
        - description: Sub-Affiliate 1
          in: query
          name: subaffiliate1
          schema:
            type: string
        - description: Sub-Affiliate 2
          in: query
          name: subaffiliate2
          schema:
            type: string
        - description: Sub-Affiliate 3
          in: query
          name: subaffiliate3
          schema:
            type: string
        - description: Sub-Affiliate 4
          in: query
          name: subaffiliate4
          schema:
            type: string
        - description: Sub-Affiliate 5
          in: query
          name: subaffiliate5
          schema:
            type: string
        - description: Is Test Subscription
          in: query
          name: is_test
          schema:
            type: boolean
        - description: |-
            Payment Method

            * `apple_pay` - Apple Pay
            * `bankcard` - Bankcard
            * `google_pay` - Google Pay
            * `klarna` - Klarna
            * `link` - Link
            * `paypal` - PayPal
            * `twint` - Twint
          explode: true
          in: query
          name: payment_method
          schema:
            items:
              enum:
                - apple_pay
                - bankcard
                - google_pay
                - klarna
                - link
                - paypal
                - twint
              type:
                - string
                - 'null'
              x-spec-enum-id: 563b58328f283df3
            type: array
          style: form
        - description: |-
            Gateway Status

            * `active` - Active
            * `inactive` - Inactive
          in: query
          name: gateway_status
          schema:
            enum:
              - active
              - inactive
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSubscriptionDetailList'
          description: ''
      security:
        - oauth2:
            - subscriptions:read
      tags:
        - subscriptions
    post:
      description: Create a new subscription.
      operationId: subscriptionsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateSubscription'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/:
    get:
      description: Retrieve a subscription.
      operationId: subscriptionsRetrieve
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
        - description: A unique integer value identifying the Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:read
      tags:
        - subscriptions
    patch:
      description: Partial update an existing subscription.
      operationId: subscriptionsPartialUpdate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
        - description: A unique integer value identifying the Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateSubscription'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/cancel/:
    post:
      description: Cancel an existing subscription.
      operationId: subscriptionsCancelCreate
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CancelSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CancelSubscription'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/lines/:
    post:
      description: Create a new subscription line.
      operationId: subscriptionsLinesCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
        - description: A unique integer value identifying the Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSubscriptionLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddSubscriptionLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddSubscriptionLine'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionLine'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/lines/{lineId}/:
    delete:
      description: Delete a subscription line in an existing subscription line.
      operationId: subscriptionsLinesDestroy
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
        - description: A unique integer value identifying the Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: A unique integer value identifying the Subscription line.
          in: path
          name: lineId
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
    put:
      description: Update an existing subscription line.
      operationId: subscriptionsLinesUpdate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
        - description: A unique integer value identifying the Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: A unique integer value identifying the Subscription line.
          in: path
          name: lineId
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionLine'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionLine'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/pause/:
    post:
      description: Pause an existing subscription.
      operationId: subscriptionsPauseCreate
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PauseSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PauseSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PauseSubscription'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/renew/:
    post:
      description: Trigger a subscription renewal order.
      operationId: subscriptionsRenewCreate
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/resume/:
    post:
      description: Resume a paused subscription.
      operationId: subscriptionsResumeCreate
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResumeSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ResumeSubscription'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/retry/:
    post:
      description: Trigger a renewal payment retry for a subscription.
      operationId: subscriptionsRetryCreate
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetrySubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RetrySubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RetrySubscription'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDetail'
          description: ''
      security:
        - oauth2:
            - subscriptions:write
      tags:
        - subscriptions
  /subscriptions/{id}/transactions/:
    get:
      description: Retrieve a list of transactions in an existing subscription.
      operationId: subscriptionsTransactionsList
      parameters:
        - description: A unique integer value identifying this Subscription.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSubscriptionTransactionList'
          description: ''
      security:
        - oauth2:
            - subscriptions:read
      tags:
        - subscriptions
  /themes/:
    get:
      description: Retrieve a list of themes.
      operationId: themesList
      parameters:
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedThemeList'
          description: ''
      security:
        - oauth2:
            - themes:read
      tags:
        - storefront
    post:
      description: Create a new theme.
      operationId: themesCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Theme'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Theme'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Theme'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
          description: ''
      security:
        - oauth2:
            - themes:write
      tags:
        - storefront
  /themes/{id}/:
    delete:
      description: Delete an existing theme.
      operationId: themesDestroy
      parameters:
        - description: A unique integer value identifying this theme.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - themes:write
      tags:
        - storefront
    get:
      description: Retrieve a theme.
      operationId: themesRetrieve
      parameters:
        - description: A unique integer value identifying this theme.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme'
          description: ''
      security:
        - oauth2:
            - themes:read
      tags:
        - storefront
  /themes/{id}/templates/:
    delete:
      description: Delete an existing template in an existing theme.
      operationId: themesTemplatesDestroy
      parameters:
        - description: A unique integer value identifying this theme.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - themes:write
      tags:
        - storefront
    get:
      description: Retrieve a list of templates in an existing theme.
      operationId: themesTemplatesRetrieve
      parameters:
        - description: A unique integer value identifying this theme.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
      security:
        - oauth2:
            - themes:read
      tags:
        - storefront
    post:
      description: Create a new template in an existing theme.
      operationId: themesTemplatesCreate
      parameters:
        - description: A unique integer value identifying this theme.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Template'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Template'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Template'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Template'
          description: ''
      security:
        - oauth2:
            - themes:write
      tags:
        - storefront
  /tickets/:
    get:
      description: Retrieve a list of tickets.
      operationId: ticketsList
      parameters:
        - description: Generic search by ticket id, subject, or requester email.
          in: query
          name: filter_text
          schema:
            type: string
        - in: query
          name: id
          schema:
            type: integer
        - description: Subject
          in: query
          name: subject
          schema:
            type: string
        - description: |-
            * `new` - New
            * `open` - Open
            * `pending` - Pending
            * `solved` - Solved
            * `closed` - Closed
          explode: true
          in: query
          name: status
          schema:
            items:
              enum:
                - closed
                - new
                - open
                - pending
                - solved
              type: string
              x-spec-enum-id: 30751850e74b0756
            type: array
          style: form
        - description: Requester
          in: query
          name: requester
          schema:
            type: integer
        - description: Assignee
          in: query
          name: assignee
          schema:
            type: integer
        - description: Order Number
          in: query
          name: order_number
          schema:
            type: string
        - explode: true
          in: query
          name: product
          schema:
            items:
              type: integer
            type: array
          style: form
        - description: Tags
          explode: true
          in: query
          name: tags
          schema:
            items:
              type: integer
            type: array
          style: form
        - in: query
          name: ticket_type
          schema:
            type: integer
        - description: |-
            * `high` - High
            * `medium` - Medium
            * `low` - Low
          in: query
          name: priority
          schema:
            enum:
              - high
              - low
              - medium
            type: string
            x-spec-enum-id: 2d141e09614b8e57
        - description: |-
            * `customer_account` - Customer account
            * `dashboard` - Dashboard
            * `email` - Email
            * `api` - API
            * `follow_up` - Follow up
          in: query
          name: channel
          schema:
            enum:
              - api
              - customer_account
              - dashboard
              - email
              - follow_up
            type: string
            x-spec-enum-id: c3aad35666245662
        - description: Created From
          in: query
          name: created_from
          schema:
            format: date
            type: string
        - description: Created To
          in: query
          name: created_to
          schema:
            format: date
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTicketList'
          description: ''
      security:
        - oauth2:
            - tickets:read
      tags:
        - support
    post:
      description: Create a new ticket.
      operationId: ticketsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:write
      tags:
        - support
  /tickets/attachments/:
    post:
      description: Attach new files in an existing ticket.
      operationId: ticketsAttachmentsCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                files:
                  format: binary
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:write
      tags:
        - support
  /tickets/{id}/:
    get:
      description: Retrieve a ticket.
      operationId: ticketsRetrieve
      parameters:
        - description: A unique integer value identifying this Ticket.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:read
      tags:
        - support
    patch:
      description: Partial update an existing ticket.
      operationId: ticketsPartialUpdate
      parameters:
        - description: A unique integer value identifying this Ticket.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateTicket'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateTicket'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateTicket'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:write
      tags:
        - support
    put:
      description: Update an existing ticket.
      operationId: ticketsUpdate
      parameters:
        - description: A unique integer value identifying this Ticket.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateTicket'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:write
      tags:
        - support
  /tickets/{id}/comments/:
    get:
      description: Retrieve a list of comments in an existing ticket.
      operationId: ticketsCommentsRetrieve
      parameters:
        - description: A unique integer value identifying this Ticket.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:read
      tags:
        - support
    post:
      description: Create a new comment in an existing ticket.
      operationId: ticketsCommentsCreate
      parameters:
        - description: A unique integer value identifying this Ticket.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTicketComment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateTicketComment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateTicketComment'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ticket'
          description: ''
      security:
        - oauth2:
            - tickets:write
      tags:
        - support
  /tickettypes/:
    get:
      description: Retrieve a list of ticket types.
      operationId: tickettypesList
      parameters:
        - in: query
          name: name
          schema:
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTicketTypeList'
          description: ''
      security:
        - oauth2:
            - tickets:read
      tags:
        - support
  /tickettypes/{id}/:
    get:
      description: Retrieve a ticket type.
      operationId: tickettypesRetrieve
      parameters:
        - description: A unique integer value identifying this ticket type.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketType'
          description: ''
      security:
        - oauth2:
            - tickets:read
      tags:
        - support
  /transactions/:
    get:
      description: Retrieve a list of transactions.
      operationId: transactionsList
      parameters:
        - description: External ID
          in: query
          name: external_id
          schema:
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_created_to
          schema:
            format: date
            type: string
        - description: |-
            Transaction Type

            * `authorize` - Authorize
            * `debit` - Debit
            * `refund` - Refund
            * `void` - Void
          in: query
          name: type
          schema:
            enum:
              - authorize
              - debit
              - refund
              - void
            title: Type
            type: string
            x-spec-enum-id: faf06dd847fc5821
        - description: |-
            Card Brand

            * `visa` - Visa
            * `mastercard` - Mastercard
            * `american_express` - American Express
            * `diners_club` - Diners Club
            * `discover` - Discover
            * `jcb` - JCB
            * `maestro` - Maestro
            * `dankort` - Dankort
          explode: true
          in: query
          name: card_type
          schema:
            items:
              enum:
                - american_express
                - dankort
                - diners_club
                - discover
                - jcb
                - maestro
                - mastercard
                - visa
              type: string
            type: array
          style: form
        - description: Bankcard First Six
          in: query
          name: bankcard_first_six
          schema:
            type: string
        - description: Bankcard Last Four
          in: query
          name: bankcard_last_four
          schema:
            type: string
        - description: Gateway ID
          in: query
          name: gateway_id
          schema:
            type: integer
        - description: Payment Method
          in: query
          name: payment_method
          schema:
            type: string
        - description: Amount Min
          in: query
          name: amount_min
          schema:
            type: number
        - description: Amount Max
          in: query
          name: amount_max
          schema:
            type: number
        - in: query
          name: currency
          schema:
            type: string
        - description: Transaction Code
          in: query
          name: core_transaction_code
          schema:
            type: string
        - description: |-
            Status

            * `succeeded` - Succeeded
            * `failed` - Failed
          in: query
          name: status
          schema:
            enum:
              - failed
              - succeeded
            type: string
            x-spec-enum-id: a6661c405ff6d2ee
        - description: Auth Code
          in: query
          name: auth_code
          schema:
            type: string
        - description: Network Transaction ID
          in: query
          name: network_transaction_id
          schema:
            type: string
        - in: query
          name: is_3ds
          schema:
            type: boolean
        - in: query
          name: optimized_3ds
          schema:
            type: boolean
        - in: query
          name: is_initial_retry
          schema:
            type: boolean
        - description: |-
            * `recurring` - Recurring
            * `non-recurring` - Non-Recurring
          in: query
          name: subscription_life_cycle
          schema:
            enum:
              - non-recurring
              - recurring
            title: Subscription Lifecycle
            type: string
            x-spec-enum-id: 1f42528346cd911e
        - description: Funnels
          explode: true
          in: query
          name: funnels
          schema:
            items:
              title: Funnel
              type:
                - string
                - 'null'
            type: array
          style: form
        - in: query
          name: is_external
          schema:
            type: boolean
        - in: query
          name: is_test
          schema:
            type: boolean
        - description: UTM Source
          in: query
          name: utm_source
          schema:
            type: string
        - description: UTM Campaign
          in: query
          name: utm_campaign
          schema:
            type: string
        - description: UTM Content
          in: query
          name: utm_content
          schema:
            type: string
        - description: UTM Term
          in: query
          name: utm_term
          schema:
            type: string
        - description: Affiliate
          in: query
          name: affiliate
          schema:
            type: string
        - description: Sub-Affiliate 1
          in: query
          name: subaffiliate1
          schema:
            type: string
        - description: Sub-Affiliate 2
          in: query
          name: subaffiliate2
          schema:
            type: string
        - description: Sub-Affiliate 3
          in: query
          name: subaffiliate3
          schema:
            type: string
        - description: Sub-Affiliate 4
          in: query
          name: subaffiliate4
          schema:
            type: string
        - description: Sub-Affiliate 5
          in: query
          name: subaffiliate5
          schema:
            type: string
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTransactionListList'
          description: ''
      security:
        - oauth2:
            - transactions:read
      tags:
        - payments
  /transactions/verify/:
    post:
      description: Verify a card token.
      operationId: transactionsVerifyCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyTransaction'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VerifyTransaction'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VerifyTransaction'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyTransactionResponse'
          description: ''
      security:
        - oauth2:
            - transactions:write
      tags:
        - payments
  /transactions/{id}/:
    get:
      description: Retrieve a transaction.
      operationId: transactionsRetrieve
      parameters:
        - description: A unique integer value identifying this Transaction.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
          description: ''
      security:
        - oauth2:
            - transactions:read
      tags:
        - payments
  /transactions/{id}/capture/:
    post:
      description: Capture an existing transaction.
      operationId: transactionsCaptureCreate
      parameters:
        - description: A unique integer value identifying this Transaction.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaptureTransaction'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CaptureTransaction'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CaptureTransaction'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
          description: ''
      security:
        - oauth2:
            - transactions:write
      tags:
        - payments
  /transactions/{id}/refund/:
    post:
      description: Refund an existing transaction.
      operationId: transactionsRefundCreate
      parameters:
        - description: A unique integer value identifying this Transaction.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundTransaction'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RefundTransaction'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RefundTransaction'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
          description: ''
      security:
        - oauth2:
            - transactions:write
      tags:
        - payments
  /users/:
    get:
      description: Retrieve a list of customers.
      operationId: usersList
      parameters:
        - description: Email
          in: query
          name: email
          schema:
            type: string
        - description: Name
          in: query
          name: name
          schema:
            type: string
        - in: query
          name: phone_number
          schema:
            type: string
        - description: |-
            Language

            * `en` - English
            * `fr` - Français
            * `th` - ภาษาไทย
            * `de` - Deutsch
            * `sv` - Svenska
            * `no` - Norsk
            * `it` - Italiano
            * `es` - Español
            * `nl` - Nederlands
            * `pt` - Português
            * `da` - Dansk
            * `fi` - Suomi
          in: query
          name: language
          schema:
            enum:
              - da
              - de
              - en
              - es
              - fi
              - fr
              - it
              - nl
              - 'no'
              - pt
              - sv
              - th
            title: Preferred language
            type:
              - string
              - 'null'
        - in: query
          name: user_type
          schema:
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_joined_from
          schema:
            format: date
            type: string
        - description: YYYY-MM-DD
          in: query
          name: date_joined_to
          schema:
            format: date
            type: string
        - in: query
          name: is_blocked
          schema:
            type: boolean
        - in: query
          name: accepts_marketing
          schema:
            type: boolean
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserList'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
    post:
      description: Create a new customer.
      operationId: usersCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/User'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/User'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
  /users/{id}/:
    get:
      description: Retrieve a customer.
      operationId: usersRetrieve
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
    patch:
      description: Partial update an existing customer.
      operationId: usersPartialUpdate
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateUser'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
    put:
      description: Update an existing customer.
      operationId: usersUpdate
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateUser'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
  /users/{id}/addresses/:
    get:
      description: Retrieve a list of addresses in an existing customer.
      operationId: usersAddressesList
      parameters:
        - description: A unique integer value identifying this User address.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserAddressList'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
    post:
      operationId: usersAddressesCreate
      parameters:
        - description: A unique integer value identifying this User address.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUserAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUserAddress'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserAddress'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
  /users/{id}/addresses/{addressId}/:
    delete:
      description: Delete an address in an existing customer.
      operationId: usersAddressesDestroy
      parameters:
        - description: A unique integer value identifying this User address.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: A unique integer value identifying this User address.
          in: path
          name: addressId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - users:write
      tags:
        - customers
    get:
      description: Retrieve an address of an existing customer.
      operationId: usersAddressesRetrieve
      parameters:
        - description: A unique integer value identifying this User address.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: A unique integer value identifying this User address.
          in: path
          name: addressId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAddress'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
    put:
      description: Update an address in an existing customer.
      operationId: usersAddressesUpdate
      parameters:
        - description: A unique integer value identifying this User address.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: A unique integer value identifying this User address.
          in: path
          name: addressId
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserAddress'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserAddress'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
  /users/{id}/notes/:
    get:
      description: Retrieve a list of notes in an existing customer.
      operationId: usersNotesList
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserNoteList'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
    post:
      description: Create a new note in an existing customer.
      operationId: usersNotesCreate
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserNote'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUserNote'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUserNote'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserNote'
          description: ''
      security:
        - oauth2:
            - users:write
      tags:
        - customers
  /users/{id}/orders/:
    get:
      description: Retrieve a list of orders in an existing customer.
      operationId: usersOrdersRetrieve
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOrderInline'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
  /users/{id}/subscriptions/:
    get:
      description: Retrieve a list of subscriptions in an existing customer.
      operationId: usersSubscriptionsRetrieve
      parameters:
        - description: A unique integer value identifying this User.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
          description: ''
      security:
        - oauth2:
            - users:read
      tags:
        - customers
  /webhooks/:
    get:
      description: Retrieve a list of webhooks.
      operationId: webhooksList
      parameters:
        - description: Name
          in: query
          name: name
          schema:
            type: string
        - explode: true
          in: query
          name: events
          schema:
            items:
              enum:
                - app.uninstalled
                - cart.abandoned
                - customer.created
                - customer.deleted
                - customer.redacted
                - customer.updated
                - dispute.created
                - dispute.updated
                - export.created
                - fulfillment.created
                - fulfillment.updated
                - gateway.created
                - gateway.updated
                - gateway_group.created
                - gateway_group.updated
                - order.created
                - order.updated
                - product.created
                - product.deleted
                - product.updated
                - store.updated
                - subscription.created
                - subscription.updated
                - transaction.created
                - transaction.updated
              type: string
            type: array
          style: form
        - description: Is Active?
          in: query
          name: active
          schema:
            type: boolean
        - description: The pagination cursor value.
          in: query
          name: cursor
          required: false
          schema:
            type: string
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedWebhookList'
          description: ''
      security:
        - oauth2:
            - webhooks:read
      tags:
        - webhooks
    post:
      description: Create a new webhook.
      operationId: webhooksCreate
      parameters:
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Webhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Webhook'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: ''
      security:
        - oauth2:
            - webhooks:write
      tags:
        - webhooks
  /webhooks/{id}/:
    delete:
      description: Delete an existing webhook.
      operationId: webhooksDestroy
      parameters:
        - description: A unique integer value identifying this webhook.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '204':
          description: No response body
      security:
        - oauth2:
            - webhooks:write
      tags:
        - webhooks
    get:
      description: Retrieve a webhook.
      operationId: webhooksRetrieve
      parameters:
        - description: A unique integer value identifying this webhook.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: ''
      security:
        - oauth2:
            - webhooks:read
      tags:
        - webhooks
    patch:
      description: Partial update an existing webhook.
      operationId: webhooksPartialUpdate
      parameters:
        - description: A unique integer value identifying this webhook.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: ''
      security:
        - oauth2:
            - webhooks:write
      tags:
        - webhooks
    put:
      description: Update an existing webhook.
      operationId: webhooksUpdate
      parameters:
        - description: A unique integer value identifying this webhook.
          in: path
          name: id
          required: true
          schema:
            type: integer
        - in: header
          name: X-29next-API-Version
          required: true
          schema:
            default: '2024-04-01'
            enum:
              - '2024-04-01'
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Webhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Webhook'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
          description: ''
      security:
        - oauth2:
            - webhooks:write
      tags:
        - webhooks
security:
  - oauth2: []
servers:
  - description: ''
    url: https://{store}.29next.store/api/admin/
    variables:
      store:
        default: example
        description: Store unique subdomain used to identify the store.
webhooks:
  app.uninstalled:
    post:
      description: Triggers when an app is uninstalled.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                client_id: null
                created_at: '2024-01-01T00:00:00Z'
                name: string
                settings: {}
                updated_at: '2024-01-01T00:00:00Z'
                version: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: app.uninstalled
              object: app
              webhook:
                events:
                  - app.uninstalled
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    client_id:
                      type: string
                    created_at:
                      format: date-time
                      type: string
                    name:
                      maxLength: 255
                      type: string
                    settings:
                      type: object
                    updated_at:
                      format: date-time
                      type: string
                    version:
                      type: string
                  required:
                    - created_at
                    - name
                    - updated_at
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - app.uninstalled
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - app
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - apps
  cart.abandoned:
    post:
      description: Triggers when a cart is marked as abandoned.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                abandoned: false
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                checkout_url: https://example.com
                created_at: '2024-01-01T00:00:00Z'
                currency: string
                id: 0
                lines:
                  - currency: string
                    id: 0
                    interval: null
                    interval_count: null
                    is_upsell: false
                    metadata: {}
                    price_excl_tax: '0.00'
                    price_incl_tax: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    product_url: https://example.com
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    report_values:
                      currency: string
                      price_excl_tax: '0.00'
                      price_incl_tax: '0.00'
                      total_cost: '0.00'
                      total_discount: '0.00'
                      unit_cost: '0.00'
                    sku: string
                    total_cost: '0.00'
                    total_discount: '0.00'
                    unit_cost: '0.00'
                    variant_id: 0
                    variant_title: string
                metadata: {}
                report_values:
                  currency: string
                  total_cost: '0.00'
                  total_discount: '0.00'
                  total_excl_tax: '0.00'
                  total_incl_tax: '0.00'
                status: string
                total_cost: '0.00'
                total_discount: '0.00'
                total_excl_tax: '0.00'
                total_incl_tax: '0.00'
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
                voucher_discounts:
                  - amount: '0.00'
                    description: string
                    name: string
                    voucher:
                      code: string
                      end_datetime: '2024-01-01T00:00:00Z'
                      name: string
                      start_datetime: '2024-01-01T00:00:00Z'
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: cart.abandoned
              object: cart
              webhook:
                events:
                  - cart.abandoned
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    abandoned:
                      type: boolean
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      type: object
                    checkout_url:
                      format: uri
                      type: string
                    created_at:
                      format: date-time
                      type: string
                    currency:
                      type: string
                    id:
                      type: integer
                    lines:
                      items:
                        properties:
                          currency:
                            maxLength: 3
                            type: string
                          id:
                            type: integer
                          interval:
                            type: string
                          interval_count:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          is_upsell:
                            default: false
                            type: boolean
                          metadata:
                            type: object
                          price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          product_url:
                            format: uri
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          report_values:
                            properties:
                              currency:
                                maxLength: 3
                                type: string
                              price_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              price_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_discount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              unit_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            type: object
                          sku:
                            type: string
                          total_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          unit_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          variant_id:
                            type: integer
                          variant_title:
                            type: string
                        required:
                          - id
                          - price_excl_tax
                          - price_incl_tax
                          - product_id
                          - product_image
                          - product_title
                          - product_url
                          - properties
                          - report_values
                          - sku
                          - total_cost
                          - total_discount
                          - unit_cost
                          - variant_id
                          - variant_title
                        type: object
                      type: array
                    metadata:
                      type: object
                    report_values:
                      properties:
                        currency:
                          type: string
                        total_cost:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_discount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      type: object
                    status:
                      description: 'Available values : Open'
                      type: string
                    total_cost:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_discount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      type: object
                    voucher_discounts:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          description:
                            type: string
                          name:
                            type: string
                          voucher:
                            properties:
                              code:
                                description: Case insensitive / No spaces allowed
                                maxLength: 128
                                type: string
                              end_datetime:
                                format: date-time
                                type: string
                              name:
                                description: This will be shown in the checkout and basket once the coupon is entered
                                maxLength: 128
                                type: string
                              start_datetime:
                                format: date-time
                                type: string
                            required:
                              - code
                              - end_datetime
                              - name
                              - start_datetime
                            type: object
                        required:
                          - amount
                          - description
                          - name
                        type: object
                      type: array
                  required:
                    - attribution
                    - checkout_url
                    - created_at
                    - currency
                    - id
                    - lines
                    - report_values
                    - status
                    - total_cost
                    - total_discount
                    - total_excl_tax
                    - total_incl_tax
                    - user
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - cart.abandoned
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - cart
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - carts
  customer.created:
    post:
      description: Triggers when a new customer is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                accepts_marketing: false
                addresses:
                  - country: string
                    first_name: string
                    id: 0
                    is_default_for_billing: false
                    is_default_for_shipping: false
                    last_name: string
                    line1: string
                    line2: string
                    line3: string
                    line4: string
                    notes: string
                    phone_number: string
                    postcode: string
                    state: string
                date_joined: '2024-01-01T00:00:00Z'
                email: user@example.com
                first_name: string
                id: 0
                ip: null
                is_blocked: false
                language: null
                last_name: string
                metadata: {}
                orders_count: 0
                phone_number: null
                subscriptions_count: 0
                tags: []
                total_spent: '0.00'
                user_agent: null
                user_type: string
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: customer.created
              object: customer
              webhook:
                events:
                  - customer.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    accepts_marketing:
                      title: Subscribe to Marketing Emails
                      type: boolean
                    addresses:
                      items:
                        properties:
                          country:
                            description: The address country code.
                            title: ISO 3166-1 alpha-2
                            type: string
                          first_name:
                            description: The first name of the address.
                            maxLength: 255
                            type: string
                          id:
                            type: integer
                          is_default_for_billing:
                            description: Use this address as the default billing address.
                            title: Default billing address?
                            type: boolean
                          is_default_for_shipping:
                            description: Use this address as the default shipping address.
                            title: Default shipping address?
                            type: boolean
                          last_name:
                            description: The last name of the address.
                            maxLength: 255
                            type: string
                          line1:
                            description: The first line of the address.
                            maxLength: 255
                            title: First line of address
                            type: string
                          line2:
                            description: Optional second line of of the address.
                            maxLength: 255
                            title: Second line of address
                            type: string
                          line3:
                            description: Optional third line of of the address.
                            maxLength: 255
                            title: Third line of address
                            type: string
                          line4:
                            description: City of the address.
                            maxLength: 255
                            title: City
                            type: string
                          notes:
                            description: Tell us anything we should know when delivering your order.
                            title: Instructions
                            type: string
                          phone_number:
                            description: The address phone number.
                            maxLength: 128
                            type: string
                          postcode:
                            description: The address post code or zip code.
                            maxLength: 64
                            title: Post/Zip-code
                            type: string
                          state:
                            description: The address state/province.
                            maxLength: 255
                            title: State/Province
                            type: string
                        required:
                          - country
                          - id
                          - line1
                          - line4
                        type: object
                      type: array
                    date_joined:
                      format: date-time
                      type: string
                    email:
                      format: email
                      type: string
                    first_name:
                      maxLength: 255
                      type: string
                    id:
                      type: integer
                    ip:
                      title: Ip address
                      type: string
                    is_blocked:
                      default: false
                      type: boolean
                    language:
                      description: |-
                        required : E164

                        * `en` - English
                        * `fr` - Français
                        * `th` - ภาษาไทย
                        * `de` - Deutsch
                        * `sv` - Svenska
                        * `no` - Norsk
                        * `it` - Italiano
                        * `es` - Español
                        * `nl` - Nederlands
                        * `pt` - Português
                        * `da` - Dansk
                        * `fi` - Suomi
                      enum:
                        - en
                        - fr
                        - th
                        - de
                        - sv
                        - 'no'
                        - it
                        - es
                        - nl
                        - pt
                        - da
                        - fi
                        - ''
                        - null
                      type: string
                      x-spec-enum-id: 70ceea9c8488568b
                    last_name:
                      maxLength: 255
                      type: string
                    metadata:
                      type: object
                    orders_count:
                      default: 0
                      type: integer
                    phone_number:
                      type: string
                    subscriptions_count:
                      type: integer
                    tags:
                      items:
                        type: string
                      type: array
                    total_spent:
                      default: '0.00'
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    user_agent:
                      type: string
                    user_type:
                      description: 'Available values : customer, lead, dashboard'
                      enum:
                        - customer
                        - lead
                        - dashboard
                      type: string
                  required:
                    - date_joined
                    - email
                    - id
                    - orders_count
                    - subscriptions_count
                    - total_spent
                    - user_type
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - customer.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - customer
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - customers
  customer.redacted:
    post:
      description: Triggers when a customer is redacted.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                email: string
                id: 0
                orders:
                  - 0
                phone_number: string
                subscriptions:
                  - 0
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: customer.redacted
              object: customer
              webhook:
                events:
                  - customer.redacted
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    email:
                      description: The email address of the redacted customer.
                      type: string
                    id:
                      description: The unique identifier of the redacted customer.
                      type: integer
                    orders:
                      description: List of order IDs associated with the redacted customer.
                      items:
                        type: integer
                      type: array
                    phone_number:
                      description: The phone number of the redacted customer.
                      type: string
                    subscriptions:
                      description: List of subscription IDs associated with the redacted customer.
                      items:
                        type: integer
                      type: array
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - customer.redacted
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - customer
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - customers
  customer.updated:
    post:
      description: Triggers when a customer is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                accepts_marketing: false
                addresses:
                  - country: string
                    first_name: string
                    id: 0
                    is_default_for_billing: false
                    is_default_for_shipping: false
                    last_name: string
                    line1: string
                    line2: string
                    line3: string
                    line4: string
                    notes: string
                    phone_number: string
                    postcode: string
                    state: string
                date_joined: '2024-01-01T00:00:00Z'
                email: user@example.com
                first_name: string
                id: 0
                ip: null
                is_blocked: false
                language: null
                last_name: string
                metadata: {}
                orders_count: 0
                phone_number: null
                subscriptions_count: 0
                tags: []
                total_spent: '0.00'
                user_agent: null
                user_type: string
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: customer.updated
              object: customer
              webhook:
                events:
                  - customer.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    accepts_marketing:
                      title: Subscribe to Marketing Emails
                      type: boolean
                    addresses:
                      items:
                        properties:
                          country:
                            description: The address country code.
                            title: ISO 3166-1 alpha-2
                            type: string
                          first_name:
                            description: The first name of the address.
                            maxLength: 255
                            type: string
                          id:
                            type: integer
                          is_default_for_billing:
                            description: Use this address as the default billing address.
                            title: Default billing address?
                            type: boolean
                          is_default_for_shipping:
                            description: Use this address as the default shipping address.
                            title: Default shipping address?
                            type: boolean
                          last_name:
                            description: The last name of the address.
                            maxLength: 255
                            type: string
                          line1:
                            description: The first line of the address.
                            maxLength: 255
                            title: First line of address
                            type: string
                          line2:
                            description: Optional second line of of the address.
                            maxLength: 255
                            title: Second line of address
                            type: string
                          line3:
                            description: Optional third line of of the address.
                            maxLength: 255
                            title: Third line of address
                            type: string
                          line4:
                            description: City of the address.
                            maxLength: 255
                            title: City
                            type: string
                          notes:
                            description: Tell us anything we should know when delivering your order.
                            title: Instructions
                            type: string
                          phone_number:
                            description: The address phone number.
                            maxLength: 128
                            type: string
                          postcode:
                            description: The address post code or zip code.
                            maxLength: 64
                            title: Post/Zip-code
                            type: string
                          state:
                            description: The address state/province.
                            maxLength: 255
                            title: State/Province
                            type: string
                        required:
                          - country
                          - id
                          - line1
                          - line4
                        type: object
                      type: array
                    date_joined:
                      format: date-time
                      type: string
                    email:
                      format: email
                      type: string
                    first_name:
                      maxLength: 255
                      type: string
                    id:
                      type: integer
                    ip:
                      title: Ip address
                      type: string
                    is_blocked:
                      default: false
                      type: boolean
                    language:
                      description: |-
                        required : E164

                        * `en` - English
                        * `fr` - Français
                        * `th` - ภาษาไทย
                        * `de` - Deutsch
                        * `sv` - Svenska
                        * `no` - Norsk
                        * `it` - Italiano
                        * `es` - Español
                        * `nl` - Nederlands
                        * `pt` - Português
                        * `da` - Dansk
                        * `fi` - Suomi
                      enum:
                        - en
                        - fr
                        - th
                        - de
                        - sv
                        - 'no'
                        - it
                        - es
                        - nl
                        - pt
                        - da
                        - fi
                        - ''
                        - null
                      type: string
                      x-spec-enum-id: 70ceea9c8488568b
                    last_name:
                      maxLength: 255
                      type: string
                    metadata:
                      type: object
                    orders_count:
                      default: 0
                      type: integer
                    phone_number:
                      type: string
                    subscriptions_count:
                      type: integer
                    tags:
                      items:
                        type: string
                      type: array
                    total_spent:
                      default: '0.00'
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    user_agent:
                      type: string
                    user_type:
                      description: 'Available values : customer, lead, dashboard'
                      enum:
                        - customer
                        - lead
                        - dashboard
                      type: string
                  required:
                    - date_joined
                    - email
                    - id
                    - orders_count
                    - subscriptions_count
                    - total_spent
                    - user_type
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - customer.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - customer
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - customers
  dispute.created:
    post:
      description: Triggers when a new dispute is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                amount: null
                arn: null
                case_number: null
                currency: null
                date_created: '2024-01-01T00:00:00Z'
                happened_at: '2024-01-01T00:00:00Z'
                id: 0
                metadata: {}
                order: null
                report_amount: null
                report_currency: null
                resolution: null
                resolution_other_message: null
                status: string
                transaction: null
                type: string
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: dispute.created
              object: dispute
              webhook:
                events:
                  - dispute.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    amount:
                      format: decimal
                      pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
                      title: Dispute Amount
                      type: string
                    arn:
                      type: string
                    case_number:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    happened_at:
                      format: date-time
                      title: Dispute Date
                      type: string
                    id:
                      type: integer
                    metadata:
                      type: object
                    order:
                      type: string
                    report_amount:
                      format: decimal
                      pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
                      type: string
                    report_currency:
                      type: string
                    resolution:
                      description: |-
                        * `could_not_find_order` - Transaction Not found
                        * `declined_or_canceled_nothing_to_do` - Nothing To Do
                        * `issued_full_refund` - Issued Full Refund
                        * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
                        * `3ds_authorized_successfully` - Transaction 3DS Authorized
                        * `previously_refunded_nothing_to_do` - Previously Refunded
                        * `unable_to_refund_merchant_account_closed` - Unable to Refund
                        * `won` - Won
                        * `lost` - Lost
                        * `accepted` - Accepted
                        * `other` - Other
                      enum:
                        - could_not_find_order
                        - declined_or_canceled_nothing_to_do
                        - issued_full_refund
                        - issued_refund_for_remaining_amount
                        - 3ds_authorized_successfully
                        - previously_refunded_nothing_to_do
                        - unable_to_refund_merchant_account_closed
                        - won
                        - lost
                        - accepted
                        - other
                        - ''
                        - null
                      type: string
                      x-spec-enum-id: 8848f3a079993862
                    resolution_other_message:
                      title: Other Message
                      type: string
                    status:
                      description: |-
                        * `new` - New
                        * `open` - Open
                        * `resolved` - Resolved
                      enum:
                        - new
                        - open
                        - resolved
                      type: string
                      x-spec-enum-id: 4c48cc1c536a35b2
                    transaction:
                      type: integer
                    type:
                      description: |-
                        * `alert` - Alert
                        * `chargeback` - Chargeback
                      enum:
                        - alert
                        - chargeback
                      type: string
                      x-spec-enum-id: 3c60da80149644ea
                  required:
                    - date_created
                    - happened_at
                    - id
                    - order
                    - report_amount
                    - report_currency
                    - status
                    - type
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - dispute.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - dispute
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
  dispute.updated:
    post:
      description: Triggers when a dispute is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                amount: null
                arn: null
                case_number: null
                currency: null
                date_created: '2024-01-01T00:00:00Z'
                happened_at: '2024-01-01T00:00:00Z'
                id: 0
                metadata: {}
                order: null
                report_amount: null
                report_currency: null
                resolution: null
                resolution_other_message: null
                status: string
                transaction: null
                type: string
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: dispute.updated
              object: dispute
              webhook:
                events:
                  - dispute.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    amount:
                      format: decimal
                      pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
                      title: Dispute Amount
                      type: string
                    arn:
                      type: string
                    case_number:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    happened_at:
                      format: date-time
                      title: Dispute Date
                      type: string
                    id:
                      type: integer
                    metadata:
                      type: object
                    order:
                      type: string
                    report_amount:
                      format: decimal
                      pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
                      type: string
                    report_currency:
                      type: string
                    resolution:
                      description: |-
                        * `could_not_find_order` - Transaction Not found
                        * `declined_or_canceled_nothing_to_do` - Nothing To Do
                        * `issued_full_refund` - Issued Full Refund
                        * `issued_refund_for_remaining_amount` - Refunded Remaining Amount
                        * `3ds_authorized_successfully` - Transaction 3DS Authorized
                        * `previously_refunded_nothing_to_do` - Previously Refunded
                        * `unable_to_refund_merchant_account_closed` - Unable to Refund
                        * `won` - Won
                        * `lost` - Lost
                        * `accepted` - Accepted
                        * `other` - Other
                      enum:
                        - could_not_find_order
                        - declined_or_canceled_nothing_to_do
                        - issued_full_refund
                        - issued_refund_for_remaining_amount
                        - 3ds_authorized_successfully
                        - previously_refunded_nothing_to_do
                        - unable_to_refund_merchant_account_closed
                        - won
                        - lost
                        - accepted
                        - other
                        - ''
                        - null
                      type: string
                      x-spec-enum-id: 8848f3a079993862
                    resolution_other_message:
                      title: Other Message
                      type: string
                    status:
                      description: |-
                        * `new` - New
                        * `open` - Open
                        * `resolved` - Resolved
                      enum:
                        - new
                        - open
                        - resolved
                      type: string
                      x-spec-enum-id: 4c48cc1c536a35b2
                    transaction:
                      type: integer
                    type:
                      description: |-
                        * `alert` - Alert
                        * `chargeback` - Chargeback
                      enum:
                        - alert
                        - chargeback
                      type: string
                      x-spec-enum-id: 3c60da80149644ea
                  required:
                    - date_created
                    - happened_at
                    - id
                    - order
                    - report_amount
                    - report_currency
                    - status
                    - type
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - dispute.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - dispute
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
  export.created:
    post:
      description: Triggers when an export is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                created_at: '2024-01-01T00:00:00Z'
                date_from: null
                date_to: null
                id: 0
                status: string
                type: string
                url: https://example.com
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: export.created
              object: export
              webhook:
                events:
                  - export.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    created_at:
                      format: date-time
                      type: string
                    date_from:
                      format: date-time
                      type: string
                    date_to:
                      format: date-time
                      type: string
                    id:
                      type: integer
                    status:
                      description: |-
                        * `available` - Available
                        * `pending` - Pending
                      enum:
                        - available
                        - pending
                      type: string
                      x-spec-enum-id: 97f0edd07d5d92b9
                    type:
                      description: |-
                        * `order_list` - Orders
                        * `order_line_items` - Order Line Items
                        * `customer_list` - Customers
                        * `transaction_list` - Transactions
                        * `dispute_list` - Disputes
                        * `subscription_list` - Subscriptions
                        * `subscription_line_items` - Subscription Line Items
                        * `open_cart_list` - Open Carts
                        * `open_cart_line_items` - Open Cart Line Items
                        * `return_list` - Returns
                        * `return_line_items` - Return Line Items
                        * `fulfillment_list` - Fulfillments
                        * `fulfillment_line_items` - Fulfillment Line Items
                      enum:
                        - order_list
                        - order_line_items
                        - customer_list
                        - transaction_list
                        - dispute_list
                        - subscription_list
                        - subscription_line_items
                        - open_cart_list
                        - open_cart_line_items
                        - return_list
                        - return_line_items
                        - fulfillment_list
                        - fulfillment_line_items
                      type: string
                      x-spec-enum-id: d018e10950f018b1
                    url:
                      format: uri
                      type: string
                  required:
                    - created_at
                    - id
                    - type
                    - url
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - export.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - export
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - exports
  fulfillment.created:
    post:
      description: Triggers when a fulfillment is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                created_at: '2024-01-01T00:00:00Z'
                delivered_at: null
                delivery_status: {}
                id: 0
                last_event_date: null
                line_items:
                  - currency: string
                    fulfilled_quantity: string
                    fulfillment_service: string
                    id: 0
                    order_line_id: 0
                    price_excl_tax: '0.00'
                    price_incl_tax: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    requires_shipping: false
                    returnable_quantity: string
                    returned_quantity: string
                    sku: string
                    tax_lines:
                      - amount: null
                        currency: null
                        rate: null
                        report_values: null
                        source: null
                        tax_id: null
                        tax_title: null
                    total_discount: '0.00'
                location_id: 0
                order_number: string
                origin_address:
                  country: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                processing_at: null
                requires_shipping: false
                shipping_method: string
                status: string
                tracking_carrier: string
                tracking_carriers: string
                tracking_code: string
                tracking_codes: string
                tracking_link: string
                tracking_links: https://example.com
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: fulfillment.created
              object: fulfillment
              webhook:
                events:
                  - fulfillment.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    created_at:
                      format: date-time
                      type: string
                    delivered_at:
                      format: date-time
                      type: string
                    delivery_status:
                      description: |-
                        Expected delivery statuses.

                        * `None` - No Status
                        * `tracking_added` - Tracking Added
                        * `in_transit` - In Transit
                        * `out_for_delivery` - Out For Delivery
                        * `attempted_delivery` - Attempted Delivery
                        * `failed_delivery` - Failed Delivery
                        * `delivered` - Delivered
                        * `delayed` - Delayed
                      enum:
                        - null
                        - tracking_added
                        - in_transit
                        - out_for_delivery
                        - attempted_delivery
                        - failed_delivery
                        - delivered
                        - delayed
                        - ''
                      x-spec-enum-id: 3b886e5b796c0603
                    id:
                      type: integer
                    last_event_date:
                      format: date-time
                      type: string
                    line_items:
                      items:
                        properties:
                          currency:
                            maxLength: 12
                            type: string
                          fulfilled_quantity:
                            type: string
                          fulfillment_service:
                            type: string
                          id:
                            type: integer
                          order_line_id:
                            type: integer
                          price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          requires_shipping:
                            type: boolean
                          returnable_quantity:
                            type: string
                          returned_quantity:
                            type: string
                          sku:
                            type: string
                          tax_lines:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                currency:
                                  type: string
                                rate:
                                  format: double
                                  type: number
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                source:
                                  type: string
                                tax_id:
                                  type: integer
                                tax_title:
                                  type: string
                              required:
                                - amount
                                - currency
                                - rate
                                - report_values
                                - source
                                - tax_id
                                - tax_title
                              type: object
                            type: array
                          total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                        required:
                          - currency
                          - fulfilled_quantity
                          - fulfillment_service
                          - id
                          - order_line_id
                          - price_excl_tax
                          - price_incl_tax
                          - product_id
                          - product_image
                          - product_title
                          - properties
                          - requires_shipping
                          - returnable_quantity
                          - returned_quantity
                          - sku
                          - tax_lines
                          - total_discount
                        type: object
                      type: array
                    location_id:
                      type: integer
                    order_number:
                      title: Order number
                      type: string
                    origin_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/County
                          type: string
                      type: object
                    processing_at:
                      format: date-time
                      type: string
                    requires_shipping:
                      type: boolean
                    shipping_method:
                      type: string
                    status:
                      description: |-
                        * `success` - Success
                        * `canceled` - Canceled
                      enum:
                        - success
                        - canceled
                      type: string
                      x-spec-enum-id: 4d2f0d468cf04267
                    tracking_carrier:
                      type: string
                    tracking_carriers:
                      type: string
                    tracking_code:
                      type: string
                    tracking_codes:
                      type: string
                    tracking_link:
                      type: string
                    tracking_links:
                      format: uri
                      type: string
                  required:
                    - delivery_status
                    - id
                    - line_items
                    - location_id
                    - order_number
                    - origin_address
                    - shipping_method
                    - status
                    - tracking_carrier
                    - tracking_carriers
                    - tracking_code
                    - tracking_codes
                    - tracking_link
                    - tracking_links
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - fulfillment.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - fulfillment
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - fulfillment
  fulfillment.updated:
    post:
      description: Triggers when a fulfillment is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                created_at: '2024-01-01T00:00:00Z'
                delivered_at: null
                delivery_status: {}
                id: 0
                last_event_date: null
                line_items:
                  - currency: string
                    fulfilled_quantity: string
                    fulfillment_service: string
                    id: 0
                    order_line_id: 0
                    price_excl_tax: '0.00'
                    price_incl_tax: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    requires_shipping: false
                    returnable_quantity: string
                    returned_quantity: string
                    sku: string
                    tax_lines:
                      - amount: null
                        currency: null
                        rate: null
                        report_values: null
                        source: null
                        tax_id: null
                        tax_title: null
                    total_discount: '0.00'
                location_id: 0
                order_number: string
                origin_address:
                  country: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                processing_at: null
                requires_shipping: false
                shipping_method: string
                status: string
                tracking_carrier: string
                tracking_carriers: string
                tracking_code: string
                tracking_codes: string
                tracking_link: string
                tracking_links: https://example.com
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: fulfillment.updated
              object: fulfillment
              webhook:
                events:
                  - fulfillment.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    created_at:
                      format: date-time
                      type: string
                    delivered_at:
                      format: date-time
                      type: string
                    delivery_status:
                      description: |-
                        Expected delivery statuses.

                        * `None` - No Status
                        * `tracking_added` - Tracking Added
                        * `in_transit` - In Transit
                        * `out_for_delivery` - Out For Delivery
                        * `attempted_delivery` - Attempted Delivery
                        * `failed_delivery` - Failed Delivery
                        * `delivered` - Delivered
                        * `delayed` - Delayed
                      enum:
                        - null
                        - tracking_added
                        - in_transit
                        - out_for_delivery
                        - attempted_delivery
                        - failed_delivery
                        - delivered
                        - delayed
                        - ''
                      x-spec-enum-id: 3b886e5b796c0603
                    id:
                      type: integer
                    last_event_date:
                      format: date-time
                      type: string
                    line_items:
                      items:
                        properties:
                          currency:
                            maxLength: 12
                            type: string
                          fulfilled_quantity:
                            type: string
                          fulfillment_service:
                            type: string
                          id:
                            type: integer
                          order_line_id:
                            type: integer
                          price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          requires_shipping:
                            type: boolean
                          returnable_quantity:
                            type: string
                          returned_quantity:
                            type: string
                          sku:
                            type: string
                          tax_lines:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                currency:
                                  type: string
                                rate:
                                  format: double
                                  type: number
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                source:
                                  type: string
                                tax_id:
                                  type: integer
                                tax_title:
                                  type: string
                              required:
                                - amount
                                - currency
                                - rate
                                - report_values
                                - source
                                - tax_id
                                - tax_title
                              type: object
                            type: array
                          total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                        required:
                          - currency
                          - fulfilled_quantity
                          - fulfillment_service
                          - id
                          - order_line_id
                          - price_excl_tax
                          - price_incl_tax
                          - product_id
                          - product_image
                          - product_title
                          - properties
                          - requires_shipping
                          - returnable_quantity
                          - returned_quantity
                          - sku
                          - tax_lines
                          - total_discount
                        type: object
                      type: array
                    location_id:
                      type: integer
                    order_number:
                      title: Order number
                      type: string
                    origin_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/County
                          type: string
                      type: object
                    processing_at:
                      format: date-time
                      type: string
                    requires_shipping:
                      type: boolean
                    shipping_method:
                      type: string
                    status:
                      description: |-
                        * `success` - Success
                        * `canceled` - Canceled
                      enum:
                        - success
                        - canceled
                      type: string
                      x-spec-enum-id: 4d2f0d468cf04267
                    tracking_carrier:
                      type: string
                    tracking_carriers:
                      type: string
                    tracking_code:
                      type: string
                    tracking_codes:
                      type: string
                    tracking_link:
                      type: string
                    tracking_links:
                      format: uri
                      type: string
                  required:
                    - delivery_status
                    - id
                    - line_items
                    - location_id
                    - order_number
                    - origin_address
                    - shipping_method
                    - status
                    - tracking_carrier
                    - tracking_carriers
                    - tracking_code
                    - tracking_codes
                    - tracking_link
                    - tracking_links
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - fulfillment.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - fulfillment
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - fulfillment
  gateway.created:
    post:
      description: Triggers when a new gateway is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                active: false
                auto_capture_on_fulfillment: false
                card_types:
                  - code: string
                    label: string
                currencies:
                  - code: string
                    label: string
                delayed_capture_days: null
                enable_3ds2: false
                gateway_groups:
                  - id: 0
                    name: string
                    weight: 0
                gateway_type: string
                id: 0
                is_next_payments: false
                merchant_profile:
                  amex:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  discover:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  mastercard:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  merchant_country: null
                  merchant_name: null
                  visa:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                name: string
                optimized_3ds: false
                payment_flow: string
                re_attemp_group:
                  available_currencies:
                    - code: string
                      label: string
                  available_express_payment_methods:
                    - code: string
                      label: string
                  available_payment_methods:
                    - code: string
                      label: string
                      supported_currencies: []
                  card_types:
                    - code: string
                      label: string
                  id: 0
                  name: string
                re_attemp_intitial_charge: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: gateway.created
              object: gateway
              webhook:
                events:
                  - gateway.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    active:
                      description: Gateway must be active to accept and process transactions.
                      type: boolean
                    auto_capture_on_fulfillment:
                      description: When enabled, payments will be automatically captured when orders are fulfilled.
                      type: boolean
                    card_types:
                      items:
                        properties:
                          code:
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    currencies:
                      items:
                        properties:
                          code:
                            maxLength: 5
                            title: Currency Code
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    delayed_capture_days:
                      description: Payments will be automatically captured up to 7 days after the authorization.
                      maximum: 7
                      minimum: 1
                      type: integer
                    enable_3ds2:
                      description: Transactions are attempted with 3DS authentication.
                      title: Enable 3D Secure Transactions
                      type: boolean
                    gateway_groups:
                      items:
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                          weight:
                            type: integer
                        required:
                          - id
                          - name
                          - weight
                        type: object
                      type: array
                    gateway_type:
                      description: Payment gateway provider.
                      maxLength: 100
                      type: string
                    id:
                      type: integer
                    is_next_payments:
                      type: boolean
                    merchant_profile:
                      properties:
                        amex:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        discover:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        mastercard:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        merchant_country:
                          description: The country the merchant is registered in.
                          title: ISO 3166-1 alpha-2
                          type: string
                        merchant_name:
                          description: Merchant name assigned by your acquiring bank, contact them if you are not sure.
                          type: string
                        visa:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                      type: object
                    name:
                      description: Used for reporting and transaction references.
                      maxLength: 100
                      type: string
                    optimized_3ds:
                      description: Transactions will be optimized for lowest friction, requires non-3DS transaction support.
                      title: Enable Optimized 3D Secure Transactions
                      type: boolean
                    payment_flow:
                      description: |-
                        Transaction type initiated for new orders.

                        * `charge` - Charge
                        * `auth-capture` - Auth / Capture
                      enum:
                        - charge
                        - auth-capture
                      type: string
                      x-spec-enum-id: 0e887a41ea162b2f
                    re_attemp_group:
                      properties:
                        available_currencies:
                          items:
                            properties:
                              code:
                                maxLength: 5
                                title: Currency Code
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        available_express_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        available_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                              supported_currencies:
                                items: {}
                                type: array
                            required:
                              - code
                              - label
                              - supported_currencies
                            type: object
                          type: array
                        card_types:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        id:
                          type: integer
                        name:
                          maxLength: 256
                          type: string
                      type: object
                    re_attemp_intitial_charge:
                      description: Reattempt soft declines with another gateway.
                      title: Re-attempt declined initial charge attempts
                      type: boolean
                  required:
                    - card_types
                    - currencies
                    - gateway_groups
                    - gateway_type
                    - id
                    - is_next_payments
                    - merchant_profile
                    - name
                    - re_attemp_group
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - gateway.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - gateway
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
  gateway.updated:
    post:
      description: Triggers when a gateway is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                active: false
                auto_capture_on_fulfillment: false
                card_types:
                  - code: string
                    label: string
                currencies:
                  - code: string
                    label: string
                delayed_capture_days: null
                enable_3ds2: false
                gateway_groups:
                  - id: 0
                    name: string
                    weight: 0
                gateway_type: string
                id: 0
                is_next_payments: false
                merchant_profile:
                  amex:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  discover:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  mastercard:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                  merchant_country: null
                  merchant_name: null
                  visa:
                    acquirer_bin: string
                    mcc_code: string
                    merchant_id: string
                name: string
                optimized_3ds: false
                payment_flow: string
                re_attemp_group:
                  available_currencies:
                    - code: string
                      label: string
                  available_express_payment_methods:
                    - code: string
                      label: string
                  available_payment_methods:
                    - code: string
                      label: string
                      supported_currencies: []
                  card_types:
                    - code: string
                      label: string
                  id: 0
                  name: string
                re_attemp_intitial_charge: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: gateway.updated
              object: gateway
              webhook:
                events:
                  - gateway.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    active:
                      description: Gateway must be active to accept and process transactions.
                      type: boolean
                    auto_capture_on_fulfillment:
                      description: When enabled, payments will be automatically captured when orders are fulfilled.
                      type: boolean
                    card_types:
                      items:
                        properties:
                          code:
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    currencies:
                      items:
                        properties:
                          code:
                            maxLength: 5
                            title: Currency Code
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    delayed_capture_days:
                      description: Payments will be automatically captured up to 7 days after the authorization.
                      maximum: 7
                      minimum: 1
                      type: integer
                    enable_3ds2:
                      description: Transactions are attempted with 3DS authentication.
                      title: Enable 3D Secure Transactions
                      type: boolean
                    gateway_groups:
                      items:
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                          weight:
                            type: integer
                        required:
                          - id
                          - name
                          - weight
                        type: object
                      type: array
                    gateway_type:
                      description: Payment gateway provider.
                      maxLength: 100
                      type: string
                    id:
                      type: integer
                    is_next_payments:
                      type: boolean
                    merchant_profile:
                      properties:
                        amex:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        discover:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        mastercard:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                        merchant_country:
                          description: The country the merchant is registered in.
                          title: ISO 3166-1 alpha-2
                          type: string
                        merchant_name:
                          description: Merchant name assigned by your acquiring bank, contact them if you are not sure.
                          type: string
                        visa:
                          properties:
                            acquirer_bin:
                              type: string
                            mcc_code:
                              type: string
                            merchant_id:
                              type: string
                          type: object
                      type: object
                    name:
                      description: Used for reporting and transaction references.
                      maxLength: 100
                      type: string
                    optimized_3ds:
                      description: Transactions will be optimized for lowest friction, requires non-3DS transaction support.
                      title: Enable Optimized 3D Secure Transactions
                      type: boolean
                    payment_flow:
                      description: |-
                        Transaction type initiated for new orders.

                        * `charge` - Charge
                        * `auth-capture` - Auth / Capture
                      enum:
                        - charge
                        - auth-capture
                      type: string
                      x-spec-enum-id: 0e887a41ea162b2f
                    re_attemp_group:
                      properties:
                        available_currencies:
                          items:
                            properties:
                              code:
                                maxLength: 5
                                title: Currency Code
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        available_express_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        available_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                              supported_currencies:
                                items: {}
                                type: array
                            required:
                              - code
                              - label
                              - supported_currencies
                            type: object
                          type: array
                        card_types:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        id:
                          type: integer
                        name:
                          maxLength: 256
                          type: string
                      type: object
                    re_attemp_intitial_charge:
                      description: Reattempt soft declines with another gateway.
                      title: Re-attempt declined initial charge attempts
                      type: boolean
                  required:
                    - card_types
                    - currencies
                    - gateway_groups
                    - gateway_type
                    - id
                    - is_next_payments
                    - merchant_profile
                    - name
                    - re_attemp_group
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - gateway.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - gateway
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
  order.created:
    post:
      description: Triggers when an new order is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                billing_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                created_at: '2024-01-01T00:00:00Z'
                currency: string
                date_placed: '2024-01-01T00:00:00Z'
                display_taxes: string
                fulfillment_status: string
                fulfillments:
                  - created_at: '2024-01-01T00:00:00Z'
                    delivered_at: null
                    delivery_status: {}
                    id: 0
                    last_event_date: null
                    line_items:
                      - currency: null
                        fulfilled_quantity: null
                        fulfillment_service: null
                        id: null
                        order_line_id: null
                        price_excl_tax: null
                        price_incl_tax: null
                        product_id: null
                        product_image: null
                        product_title: null
                        properties: null
                        quantity: null
                        requires_shipping: null
                        returnable_quantity: null
                        returned_quantity: null
                        sku: null
                        tax_lines: null
                        total_discount: null
                    location_id: 0
                    order_number: string
                    origin_address:
                      country: string
                      line1: string
                      line2: string
                      line3: string
                      line4: string
                      phone_number: string
                      postcode: string
                      state: string
                    processing_at: null
                    requires_shipping: false
                    shipping_method: string
                    status: string
                    tracking_carrier: string
                    tracking_carriers: string
                    tracking_code: string
                    tracking_codes: string
                    tracking_link: string
                    tracking_links: https://example.com
                is_test: false
                lines:
                  - created_at: null
                    currency: string
                    current_quantity: 0
                    editable_quantity: 0
                    fulfillable_quantity: 0
                    id: 0
                    is_gift_card: false
                    is_upsell: false
                    metadata: {}
                    original_price_excl_tax: '0.00'
                    original_price_incl_tax: '0.00'
                    original_total_discount: '0.00'
                    price_excl_tax: '0.00'
                    price_incl_tax: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    product_url: https://example.com
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    report_values:
                      currency: string
                      original_price_excl_tax: '0.00'
                      original_price_incl_tax: '0.00'
                      original_total_discount: '0.00'
                      price_excl_tax: '0.00'
                      price_incl_tax: '0.00'
                      total_cost: '0.00'
                      total_discount: '0.00'
                      unit_cost: '0.00'
                    requires_shipping: false
                    sku: string
                    tax_lines:
                      - amount: null
                        currency: null
                        rate: null
                        report_values: null
                        source: null
                        tax_id: null
                        tax_title: null
                    total_cost: '0.00'
                    total_discount: '0.00'
                    unit_cost: '0.00'
                    updated_at: null
                    variant_id: 0
                    variant_title: string
                metadata: {}
                number: string
                offer_discounts:
                  - amount: '0.00'
                    description: string
                    name: string
                order_status_url: https://example.com
                original_shipping_excl_tax: '0.00'
                original_shipping_incl_tax: '0.00'
                original_total_discount: '0.00'
                original_total_excl_tax: '0.00'
                original_total_incl_tax: '0.00'
                payment_status: string
                refunds:
                  - adjustments:
                      - amount_excl_tax: null
                        amount_incl_tax: null
                        id: null
                        report_values: null
                        type: null
                    created_at: '2024-01-01T00:00:00Z'
                    id: 0
                    note: null
                    order_number: string
                    refund_line_items:
                      - amount_excl_tax: null
                        amount_incl_tax: null
                        id: null
                        line_item_id: null
                        location_id: null
                        quantity: null
                        report_values: null
                        restock_type: null
                    report_values:
                      currency: string
                      total_refund_amount: '0.00'
                      total_return_excl_tax: '0.00'
                      total_return_incl_tax: '0.00'
                    total_refund_amount: '0.00'
                    total_return_excl_tax: '0.00'
                    total_return_incl_tax: '0.00'
                    transactions:
                      - amount: null
                        auth_code: null
                        currency: null
                        date_created: null
                        external_id: null
                        id: null
                        is_disputed: null
                        is_external: null
                        is_initial_retry: null
                        is_test: null
                        network_transaction_id: null
                        parent_id: null
                        payment_details: null
                        payment_method: null
                        report_values: null
                        response_code: null
                        statement_descriptor: null
                        status: null
                        type: null
                    user_id: 0
                report_values:
                  currency: string
                  original_shipping_excl_tax: '0.00'
                  original_shipping_incl_tax: '0.00'
                  original_total_discount: '0.00'
                  original_total_excl_tax: '0.00'
                  original_total_incl_tax: '0.00'
                  shipping_excl_tax: '0.00'
                  shipping_incl_tax: '0.00'
                  total_cost: '0.00'
                  total_discount: '0.00'
                  total_excl_tax: '0.00'
                  total_incl_tax: '0.00'
                shipping_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  notes: string
                  phone_number: string
                  postcode: string
                  state: string
                shipping_code: string
                shipping_excl_tax: '0.00'
                shipping_incl_tax: '0.00'
                shipping_method: string
                shipping_tax: '0.00'
                shipping_tax_lines:
                  - amount: '0.00'
                    currency: string
                    rate: 0
                    report_values:
                      amount: '0.00'
                      currency: string
                    source: string
                    tax_id: 0
                    tax_title: string
                source: string
                status: string
                subscription_lifecycle: string
                subscriptions:
                  - billing_cycle: 0
                    id: 0
                supports_post_purchase_upsells: false
                tags: []
                tax_lines:
                  - amount: '0.00'
                    currency: null
                    id: 0
                    rate: 0
                    report_values:
                      amount: '0.00'
                      currency: string
                    source: null
                    tax_title: string
                total_cost: '0.00'
                total_discount: '0.00'
                total_excl_tax: '0.00'
                total_incl_tax: '0.00'
                total_outstanding: '0.00'
                total_tax: '0.00'
                transactions:
                  - amount: '0.00'
                    auth_code: null
                    currency: null
                    date_created: '2024-01-01T00:00:00Z'
                    external_id: null
                    id: 0
                    is_disputed: false
                    is_external: false
                    is_initial_retry: null
                    is_test: null
                    network_transaction_id: null
                    parent_id: null
                    payment_details:
                      bankcard_first_six: null
                      bankcard_last_four: null
                      card_token: string
                      gateway:
                        id: null
                        is_next_payments: null
                        name: null
                        type: null
                      is_3ds: false
                      optimized_3ds: false
                      paypal_vault_id: string
                      sca_flow: string
                    payment_method: null
                    report_values:
                      amount: '0.00'
                      currency: string
                    response_code: 0
                    statement_descriptor: null
                    status: string
                    type: string
                updated_at: '2024-01-01T00:00:00Z'
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
                voucher_discounts:
                  - amount: '0.00'
                    description: string
                    name: string
                    voucher:
                      code: string
                      end_datetime: '2024-01-01T00:00:00Z'
                      name: string
                      start_datetime: '2024-01-01T00:00:00Z'
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: order.created
              object: order
              webhook:
                events:
                  - order.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      required:
                        - agent
                      type: object
                    billing_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    created_at:
                      format: date-time
                      type: string
                    currency:
                      type: string
                    date_placed:
                      format: date-time
                      type: string
                    display_taxes:
                      type: string
                    fulfillment_status:
                      description: |-
                        * `not_required` - Not Required
                        * `unfulfilled` - Unfulfilled
                        * `on_hold` - On Hold
                        * `rejected` - Rejected
                        * `processing` - Processing
                        * `fulfilled` - Fulfilled
                        * `incomplete` - Incomplete
                      enum:
                        - not_required
                        - unfulfilled
                        - on_hold
                        - rejected
                        - processing
                        - fulfilled
                        - incomplete
                      type: string
                      x-spec-enum-id: f7a016fc10fb8390
                    fulfillments:
                      items:
                        properties:
                          created_at:
                            format: date-time
                            type: string
                          delivered_at:
                            format: date-time
                            type: string
                          delivery_status:
                            description: |-
                              Expected delivery statuses.

                              * `None` - No Status
                              * `tracking_added` - Tracking Added
                              * `in_transit` - In Transit
                              * `out_for_delivery` - Out For Delivery
                              * `attempted_delivery` - Attempted Delivery
                              * `failed_delivery` - Failed Delivery
                              * `delivered` - Delivered
                              * `delayed` - Delayed
                            enum:
                              - null
                              - tracking_added
                              - in_transit
                              - out_for_delivery
                              - attempted_delivery
                              - failed_delivery
                              - delivered
                              - delayed
                              - ''
                            x-spec-enum-id: 3b886e5b796c0603
                          id:
                            type: integer
                          last_event_date:
                            format: date-time
                            type: string
                          line_items:
                            items:
                              properties:
                                currency:
                                  maxLength: 12
                                  type: string
                                fulfilled_quantity:
                                  type: string
                                fulfillment_service:
                                  type: string
                                id:
                                  type: integer
                                order_line_id:
                                  type: integer
                                price_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                price_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                product_id:
                                  type: integer
                                product_image:
                                  format: uri
                                  type: string
                                product_title:
                                  type: string
                                properties:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value: {}
                                    required:
                                      - key
                                      - value
                                    type: object
                                  type: array
                                quantity:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                requires_shipping:
                                  type: boolean
                                returnable_quantity:
                                  type: string
                                returned_quantity:
                                  type: string
                                sku:
                                  type: string
                                tax_lines:
                                  items:
                                    properties:
                                      amount:
                                        format: decimal
                                        pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                        type: string
                                      currency:
                                        type: string
                                      rate:
                                        format: double
                                        type: number
                                      report_values:
                                        properties:
                                          amount:
                                            format: decimal
                                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                            type: string
                                          currency:
                                            type: string
                                        type: object
                                      source:
                                        type: string
                                      tax_id:
                                        type: integer
                                      tax_title:
                                        type: string
                                    required:
                                      - amount
                                      - currency
                                      - rate
                                      - report_values
                                      - source
                                      - tax_id
                                      - tax_title
                                    type: object
                                  type: array
                                total_discount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                              required:
                                - currency
                                - fulfilled_quantity
                                - fulfillment_service
                                - id
                                - order_line_id
                                - price_excl_tax
                                - price_incl_tax
                                - product_id
                                - product_image
                                - product_title
                                - properties
                                - requires_shipping
                                - returnable_quantity
                                - returned_quantity
                                - sku
                                - tax_lines
                                - total_discount
                              type: object
                            type: array
                          location_id:
                            type: integer
                          order_number:
                            title: Order number
                            type: string
                          origin_address:
                            properties:
                              country:
                                description: The address country code.
                                title: ISO 3166-1 alpha-2
                                type: string
                              line1:
                                description: The first line of the address.
                                maxLength: 255
                                title: First line of address
                                type: string
                              line2:
                                description: Optional second line of of the address.
                                maxLength: 255
                                title: Second line of address
                                type: string
                              line3:
                                description: Optional third line of of the address.
                                maxLength: 255
                                title: Third line of address
                                type: string
                              line4:
                                description: City of the address.
                                maxLength: 255
                                title: City
                                type: string
                              phone_number:
                                description: The address phone number.
                                maxLength: 128
                                type: string
                              postcode:
                                description: The address post code or zip code.
                                maxLength: 64
                                title: Post/Zip-code
                                type: string
                              state:
                                description: The address state/province.
                                maxLength: 255
                                title: State/County
                                type: string
                            type: object
                          processing_at:
                            format: date-time
                            type: string
                          requires_shipping:
                            type: boolean
                          shipping_method:
                            type: string
                          status:
                            description: |-
                              * `success` - Success
                              * `canceled` - Canceled
                            enum:
                              - success
                              - canceled
                            type: string
                            x-spec-enum-id: 4d2f0d468cf04267
                          tracking_carrier:
                            type: string
                          tracking_carriers:
                            type: string
                          tracking_code:
                            type: string
                          tracking_codes:
                            type: string
                          tracking_link:
                            type: string
                          tracking_links:
                            format: uri
                            type: string
                        required:
                          - delivery_status
                          - id
                          - line_items
                          - location_id
                          - order_number
                          - origin_address
                          - shipping_method
                          - status
                          - tracking_carrier
                          - tracking_carriers
                          - tracking_code
                          - tracking_codes
                          - tracking_link
                          - tracking_links
                        type: object
                      type: array
                    is_test:
                      type: boolean
                    lines:
                      items:
                        properties:
                          created_at:
                            format: date-time
                            type: string
                          currency:
                            maxLength: 12
                            type: string
                          current_quantity:
                            description: Number of line items, minus removed quantity.
                            type: integer
                          editable_quantity:
                            description: Number of items that can be edited.
                            type: integer
                          fulfillable_quantity:
                            description: The number of items that can be fulfilled from this line.
                            type: integer
                          id:
                            type: integer
                          is_gift_card:
                            type: boolean
                          is_upsell:
                            type: boolean
                          metadata:
                            type: object
                          original_price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          original_price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          original_total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          product_url:
                            format: uri
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            description: The number of items of this line.
                            type: integer
                          report_values:
                            properties:
                              currency:
                                maxLength: 3
                                type: string
                              original_price_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              original_price_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              original_total_discount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              price_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              price_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_discount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              unit_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            type: object
                          requires_shipping:
                            type: boolean
                          sku:
                            type: string
                          tax_lines:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                currency:
                                  type: string
                                rate:
                                  format: double
                                  type: number
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                source:
                                  type: string
                                tax_id:
                                  type: integer
                                tax_title:
                                  type: string
                              required:
                                - amount
                                - currency
                                - rate
                                - report_values
                                - source
                                - tax_id
                                - tax_title
                              type: object
                            type: array
                          total_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          unit_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          updated_at:
                            format: date-time
                            type: string
                          variant_id:
                            type: integer
                          variant_title:
                            type: string
                        required:
                          - created_at
                          - currency
                          - current_quantity
                          - editable_quantity
                          - fulfillable_quantity
                          - id
                          - original_price_excl_tax
                          - original_price_incl_tax
                          - original_total_discount
                          - price_excl_tax
                          - price_incl_tax
                          - product_id
                          - product_image
                          - product_title
                          - product_url
                          - properties
                          - quantity
                          - report_values
                          - requires_shipping
                          - sku
                          - tax_lines
                          - total_cost
                          - total_discount
                          - unit_cost
                          - updated_at
                          - variant_id
                          - variant_title
                        type: object
                      type: array
                    metadata:
                      type: object
                    number:
                      title: Order number
                      type: string
                    offer_discounts:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          description:
                            type: string
                          name:
                            type: string
                        required:
                          - amount
                          - description
                          - name
                        type: object
                      type: array
                    order_status_url:
                      format: uri
                      type: string
                    original_shipping_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_shipping_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_discount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    payment_status:
                      description: |-
                        * `pending` - Payment Pending
                        * `authorized` - Authorized
                        * `expiring` - Expiring
                        * `expired` - Expired
                        * `paid` - Paid
                        * `voided` - Voided
                        * `refunded` - Refunded
                        * `partially_paid` - Partially Paid
                        * `partially_refunded` - Partially Refunded
                        * `partially_voided` - Partially Voided
                      enum:
                        - pending
                        - authorized
                        - expiring
                        - expired
                        - paid
                        - voided
                        - refunded
                        - partially_paid
                        - partially_refunded
                        - partially_voided
                      type: string
                      x-spec-enum-id: 4ddf29c57b2eb8f6
                    refunds:
                      items:
                        properties:
                          adjustments:
                            items:
                              properties:
                                amount_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                amount_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                id:
                                  type: integer
                                report_values:
                                  properties:
                                    amount_excl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    amount_incl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                type:
                                  description: |-
                                    * `refund_shipping` - Refund Shipping
                                    * `refund_discrepancy` - Refund Discrepancy
                                  enum:
                                    - refund_shipping
                                    - refund_discrepancy
                                  type: string
                                  x-spec-enum-id: 1bc4eac94a84cc0a
                              required:
                                - id
                                - report_values
                                - type
                              type: object
                            type: array
                          created_at:
                            format: date-time
                            type: string
                          id:
                            type: integer
                          note:
                            type: string
                          order_number:
                            type: string
                          refund_line_items:
                            items:
                              properties:
                                amount_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                amount_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                id:
                                  type: integer
                                line_item_id:
                                  type: integer
                                location_id:
                                  type: integer
                                quantity:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                report_values:
                                  properties:
                                    amount_excl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    amount_incl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                restock_type:
                                  description: |-
                                    * `cancel` - Cancel
                                    * `no_restock` - No Restock
                                    * `return` - Return
                                  enum:
                                    - cancel
                                    - no_restock
                                    - return
                                  type: string
                                  x-spec-enum-id: fdd1ffe20f0e32e5
                              required:
                                - amount_excl_tax
                                - amount_incl_tax
                                - id
                                - line_item_id
                                - location_id
                                - quantity
                                - report_values
                              type: object
                            type: array
                          report_values:
                            properties:
                              currency:
                                type: string
                              total_refund_amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_return_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_return_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            type: object
                          total_refund_amount:
                            description: Sum of all successful transaction amounts
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_return_excl_tax:
                            description: Sum of lines and adjustments values excluding tax.
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_return_incl_tax:
                            description: Sum of lines and adjustments values including tax.
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          transactions:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                auth_code:
                                  type: string
                                currency:
                                  type: string
                                date_created:
                                  format: date-time
                                  type: string
                                external_id:
                                  type: string
                                id:
                                  type: integer
                                is_disputed:
                                  type: boolean
                                is_external:
                                  type: boolean
                                is_initial_retry:
                                  type: boolean
                                is_test:
                                  type: boolean
                                network_transaction_id:
                                  type: string
                                parent_id:
                                  description: |2-

                                        The ID of an associated transaction.
                                        - For capture transactions, the parent is the authorization transaction.
                                        - For void transactions, the parent is the authorization transaction.
                                        - For refund transactions, the parent is the debit transaction.
                                            
                                  type: integer
                                payment_details:
                                  properties:
                                    bankcard_first_six:
                                      title: First Six
                                      type: string
                                    bankcard_last_four:
                                      title: Last four
                                      type: string
                                    card_token:
                                      type: string
                                    gateway:
                                      properties:
                                        id:
                                          type: integer
                                        is_next_payments:
                                          type: boolean
                                        name:
                                          type: string
                                        type:
                                          type: string
                                      type: object
                                    is_3ds:
                                      type: boolean
                                    optimized_3ds:
                                      type: boolean
                                    paypal_vault_id:
                                      type: string
                                    sca_flow:
                                      type: string
                                  type: object
                                payment_method:
                                  type: string
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                response_code:
                                  type: integer
                                statement_descriptor:
                                  type: string
                                status:
                                  description: |-
                                    * `succeeded` - Succeeded
                                    * `failed` - Failed
                                  enum:
                                    - succeeded
                                    - failed
                                    - ''
                                  type: string
                                  x-spec-enum-id: a6661c405ff6d2ee
                                type:
                                  type: string
                              required:
                                - amount
                                - date_created
                                - id
                                - parent_id
                                - payment_details
                                - report_values
                                - response_code
                                - type
                              type: object
                            type: array
                          user_id:
                            type: integer
                        required:
                          - adjustments
                          - id
                          - order_number
                          - refund_line_items
                          - report_values
                          - total_refund_amount
                          - total_return_excl_tax
                          - total_return_incl_tax
                          - transactions
                          - user_id
                        type: object
                      type: array
                    report_values:
                      properties:
                        currency:
                          type: string
                        original_shipping_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_shipping_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_discount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        shipping_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        shipping_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_cost:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_discount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      type: object
                    shipping_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        notes:
                          description: Tell us anything we should know when delivering your order.
                          title: Instructions
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    shipping_code:
                      type: string
                    shipping_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Shipping charge (excl. tax)
                      type: string
                    shipping_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Shipping charge (inc. tax)
                      type: string
                    shipping_method:
                      type: string
                    shipping_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    shipping_tax_lines:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          currency:
                            type: string
                          rate:
                            format: double
                            type: number
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          source:
                            type: string
                          tax_id:
                            type: integer
                          tax_title:
                            type: string
                        required:
                          - amount
                          - currency
                          - rate
                          - report_values
                          - source
                          - tax_id
                          - tax_title
                        type: object
                      type: array
                    source:
                      type: string
                    status:
                      maxLength: 100
                      type: string
                    subscription_lifecycle:
                      type: string
                    subscriptions:
                      items:
                        properties:
                          billing_cycle:
                            type: integer
                          id:
                            type: integer
                        required:
                          - billing_cycle
                          - id
                        type: object
                      type: array
                    supports_post_purchase_upsells:
                      type: boolean
                    tags:
                      description: An array of tags associated with the order.
                      items:
                        type: string
                      type: array
                    tax_lines:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          currency:
                            type: string
                          id:
                            type: integer
                          rate:
                            format: double
                            type: number
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          source:
                            type: string
                          tax_title:
                            type: string
                        required:
                          - id
                          - rate
                          - report_values
                          - tax_title
                        type: object
                      type: array
                    total_cost:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_discount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Order total (excl. tax)
                      type: string
                    total_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Order total (inc. tax)
                      type: string
                    total_outstanding:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    transactions:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          auth_code:
                            type: string
                          currency:
                            type: string
                          date_created:
                            format: date-time
                            type: string
                          external_id:
                            type: string
                          id:
                            type: integer
                          is_disputed:
                            type: boolean
                          is_external:
                            type: boolean
                          is_initial_retry:
                            type: boolean
                          is_test:
                            type: boolean
                          network_transaction_id:
                            type: string
                          parent_id:
                            description: |2-

                                  The ID of an associated transaction.
                                  - For capture transactions, the parent is the authorization transaction.
                                  - For void transactions, the parent is the authorization transaction.
                                  - For refund transactions, the parent is the debit transaction.
                                      
                            type: integer
                          payment_details:
                            properties:
                              bankcard_first_six:
                                title: First Six
                                type: string
                              bankcard_last_four:
                                title: Last four
                                type: string
                              card_token:
                                type: string
                              gateway:
                                properties:
                                  id:
                                    type: integer
                                  is_next_payments:
                                    type: boolean
                                  name:
                                    type: string
                                  type:
                                    type: string
                                type: object
                              is_3ds:
                                type: boolean
                              optimized_3ds:
                                type: boolean
                              paypal_vault_id:
                                type: string
                              sca_flow:
                                type: string
                            type: object
                          payment_method:
                            type: string
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          response_code:
                            type: integer
                          statement_descriptor:
                            type: string
                          status:
                            description: |-
                              * `succeeded` - Succeeded
                              * `failed` - Failed
                            enum:
                              - succeeded
                              - failed
                              - ''
                            type: string
                            x-spec-enum-id: a6661c405ff6d2ee
                          type:
                            type: string
                        required:
                          - amount
                          - date_created
                          - id
                          - parent_id
                          - payment_details
                          - report_values
                          - response_code
                          - type
                        type: object
                      type: array
                    updated_at:
                      format: date-time
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      type: object
                    voucher_discounts:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          description:
                            type: string
                          name:
                            type: string
                          voucher:
                            properties:
                              code:
                                description: Case insensitive / No spaces allowed
                                maxLength: 128
                                type: string
                              end_datetime:
                                format: date-time
                                type: string
                              name:
                                description: This will be shown in the checkout and basket once the coupon is entered
                                maxLength: 128
                                type: string
                              start_datetime:
                                format: date-time
                                type: string
                            required:
                              - code
                              - end_datetime
                              - name
                              - start_datetime
                            type: object
                        required:
                          - amount
                          - description
                          - name
                        type: object
                      type: array
                  required:
                    - attribution
                    - created_at
                    - currency
                    - date_placed
                    - display_taxes
                    - fulfillments
                    - is_test
                    - lines
                    - number
                    - offer_discounts
                    - order_status_url
                    - original_shipping_excl_tax
                    - original_shipping_incl_tax
                    - original_total_discount
                    - original_total_excl_tax
                    - original_total_incl_tax
                    - payment_status
                    - refunds
                    - report_values
                    - shipping_code
                    - shipping_excl_tax
                    - shipping_incl_tax
                    - shipping_method
                    - shipping_tax
                    - shipping_tax_lines
                    - source
                    - subscription_lifecycle
                    - subscriptions
                    - supports_post_purchase_upsells
                    - tax_lines
                    - total_cost
                    - total_discount
                    - total_excl_tax
                    - total_incl_tax
                    - total_outstanding
                    - total_tax
                    - transactions
                    - updated_at
                    - user
                    - voucher_discounts
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - order.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - order
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - orders
  order.updated:
    post:
      description: Triggers when an order is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                billing_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                created_at: '2024-01-01T00:00:00Z'
                currency: string
                date_placed: '2024-01-01T00:00:00Z'
                display_taxes: string
                fulfillment_status: string
                fulfillments:
                  - created_at: '2024-01-01T00:00:00Z'
                    delivered_at: null
                    delivery_status: {}
                    id: 0
                    last_event_date: null
                    line_items:
                      - currency: null
                        fulfilled_quantity: null
                        fulfillment_service: null
                        id: null
                        order_line_id: null
                        price_excl_tax: null
                        price_incl_tax: null
                        product_id: null
                        product_image: null
                        product_title: null
                        properties: null
                        quantity: null
                        requires_shipping: null
                        returnable_quantity: null
                        returned_quantity: null
                        sku: null
                        tax_lines: null
                        total_discount: null
                    location_id: 0
                    order_number: string
                    origin_address:
                      country: string
                      line1: string
                      line2: string
                      line3: string
                      line4: string
                      phone_number: string
                      postcode: string
                      state: string
                    processing_at: null
                    requires_shipping: false
                    shipping_method: string
                    status: string
                    tracking_carrier: string
                    tracking_carriers: string
                    tracking_code: string
                    tracking_codes: string
                    tracking_link: string
                    tracking_links: https://example.com
                is_test: false
                lines:
                  - created_at: null
                    currency: string
                    current_quantity: 0
                    editable_quantity: 0
                    fulfillable_quantity: 0
                    id: 0
                    is_gift_card: false
                    is_upsell: false
                    metadata: {}
                    original_price_excl_tax: '0.00'
                    original_price_incl_tax: '0.00'
                    original_total_discount: '0.00'
                    price_excl_tax: '0.00'
                    price_incl_tax: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    product_url: https://example.com
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    report_values:
                      currency: string
                      original_price_excl_tax: '0.00'
                      original_price_incl_tax: '0.00'
                      original_total_discount: '0.00'
                      price_excl_tax: '0.00'
                      price_incl_tax: '0.00'
                      total_cost: '0.00'
                      total_discount: '0.00'
                      unit_cost: '0.00'
                    requires_shipping: false
                    sku: string
                    tax_lines:
                      - amount: null
                        currency: null
                        rate: null
                        report_values: null
                        source: null
                        tax_id: null
                        tax_title: null
                    total_cost: '0.00'
                    total_discount: '0.00'
                    unit_cost: '0.00'
                    updated_at: null
                    variant_id: 0
                    variant_title: string
                metadata: {}
                number: string
                offer_discounts:
                  - amount: '0.00'
                    description: string
                    name: string
                order_status_url: https://example.com
                original_shipping_excl_tax: '0.00'
                original_shipping_incl_tax: '0.00'
                original_total_discount: '0.00'
                original_total_excl_tax: '0.00'
                original_total_incl_tax: '0.00'
                payment_status: string
                refunds:
                  - adjustments:
                      - amount_excl_tax: null
                        amount_incl_tax: null
                        id: null
                        report_values: null
                        type: null
                    created_at: '2024-01-01T00:00:00Z'
                    id: 0
                    note: null
                    order_number: string
                    refund_line_items:
                      - amount_excl_tax: null
                        amount_incl_tax: null
                        id: null
                        line_item_id: null
                        location_id: null
                        quantity: null
                        report_values: null
                        restock_type: null
                    report_values:
                      currency: string
                      total_refund_amount: '0.00'
                      total_return_excl_tax: '0.00'
                      total_return_incl_tax: '0.00'
                    total_refund_amount: '0.00'
                    total_return_excl_tax: '0.00'
                    total_return_incl_tax: '0.00'
                    transactions:
                      - amount: null
                        auth_code: null
                        currency: null
                        date_created: null
                        external_id: null
                        id: null
                        is_disputed: null
                        is_external: null
                        is_initial_retry: null
                        is_test: null
                        network_transaction_id: null
                        parent_id: null
                        payment_details: null
                        payment_method: null
                        report_values: null
                        response_code: null
                        statement_descriptor: null
                        status: null
                        type: null
                    user_id: 0
                report_values:
                  currency: string
                  original_shipping_excl_tax: '0.00'
                  original_shipping_incl_tax: '0.00'
                  original_total_discount: '0.00'
                  original_total_excl_tax: '0.00'
                  original_total_incl_tax: '0.00'
                  shipping_excl_tax: '0.00'
                  shipping_incl_tax: '0.00'
                  total_cost: '0.00'
                  total_discount: '0.00'
                  total_excl_tax: '0.00'
                  total_incl_tax: '0.00'
                shipping_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  notes: string
                  phone_number: string
                  postcode: string
                  state: string
                shipping_code: string
                shipping_excl_tax: '0.00'
                shipping_incl_tax: '0.00'
                shipping_method: string
                shipping_tax: '0.00'
                shipping_tax_lines:
                  - amount: '0.00'
                    currency: string
                    rate: 0
                    report_values:
                      amount: '0.00'
                      currency: string
                    source: string
                    tax_id: 0
                    tax_title: string
                source: string
                status: string
                subscription_lifecycle: string
                subscriptions:
                  - billing_cycle: 0
                    id: 0
                supports_post_purchase_upsells: false
                tags: []
                tax_lines:
                  - amount: '0.00'
                    currency: null
                    id: 0
                    rate: 0
                    report_values:
                      amount: '0.00'
                      currency: string
                    source: null
                    tax_title: string
                total_cost: '0.00'
                total_discount: '0.00'
                total_excl_tax: '0.00'
                total_incl_tax: '0.00'
                total_outstanding: '0.00'
                total_tax: '0.00'
                transactions:
                  - amount: '0.00'
                    auth_code: null
                    currency: null
                    date_created: '2024-01-01T00:00:00Z'
                    external_id: null
                    id: 0
                    is_disputed: false
                    is_external: false
                    is_initial_retry: null
                    is_test: null
                    network_transaction_id: null
                    parent_id: null
                    payment_details:
                      bankcard_first_six: null
                      bankcard_last_four: null
                      card_token: string
                      gateway:
                        id: null
                        is_next_payments: null
                        name: null
                        type: null
                      is_3ds: false
                      optimized_3ds: false
                      paypal_vault_id: string
                      sca_flow: string
                    payment_method: null
                    report_values:
                      amount: '0.00'
                      currency: string
                    response_code: 0
                    statement_descriptor: null
                    status: string
                    type: string
                updated_at: '2024-01-01T00:00:00Z'
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
                voucher_discounts:
                  - amount: '0.00'
                    description: string
                    name: string
                    voucher:
                      code: string
                      end_datetime: '2024-01-01T00:00:00Z'
                      name: string
                      start_datetime: '2024-01-01T00:00:00Z'
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: order.updated
              object: order
              webhook:
                events:
                  - order.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      required:
                        - agent
                      type: object
                    billing_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    created_at:
                      format: date-time
                      type: string
                    currency:
                      type: string
                    date_placed:
                      format: date-time
                      type: string
                    display_taxes:
                      type: string
                    fulfillment_status:
                      description: |-
                        * `not_required` - Not Required
                        * `unfulfilled` - Unfulfilled
                        * `on_hold` - On Hold
                        * `rejected` - Rejected
                        * `processing` - Processing
                        * `fulfilled` - Fulfilled
                        * `incomplete` - Incomplete
                      enum:
                        - not_required
                        - unfulfilled
                        - on_hold
                        - rejected
                        - processing
                        - fulfilled
                        - incomplete
                      type: string
                      x-spec-enum-id: f7a016fc10fb8390
                    fulfillments:
                      items:
                        properties:
                          created_at:
                            format: date-time
                            type: string
                          delivered_at:
                            format: date-time
                            type: string
                          delivery_status:
                            description: |-
                              Expected delivery statuses.

                              * `None` - No Status
                              * `tracking_added` - Tracking Added
                              * `in_transit` - In Transit
                              * `out_for_delivery` - Out For Delivery
                              * `attempted_delivery` - Attempted Delivery
                              * `failed_delivery` - Failed Delivery
                              * `delivered` - Delivered
                              * `delayed` - Delayed
                            enum:
                              - null
                              - tracking_added
                              - in_transit
                              - out_for_delivery
                              - attempted_delivery
                              - failed_delivery
                              - delivered
                              - delayed
                              - ''
                            x-spec-enum-id: 3b886e5b796c0603
                          id:
                            type: integer
                          last_event_date:
                            format: date-time
                            type: string
                          line_items:
                            items:
                              properties:
                                currency:
                                  maxLength: 12
                                  type: string
                                fulfilled_quantity:
                                  type: string
                                fulfillment_service:
                                  type: string
                                id:
                                  type: integer
                                order_line_id:
                                  type: integer
                                price_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                price_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                product_id:
                                  type: integer
                                product_image:
                                  format: uri
                                  type: string
                                product_title:
                                  type: string
                                properties:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value: {}
                                    required:
                                      - key
                                      - value
                                    type: object
                                  type: array
                                quantity:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                requires_shipping:
                                  type: boolean
                                returnable_quantity:
                                  type: string
                                returned_quantity:
                                  type: string
                                sku:
                                  type: string
                                tax_lines:
                                  items:
                                    properties:
                                      amount:
                                        format: decimal
                                        pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                        type: string
                                      currency:
                                        type: string
                                      rate:
                                        format: double
                                        type: number
                                      report_values:
                                        properties:
                                          amount:
                                            format: decimal
                                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                            type: string
                                          currency:
                                            type: string
                                        type: object
                                      source:
                                        type: string
                                      tax_id:
                                        type: integer
                                      tax_title:
                                        type: string
                                    required:
                                      - amount
                                      - currency
                                      - rate
                                      - report_values
                                      - source
                                      - tax_id
                                      - tax_title
                                    type: object
                                  type: array
                                total_discount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                              required:
                                - currency
                                - fulfilled_quantity
                                - fulfillment_service
                                - id
                                - order_line_id
                                - price_excl_tax
                                - price_incl_tax
                                - product_id
                                - product_image
                                - product_title
                                - properties
                                - requires_shipping
                                - returnable_quantity
                                - returned_quantity
                                - sku
                                - tax_lines
                                - total_discount
                              type: object
                            type: array
                          location_id:
                            type: integer
                          order_number:
                            title: Order number
                            type: string
                          origin_address:
                            properties:
                              country:
                                description: The address country code.
                                title: ISO 3166-1 alpha-2
                                type: string
                              line1:
                                description: The first line of the address.
                                maxLength: 255
                                title: First line of address
                                type: string
                              line2:
                                description: Optional second line of of the address.
                                maxLength: 255
                                title: Second line of address
                                type: string
                              line3:
                                description: Optional third line of of the address.
                                maxLength: 255
                                title: Third line of address
                                type: string
                              line4:
                                description: City of the address.
                                maxLength: 255
                                title: City
                                type: string
                              phone_number:
                                description: The address phone number.
                                maxLength: 128
                                type: string
                              postcode:
                                description: The address post code or zip code.
                                maxLength: 64
                                title: Post/Zip-code
                                type: string
                              state:
                                description: The address state/province.
                                maxLength: 255
                                title: State/County
                                type: string
                            type: object
                          processing_at:
                            format: date-time
                            type: string
                          requires_shipping:
                            type: boolean
                          shipping_method:
                            type: string
                          status:
                            description: |-
                              * `success` - Success
                              * `canceled` - Canceled
                            enum:
                              - success
                              - canceled
                            type: string
                            x-spec-enum-id: 4d2f0d468cf04267
                          tracking_carrier:
                            type: string
                          tracking_carriers:
                            type: string
                          tracking_code:
                            type: string
                          tracking_codes:
                            type: string
                          tracking_link:
                            type: string
                          tracking_links:
                            format: uri
                            type: string
                        required:
                          - delivery_status
                          - id
                          - line_items
                          - location_id
                          - order_number
                          - origin_address
                          - shipping_method
                          - status
                          - tracking_carrier
                          - tracking_carriers
                          - tracking_code
                          - tracking_codes
                          - tracking_link
                          - tracking_links
                        type: object
                      type: array
                    is_test:
                      type: boolean
                    lines:
                      items:
                        properties:
                          created_at:
                            format: date-time
                            type: string
                          currency:
                            maxLength: 12
                            type: string
                          current_quantity:
                            description: Number of line items, minus removed quantity.
                            type: integer
                          editable_quantity:
                            description: Number of items that can be edited.
                            type: integer
                          fulfillable_quantity:
                            description: The number of items that can be fulfilled from this line.
                            type: integer
                          id:
                            type: integer
                          is_gift_card:
                            type: boolean
                          is_upsell:
                            type: boolean
                          metadata:
                            type: object
                          original_price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          original_price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          original_total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_excl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          price_incl_tax:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          product_url:
                            format: uri
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            description: The number of items of this line.
                            type: integer
                          report_values:
                            properties:
                              currency:
                                maxLength: 3
                                type: string
                              original_price_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              original_price_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              original_total_discount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              price_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              price_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_discount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              unit_cost:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            type: object
                          requires_shipping:
                            type: boolean
                          sku:
                            type: string
                          tax_lines:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                currency:
                                  type: string
                                rate:
                                  format: double
                                  type: number
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                source:
                                  type: string
                                tax_id:
                                  type: integer
                                tax_title:
                                  type: string
                              required:
                                - amount
                                - currency
                                - rate
                                - report_values
                                - source
                                - tax_id
                                - tax_title
                              type: object
                            type: array
                          total_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_discount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          unit_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          updated_at:
                            format: date-time
                            type: string
                          variant_id:
                            type: integer
                          variant_title:
                            type: string
                        required:
                          - created_at
                          - currency
                          - current_quantity
                          - editable_quantity
                          - fulfillable_quantity
                          - id
                          - original_price_excl_tax
                          - original_price_incl_tax
                          - original_total_discount
                          - price_excl_tax
                          - price_incl_tax
                          - product_id
                          - product_image
                          - product_title
                          - product_url
                          - properties
                          - quantity
                          - report_values
                          - requires_shipping
                          - sku
                          - tax_lines
                          - total_cost
                          - total_discount
                          - unit_cost
                          - updated_at
                          - variant_id
                          - variant_title
                        type: object
                      type: array
                    metadata:
                      type: object
                    number:
                      title: Order number
                      type: string
                    offer_discounts:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          description:
                            type: string
                          name:
                            type: string
                        required:
                          - amount
                          - description
                          - name
                        type: object
                      type: array
                    order_status_url:
                      format: uri
                      type: string
                    original_shipping_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_shipping_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_discount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    original_total_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    payment_status:
                      description: |-
                        * `pending` - Payment Pending
                        * `authorized` - Authorized
                        * `expiring` - Expiring
                        * `expired` - Expired
                        * `paid` - Paid
                        * `voided` - Voided
                        * `refunded` - Refunded
                        * `partially_paid` - Partially Paid
                        * `partially_refunded` - Partially Refunded
                        * `partially_voided` - Partially Voided
                      enum:
                        - pending
                        - authorized
                        - expiring
                        - expired
                        - paid
                        - voided
                        - refunded
                        - partially_paid
                        - partially_refunded
                        - partially_voided
                      type: string
                      x-spec-enum-id: 4ddf29c57b2eb8f6
                    refunds:
                      items:
                        properties:
                          adjustments:
                            items:
                              properties:
                                amount_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                amount_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                id:
                                  type: integer
                                report_values:
                                  properties:
                                    amount_excl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    amount_incl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                type:
                                  description: |-
                                    * `refund_shipping` - Refund Shipping
                                    * `refund_discrepancy` - Refund Discrepancy
                                  enum:
                                    - refund_shipping
                                    - refund_discrepancy
                                  type: string
                                  x-spec-enum-id: 1bc4eac94a84cc0a
                              required:
                                - id
                                - report_values
                                - type
                              type: object
                            type: array
                          created_at:
                            format: date-time
                            type: string
                          id:
                            type: integer
                          note:
                            type: string
                          order_number:
                            type: string
                          refund_line_items:
                            items:
                              properties:
                                amount_excl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                amount_incl_tax:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                id:
                                  type: integer
                                line_item_id:
                                  type: integer
                                location_id:
                                  type: integer
                                quantity:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                report_values:
                                  properties:
                                    amount_excl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    amount_incl_tax:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                restock_type:
                                  description: |-
                                    * `cancel` - Cancel
                                    * `no_restock` - No Restock
                                    * `return` - Return
                                  enum:
                                    - cancel
                                    - no_restock
                                    - return
                                  type: string
                                  x-spec-enum-id: fdd1ffe20f0e32e5
                              required:
                                - amount_excl_tax
                                - amount_incl_tax
                                - id
                                - line_item_id
                                - location_id
                                - quantity
                                - report_values
                              type: object
                            type: array
                          report_values:
                            properties:
                              currency:
                                type: string
                              total_refund_amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_return_excl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              total_return_incl_tax:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                            type: object
                          total_refund_amount:
                            description: Sum of all successful transaction amounts
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_return_excl_tax:
                            description: Sum of lines and adjustments values excluding tax.
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          total_return_incl_tax:
                            description: Sum of lines and adjustments values including tax.
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          transactions:
                            items:
                              properties:
                                amount:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                auth_code:
                                  type: string
                                currency:
                                  type: string
                                date_created:
                                  format: date-time
                                  type: string
                                external_id:
                                  type: string
                                id:
                                  type: integer
                                is_disputed:
                                  type: boolean
                                is_external:
                                  type: boolean
                                is_initial_retry:
                                  type: boolean
                                is_test:
                                  type: boolean
                                network_transaction_id:
                                  type: string
                                parent_id:
                                  description: |2-

                                        The ID of an associated transaction.
                                        - For capture transactions, the parent is the authorization transaction.
                                        - For void transactions, the parent is the authorization transaction.
                                        - For refund transactions, the parent is the debit transaction.
                                            
                                  type: integer
                                payment_details:
                                  properties:
                                    bankcard_first_six:
                                      title: First Six
                                      type: string
                                    bankcard_last_four:
                                      title: Last four
                                      type: string
                                    card_token:
                                      type: string
                                    gateway:
                                      properties:
                                        id:
                                          type: integer
                                        is_next_payments:
                                          type: boolean
                                        name:
                                          type: string
                                        type:
                                          type: string
                                      type: object
                                    is_3ds:
                                      type: boolean
                                    optimized_3ds:
                                      type: boolean
                                    paypal_vault_id:
                                      type: string
                                    sca_flow:
                                      type: string
                                  type: object
                                payment_method:
                                  type: string
                                report_values:
                                  properties:
                                    amount:
                                      format: decimal
                                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                      type: string
                                    currency:
                                      type: string
                                  type: object
                                response_code:
                                  type: integer
                                statement_descriptor:
                                  type: string
                                status:
                                  description: |-
                                    * `succeeded` - Succeeded
                                    * `failed` - Failed
                                  enum:
                                    - succeeded
                                    - failed
                                    - ''
                                  type: string
                                  x-spec-enum-id: a6661c405ff6d2ee
                                type:
                                  type: string
                              required:
                                - amount
                                - date_created
                                - id
                                - parent_id
                                - payment_details
                                - report_values
                                - response_code
                                - type
                              type: object
                            type: array
                          user_id:
                            type: integer
                        required:
                          - adjustments
                          - id
                          - order_number
                          - refund_line_items
                          - report_values
                          - total_refund_amount
                          - total_return_excl_tax
                          - total_return_incl_tax
                          - transactions
                          - user_id
                        type: object
                      type: array
                    report_values:
                      properties:
                        currency:
                          type: string
                        original_shipping_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_shipping_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_discount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        original_total_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        shipping_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        shipping_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_cost:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_discount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_excl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        total_incl_tax:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                      type: object
                    shipping_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        notes:
                          description: Tell us anything we should know when delivering your order.
                          title: Instructions
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    shipping_code:
                      type: string
                    shipping_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Shipping charge (excl. tax)
                      type: string
                    shipping_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Shipping charge (inc. tax)
                      type: string
                    shipping_method:
                      type: string
                    shipping_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    shipping_tax_lines:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          currency:
                            type: string
                          rate:
                            format: double
                            type: number
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          source:
                            type: string
                          tax_id:
                            type: integer
                          tax_title:
                            type: string
                        required:
                          - amount
                          - currency
                          - rate
                          - report_values
                          - source
                          - tax_id
                          - tax_title
                        type: object
                      type: array
                    source:
                      type: string
                    status:
                      maxLength: 100
                      type: string
                    subscription_lifecycle:
                      type: string
                    subscriptions:
                      items:
                        properties:
                          billing_cycle:
                            type: integer
                          id:
                            type: integer
                        required:
                          - billing_cycle
                          - id
                        type: object
                      type: array
                    supports_post_purchase_upsells:
                      type: boolean
                    tags:
                      description: An array of tags associated with the order.
                      items:
                        type: string
                      type: array
                    tax_lines:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          currency:
                            type: string
                          id:
                            type: integer
                          rate:
                            format: double
                            type: number
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          source:
                            type: string
                          tax_title:
                            type: string
                        required:
                          - id
                          - rate
                          - report_values
                          - tax_title
                        type: object
                      type: array
                    total_cost:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_discount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_excl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Order total (excl. tax)
                      type: string
                    total_incl_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      title: Order total (inc. tax)
                      type: string
                    total_outstanding:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    total_tax:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    transactions:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          auth_code:
                            type: string
                          currency:
                            type: string
                          date_created:
                            format: date-time
                            type: string
                          external_id:
                            type: string
                          id:
                            type: integer
                          is_disputed:
                            type: boolean
                          is_external:
                            type: boolean
                          is_initial_retry:
                            type: boolean
                          is_test:
                            type: boolean
                          network_transaction_id:
                            type: string
                          parent_id:
                            description: |2-

                                  The ID of an associated transaction.
                                  - For capture transactions, the parent is the authorization transaction.
                                  - For void transactions, the parent is the authorization transaction.
                                  - For refund transactions, the parent is the debit transaction.
                                      
                            type: integer
                          payment_details:
                            properties:
                              bankcard_first_six:
                                title: First Six
                                type: string
                              bankcard_last_four:
                                title: Last four
                                type: string
                              card_token:
                                type: string
                              gateway:
                                properties:
                                  id:
                                    type: integer
                                  is_next_payments:
                                    type: boolean
                                  name:
                                    type: string
                                  type:
                                    type: string
                                type: object
                              is_3ds:
                                type: boolean
                              optimized_3ds:
                                type: boolean
                              paypal_vault_id:
                                type: string
                              sca_flow:
                                type: string
                            type: object
                          payment_method:
                            type: string
                          report_values:
                            properties:
                              amount:
                                format: decimal
                                pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                type: string
                              currency:
                                type: string
                            type: object
                          response_code:
                            type: integer
                          statement_descriptor:
                            type: string
                          status:
                            description: |-
                              * `succeeded` - Succeeded
                              * `failed` - Failed
                            enum:
                              - succeeded
                              - failed
                              - ''
                            type: string
                            x-spec-enum-id: a6661c405ff6d2ee
                          type:
                            type: string
                        required:
                          - amount
                          - date_created
                          - id
                          - parent_id
                          - payment_details
                          - report_values
                          - response_code
                          - type
                        type: object
                      type: array
                    updated_at:
                      format: date-time
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      type: object
                    voucher_discounts:
                      items:
                        properties:
                          amount:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          description:
                            type: string
                          name:
                            type: string
                          voucher:
                            properties:
                              code:
                                description: Case insensitive / No spaces allowed
                                maxLength: 128
                                type: string
                              end_datetime:
                                format: date-time
                                type: string
                              name:
                                description: This will be shown in the checkout and basket once the coupon is entered
                                maxLength: 128
                                type: string
                              start_datetime:
                                format: date-time
                                type: string
                            required:
                              - code
                              - end_datetime
                              - name
                              - start_datetime
                            type: object
                        required:
                          - amount
                          - description
                          - name
                        type: object
                      type: array
                  required:
                    - attribution
                    - created_at
                    - currency
                    - date_placed
                    - display_taxes
                    - fulfillments
                    - is_test
                    - lines
                    - number
                    - offer_discounts
                    - order_status_url
                    - original_shipping_excl_tax
                    - original_shipping_incl_tax
                    - original_total_discount
                    - original_total_excl_tax
                    - original_total_incl_tax
                    - payment_status
                    - refunds
                    - report_values
                    - shipping_code
                    - shipping_excl_tax
                    - shipping_incl_tax
                    - shipping_method
                    - shipping_tax
                    - shipping_tax_lines
                    - source
                    - subscription_lifecycle
                    - subscriptions
                    - supports_post_purchase_upsells
                    - tax_lines
                    - total_cost
                    - total_discount
                    - total_excl_tax
                    - total_incl_tax
                    - total_outstanding
                    - total_tax
                    - transactions
                    - updated_at
                    - user
                    - voucher_discounts
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - order.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - order
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - orders
  product.created:
    post:
      description: Triggers when a new product is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                categories:
                  - id: 0
                    name: string
                    slug: string
                date_created: '2024-01-01T00:00:00Z'
                date_updated: '2024-01-01T00:00:00Z'
                description: string
                enable_subscription: false
                external_tax_code: null
                id: 0
                images:
                  - attachment: null
                    caption: string
                    display_order: 0
                    file_name: string
                    id: 0
                    src: null
                interval: null
                interval_counts: null
                is_discountable: false
                is_public: false
                meta_description: null
                meta_title: null
                metadata: {}
                ranking: 0
                rating: null
                recommended_products:
                  - 0
                slug: string
                structure: string
                template: null
                title: string
                url: https://example.com
                variant_attributes:
                  - code: string
                    name: string
                    values:
                      - string
                variants:
                  - allow_backorders: false
                    date_created: '2024-01-01T00:00:00Z'
                    date_updated: '2024-01-01T00:00:00Z'
                    id: 0
                    images: string
                    inventory_availability: null
                    metadata: {}
                    prices:
                      - currency: null
                        price: null
                        retail: null
                        subscription: null
                        subscription_suggested_downsell: null
                    product_id: 0
                    purchase_availability: null
                    requires_shipping: false
                    sku: null
                    stockrecords:
                      - id: null
                        location_id: null
                        low_stock_threshold: null
                        num_allocated: null
                        num_in_stock: null
                    title: string
                    track_stock: false
                    unit_cost: '0.00'
                    upc: null
                    variant_attribute_values:
                      - code: null
                        name: null
                        value: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: product.created
              object: product
              webhook:
                events:
                  - product.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    categories:
                      deprecated: true
                      items:
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                          slug:
                            maxLength: 255
                            pattern: ^[-a-zA-Z0-9_]+$
                            type: string
                        required:
                          - id
                          - name
                          - slug
                        type: object
                      type: array
                    date_created:
                      format: date-time
                      type: string
                    date_updated:
                      format: date-time
                      type: string
                    description:
                      type: string
                    enable_subscription:
                      type: boolean
                    external_tax_code:
                      description: Tax code to be used with external tax systems such as Avalara, TaxJar.
                      title: Tax Code
                      type: string
                    id:
                      type: integer
                    images:
                      items:
                        properties:
                          attachment:
                            description: The base64 string file to upload (image attachment).
                            type: string
                          caption:
                            maxLength: 200
                            type: string
                          display_order:
                            description: An image with a display order of zero will be the primary image for a product
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          file_name:
                            type: string
                            writeOnly: true
                          id:
                            type: integer
                          src:
                            description: URL of the image to fetch and associate with the product
                            format: uri
                            type: string
                            writeOnly: true
                        required:
                          - id
                        type: object
                      type: array
                    interval:
                      description: |-
                        * `day` - Day
                        * `week` - Week
                        * `month` - Month
                        * `year` - Year
                      enum:
                        - day
                        - week
                        - month
                        - year
                        - ''
                        - null
                      title: Subscription Interval
                      type: string
                      x-spec-enum-id: b47bd58ee0e62834
                    interval_counts:
                      description: Choose a predefined value or type to enter custom value(s).
                      items:
                        maximum: 2147483647
                        minimum: -2147483648
                        type: integer
                      title: Interval Count Options
                      type: array
                    is_discountable:
                      description: This flag indicates if this product can be used in an offer or not
                      title: Is discountable?
                      type: boolean
                    is_public:
                      description: Show this product in search results and catalogue listings.
                      type: boolean
                    meta_description:
                      type: string
                    meta_title:
                      type: string
                    metadata:
                      type: object
                    ranking:
                      description: The highest ranking are shown first
                      maximum: 2147483647
                      minimum: -2147483648
                      type: integer
                    rating:
                      format: double
                      type: number
                    recommended_products:
                      items:
                        type: integer
                      type: array
                    slug:
                      maxLength: 255
                      pattern: ^[-a-zA-Z0-9_]+$
                      type: string
                    structure:
                      description: |-
                        * `standalone` - Stand-alone Product
                        * `parent` - Product with Variants
                        * `child` - Child Product
                      enum:
                        - standalone
                        - parent
                        - child
                      title: Product Structure
                      type: string
                      x-spec-enum-id: a1df31d9b9dfd9ac
                    template:
                      description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
                      title: Theme Template
                      type: string
                    title:
                      type: string
                    url:
                      format: uri
                      type: string
                    variant_attributes:
                      items:
                        properties:
                          code:
                            maxLength: 128
                            pattern: ^[a-zA-Z_][0-9a-zA-Z_]*$
                            type: string
                          name:
                            maxLength: 128
                            type: string
                          values:
                            items:
                              type: string
                            type: array
                        required:
                          - code
                          - name
                          - values
                        type: object
                      type: array
                    variants:
                      items:
                        properties:
                          allow_backorders:
                            description: Continue selling when out of stock.
                            type: boolean
                          date_created:
                            format: date-time
                            type: string
                          date_updated:
                            format: date-time
                            type: string
                          id:
                            type: integer
                          images:
                            type: string
                          inventory_availability:
                            description: |-
                              Inventory availability at fulfillment locations

                              * `in_stock` - In Stock
                              * `low_stock` - Low Stock
                              * `out_of_stock` - Out of Stock
                              * `untracked` - Untracked
                            enum:
                              - in_stock
                              - low_stock
                              - out_of_stock
                              - untracked
                              - ''
                              - null
                            type: string
                            x-spec-enum-id: b27c4da75c8684c5
                          metadata:
                            type: object
                          prices:
                            items:
                              properties:
                                currency:
                                  maxLength: 12
                                  type: string
                                price:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                retail:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Price (retail)
                                  type: string
                                subscription:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Subscription Price
                                  type: string
                                subscription_suggested_downsell:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Suggested Downsell Price
                                  type: string
                              required:
                                - price
                              type: object
                            type: array
                          product_id:
                            type: integer
                          purchase_availability:
                            description: |-
                              Product's availability to purchase in new orders

                              * `available` - Available
                              * `unavailable` - Unavailable
                            enum:
                              - available
                              - unavailable
                              - ''
                              - null
                            type: string
                            x-spec-enum-id: c3aa4eaf80db200b
                          requires_shipping:
                            title: Requires shipping?
                            type: boolean
                          sku:
                            description: Stock Keeping Unit
                            type: string
                          stockrecords:
                            items:
                              properties:
                                id:
                                  type: integer
                                location_id:
                                  type: integer
                                low_stock_threshold:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                num_allocated:
                                  title: Number allocated
                                  type: integer
                                num_in_stock:
                                  maximum: 2147483647
                                  minimum: -2147483648
                                  title: Number in stock
                                  type: integer
                              required:
                                - id
                                - location_id
                                - num_allocated
                              type: object
                            type: array
                          title:
                            type: string
                          track_stock:
                            description: Track inventory quantities at fulfillment locations.
                            title: Track Stock Levels
                            type: boolean
                          unit_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          upc:
                            description: Universal Product Code
                            type: string
                          variant_attribute_values:
                            items:
                              properties:
                                code:
                                  type: string
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                                - code
                                - name
                                - value
                              type: object
                            type: array
                        required:
                          - date_created
                          - date_updated
                          - id
                          - images
                          - product_id
                          - title
                          - unit_cost
                        type: object
                      type: array
                  required:
                    - categories
                    - date_created
                    - date_updated
                    - id
                    - images
                    - rating
                    - slug
                    - structure
                    - title
                    - url
                    - variants
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - product.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - product
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - products
  product.deleted:
    post:
      description: Triggers when a product is deleted.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                id: 0
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: product.deleted
              object: product
              webhook:
                events:
                  - product.deleted
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    id:
                      description: The unique identifier of the deleted product.
                      type: integer
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - product.deleted
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - product
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - products
  product.updated:
    post:
      description: Triggers when a product is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                categories:
                  - id: 0
                    name: string
                    slug: string
                date_created: '2024-01-01T00:00:00Z'
                date_updated: '2024-01-01T00:00:00Z'
                description: string
                enable_subscription: false
                external_tax_code: null
                id: 0
                images:
                  - attachment: null
                    caption: string
                    display_order: 0
                    file_name: string
                    id: 0
                    src: null
                interval: null
                interval_counts: null
                is_discountable: false
                is_public: false
                meta_description: null
                meta_title: null
                metadata: {}
                ranking: 0
                rating: null
                recommended_products:
                  - 0
                slug: string
                structure: string
                template: null
                title: string
                url: https://example.com
                variant_attributes:
                  - code: string
                    name: string
                    values:
                      - string
                variants:
                  - allow_backorders: false
                    date_created: '2024-01-01T00:00:00Z'
                    date_updated: '2024-01-01T00:00:00Z'
                    id: 0
                    images: string
                    inventory_availability: null
                    metadata: {}
                    prices:
                      - currency: null
                        price: null
                        retail: null
                        subscription: null
                        subscription_suggested_downsell: null
                    product_id: 0
                    purchase_availability: null
                    requires_shipping: false
                    sku: null
                    stockrecords:
                      - id: null
                        location_id: null
                        low_stock_threshold: null
                        num_allocated: null
                        num_in_stock: null
                    title: string
                    track_stock: false
                    unit_cost: '0.00'
                    upc: null
                    variant_attribute_values:
                      - code: null
                        name: null
                        value: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: product.updated
              object: product
              webhook:
                events:
                  - product.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    categories:
                      deprecated: true
                      items:
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                          slug:
                            maxLength: 255
                            pattern: ^[-a-zA-Z0-9_]+$
                            type: string
                        required:
                          - id
                          - name
                          - slug
                        type: object
                      type: array
                    date_created:
                      format: date-time
                      type: string
                    date_updated:
                      format: date-time
                      type: string
                    description:
                      type: string
                    enable_subscription:
                      type: boolean
                    external_tax_code:
                      description: Tax code to be used with external tax systems such as Avalara, TaxJar.
                      title: Tax Code
                      type: string
                    id:
                      type: integer
                    images:
                      items:
                        properties:
                          attachment:
                            description: The base64 string file to upload (image attachment).
                            type: string
                          caption:
                            maxLength: 200
                            type: string
                          display_order:
                            description: An image with a display order of zero will be the primary image for a product
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          file_name:
                            type: string
                            writeOnly: true
                          id:
                            type: integer
                          src:
                            description: URL of the image to fetch and associate with the product
                            format: uri
                            type: string
                            writeOnly: true
                        required:
                          - id
                        type: object
                      type: array
                    interval:
                      description: |-
                        * `day` - Day
                        * `week` - Week
                        * `month` - Month
                        * `year` - Year
                      enum:
                        - day
                        - week
                        - month
                        - year
                        - ''
                        - null
                      title: Subscription Interval
                      type: string
                      x-spec-enum-id: b47bd58ee0e62834
                    interval_counts:
                      description: Choose a predefined value or type to enter custom value(s).
                      items:
                        maximum: 2147483647
                        minimum: -2147483648
                        type: integer
                      title: Interval Count Options
                      type: array
                    is_discountable:
                      description: This flag indicates if this product can be used in an offer or not
                      title: Is discountable?
                      type: boolean
                    is_public:
                      description: Show this product in search results and catalogue listings.
                      type: boolean
                    meta_description:
                      type: string
                    meta_title:
                      type: string
                    metadata:
                      type: object
                    ranking:
                      description: The highest ranking are shown first
                      maximum: 2147483647
                      minimum: -2147483648
                      type: integer
                    rating:
                      format: double
                      type: number
                    recommended_products:
                      items:
                        type: integer
                      type: array
                    slug:
                      maxLength: 255
                      pattern: ^[-a-zA-Z0-9_]+$
                      type: string
                    structure:
                      description: |-
                        * `standalone` - Stand-alone Product
                        * `parent` - Product with Variants
                        * `child` - Child Product
                      enum:
                        - standalone
                        - parent
                        - child
                      title: Product Structure
                      type: string
                      x-spec-enum-id: a1df31d9b9dfd9ac
                    template:
                      description: Custom template name from your theme, ie catalogue/product.{custom_name}.html
                      title: Theme Template
                      type: string
                    title:
                      type: string
                    url:
                      format: uri
                      type: string
                    variant_attributes:
                      items:
                        properties:
                          code:
                            maxLength: 128
                            pattern: ^[a-zA-Z_][0-9a-zA-Z_]*$
                            type: string
                          name:
                            maxLength: 128
                            type: string
                          values:
                            items:
                              type: string
                            type: array
                        required:
                          - code
                          - name
                          - values
                        type: object
                      type: array
                    variants:
                      items:
                        properties:
                          allow_backorders:
                            description: Continue selling when out of stock.
                            type: boolean
                          date_created:
                            format: date-time
                            type: string
                          date_updated:
                            format: date-time
                            type: string
                          id:
                            type: integer
                          images:
                            type: string
                          inventory_availability:
                            description: |-
                              Inventory availability at fulfillment locations

                              * `in_stock` - In Stock
                              * `low_stock` - Low Stock
                              * `out_of_stock` - Out of Stock
                              * `untracked` - Untracked
                            enum:
                              - in_stock
                              - low_stock
                              - out_of_stock
                              - untracked
                              - ''
                              - null
                            type: string
                            x-spec-enum-id: b27c4da75c8684c5
                          metadata:
                            type: object
                          prices:
                            items:
                              properties:
                                currency:
                                  maxLength: 12
                                  type: string
                                price:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  type: string
                                retail:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Price (retail)
                                  type: string
                                subscription:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Subscription Price
                                  type: string
                                subscription_suggested_downsell:
                                  format: decimal
                                  pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                                  title: Suggested Downsell Price
                                  type: string
                              required:
                                - price
                              type: object
                            type: array
                          product_id:
                            type: integer
                          purchase_availability:
                            description: |-
                              Product's availability to purchase in new orders

                              * `available` - Available
                              * `unavailable` - Unavailable
                            enum:
                              - available
                              - unavailable
                              - ''
                              - null
                            type: string
                            x-spec-enum-id: c3aa4eaf80db200b
                          requires_shipping:
                            title: Requires shipping?
                            type: boolean
                          sku:
                            description: Stock Keeping Unit
                            type: string
                          stockrecords:
                            items:
                              properties:
                                id:
                                  type: integer
                                location_id:
                                  type: integer
                                low_stock_threshold:
                                  maximum: 2147483647
                                  minimum: 0
                                  type: integer
                                num_allocated:
                                  title: Number allocated
                                  type: integer
                                num_in_stock:
                                  maximum: 2147483647
                                  minimum: -2147483648
                                  title: Number in stock
                                  type: integer
                              required:
                                - id
                                - location_id
                                - num_allocated
                              type: object
                            type: array
                          title:
                            type: string
                          track_stock:
                            description: Track inventory quantities at fulfillment locations.
                            title: Track Stock Levels
                            type: boolean
                          unit_cost:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          upc:
                            description: Universal Product Code
                            type: string
                          variant_attribute_values:
                            items:
                              properties:
                                code:
                                  type: string
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                                - code
                                - name
                                - value
                              type: object
                            type: array
                        required:
                          - date_created
                          - date_updated
                          - id
                          - images
                          - product_id
                          - title
                          - unit_cost
                        type: object
                      type: array
                  required:
                    - categories
                    - date_created
                    - date_updated
                    - id
                    - images
                    - rating
                    - slug
                    - structure
                    - title
                    - url
                    - variants
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - product.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - product
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - products
  store.updated:
    post:
      description: Triggers when store settings are updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                available_currencies:
                  - code: string
                    label: string
                available_languages:
                  - code: string
                    label: string
                contact_address:
                  city: string
                  company_name: string
                  country: string
                  line1: string
                  line2: string
                  phone_number: string
                  postcode: string
                  state: string
                name: string
                payments:
                  available_express_payment_methods:
                    - code: string
                      label: string
                  available_payment_methods:
                    - code: string
                      label: string
                      supported_currencies: []
                  certificate_token: string
                  environment_key: string
                primary_domain: string
                tagline: string
                tax_id: string
                timezone: string
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: store.updated
              object: store
              webhook:
                events:
                  - store.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    available_currencies:
                      items:
                        properties:
                          code:
                            maxLength: 5
                            title: Currency Code
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    available_languages:
                      items:
                        properties:
                          code:
                            type: string
                          label:
                            type: string
                        required:
                          - code
                          - label
                        type: object
                      type: array
                    contact_address:
                      properties:
                        city:
                          description: City of the address.
                          type: string
                        company_name:
                          type: string
                        country:
                          description: The address country code.
                          type: string
                        line1:
                          description: The first line of the address.
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          type: string
                        phone_number:
                          description: The address phone number.
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          type: string
                        state:
                          description: The address state/province.
                          type: string
                      type: object
                    name:
                      type: string
                    payments:
                      properties:
                        available_express_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                            required:
                              - code
                              - label
                            type: object
                          type: array
                        available_payment_methods:
                          items:
                            properties:
                              code:
                                type: string
                              label:
                                type: string
                              supported_currencies:
                                items: {}
                                type: array
                            required:
                              - code
                              - label
                              - supported_currencies
                            type: object
                          type: array
                        certificate_token:
                          type: string
                        environment_key:
                          type: string
                      type: object
                    primary_domain:
                      type: string
                    tagline:
                      type: string
                    tax_id:
                      type: string
                    timezone:
                      type: string
                  required:
                    - available_currencies
                    - available_languages
                    - contact_address
                    - name
                    - payments
                    - primary_domain
                    - tagline
                    - tax_id
                    - timezone
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - store.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - store
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - store
  subscription.created:
    post:
      description: Triggers when a new subscription is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                billing_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                cancel_reason: string
                cancel_reason_other_message: null
                currency: string
                date_created: '2024-01-01T00:00:00Z'
                frequency: string
                id: 0
                interval: string
                interval_count: 0
                is_tax_known: false
                is_test: false
                lines:
                  - id: 0
                    metadata: {}
                    price: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    product_url: https://example.com
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    sku: string
                    variant_id: 0
                    variant_title: string
                next_renewal_date: null
                num_lines: 0
                num_orders: 0
                orders:
                  - billing_cycle: 0
                    order_number: string
                payment_details: {}
                payment_method: string
                shipping_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  notes: string
                  phone_number: string
                  postcode: string
                  state: string
                shipping_code: string
                shipping_price: string
                status: string
                total: '0.00'
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: subscription.created
              object: subscription
              webhook:
                events:
                  - subscription.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      required:
                        - agent
                      type: object
                    billing_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    cancel_reason:
                      type: string
                    cancel_reason_other_message:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    frequency:
                      type: string
                    id:
                      type: integer
                    interval:
                      description: |-
                        * `day` - Day
                        * `week` - Week
                        * `month` - Month
                        * `year` - Year
                      enum:
                        - day
                        - week
                        - month
                        - year
                      type: string
                      x-spec-enum-id: b47bd58ee0e62834
                    interval_count:
                      minimum: 1
                      type: integer
                    is_tax_known:
                      deprecated: true
                      type: boolean
                    is_test:
                      type: boolean
                    lines:
                      items:
                        properties:
                          id:
                            type: integer
                          metadata:
                            type: object
                          price:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          product_url:
                            format: uri
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          sku:
                            type: string
                          variant_id:
                            type: integer
                          variant_title:
                            type: string
                        required:
                          - id
                          - price
                          - product_id
                          - product_image
                          - product_title
                          - product_url
                          - properties
                          - sku
                          - variant_id
                          - variant_title
                        type: object
                      type: array
                    next_renewal_date:
                      format: date-time
                      type: string
                    num_lines:
                      type: integer
                    num_orders:
                      type: integer
                    orders:
                      items:
                        properties:
                          billing_cycle:
                            type: integer
                          order_number:
                            type: string
                        required:
                          - billing_cycle
                          - order_number
                        type: object
                      type: array
                    payment_details:
                      additionalProperties: {}
                      type: object
                    payment_method:
                      type: string
                    shipping_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        notes:
                          description: Tell us anything we should know when delivering your order.
                          title: Instructions
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    shipping_code:
                      maxLength: 128
                      type: string
                    shipping_price:
                      type: string
                    status:
                      description: |-
                        * `active` - Active
                        * `past_due` - Past Due
                        * `canceled` - Canceled
                        * `retrying` - Retrying
                        * `paused` - Paused
                      enum:
                        - active
                        - past_due
                        - canceled
                        - retrying
                        - paused
                      type: string
                      x-spec-enum-id: 99133723086a4290
                    total:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      type: object
                  required:
                    - attribution
                    - cancel_reason
                    - cancel_reason_other_message
                    - currency
                    - date_created
                    - frequency
                    - id
                    - is_tax_known
                    - lines
                    - num_lines
                    - num_orders
                    - orders
                    - payment_details
                    - payment_method
                    - shipping_price
                    - total
                    - user
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - subscription.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - subscription
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - subscriptions
  subscription.updated:
    post:
      description: Triggers when a subscription is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                billing_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  phone_number: string
                  postcode: string
                  state: string
                cancel_reason: string
                cancel_reason_other_message: null
                currency: string
                date_created: '2024-01-01T00:00:00Z'
                frequency: string
                id: 0
                interval: string
                interval_count: 0
                is_tax_known: false
                is_test: false
                lines:
                  - id: 0
                    metadata: {}
                    price: '0.00'
                    product_id: 0
                    product_image: https://example.com
                    product_title: string
                    product_url: https://example.com
                    properties:
                      - key: null
                        value: null
                    quantity: 0
                    sku: string
                    variant_id: 0
                    variant_title: string
                next_renewal_date: null
                num_lines: 0
                num_orders: 0
                orders:
                  - billing_cycle: 0
                    order_number: string
                payment_details: {}
                payment_method: string
                shipping_address:
                  country: string
                  first_name: string
                  id: 0
                  last_name: string
                  line1: string
                  line2: string
                  line3: string
                  line4: string
                  notes: string
                  phone_number: string
                  postcode: string
                  state: string
                shipping_code: string
                shipping_price: string
                status: string
                total: '0.00'
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: subscription.updated
              object: subscription
              webhook:
                events:
                  - subscription.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      required:
                        - agent
                      type: object
                    billing_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    cancel_reason:
                      type: string
                    cancel_reason_other_message:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    frequency:
                      type: string
                    id:
                      type: integer
                    interval:
                      description: |-
                        * `day` - Day
                        * `week` - Week
                        * `month` - Month
                        * `year` - Year
                      enum:
                        - day
                        - week
                        - month
                        - year
                      type: string
                      x-spec-enum-id: b47bd58ee0e62834
                    interval_count:
                      minimum: 1
                      type: integer
                    is_tax_known:
                      deprecated: true
                      type: boolean
                    is_test:
                      type: boolean
                    lines:
                      items:
                        properties:
                          id:
                            type: integer
                          metadata:
                            type: object
                          price:
                            format: decimal
                            pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                            type: string
                          product_id:
                            type: integer
                          product_image:
                            format: uri
                            type: string
                          product_title:
                            type: string
                          product_url:
                            format: uri
                            type: string
                          properties:
                            items:
                              properties:
                                key:
                                  type: string
                                value: {}
                              required:
                                - key
                                - value
                              type: object
                            type: array
                          quantity:
                            maximum: 2147483647
                            minimum: 0
                            type: integer
                          sku:
                            type: string
                          variant_id:
                            type: integer
                          variant_title:
                            type: string
                        required:
                          - id
                          - price
                          - product_id
                          - product_image
                          - product_title
                          - product_url
                          - properties
                          - sku
                          - variant_id
                          - variant_title
                        type: object
                      type: array
                    next_renewal_date:
                      format: date-time
                      type: string
                    num_lines:
                      type: integer
                    num_orders:
                      type: integer
                    orders:
                      items:
                        properties:
                          billing_cycle:
                            type: integer
                          order_number:
                            type: string
                        required:
                          - billing_cycle
                          - order_number
                        type: object
                      type: array
                    payment_details:
                      additionalProperties: {}
                      type: object
                    payment_method:
                      type: string
                    shipping_address:
                      properties:
                        country:
                          description: The address country code.
                          title: ISO 3166-1 alpha-2
                          type: string
                        first_name:
                          description: The first name of the address.
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          description: The last name of the address.
                          maxLength: 255
                          type: string
                        line1:
                          description: The first line of the address.
                          maxLength: 255
                          title: First line of address
                          type: string
                        line2:
                          description: Optional second line of of the address.
                          maxLength: 255
                          title: Second line of address
                          type: string
                        line3:
                          description: Optional third line of of the address.
                          maxLength: 255
                          title: Third line of address
                          type: string
                        line4:
                          description: City of the address.
                          maxLength: 255
                          title: City
                          type: string
                        notes:
                          description: Tell us anything we should know when delivering your order.
                          title: Instructions
                          type: string
                        phone_number:
                          description: The address phone number.
                          maxLength: 128
                          type: string
                        postcode:
                          description: The address post code or zip code.
                          maxLength: 64
                          title: Post/Zip-code
                          type: string
                        state:
                          description: The address state/province.
                          maxLength: 255
                          title: State/Province
                          type: string
                      type: object
                    shipping_code:
                      maxLength: 128
                      type: string
                    shipping_price:
                      type: string
                    status:
                      description: |-
                        * `active` - Active
                        * `past_due` - Past Due
                        * `canceled` - Canceled
                        * `retrying` - Retrying
                        * `paused` - Paused
                      enum:
                        - active
                        - past_due
                        - canceled
                        - retrying
                        - paused
                      type: string
                      x-spec-enum-id: 99133723086a4290
                    total:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      type: object
                  required:
                    - attribution
                    - cancel_reason
                    - cancel_reason_other_message
                    - currency
                    - date_created
                    - frequency
                    - id
                    - is_tax_known
                    - lines
                    - num_lines
                    - num_orders
                    - orders
                    - payment_details
                    - payment_method
                    - shipping_price
                    - total
                    - user
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - subscription.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - subscription
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - subscriptions
  ticket.created:
    post:
      description: Triggers a new support ticket is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                assignee: null
                channel: string
                comments:
                  - attachments:
                      - file: null
                        file_name: null
                        id: null
                    author: null
                    body: null
                    created_at: '2024-01-01T00:00:00Z'
                    from_email: null
                    id: 0
                    is_public: false
                created_at: '2024-01-01T00:00:00Z'
                from_email: null
                id: 0
                order: string
                priority: string
                products:
                  - 0
                requester: null
                status: string
                subject: string
                tags:
                  - string
                ticket_type: null
                updated_at: '2024-01-01T00:00:00Z'
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: ticket.created
              object: ticket
              webhook:
                events:
                  - ticket.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    assignee:
                      type: integer
                    channel:
                      description: |-
                        * `customer_account` - Customer account
                        * `dashboard` - Dashboard
                        * `email` - Email
                        * `api` - API
                        * `follow_up` - Follow up
                      enum:
                        - customer_account
                        - dashboard
                        - email
                        - api
                        - follow_up
                      type: string
                      x-spec-enum-id: c3aad35666245662
                    comments:
                      items:
                        properties:
                          attachments:
                            items:
                              properties:
                                file:
                                  format: uri
                                  type: string
                                file_name:
                                  maxLength: 255
                                  type: string
                                id:
                                  type: integer
                              required:
                                - file
                                - file_name
                                - id
                              type: object
                            type: array
                          author:
                            type: integer
                          body:
                            type: string
                          created_at:
                            format: date-time
                            type: string
                          from_email:
                            description: In case user contact from email and user does not in system yet.
                            format: email
                            type: string
                          id:
                            type: integer
                          is_public:
                            type: boolean
                        required:
                          - attachments
                          - id
                        type: object
                      type: array
                    created_at:
                      format: date-time
                      type: string
                    from_email:
                      description: In case user contact from email and user does not in system yet.
                      format: email
                      type: string
                    id:
                      type: integer
                    order:
                      title: Order number
                      type: string
                    priority:
                      description: |-
                        * `high` - High
                        * `medium` - Medium
                        * `low` - Low
                      enum:
                        - high
                        - medium
                        - low
                      type: string
                      x-spec-enum-id: 2d141e09614b8e57
                    products:
                      items:
                        type: integer
                      type: array
                    requester:
                      type: integer
                    status:
                      description: |-
                        * `new` - New
                        * `open` - Open
                        * `pending` - Pending
                        * `solved` - Solved
                        * `closed` - Closed
                      enum:
                        - new
                        - open
                        - pending
                        - solved
                        - closed
                      type: string
                      x-spec-enum-id: 30751850e74b0756
                    subject:
                      type: string
                    tags:
                      items:
                        type: string
                      type: array
                    ticket_type:
                      type: integer
                    updated_at:
                      format: date-time
                      type: string
                  required:
                    - comments
                    - created_at
                    - id
                    - order
                    - tags
                    - updated_at
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - ticket.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - ticket
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - support
  ticket.updated:
    post:
      description: Triggers a support ticket is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                assignee: null
                channel: string
                comments:
                  - attachments:
                      - file: null
                        file_name: null
                        id: null
                    author: null
                    body: null
                    created_at: '2024-01-01T00:00:00Z'
                    from_email: null
                    id: 0
                    is_public: false
                created_at: '2024-01-01T00:00:00Z'
                from_email: null
                id: 0
                order: string
                priority: string
                products:
                  - 0
                requester: null
                status: string
                subject: string
                tags:
                  - string
                ticket_type: null
                updated_at: '2024-01-01T00:00:00Z'
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: ticket.updated
              object: ticket
              webhook:
                events:
                  - ticket.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    assignee:
                      type: integer
                    channel:
                      description: |-
                        * `customer_account` - Customer account
                        * `dashboard` - Dashboard
                        * `email` - Email
                        * `api` - API
                        * `follow_up` - Follow up
                      enum:
                        - customer_account
                        - dashboard
                        - email
                        - api
                        - follow_up
                      type: string
                      x-spec-enum-id: c3aad35666245662
                    comments:
                      items:
                        properties:
                          attachments:
                            items:
                              properties:
                                file:
                                  format: uri
                                  type: string
                                file_name:
                                  maxLength: 255
                                  type: string
                                id:
                                  type: integer
                              required:
                                - file
                                - file_name
                                - id
                              type: object
                            type: array
                          author:
                            type: integer
                          body:
                            type: string
                          created_at:
                            format: date-time
                            type: string
                          from_email:
                            description: In case user contact from email and user does not in system yet.
                            format: email
                            type: string
                          id:
                            type: integer
                          is_public:
                            type: boolean
                        required:
                          - attachments
                          - id
                        type: object
                      type: array
                    created_at:
                      format: date-time
                      type: string
                    from_email:
                      description: In case user contact from email and user does not in system yet.
                      format: email
                      type: string
                    id:
                      type: integer
                    order:
                      title: Order number
                      type: string
                    priority:
                      description: |-
                        * `high` - High
                        * `medium` - Medium
                        * `low` - Low
                      enum:
                        - high
                        - medium
                        - low
                      type: string
                      x-spec-enum-id: 2d141e09614b8e57
                    products:
                      items:
                        type: integer
                      type: array
                    requester:
                      type: integer
                    status:
                      description: |-
                        * `new` - New
                        * `open` - Open
                        * `pending` - Pending
                        * `solved` - Solved
                        * `closed` - Closed
                      enum:
                        - new
                        - open
                        - pending
                        - solved
                        - closed
                      type: string
                      x-spec-enum-id: 30751850e74b0756
                    subject:
                      type: string
                    tags:
                      items:
                        type: string
                      type: array
                    ticket_type:
                      type: integer
                    updated_at:
                      format: date-time
                      type: string
                  required:
                    - comments
                    - created_at
                    - id
                    - order
                    - tags
                    - updated_at
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - ticket.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - ticket
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - support
  transaction.created:
    post:
      description: Triggers when a payment transaction is created.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                amount: '0.00'
                amount_available_for_refund: '0.00'
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                auth_code: null
                currency: null
                date_created: '2024-01-01T00:00:00Z'
                external_id: null
                id: 0
                initiator:
                  email: null
                  first_name: string
                  id: 0
                  last_name: string
                is_disputed: false
                is_external: false
                is_test: null
                network_transaction_id: null
                order: null
                parent_id: null
                payment_details:
                  bankcard_first_six: null
                  bankcard_last_four: null
                  card_token: string
                  gateway:
                    id: 0
                    is_next_payments: false
                    name: string
                    type: string
                  is_3ds: false
                  optimized_3ds: false
                  paypal_vault_id: string
                  sca_flow: string
                payment_method: null
                report_values:
                  amount: '0.00'
                  currency: string
                response_code: 0
                statement_descriptor: null
                status: string
                subscription:
                  billing_cycle: null
                  id: 0
                type: string
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: transaction.created
              object: transaction
              webhook:
                events:
                  - transaction.created
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    amount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    amount_available_for_refund:
                      default: '0.00'
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      type: object
                    auth_code:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    external_id:
                      type: string
                    id:
                      type: integer
                    initiator:
                      properties:
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          maxLength: 255
                          type: string
                      type: object
                    is_disputed:
                      type: boolean
                    is_external:
                      type: boolean
                    is_test:
                      type: boolean
                    network_transaction_id:
                      type: string
                    order:
                      type: string
                    parent_id:
                      description: |
                        The ID of an associated transaction.
                        - For capture transactions, the parent is the authorization transaction. 
                        - For void transactions, the parent is the authorization transaction. 
                        - For refund transactions, the parent is the debit transaction. 
                      type: integer
                    payment_details:
                      properties:
                        bankcard_first_six:
                          title: First Six
                          type: string
                        bankcard_last_four:
                          title: Last four
                          type: string
                        card_token:
                          type: string
                        gateway:
                          properties:
                            id:
                              type: integer
                            is_next_payments:
                              type: boolean
                            name:
                              type: string
                            type:
                              type: string
                          type: object
                        is_3ds:
                          type: boolean
                        optimized_3ds:
                          type: boolean
                        paypal_vault_id:
                          type: string
                        sca_flow:
                          type: string
                      type: object
                    payment_method:
                      type: string
                    report_values:
                      properties:
                        amount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        currency:
                          type: string
                      type: object
                    response_code:
                      type: integer
                    statement_descriptor:
                      type: string
                    status:
                      description: |-
                        * `succeeded` - Succeeded
                        * `failed` - Failed
                      enum:
                        - succeeded
                        - failed
                        - ''
                      type: string
                      x-spec-enum-id: a6661c405ff6d2ee
                    subscription:
                      properties:
                        billing_cycle:
                          type: integer
                        id:
                          type: integer
                      type: object
                    type:
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      required:
                        - id
                      type: object
                  required:
                    - amount
                    - attribution
                    - date_created
                    - id
                    - initiator
                    - order
                    - parent_id
                    - payment_details
                    - report_values
                    - response_code
                    - subscription
                    - type
                    - user
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - transaction.created
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - transaction
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
  transaction.updated:
    post:
      description: Triggers when a payment transaction is updated.
      requestBody:
        content:
          application/json:
            example:
              api_version: '2024-04-01'
              data:
                amount: '0.00'
                amount_available_for_refund: '0.00'
                attribution:
                  affiliate: null
                  agent:
                    email: null
                    first_name: string
                    id: 0
                    last_name: string
                  funnel: null
                  gclid: null
                  metadata: {}
                  subaffiliate1: null
                  subaffiliate2: null
                  subaffiliate3: null
                  subaffiliate4: null
                  subaffiliate5: null
                  utm_campaign: null
                  utm_content: null
                  utm_medium: null
                  utm_source: null
                  utm_term: null
                auth_code: null
                currency: null
                date_created: '2024-01-01T00:00:00Z'
                external_id: null
                id: 0
                initiator:
                  email: null
                  first_name: string
                  id: 0
                  last_name: string
                is_disputed: false
                is_external: false
                is_test: null
                network_transaction_id: null
                order: null
                parent_id: null
                payment_details:
                  bankcard_first_six: null
                  bankcard_last_four: null
                  card_token: string
                  gateway:
                    id: 0
                    is_next_payments: false
                    name: string
                    type: string
                  is_3ds: false
                  optimized_3ds: false
                  paypal_vault_id: string
                  sca_flow: string
                payment_method: null
                report_values:
                  amount: '0.00'
                  currency: string
                response_code: 0
                statement_descriptor: null
                status: string
                subscription:
                  billing_cycle: null
                  id: 0
                type: string
                user:
                  accepts_marketing: false
                  email: null
                  first_name: string
                  id: 0
                  ip: null
                  language: null
                  last_name: string
                  phone_number: null
                  user_agent: null
              event_id: a7a26ff2-e851-45b6-9634-d595f45458b7
              event_type: transaction.updated
              object: transaction
              webhook:
                events:
                  - transaction.updated
                id: 1
                store: example
                target: https://example.com/webhook/
            schema:
              properties:
                api_version:
                  description: API Version of the object data schema.
                  examples:
                    - '2024-04-01'
                  type: string
                data:
                  properties:
                    amount:
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    amount_available_for_refund:
                      default: '0.00'
                      format: decimal
                      pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                      type: string
                    attribution:
                      properties:
                        affiliate:
                          description: Affiliate identifier.
                          type: string
                        agent:
                          properties:
                            email:
                              format: email
                              title: Email address
                              type: string
                            first_name:
                              maxLength: 255
                              type: string
                            id:
                              type: integer
                            last_name:
                              maxLength: 255
                              type: string
                          required:
                            - id
                          type: object
                        funnel:
                          description: The marketing funnel attributed to the order.
                          type: string
                        gclid:
                          description: Google Click Identifier.
                          type: string
                        metadata:
                          description: Additional attribution metadata.
                        subaffiliate1:
                          description: Sub-affiliate identifier 1.
                          title: Sub-Affiliate 1
                          type: string
                        subaffiliate2:
                          description: Sub-affiliate identifier 2.
                          title: Sub-Affiliate 2
                          type: string
                        subaffiliate3:
                          description: Sub-affiliate identifier 3.
                          title: Sub-Affiliate 3
                          type: string
                        subaffiliate4:
                          description: Sub-affiliate identifier 4.
                          title: Sub-Affiliate 4
                          type: string
                        subaffiliate5:
                          description: ' Sub-affiliate identifier 5.'
                          title: Sub-Affiliate 5
                          type: string
                        utm_campaign:
                          description: Campaign name.
                          type: string
                        utm_content:
                          description: Content of the traffic (e.g., banner, text link).
                          type: string
                        utm_medium:
                          description: Medium of the traffic (e.g., email, CPC).
                          type: string
                        utm_source:
                          description: Source of the traffic (e.g., search engine, newsletter).
                          type: string
                        utm_term:
                          description: Search term or keyword.
                          type: string
                      type: object
                    auth_code:
                      type: string
                    currency:
                      type: string
                    date_created:
                      format: date-time
                      type: string
                    external_id:
                      type: string
                    id:
                      type: integer
                    initiator:
                      properties:
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        last_name:
                          maxLength: 255
                          type: string
                      type: object
                    is_disputed:
                      type: boolean
                    is_external:
                      type: boolean
                    is_test:
                      type: boolean
                    network_transaction_id:
                      type: string
                    order:
                      type: string
                    parent_id:
                      description: |
                        The ID of an associated transaction.
                        - For capture transactions, the parent is the authorization transaction. 
                        - For void transactions, the parent is the authorization transaction. 
                        - For refund transactions, the parent is the debit transaction. 
                      type: integer
                    payment_details:
                      properties:
                        bankcard_first_six:
                          title: First Six
                          type: string
                        bankcard_last_four:
                          title: Last four
                          type: string
                        card_token:
                          type: string
                        gateway:
                          properties:
                            id:
                              type: integer
                            is_next_payments:
                              type: boolean
                            name:
                              type: string
                            type:
                              type: string
                          type: object
                        is_3ds:
                          type: boolean
                        optimized_3ds:
                          type: boolean
                        paypal_vault_id:
                          type: string
                        sca_flow:
                          type: string
                      type: object
                    payment_method:
                      type: string
                    report_values:
                      properties:
                        amount:
                          format: decimal
                          pattern: ^-?\d{0,10}(?:\.\d{0,2})?$
                          type: string
                        currency:
                          type: string
                      type: object
                    response_code:
                      type: integer
                    statement_descriptor:
                      type: string
                    status:
                      description: |-
                        * `succeeded` - Succeeded
                        * `failed` - Failed
                      enum:
                        - succeeded
                        - failed
                        - ''
                      type: string
                      x-spec-enum-id: a6661c405ff6d2ee
                    subscription:
                      properties:
                        billing_cycle:
                          type: integer
                        id:
                          type: integer
                      type: object
                    type:
                      type: string
                    user:
                      properties:
                        accepts_marketing:
                          title: Subscribe to Marketing Emails
                          type: boolean
                        email:
                          format: email
                          title: Email address
                          type: string
                        first_name:
                          maxLength: 255
                          type: string
                        id:
                          type: integer
                        ip:
                          title: Ip address
                          type: string
                        language:
                          title: Preferred language
                          type: string
                        last_name:
                          maxLength: 255
                          type: string
                        phone_number:
                          type: string
                        user_agent:
                          type: string
                      required:
                        - id
                      type: object
                  required:
                    - amount
                    - attribution
                    - date_created
                    - id
                    - initiator
                    - order
                    - parent_id
                    - payment_details
                    - report_values
                    - response_code
                    - subscription
                    - type
                    - user
                  type: object
                event_id:
                  description: Unique id associated with this webhook event.
                  format: uuid
                  type: string
                event_type:
                  description: Webhook event type of the current event.
                  examples:
                    - transaction.updated
                  type: string
                object:
                  description: Object data type.
                  examples:
                    - transaction
                  type: string
                webhook:
                  properties:
                    events:
                      description: See webhook docs for available events.
                      items:
                        type: string
                      type: array
                    id:
                      description: The webhook sending the event.
                      type: integer
                    store:
                      description: The store identifier.
                      examples:
                        - example
                      nullable: true
                      type: string
                    target:
                      description: Full url for your webhook receiver endpoint.
                      format: uri
                      maxLength: 255
                      title: Webhook target
                      type: string
                  type: object
              type: object
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received successfully.
        '410':
          description: Indicates the webhook target is no longer available and will be disabled.
      security: []
      tags:
        - payments
tags:
  - name: apps
  - name: fulfillment
  - name: campaigns
  - name: carts
  - name: products
  - name: payments
  - name: exports
  - name: gift-cards
  - name: metadata
  - name: orders
  - name: storefront
  - name: store
  - name: subscriptions
  - name: support
  - name: customers
  - name: webhooks
