openapi: 3.0.1
info:
  title: Cart API
  description: >-
    fabric's **Cart API** lets you add, update, and remove items from your
    Storefront cart, either as a guest user or as a logged-in user. It also
    provides functionality to merge carts when you switch from guest user to
    logged-in user, and apply coupons and other attributes (for example, gift
    wrapping) to the line items. Additionally, the API supports more advanced
    tasks such as using multiple carts within a B2B organization, sharing carts,
    and supporting a unified cart experience for multi-region and multi-brand
    businesses.<p>The Cart API provides high performance, scalability,
    multi-tenancy, and configurability to the end-to-end order processing
    actions that start from the item being added to the cart; through the
    pre-checkout stage that includes billing, shipping, and payment details; to
    the checkout stage where the order is processed and confirmed by fabric's
    Order Management System (OMS)
  contact:
    name: Cart Support
    email: support.cnc@fabric.inc
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  version: 3.0.0
servers:
  - url: https://api.fabric.inc/v3
security:
  - bearerAuth: []
tags:
  - name: Cart
    description: >-
      Cart endpoints are used to do basic cart operations, such as create a
      cart, add item to the corresponding cart, update items, remove items,
      delete cart, update status of the cart, and more.
  - name: Items
    description: Item endpoints are used to add, update and remove items from the Cart.
  - name: Cart Fees
    description: >-
      Cart fee endpoints are used to add, update and remove fees at the Cart
      level.
  - name: Fulfillment Fees
    description: >-
      Fulfillment fees endpoints are used to add, update and remove fees at the
      Fulfillment level.
  - name: Addresses
    description: >-
      Address endpoints are used to add add, update and remove addresses from
      the Cart.
  - name: Item Fees
    description: >-
      Item fee endpoints are used to add, update and remove fees at the Item
      level.
  - name: Cart Adjustments
    description: >-
      Cart adjustment endpoints are used to add, update and remove adjustments
      at the Cart level.
  - name: Payments
    description: >-
      Payments endpoints are used to add add, update and remove payments from
      the Cart.
  - name: Customer
    description: >-
      Customer endpoints are used do basic customer operations, such as update a
      customer, add attributes and more.
  - name: Coupons
    description: Coupon endpoints are used to add and remove coupons from the Cart
  - name: Item Adjustments
    description: >-
      Item adjustments endpoints are used to add, update and remove adjustments
      at the Item level.
  - name: Fulfillment Adjustments
    description: >-
      Fulfillment adjustments endpoints are used to add, update and remove
      adjustments at the Fulfillment level.
  - name: Fulfillments
    description: >-
      Fulfillment endpoints are used to add add, update and remove fulfillments
      from the Cart.
  - name: Validations
    description: >-
      Validation endpoints are used to pass in data from fabric and third-party
      services to perform business logic on the Cart
paths:
  /carts/{cartId}/tax:
    put:
      tags:
        - Validations
      summary: Replace tax data
      description: >
        Replaces tax data associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: addTax
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/promotions:
    put:
      tags:
        - Validations
      summary: Replace promotions
      description: >
        Replaces promotions associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: addPromotions
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromotionsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/product:
    put:
      tags:
        - Validations
      summary: Replace product data
      description: >
        Replaces product data associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: replaceProduct
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Validations
      summary: Updates product data
      description: >
        Partially updates product data associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: updateProduct
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/inventory:
    put:
      tags:
        - Validations
      summary: Replace inventory data
      description: >
        Replaces inventory data associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: addInventory
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventoryRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Validations
      summary: Updates inventory data
      description: >
        Partially updates inventory data associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: updateInventory
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventoryRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}:
    get:
      tags:
        - Fulfillments
      summary: Get fulfillment
      description: >
        Returns the fulfillment associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: getFulfillment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fulfillment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    put:
      tags:
        - Fulfillments
      summary: Update fulfillment
      description: >
        Updates the fulfillment associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: updateFulfillment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFulfillmentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fulfillment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
        - Fulfillments
      summary: Delete fulfillment
      description: >
        Removes the fulfillment associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: deleteFulfillment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /order-drafts:
    post:
      tags:
        - Cart
      summary: Create an order draft
      description: Create an order using the cart ID of the cart that contains the order.
      operationId: createOrderDraft
      parameters:
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderDraftRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDraft'
        '201':
          description: Created
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderDraft'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts:
    post:
      tags:
        - Cart
      summary: Create an empty cart
      description: >
        Use this endpoint to create a new cart.


        **Default Configurations**: To create a cart with default
        configurations, send a request with an empty body.


        **Provided Configurations**: To create a cart with provided
        configurations, include the configurations in the request body. To learn
        more about configuration behaviors, visit the [Configuration
        Behaviors](/v3/cart-and-checkout/api-reference/carts-v3/configuration-behaviors)
        page.
      operationId: createCart
      parameters:
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCartRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewCartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /carts/{cartId}/sequence:
    post:
      tags:
        - Cart
      summary: Sequence calling
      description: >
        Use this endpoint to execute multiple cart-related operations with a
        single request. This allows you to perform various actions such as
        creating a cart, adding items, and checking out in a single API call.

         **Note:** The order of operations matters since IDs are carried over from call to call.

         The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter.
      operationId: sequenceCall
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SequenceRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/payments:
    post:
      tags:
        - Payments
      summary: Create payment
      description: >
        Adds a payment method to the corresponding cart to process a
        transaction.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createPayment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewPayment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/payments/{id}/actions/delete-attributes:
    post:
      tags:
        - Payments
      summary: Delete payment attributes
      description: >
        Partially deletes attributes of your choice in the payment object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The ID from the [Create
        payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
        endpoint is used in the path parameter.
      operationId: deletePaymentAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Payment ID that was generated when a payment was created using
              the [Create
              payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/payments/{id}/actions/add-attributes:
    post:
      tags:
        - Payments
      summary: Add payment attributes
      description: >
        Partially updates attributes of your choice in the payment.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The ID from the [Create
        payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
        endpoint is used in the path parameter.
      operationId: addPaymentAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Payment ID that was generated when a payment was created using
              the [Create
              payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items:
    post:
      tags:
        - Items
      summary: Create item
      description: >
        Creates the item in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createItem
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateItemRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/fees:
    post:
      tags:
        - Item Fees
      summary: Create item fee
      description: >
        Creates a fee for the item.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: addFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeeRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/adjustments:
    post:
      tags:
        - Item Adjustments
      summary: Create item adjustment
      description: >
        Creates an adjustment for the item in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: createAdjustment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdjustmentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewItemAdjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/actions/split:
    post:
      tags:
        - Item Actions
      summary: Split line items
      description: >
        Splits the item associated with the corresponding cart into multiple
        line items based on quantity.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: splitLineItems
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitLineItemsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/actions/delete-attributes:
    post:
      tags:
        - Item Actions
      summary: Delete item attributes
      description: >
        Partially deletes attributes of your choice in the item object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: deleteAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/actions/add-attributes:
    post:
      tags:
        - Item Actions
      summary: Update item attributes
      description: >
        Partially updates the attributes of your choice in the item object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: addAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments:
    post:
      tags:
        - Fulfillments
      summary: Create fulfillment
      description: >
        Creates a fulfillment to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createFulfillment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFulfillmentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewFulfillment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/fees:
    post:
      tags:
        - Fulfillment Fees
      summary: Create fulfillment fee
      description: >
        Creates a fee associated the fulfillment.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: createFulfillmentFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID that was generated when a fulfillment was created using
              the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeeRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/adjustments:
    post:
      tags:
        - Fulfillment Adjustments
      summary: Create fulfillment adjustment
      description: >
        Creates an adjustment to the fulfillment associated with the
        corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: createAdjustment_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdjustmentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Adjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/actions/delete-attributes:
    post:
      tags:
        - Fulfillments
      summary: Delete fulfillment attributes
      description: >
        Partially deletes attributes of your choice in the fulfillment object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: deleteFulfillmentAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fulfillment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/actions/add-attributes:
    post:
      tags:
        - Fulfillments
      summary: Add fulfillment attributes
      description: >
        Partially updates the attributes of the fulfillment associated with the
        corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.
      operationId: addFulfillmentAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fulfillment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fees:
    post:
      tags:
        - Cart Fees
      summary: Create fee
      description: >
        Creates a fee that is applied to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeeRequestWithTaxDetails'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewFee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/customer/actions/delete-attributes:
    post:
      tags:
        - Customer
      summary: Delete customer attributes
      description: >
        Partially deletes attributes of your choice in the customer object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: deleteCustomerAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerDeleteAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/customer/actions/add-attributes:
    post:
      tags:
        - Customer
      summary: Add customer attributes
      description: >
        Partially updates attributes of your choice in the customer object
        associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: addCustomerAttributes
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerAddAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/coupons/{couponId}:
    post:
      tags:
        - Coupons
      summary: Add Coupon
      description: >
        Adds a coupon to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Coupon ID, which is the coupon code generated when [creating a
        custom
        coupon](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
        in Copilot, is used in the path parameter.
      operationId: addCoupon
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: couponId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Coupon ID is the coupon code generated when [creating a custom
              coupon](/3/offers/user-guides/offers/coupons/overview) in Copilot.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Coupon not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
        - Coupons
      summary: Removes Coupon
      description: >
        Removes the existing coupon from the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Coupon ID is a coupon code generated when [creating a custom
        coupon](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
        in Copilot and is used in the path parameter.
      operationId: deleteCoupon
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: couponId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Coupon ID is the coupon code generated when [creating a custom
              coupon](/3/offers/user-guides/offers/coupons/overview) in Copilot.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Coupon not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/adjustments:
    post:
      tags:
        - Cart Adjustments
      summary: Create adjustment
      description: >
        Creates adjustments to the corresponding cart. This is useful when a
        price needs to be adjusted by a CSR agent.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createAdjustment_2
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdjustmentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewAdjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Adjustment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/addresses:
    post:
      tags:
        - Addresses
      summary: Create address
      description: >
        Adds a billing address to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: createAddress
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAddressRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewAddress'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/actions/merge:
    post:
      tags:
        - Cart Actions
      summary: Merge carts
      description: >
        This endpoint merges two carts together. Specify one cart in the path
        parameter and the second cart in the request body.


        To learn more about merge cart behaviors, you can check out the [Merge
        Cart
        Behaviors](/v3/cart-and-checkout/api-reference/carts-v3/merge-carts-behaviors)
        page.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: mergeCart
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MergeCartRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MergeCartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/actions/delete-attributes:
    post:
      tags:
        - Cart Actions
      summary: Delete cart attributes
      description: >
        Partially deletes attributes of your choice associated with the
        corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: deleteAttributes_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/actions/add-attributes:
    post:
      tags:
        - Cart Actions
      summary: Add cart attributes
      description: >
        Partially updates attributes of your choice in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: addAttributes_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAttributesRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/search:
    post:
      tags:
        - Cart
      summary: Search for multiple carts
      description: Returns a list of carts based on the search criteria.
      operationId: searchCart
      parameters:
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchCartRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchCartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /carts/{cartId}:
    get:
      tags:
        - Cart
      summary: Get the provided cart
      description: >
        Retrieves the cart information corresponding to the provided cart ID.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: getCart
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
        - Cart
      summary: Delete cart
      description: >
        Removes the cart corresponding to the provided cart ID.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: softDeleteCart
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Cart
      summary: Update cart
      description: >
        Updates the cart information corresponding to the provided cart ID.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: updateCart
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCartRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/payments/{id}:
    delete:
      tags:
        - Payments
      summary: Delete payment
      description: >
        Removes the payment from the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The ID from the [Create
        payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
        endpoint is used in the path parameter.
      operationId: removePayment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Payment ID that was generated when a payment was created using
              the [Create
              payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Payments
      summary: Update payment
      description: >
        Updates the payment in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The ID from the [Create
        payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
        endpoint is used in the path parameter.
      operationId: updatePayment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: id
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Payment ID that was generated when a payment was created using
              the [Create
              payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePaymentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}:
    get:
      tags:
        - Items
      summary: Get item
      description: >
        Returns the item from the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: getItem
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponseDto'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
        - Items
      summary: Delete item
      description: >
        Deletes the item from the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: deleteItem
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Items
      summary: Update item
      description: >
        Updates the item in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.
      operationId: updateItem
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateItemRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/fees/{feeId}:
    delete:
      tags:
        - Item Fees
      summary: Delete item fee
      description: >
        Deletes the fee that is applied to the item.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.


        The Fee ID from the [Create item
        fee](/v3/cart-and-checkout/api-reference/carts-v3/item-fees/create-item-fees)
        endpoint is used in the path parameter.
      operationId: deleteFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Item Fees
      summary: Update item fee
      description: >
        Updates the fee that is applied to the item.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.


        The Fee ID from the [Create item
        fee](/v3/cart-and-checkout/api-reference/carts-v3/item-fees/create-item-fees)
        endpoint is used in the path parameter.
      operationId: updateFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/items/{itemId}/adjustments/{adjustmentId}:
    delete:
      tags:
        - Item Adjustments
      summary: Delete item adjustment
      description: >
        Deletes the adjustment from the item associated with the corresponding
        cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.


        The Adjustment ID from the [Create item
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/item-adjustments/create-item-adjustments)
        endpoint is used in the path parameter.
      operationId: removeAdjustment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item Adjustment ID generated when the item was created using
              the [Create item
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/item-adjustments/create-item-adjustments)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Item Adjustments
      summary: Update item adjustment
      description: >
        Updates the adjustment to the item associated with the corresponding
        cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Item ID from the [Create
        item](/v3/cart-and-checkout/api-reference/carts-v3/items/items) endpoint
        is used in the path parameter.


        The Adjustment ID from the [Create item
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/item-adjustments/create-item-adjustments)
        endpoint is used in the path parameter.
      operationId: updateAdjustment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item ID generated when the item was created using the [Create
              item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
              endpoint. You can find the ID in the line item collections.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Item Adjustment ID generated when the item was created using
              the [Create item
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/item-adjustments/create-item-adjustments)
              endpoint. You can find the ID in the line item collections.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAdjustmentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemAdjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/fees/{feeId}:
    delete:
      tags:
        - Fulfillment Fees
      summary: Delete fulfillment fee
      description: >
        Removes the fee from associated with the fulfillment.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.


        The Fee ID from the [Create fulfillment
        fee](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment-fees/add-fulfillment)
        endpoint is used in the path parameter.
      operationId: deleteFulfillmentFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Fulfillment Fees
      summary: Update fulfillment fee
      description: >
        Updates the fee associated with the fulfillment.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fee ID from the [Create fulfillment
        fee](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment-fees/add-fulfillment)
        endpoint is used in the path parameter.
      operationId: updateFulfillmentFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID that was generated when a fulfillment was created using
              the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatedFee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fulfillments/{fulfillmentId}/adjustments/{adjustmentId}:
    delete:
      tags:
        - Fulfillment Adjustments
      summary: Delete fulfillment adjustment
      description: >
        Removes the adjustment from the fulfillment associated with the
        corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.


        The Adjustment ID from the [Create fulfillment
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment-adjustments/create-fulfillment-adjustments)
        endpoint is used in the path parameter.
      operationId: deleteAdjustment
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Adjustment ID generated when an adjustment was created using
              the [Create
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Fulfillment Adjustments
      summary: Update fulfillment adjustment
      description: >
        Updates the adjustment to the fulfillment associated with the
        corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fulfillment ID from the [Create
        fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
        endpoint is used in the path parameter.


        The Adjustment ID from the [Create fulfillment
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment-adjustments/create-fulfillment-adjustments)
        endpoint is used in the path parameter.
      operationId: updateAdjustment_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: fulfillmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fulfilmment ID that was generated when a fulfillment was
              created using the [Create
              fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
              endpoint.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Adjustment ID generated when an adjustment was created using
              the [Create
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAdjustmentRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Adjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/fees/{feeId}:
    delete:
      tags:
        - Cart Fees
      summary: Delete fee
      description: >
        Removes a fee from the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fee ID from the [Create
        fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/delete-fees)
        endpoint is used in the path parameter.
      operationId: removeFee
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Cart Fees
      summary: Update fee
      description: >
        Updates a fee in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Fee ID from the [Create
        fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/delete-fees)
        endpoint is used in the path parameter.
      operationId: updateFee_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: feeId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Fee ID generated from the [Create
              fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeeRequestWithTaxDetails'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatedFee'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Item not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/customer:
    patch:
      tags:
        - Customer
      summary: Update customer
      description: >
        Updates the customer information in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: updateCustomer
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerContextRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerContextResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/adjustments/{adjustmentId}:
    delete:
      tags:
        - Cart Adjustments
      summary: Remove adjustment
      description: >
        Removes an adjustment made to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Adjustment ID from the [Create
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
        endpoint is used in the path parameter.
      operationId: removeAdjustment_1
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Adjustment ID generated when an adjustment was created using
              the [Create
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Adjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Adjustment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Cart Adjustments
      summary: Update adjustment
      description: >
        Updates the adjustments made to the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Adjustment ID from the [Create
        adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
        endpoint is used in the path parameter.
      operationId: updateAdjustment_2
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: adjustmentId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Adjustment ID generated when an adjustment was created using
              the [Create
              adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAdjustmentRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Adjustment'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart or Adjustment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /carts/{cartId}/addresses/{addressId}:
    get:
      tags:
        - Addresses
      summary: Get address
      description: >
        Gets the billing address associated the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Address ID from the [Create
        address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
        endpoint is used in the path parameter.
      operationId: getAddress
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: addressId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Address ID that was generated when an address was created
              using the [Create
              address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    delete:
      tags:
        - Addresses
      summary: Delete address
      description: >
        Removes the billing address associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Address ID from the [Create
        address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
        endpoint is used in the path parameter.
      operationId: deleteAddress
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: addressId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Address ID that was generated when an address was created
              using the [Create
              address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '204':
          description: No Content
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
    patch:
      tags:
        - Addresses
      summary: Update address
      description: >
        Updates the billing address associated with the corresponding cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.


        The Address ID from the [Create
        address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
        endpoint is used in the path parameter.
      operationId: updateAddress
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: addressId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The Address ID that was generated when an address was created
              using the [Create
              address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAddressRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
  /order-drafts/{orderDraftId}:
    get:
      tags:
        - Cart
      summary: Get the order draft by the order draft ID
      description: >-
        Retrieves the order draft using the order ID associated with it from
        [Create an order
        draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
        endpoint.
      operationId: getOrderDraftById
      parameters:
        - name: orderDraftId
          in: path
          required: true
          description: >-
            The order draft ID created with [Create an order
            draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
            endpoint is used to retrieve the order draft.
          schema:
            type: string
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderDraft'
  /order-drafts/order-number/{orderNumber}:
    get:
      tags:
        - Cart
      summary: Get the order draft by the order draft number
      description: >-
        Retrieves the order draft using the order number associated with it from
        [Create an order
        draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
        endpoint.
      operationId: getOrderDraftByOrderNumber
      parameters:
        - name: orderNumber
          in: path
          required: true
          description: >-
            The order draft number created with [Create an order
            draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
            endpoint is used to retrieve the order draft.
          schema:
            type: string
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OrderDraft'
  /order-drafts/customer/{customerId}:
    get:
      tags:
        - Cart
      summary: Get the order draft by the customer ID
      description: >-
        Retrieves the order draft using the customer ID associated with it from
        [Create an order
        draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
        endpoint.
      operationId: getOrderDraftByCustomerId
      parameters:
        - name: customerId
          in: path
          description: >-
            The customer ID associated with [Create an order
            draft](/v3/cart-and-checkout/api-reference/carts-v3/order-drafts/create-order-drafts)
            endpoint is used to retrieve the order draft.
          required: true
          schema:
            type: string
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrderDraft'
components:
  schemas:
    FeeTaxRequest:
      required:
        - id
        - tax
      type: object
      properties:
        id:
          type: string
          description: Identifier of a fee.
          example: 724a0dd3-c545-4277-b1b2-edc9dcda034e
        tax:
          type: array
          description: An array containing taxes of a fee.
          items:
            $ref: '#/components/schemas/TaxData'
      description: Fee Tax Request
    FulfillmentTaxRequest:
      required:
        - id
        - tax
      type: object
      properties:
        id:
          type: string
          description: >-
            The Fulfillment ID generated when a fulfillment was created using
            the [Create
            fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        tax:
          type: array
          description: An array containing fulfillment tax data.
          items:
            $ref: '#/components/schemas/TaxData'
        fees:
          type: array
          description: An array containing fulfillment fee taxes.
          items:
            $ref: '#/components/schemas/FeeTaxRequest'
      description: Fulfillment Tax Request
    ItemFulfillmentTaxRequest:
      required:
        - tax
      type: object
      properties:
        tax:
          type: array
          description: An array containing item fulfillment taxes.
          items:
            $ref: '#/components/schemas/TaxData'
      description: Item Fulfillment Tax Request
    ItemTaxRequest:
      required:
        - id
        - tax
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the item that was linked from making
            [Create
            item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
            endpoint.
          example: bb44db95-6fbd-4eed-a1ed-4d99bc91250f
        tax:
          type: array
          description: An array containing item taxes.
          items:
            $ref: '#/components/schemas/TaxData'
        fees:
          type: array
          description: An array containing item fee taxes.
          items:
            $ref: '#/components/schemas/FeeTaxRequest'
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillmentTaxRequest'
      description: Item Tax Request
    TaxData:
      required:
        - amount
      type: object
      properties:
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Tax amount
          example: 3
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to determine how items are taxed, such as
              by county.
            example:
              rate: '5.0'
              type: COUNTY
          description: >-
            Custom attributes used to determine how items are taxed, such as by
            county.
          example:
            rate: '5.0'
            type: COUNTY
      description: Tax Data
    TaxRequest:
      type: object
      properties:
        items:
          type: array
          description: An array containing item taxes.
          items:
            $ref: '#/components/schemas/ItemTaxRequest'
        fulfillments:
          type: array
          description: An array containing fulfillment taxes.
          items:
            $ref: '#/components/schemas/FulfillmentTaxRequest'
        fees:
          type: array
          description: An array containing cart fee taxes.
          items:
            $ref: '#/components/schemas/FeeTaxRequest'
      description: Tax Request
    NotFound:
      type: object
      properties:
        type:
          type: string
          description: Error code, meant for machine consumption
          example: CART_NOT_FOUND
        message:
          type: string
          description: Human-readable error description
          example: Cart not found
      description: Resource Not Found
    ClientError:
      type: object
      properties:
        type:
          type: string
          description: Error code, meant for machine consumption
          example: BAD_REQUEST
        message:
          type: string
          description: Human-readable error description
          example: x-fabric-tenant-id is required
      description: Client error details
    NewAddress:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of an address that was generated by this
            endpoint. This Address ID is used for other endpoints.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        name:
          $ref: '#/components/schemas/Name'
        email:
          type: string
          description: Email
          example: john@test.com
        phone:
          $ref: '#/components/schemas/Phone'
        addressLine1:
          type: string
          description: Address line 1
          example: 123 Park Road
        addressLine2:
          type: string
          description: Address line 2
        addressLine3:
          type: string
          description: Address line 3
        addressLine4:
          type: string
          description: Address line 4
        city:
          type: string
          description: City
          example: Santa Cruz
        region:
          type: string
          description: State, Province or Area
          example: California
        country:
          type: string
          description: Country
          example: USA
        postalCode:
          type: string
          description: Postal code or zip code
          example: '12345'
        updatedAt:
          type: string
          description: The date and time the address was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time the address was created.
          example: 2024-06-13T16:50:00.682Z
      description: Address
    Address:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Address ID generated when an address was created using the
            [Create
            address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        name:
          $ref: '#/components/schemas/Name'
        email:
          type: string
          description: Email
          example: john@test.com
        phone:
          $ref: '#/components/schemas/Phone'
        addressLine1:
          type: string
          description: Address line 1
          example: 123 Park Road
        addressLine2:
          type: string
          description: Address line 2
        addressLine3:
          type: string
          description: Address line 3
        addressLine4:
          type: string
          description: Address line 4
        city:
          type: string
          description: City
          example: Santa Cruz
        region:
          type: string
          description: State, Province or Area
          example: California
        country:
          type: string
          description: Country
          example: USA
        postalCode:
          type: string
          description: Postal code or zip code
          example: '12345'
        updatedAt:
          type: string
          description: The date and time the address was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time the address was created.
          example: 2024-06-13T16:50:00.682Z
      description: Address
    NewItemAdjustment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of an adjustment generated by this endpoint.
            This Item Adjustment ID is used for other endpoints.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from customer representative.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used for price adjustments.
            example:
              source: CSR
          description: Custom attributes used for price adjustments.
          example:
            source: CSR
        updatedAt:
          type: string
          description: The date and time when the adjustment was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the adjustment was created.
          example: 2024-06-13T16:50:00.682Z
      description: Adjustment
    ItemAdjustment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Item Adjustment ID generated when an adjustment was created
            using the [Create item
            adjustment](/v3/cart-and-checkout/api-reference/carts-v3/item-adjustments/create-item-adjustments)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from customer representative.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used for price adjustments.
            example:
              source: CSR
          description: Custom attributes used for price adjustments.
          example:
            source: CSR
        updatedAt:
          type: string
          description: The date and time when the adjustment was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the adjustment was created.
          example: 2024-06-13T16:50:00.682Z
      description: Adjustment
    NewAdjustment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of an adjustment generated by this endpoint.
            This Adjustment ID is used for other endpoints.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from customer representative.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used for price adjustments.
            example:
              source: CSR
          description: Custom attributes used for price adjustments.
          example:
            source: CSR
        updatedAt:
          type: string
          description: The date and time when the adjustment was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the adjustment was created.
          example: 2024-06-13T16:50:00.682Z
      description: Adjustment
    Adjustment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Adjustment ID generated when an adjustment was created using the
            [Create
            adjustment](/v3/cart-and-checkout/api-reference/carts-v3/carts-adjustments/create-adjustments)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from customer representative.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used for price adjustments.
            example:
              source: CSR
          description: Custom attributes used for price adjustments.
          example:
            source: CSR
        updatedAt:
          type: string
          description: The date and time when the adjustment was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the adjustment was created.
          example: 2024-06-13T16:50:00.682Z
      description: Adjustment
    AdjustmentCollection:
      type: object
      properties:
        total:
          type: number
          description: Adjustments total in a collection.
          example: 2
        collection:
          type: array
          description: An array containing adjustments in the collection.
          items:
            $ref: '#/components/schemas/Adjustment'
      description: A collection of adjustments made to the corresponding cart.
    CartMaxQtyConfiguration:
      type: object
      properties:
        limit:
          type: integer
          description: The maximum quantity allowed across all items in the cart.
          format: int32
          example: 100
        behaviors:
          $ref: '#/components/schemas/MaxQtyBehavior'
      description: Maximum quantity configurations to set when the cart reaches its limit.
    CartPromotionCollection:
      type: object
      properties:
        total:
          type: number
          description: The total value of all applied promotions.
          example: 32
        collection:
          type: array
          description: An array containing promotions in the collection.
          items:
            $ref: '#/components/schemas/PromotionApplied'
      description: A collection of promotions applied to the corresponding cart.
    NewCartResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of a cart that was generated by this endpoint.
            This Cart ID is used for other endpoints.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to describe the cart, such as a wishlist
              cart.
            example:
              name: wishlist
          description: >-
            Custom attributes used to describe the cart, such as a wishlist
            cart.
          example:
            name: wishlist
        configuration:
          $ref: '#/components/schemas/Configuration'
        customerContext:
          $ref: '#/components/schemas/CustomerContext'
        status:
          type: string
          description: The cart status indicates whether the cart is active or deleted.
          example: ACTIVE
          enum:
            - ACTIVE
            - SOFT_DELETE
        state:
          type: array
          description: >-
            The resource state is stored in an array that holds information
            about the current status of the cart.
          items:
            $ref: '#/components/schemas/State'
        price:
          $ref: '#/components/schemas/Price'
        promotions:
          $ref: '#/components/schemas/CartPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        addresses:
          type: object
          properties:
            a8577d7f0d4d4b228e857b4a2e90dc93:
              $ref: '#/components/schemas/Address'
          description: A map of addresses added to the corresponding cart.
        lineItems:
          $ref: '#/components/schemas/NewItemCollection'
        summary:
          $ref: '#/components/schemas/SummaryResponse'
        fulfillments:
          type: object
          properties:
            d6229cdb0c5b4885b1b213b94d02488e:
              $ref: '#/components/schemas/Fulfillment'
          description: A map of fulfillments added to the corresponding cart.
        coupons:
          type: array
          description: An array containing all coupons added to the corresponding cart.
          items:
            $ref: '#/components/schemas/Coupon'
        appliedCoupons:
          type: array
          description: An array containing all coupons applied to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        notAppliedCoupons:
          type: array
          description: >-
            An array containing any coupons that were ineligible and not applied
            to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        validations:
          $ref: '#/components/schemas/ValidationData'
        payments:
          $ref: '#/components/schemas/PaymentCollection'
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
        updatedAt:
          type: string
          description: The date and time in UTC when the cart was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the cart was created.
          example: 2024-06-13T16:50:00.682Z
      description: Cart Response
    CartResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the cart, which is generated when the cart
            is created using the [Create an empty
            cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
            endpoint.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to describe the cart, such as a wishlist
              cart.
            example:
              name: wishlist
          description: >-
            Custom attributes used to describe the cart, such as a wishlist
            cart.
          example:
            name: wishlist
        configuration:
          $ref: '#/components/schemas/Configuration'
        customerContext:
          $ref: '#/components/schemas/CustomerContext'
        status:
          type: string
          description: The cart status indicates whether the cart is active or deleted.
          example: ACTIVE
          enum:
            - ACTIVE
            - SOFT_DELETE
        state:
          type: array
          description: >-
            The resource state is stored in an array that holds information
            about the current status of the cart.
          items:
            $ref: '#/components/schemas/State'
        price:
          $ref: '#/components/schemas/Price'
        promotions:
          $ref: '#/components/schemas/CartPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        addresses:
          type: object
          properties:
            a8577d7f0d4d4b228e857b4a2e90dc93:
              $ref: '#/components/schemas/Address'
          description: A map of addresses added to the corresponding cart.
        lineItems:
          $ref: '#/components/schemas/ItemCollection'
        summary:
          $ref: '#/components/schemas/SummaryResponse'
        fulfillments:
          type: object
          properties:
            d6229cdb0c5b4885b1b213b94d02488e:
              $ref: '#/components/schemas/Fulfillment'
          description: A map of fulfillments added to the corresponding cart.
        coupons:
          type: array
          description: An array containing all coupons added to the corresponding cart.
          items:
            $ref: '#/components/schemas/Coupon'
        appliedCoupons:
          type: array
          description: An array containing all coupons applied to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        notAppliedCoupons:
          type: array
          description: >-
            An array containing any coupons that were ineligible and not applied
            to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        validations:
          $ref: '#/components/schemas/ValidationData'
        payments:
          $ref: '#/components/schemas/PaymentCollection'
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
        updatedAt:
          type: string
          description: The date and time in UTC when the cart was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the cart was created.
          example: 2024-06-13T16:50:00.682Z
      description: Cart Response
    MergeCartResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Cart ID passed into the path parameter. This unique identifier
            represents the merged Cart ID.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to describe the cart, such as a wishlist
              cart.
            example:
              name: wishlist
          description: >-
            Custom attributes used to describe the cart, such as a wishlist
            cart.
          example:
            name: wishlist
        configuration:
          $ref: '#/components/schemas/Configuration'
        customerContext:
          $ref: '#/components/schemas/CustomerContext'
        status:
          type: string
          description: The cart status indicates whether the cart is active or deleted.
          example: ACTIVE
          enum:
            - ACTIVE
            - SOFT_DELETE
        state:
          type: array
          description: >-
            The resource state is stored in an array that holds information
            about the current status of the cart.
          items:
            $ref: '#/components/schemas/State'
        price:
          $ref: '#/components/schemas/Price'
        promotions:
          $ref: '#/components/schemas/CartPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        addresses:
          type: object
          properties:
            a8577d7f0d4d4b228e857b4a2e90dc93:
              $ref: '#/components/schemas/Address'
          description: A map of addresses added to the corresponding cart.
        lineItems:
          $ref: '#/components/schemas/ItemCollection'
        summary:
          $ref: '#/components/schemas/SummaryResponse'
        fulfillments:
          type: object
          properties:
            d6229cdb0c5b4885b1b213b94d02488e:
              $ref: '#/components/schemas/Fulfillment'
          description: A map of fulfillments added to the corresponding cart.
        coupons:
          type: array
          description: An array containing all coupons added to the corresponding cart.
          items:
            $ref: '#/components/schemas/Coupon'
        appliedCoupons:
          type: array
          description: An array containing all coupons applied to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        notAppliedCoupons:
          type: array
          description: >-
            An array containing any coupons that were ineligible and not applied
            to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        validations:
          $ref: '#/components/schemas/ValidationData'
        payments:
          $ref: '#/components/schemas/PaymentCollection'
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
        updatedAt:
          type: string
          description: The date and time in UTC when the cart was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the cart was created.
          example: 2024-06-13T16:50:00.682Z
      description: Cart Response
    Configuration:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/OrderConfiguration'
        product:
          $ref: '#/components/schemas/ProductConfiguration'
        inventory:
          $ref: '#/components/schemas/InventoryConfiguration'
        tax:
          $ref: '#/components/schemas/TaxConfiguration'
        promotions:
          $ref: '#/components/schemas/PromotionConfiguration'
        maxQuantity:
          $ref: '#/components/schemas/CartMaxQtyConfiguration'
      description: >-
        Cart
        [configurations](/v3/cart-and-checkout/api-reference/carts-v3/configuration-behaviors)
        determine the behavior within the cart.
    Coupon:
      type: object
      properties:
        code:
          type: string
          description: Coupon code
          example: VALID_COUPON
        updatedAt:
          type: string
          description: The date when the coupon was added to the corresponding cart.
          example: 2024-06-13T16:50:00.682Z
      description: Coupon
    CustomerContext:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Customer ID that was added to the customer attribute when using
            the [Update
            customer](/v3/cart-and-checkout/api-reference/carts-v3/customer/update-customer)
            endpoint.
          example: '109840938'
        segments:
          type: array
          description: An array containing segments of customer information.
          items:
            $ref: '#/components/schemas/SegmentObject'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Customer attributes such as email.
            example:
              email: test@gmail.com
          description: Customer attributes such as email.
          example:
            email: test@gmail.com
        sessionId:
          type: string
          description: Session ID of the customer.
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
      description: Customer context object containing customer information.
    NewFee:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier for the fee generated in this response, used
            for referencing in other endpoints.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes that provide more context for the fee, such as
              the source of the fee.
            example:
              source: eco
          description: >-
            Custom attributes that provide more context for the fee, such as the
            source of the fee.
          example:
            source: eco
        tax:
          $ref: '#/components/schemas/TaxCollection'
        updatedAt:
          type: string
          description: The date and time when the fee was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the fee was created.
          example: 2024-06-13T16:50:00.682Z
        taxDetails:
          $ref: '#/components/schemas/FeeTaxDetails'
      description: Fee
    Fee:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the fee associated with the corresponding
            cart that was generated when making [Create
            fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes that provide more context for the fee, such as
              the source of the fee.
            example:
              source: eco
          description: >-
            Custom attributes that provide more context for the fee, such as the
            source of the fee.
          example:
            source: eco
        tax:
          $ref: '#/components/schemas/TaxCollection'
        updatedAt:
          type: string
          description: The date and time when the fee was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the fee was created.
          example: 2024-06-13T16:50:00.682Z
        taxDetails:
          $ref: '#/components/schemas/FeeTaxDetails'
      description: Fee
    UpdatedFee:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Fee ID generated from the [Create
            fee](/v3/cart-and-checkout/api-reference/carts-v3/fees/create-fees)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used to describe a fee, such as an eco fee.
            example:
              source: eco
          description: Custom attributes used to describe a fee, such as an eco fee.
          example:
            source: eco
        tax:
          $ref: '#/components/schemas/TaxCollection'
        updatedAt:
          type: string
          description: The date and time when the fee was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the fee was created.
          example: 2024-06-13T16:50:00.682Z
        taxDetails:
          $ref: '#/components/schemas/FeeTaxDetails'
      description: Fee
    FeeTaxDetails:
      type: object
      properties:
        destinationAddress:
          type: string
          description: The destination address where the item will be delivered.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        originAddress:
          type: string
          description: The origin address from which the item will be fulfilled.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
      description: Tax details used to determine tax for a cart fee.
    FeesCollection:
      type: object
      properties:
        total:
          type: number
          description: The total fees amount in the collection.
          example: 5
        collection:
          type: array
          description: An array containing all fees and their details in a collection.
          items:
            $ref: '#/components/schemas/Fee'
      description: A collection of fees associated with the corresponding cart.
    NewFulfillment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of a fulfillment that was generated by this
            endpoint. This Fulfillment ID is used for other endpoints.
          example: d6229cdb-0c5b-4885-b1b2-13b94d02488e
        type:
          type: string
          description: Determines the type of fulfillment.
          example: SHIP_TO
          enum:
            - SHIP_TO
            - BOPIS
            - ROPIS
        refId:
          type: string
          description: >-
            An alternative identifier for fulfillments, used for additional
            tracking or referencing.
          example: '398427903843'
        attributes:
          type: object
          description: >-
            Custom attributes to provide more context to the fulfillment, such
            as where it was made.
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context to the fulfillment, such
              as where it was made.
            example:
              source: store
          example:
            source: store
        originAddress:
          type: string
          description: The identifier of the address where the item is being fulfilled.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        destinationAddress:
          type: string
          description: The identifier of the address where the item is being shipped.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        locationId:
          type: string
          description: Unique identifier of the store.
          example: CA
        pickupPerson:
          $ref: '#/components/schemas/PickupPerson'
        price:
          $ref: '#/components/schemas/ResourcePrice'
        promotions:
          $ref: '#/components/schemas/FulfillmentPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        tax:
          $ref: '#/components/schemas/TaxCollection'
      description: A fulfillment object containing important fulfillment information.
    Fulfillment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Fulfillment ID generated when a fulfillment was created using
            the [Create
            fulfillment](/v3/cart-and-checkout/api-reference/carts-v3/fulfillment/create-fulfillments)
            endpoint.
          example: d6229cdb-0c5b-4885-b1b2-13b94d02488e
        type:
          type: string
          description: Determines the type of fulfillment.
          example: SHIP_TO
          enum:
            - SHIP_TO
            - BOPIS
            - ROPIS
        refId:
          type: string
          description: >-
            An alternative identifier for fulfillments, used for additional
            tracking or referencing.
          example: '398427903843'
        attributes:
          type: object
          description: >-
            Custom attributes to provide more context to the fulfillment, such
            as where it was made.
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context to the fulfillment, such
              as where it was made.
            example:
              source: store
          example:
            source: store
        originAddress:
          type: string
          description: The identifier of the address where the item is being fulfilled.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        destinationAddress:
          type: string
          description: The identifier of the address where the item is being shipped.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        locationId:
          type: string
          description: Unique identifier of the store.
          example: CA
        pickupPerson:
          $ref: '#/components/schemas/PickupPerson'
        price:
          $ref: '#/components/schemas/ResourcePrice'
        promotions:
          $ref: '#/components/schemas/FulfillmentPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        tax:
          $ref: '#/components/schemas/TaxCollection'
      description: A fulfillment object containing important fulfillment information.
    FulfillmentPromotion:
      type: object
      properties:
        id:
          type: string
          description: Identifier of a promotion
          example: bb44db95-6fbd-4eed-a1ed-4d99bc91250f
        amount:
          type: number
          description: The discount amount applied to a fulfillment.
          example: 15
      description: Fulfillment Promotion
    FulfillmentPromotionCollection:
      type: object
      properties:
        total:
          type: number
          description: The total discount applied within a collection.
          example: 15
        collection:
          type: array
          description: An array containing the promotions within a collection.
          items:
            $ref: '#/components/schemas/FulfillmentPromotion'
      description: A collection of promotions applied to the fulfillment.
    Inventory:
      type: object
      properties:
        type:
          type: string
          description: >-
            The type used to determine which counter to compare the quantity
            against.
          example: backOrder
        channels:
          type: object
          additionalProperties:
            type: string
            description: The inventory channels associated with the item.
            example: '{"networkCode":"ShipToHome"}'
          description: The inventory channels associated with the item.
          example:
            networkCode: ShipToHome
      description: Inventory
    InventoryBehavior:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: >-
        Behaviors related to inventory actions, such as adding the item or
        removing the item.
    InventoryConfiguration:
      type: object
      properties:
        cacheExpiry:
          type: integer
          description: Duration in seconds until inventory validation data expires.
          format: int64
          example: 7776000
        behaviors:
          $ref: '#/components/schemas/InventoryBehavior'
        check:
          type: string
          description: >-
            This setting is used to determine how you check inventory. The
            options are SKU or LINE_ITEM.
          example: SKU
          enum:
            - SKU
            - LINE_ITEM
      description: Configuration settings related to inventory management and checks.
    InventoryValidationData:
      type: object
      properties:
        channels:
          type: object
          additionalProperties:
            type: string
            description: The inventory channels associated with the item.
            example: '{"networkCode":"ShipToHome"}'
          description: The inventory channels associated with the item.
          example:
            networkCode: ShipToHome
        counters:
          type: object
          additionalProperties:
            type: integer
            description: The inventory counters available for the item.
            format: int32
          description: The inventory counters available for the item.
          example:
            backOrder: 15
            preOrder: 100
        updatedAt:
          type: string
          description: The latest date when inventory was added to the corresponding cart.
          example: 2024-06-13T16:50:00.682Z
      description: Inventory validation details
    NewItemCollection:
      type: object
      properties:
        total:
          type: number
          description: Item total in a collection.
          example: 100
        collection:
          type: array
          description: An array containing items in the collection.
          items:
            $ref: '#/components/schemas/NewItemResponseDto'
    ItemCollection:
      type: object
      properties:
        total:
          type: number
          description: Item total in a collection.
          example: 100
        collection:
          type: array
          description: An array containing items in the collection.
          items:
            $ref: '#/components/schemas/ItemResponseDto'
      description: A collection of items in the cart.
    ItemFulfillment:
      type: object
      properties:
        id:
          type: string
          description: The identifier of the fulfillment linked to the item.
          example: 6d65755f-b1d9-4c9d-bb5b-118d317f8db4
        price:
          $ref: '#/components/schemas/ResourcePrice'
        inventory:
          $ref: '#/components/schemas/Inventory'
        tax:
          $ref: '#/components/schemas/TaxCollection'
      description: Item Fulfillment
    ItemPrice:
      type: object
      properties:
        unit:
          type: number
          description: The unit price of the item.
          example: 10
        amount:
          type: number
          description: The total price of the item, inclusive of quantity.
          example: 100
      description: Item price
    ItemPromotion:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the promotion.
          example: bb44db95-6fbd-4eed-a1ed-4d99bc91250f
        amount:
          type: number
          description: The discount amount applied to the item, excluding quantity.
          example: 15
        quantity:
          type: integer
          description: The quantity of the item for which the discount is applicable.
          format: int32
          example: 3
        proration:
          $ref: '#/components/schemas/ProrationSpread'
      description: Item Promotion
    ItemPromotionsCollection:
      type: object
      properties:
        total:
          type: number
          description: Discount total in the collection.
          example: 2
        collection:
          type: array
          description: An array containing promotions in the collection.
          items:
            $ref: '#/components/schemas/ItemPromotion'
      description: Collection of item promotions.
    NewItemResponseDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the item that was generated by this
            endpoint. This Item ID is used for other endpoints.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        sku:
          type: string
          description: >-
            The Stock Keeping Unit (SKU) associated with the item, used for
            inventory tracking and management.
          example: SKU3
        refId:
          type: string
          description: >-
            An alternative identifier associated with the item, used for
            additional tracking or referencing.
          example: '41'
        quantity:
          type: integer
          description: Quantity of item
          format: int32
          example: 10
        priceListId:
          type: string
          description: >-
            The unique identifier for a price list, used to reference and manage
            pricing information.
          example: '10001'
        position:
          type: integer
          description: Position of the item in the cart.
          format: int32
          example: 1
        price:
          $ref: '#/components/schemas/ItemPrice'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        promotions:
          $ref: '#/components/schemas/ItemPromotionsCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillment'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes
            example:
              name: item-custom
          description: Custom attributes
          example:
            name: item-custom
        tax:
          $ref: '#/components/schemas/TaxCollection'
        taxCode:
          type: string
          description: The code used to identify and apply tax rates for transactions.
          example: '10001'
        updatedAt:
          type: string
          description: The date and time the Item was last updated
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time a Item was created
          example: 2024-06-13T16:50:00.682Z
      description: Item Response
    ItemResponseDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the item that was linked from making
            [Create
            item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
            endpoint
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        sku:
          type: string
          description: >-
            The Stock Keeping Unit (SKU) associated with the item, used for
            inventory tracking and management.
          example: SKU3
        refId:
          type: string
          description: >-
            An alternative identifier associated with the item, used for
            additional tracking or referencing.
          example: '41'
        quantity:
          type: integer
          description: Quantity of item
          format: int32
          example: 10
        priceListId:
          type: string
          description: >-
            The unique identifier for a price list, used to reference and manage
            pricing information.
          example: '10001'
        position:
          type: integer
          description: Position of the item in the cart..
          format: int32
          example: 1
        price:
          $ref: '#/components/schemas/ItemPrice'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        promotions:
          $ref: '#/components/schemas/ItemPromotionsCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillment'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes
            example:
              name: item-custom
          description: Custom attributes
          example:
            name: item-custom
        tax:
          $ref: '#/components/schemas/TaxCollection'
        taxCode:
          type: string
          description: The code used to identify and apply tax rates for transactions.
          example: '10001'
        updatedAt:
          type: string
          description: The date and time the Item was last updated
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time a Item was created
          example: 2024-06-13T16:50:00.682Z
      description: Item Response
    LineItemValidationData:
      type: object
      properties:
        sku:
          type: string
          description: The SKU of the item.
          example: SKU3
        inventory:
          $ref: '#/components/schemas/InventoryValidationData'
      description: An object that contains item validation data.
    MaxQtyBehavior:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: Max quantity behaviors
    MaxQtyConfiguration:
      type: object
      properties:
        limit:
          type: integer
          description: Maximum quantity for an individual line item
          format: int32
          example: 100
        behaviors:
          $ref: '#/components/schemas/MaxQtyBehavior'
      description: Item max quantity configurations
    Name:
      type: object
      properties:
        first:
          type: string
          description: First name
          example: John
        middle:
          type: string
          description: Middle name
          example: S
        last:
          type: string
          description: Last name
          example: Doe
      description: Name of the recipient of the order.
    OrderConfiguration:
      type: object
      properties:
        validate:
          $ref: '#/components/schemas/OrderValidateConfiguration'
      description: Configuration settings related to order validation and processing.
    OrderValidateConfiguration:
      type: object
      properties:
        paymentsRemaining:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        taxRemaining:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        invalidItem:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        itemOutOfStock:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
      description: >-
        Order validate determines the blocking behavior when creating an order
        draft.
    PIMValidationData:
      type: object
      properties:
        availableSkus:
          type: array
          description: An array containing product validation data.
          items:
            $ref: '#/components/schemas/SKUValidationData'
      description: Product validation data
    NewPayment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier for the payment generated in this response,
            used for referencing in other endpoints.
          example: 6ef2067a-5d6b-4785-a090-96ea0078220d
        provider:
          type: string
          description: >-
            The payment provider, such as Verifone, that offers functions like
            transaction processing, gateway management, and other financial
            services.
          example: verifone
        processor:
          type: string
          description: >-
            The payment processor, such as Stripe, responsible for handling and
            processing payment transactions by facilitating communication
            between the merchant and the issuing bank.
          example: stripe
        method:
          type: string
          description: Payment method, such as Apple Pay, used for processing transactions.
          example: apple pay
        methodType:
          type: string
          description: Payment method type, such as a credit card.
          example: credit card
        state:
          type: string
          description: >-
            Payment state indicates whether the payment has been successfully
            processed.
          example: PENDING
          enum:
            - PENDING
            - AUTHORIZED
            - CAPTURED
            - FAILED
        authorization:
          $ref: '#/components/schemas/PaymentAuthorization'
        billToAddress:
          type: string
          description: >-
            The Address ID that was generated when an address was created using
            the [Create
            address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        cardDetails:
          type: object
          description: >-
            Information about the card used for payment, such as gift card
            details.
          additionalProperties:
            type: object
            description: >-
              Information about the card used for payment, such as gift card
              details.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes associated with the transaction, such as the
              name of the gift card used.
            example:
              gift-card-name: custom name
          description: >-
            Custom attributes associated with the transaction, such as the name
            of the gift card used.
          example:
            gift-card-name: custom name
      description: Cart Payment
    Payment:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Payment ID that was generated when a payment was created using
            the [Create
            payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments)
            endpoint.
          example: 6ef2067a-5d6b-4785-a090-96ea0078220d
        provider:
          type: string
          description: >-
            The payment provider, such as Verifone, that offers functions like
            transaction processing, gateway management, and other financial
            services.
          example: verifone
        processor:
          type: string
          description: >-
            The payment processor, such as Stripe, responsible for handling and
            processing payment transactions by facilitating communication
            between the merchant and the issuing bank.
          example: stripe
        method:
          type: string
          description: Payment method, such as Apple Pay, used for processing transactions.
          example: apple pay
        methodType:
          type: string
          description: Payment method type, such as a credit card.
          example: credit card
        state:
          type: string
          description: >-
            Payment state indicates whether the payment has been successfully
            processed.
          example: PENDING
          enum:
            - PENDING
            - AUTHORIZED
            - CAPTURED
            - FAILED
        authorization:
          $ref: '#/components/schemas/PaymentAuthorization'
        billToAddress:
          type: string
          description: >-
            The Address ID that was generated when an address was created using
            the [Create
            address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        cardDetails:
          type: object
          description: >-
            Information about the card used for payment, such as gift card
            details.
          additionalProperties:
            type: object
            description: >-
              Information about the card used for payment, such as gift card
              details.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes associated with the transaction, such as the
              name of the gift card used.
            example:
              gift-card-name: custom name
          description: >-
            Custom attributes associated with the transaction, such as the name
            of the gift card used.
          example:
            gift-card-name: custom name
      description: Cart Payment
    PaymentAuthorization:
      required:
        - amount
      type: object
      properties:
        amount:
          minimum: 0
          exclusiveMinimum: true
          type: number
          description: The amount for which the payment has been authorized.
          example: 8
        expiry:
          type: string
          description: The date when the payment authorization expires.
          example: 2024-06-13T16:50:00.682Z
        verifier:
          $ref: '#/components/schemas/Verifier'
      description: Payment authorization
    PaymentCollection:
      type: object
      properties:
        authorized:
          type: number
          description: The payments that have been authorized within the collection.
          example: 800
        collection:
          type: array
          description: An array containing payments within the collection.
          items:
            $ref: '#/components/schemas/Payment'
      description: >-
        An object containing a collection of payments added to the corresponding
        cart.
    Person:
      required:
        - name
      type: object
      properties:
        name:
          $ref: '#/components/schemas/Name'
        email:
          type: string
          description: Email of the pickup person.
          example: john@test.com
        phone:
          $ref: '#/components/schemas/Phone'
      description: Name of the pickup person.
    Phone:
      type: object
      properties:
        number:
          type: string
          description: Phone Number
          example: 123-456-7890
        type:
          type: string
          description: Phone Number Type
          example: MOBILE
          enum:
            - MOBILE
            - BUSINESS
            - HOME
      description: Phone
    PickupPerson:
      type: object
      properties:
        primary:
          $ref: '#/components/schemas/Person'
        secondary:
          type: array
          description: An array containing secondary people for pickup.
          items:
            $ref: '#/components/schemas/Person'
      description: Pickup person details
    Price:
      type: object
      properties:
        total:
          type: number
          description: The grand total, inclusive of all charges and discounts.
          example: 800
        subtotal:
          type: number
          description: The subtotal of all items amount.
          example: 750
        tax:
          type: number
          description: The tax total amount.
          example: 20
        fulfillments:
          type: number
          description: The fulfillments total amount.
          example: 25
        discounts:
          type: number
          description: The discounts total amount.
          example: 10
        fees:
          type: number
          description: The fees total amount.
          example: 5
        adjustments:
          type: number
          description: The adjustments total amount.
          example: 10
      description: The sum of the total amount of the cart.
    ProductBehavior:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: >-
        Behaviors related to inventory actions, such as adding the item or
        removing the item.
    ProductConfiguration:
      type: object
      properties:
        cacheExpiry:
          type: integer
          description: Duration in seconds until product validation data expires.
          format: int64
          example: 7776000
        behaviors:
          $ref: '#/components/schemas/ProductBehavior'
        maxQuantity:
          $ref: '#/components/schemas/MaxQtyConfiguration'
      description: Configuration settings related to product behavior and cache expiry.
    PromotionApplied:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the promotion.
          example: 542ba80a69b8
        title:
          type: string
          description: Promotion title
          example: 15 Percent All Products
        code:
          type: string
          description: Coupon code
          example: 15_PERCENT
        type:
          type: string
          description: The type of promotion, such as percentage or fixed value.
          example: PERCENTAGE
        value:
          type: number
          description: >-
            The value of the promotion, indicating the amount of the discount
            applied. This can be a fixed amount or a percentage.
          example: 15
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes provide more context for the promotion.
            example:
              source: cart
          description: Custom attributes provide more context for the promotion.
          example:
            source: cart
      description: Promotions applied
    PromotionBehavior:
      type: object
      properties:
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - NONE
      description: Promotion behaviors
    PromotionConfiguration:
      type: object
      properties:
        cacheExpiry:
          type: integer
          description: Duration in seconds until promotion data expires.
          format: int64
          example: 7776000
        behaviors:
          $ref: '#/components/schemas/PromotionBehavior'
      description: Configuration settings related to promotions and their cache expiry.
    PromotionValidationData:
      type: object
      properties:
        updatedAt:
          type: string
          description: >-
            The latest date when promotions data was added to the corresponding
            cart.
          example: 2024-06-13T16:50:00.682Z
        appliedCoupons:
          type: array
          description: >-
            An array containing coupons that have been added to the
            corresponding cart.
          example:
            - TEST_COUPON
          items:
            type: string
            description: Coupons that have been added to the corresponding cart.
            example: '["TEST_COUPON"]'
        refreshRequired:
          type: boolean
          description: >-
            A boolean value that determines whether promotions require a
            refresh.
          example: false
      description: An object that contains promotion validation data.
    Proration:
      type: object
      properties:
        amount:
          type: number
          description: Proration amount for the item
          example: 5
        quantity:
          type: integer
          description: Proration quantity the amount is applicable for
          format: int32
          example: 3
      description: Proration details of the item used for returns in an OMS system
    ProrationSpread:
      type: object
      properties:
        spread:
          type: array
          description: >-
            An array containing details about adjustments made to charges based
            on partial usage. Each entry in the array represents a specific
            proration adjustment, including the amount.
          items:
            $ref: '#/components/schemas/Proration'
      description: Prorations
    ResourcePrice:
      required:
        - amount
      type: object
      properties:
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Total fees amount
          example: 12.99
      description: Price details
    SKUValidationData:
      type: object
      properties:
        sku:
          type: string
          description: >-
            The SKU that exists within a Product Information Management (PIM)
            service.
          example: SKU3
        updatedAt:
          type: string
          description: >-
            The latest date when product data was added to the corresponding
            cart.
          example: 2024-06-13T16:50:00.682Z
        maxQuantity:
          type: integer
          description: The maximum quantity allowed for a SKU.
          format: int32
          example: 100
      description: Product validation data to determine product existence
    SegmentObject:
      type: object
      properties:
        name:
          type: string
          description: Segment name
          example: membership
        value:
          type: array
          description: Segment values
          example:
            - gold
            - silver
          items:
            type: string
            description: Segment values
            example: '["gold","silver"]'
      description: Segment
    State:
      type: object
      properties:
        resource:
          type: string
          description: The type of resource indicating its current state, such as a cart.
          example: CART
          enum:
            - ITEM
            - CART
            - FULFILLMENT
            - PAYMENT
            - FEE
            - VALIDATION
        resourceId:
          type: string
          description: The ID used to reference the resource's state, such as a cart.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        key:
          type: string
          description: The key used to map the state of the resource.
          example: MISSING_PAYMENT_DETAILS
        description:
          type: string
          description: >-
            A detailed description of the resource's current state, such as the
            absence of payment details.
          example: No payment details have been added to this Cart
      description: Cart State
    SummaryResponse:
      type: object
      properties:
        totalItems:
          type: integer
          description: The total number of items in the cart, inclusive of quantity.
          format: int32
          example: 1
        totalUniqueItems:
          type: integer
          description: The total number of unique items in the cart.
          format: int32
          example: 1
      description: A summary of items in the cart.
    Tax:
      type: object
      properties:
        amount:
          type: number
          description: Tax amount
          example: 3
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context to the tax, such as the
              rate and the type of tax.
            example:
              rate: '5.0'
              type: COUNTY
          description: >-
            Custom attributes to provide more context to the tax, such as the
            rate and the type of tax.
          example:
            rate: '5.0'
            type: COUNTY
      description: Tax
    TaxBehavior:
      type: object
      properties:
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - NONE
      description: tax behaviors
    TaxCollection:
      type: object
      properties:
        total:
          type: number
          description: Tax total in the collection.
          example: 3
        collection:
          type: array
          description: An array containing taxes in a collection.
          items:
            $ref: '#/components/schemas/Tax'
      description: A collection of taxes.
    TaxConfiguration:
      type: object
      properties:
        cacheExpiry:
          type: integer
          description: Duration in seconds until the tax data expires.
          format: int64
          example: 7776000
        behaviors:
          $ref: '#/components/schemas/TaxBehavior'
      description: Configuration settings for tax calculations and behaviors.
    TaxValidationData:
      type: object
      properties:
        updatedAt:
          type: string
          description: Latest date the tax was added to the corresponding cart.
          example: 2024-06-13T16:50:00.682Z
      description: An object that contains tax validation data.
    ValidationData:
      type: object
      properties:
        promotions:
          $ref: '#/components/schemas/PromotionValidationData'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/LineItemValidationData'
        product:
          $ref: '#/components/schemas/PIMValidationData'
        tax:
          $ref: '#/components/schemas/TaxValidationData'
    Verifier:
      type: object
      properties:
        type:
          type: string
          description: The type of verification used, such as a token.
          example: TOKEN
        key:
          type: string
          description: The key used for payment verification.
          example: CH39082K439R0
      description: Payment verifier
    FulfillmentPromotionRequest:
      required:
        - amount
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of a promotion
          example: bb44db95-6fbd-4eed-a1ed-4d99bc91250f
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Discount amount applied to a fulfillment
          example: 10
      description: Fulfillment Promotion Request
    ItemPromotionRequest:
      required:
        - amount
        - id
        - quantity
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the promotion.
          example: bb44db95-6fbd-4eed-a1ed-4d99bc91250f
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Discount amount applied to the item, exclusive of quantity
          example: 15
        quantity:
          minimum: 1
          type: integer
          description: The quantity of the item to which the discount is applicable.
          format: int32
          example: 3
        proration:
          $ref: '#/components/schemas/ProrationsRequest'
      description: Item Promotion Request
    PromotionAppliedRequest:
      required:
        - id
        - title
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the promotion.
          example: 542ba80a69b8
        title:
          type: string
          description: Promotion Title
          example: 15 Percent All Products
        code:
          type: string
          description: Coupon Code
          example: 15_PERCENT
        type:
          type: string
          description: Promotion Type (e.g. percentage or fixed value)
          example: PERCENTAGE
        value:
          type: number
          description: Promotion Value
          example: 15
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes
            example:
              source: cart
          description: Custom attributes
          example:
            source: cart
        lineItems:
          type: array
          description: An array containing promotions applied to items.
          items:
            $ref: '#/components/schemas/ItemPromotionRequest'
        fulfillments:
          type: array
          description: An array containing promotions applied to fulfillments.
          items:
            $ref: '#/components/schemas/FulfillmentPromotionRequest'
      description: Promotions Request
    PromotionsRequest:
      type: object
      properties:
        promotions:
          type: array
          items:
            $ref: '#/components/schemas/PromotionAppliedRequest'
      description: An array containing promotions applied to the corresponding cart.
    ProrationRequest:
      required:
        - amount
        - quantity
      type: object
      properties:
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Proration amount for the item
          example: 5
        quantity:
          minimum: 1
          type: integer
          description: Proration quantity the amount is applicable for
          format: int32
          example: 3
      description: Proration details of the item used for returns in an OMS system
    ProrationsRequest:
      type: object
      properties:
        spread:
          type: array
          description: >-
            An array containing details about adjustments made to charges based
            on partial usage. Each entry in the array represents a specific
            proration adjustment, including the amount.
          items:
            $ref: '#/components/schemas/ProrationRequest'
      description: Proration Request
    ProductRequest:
      type: object
      properties:
        availableSkus:
          type: array
          items:
            $ref: '#/components/schemas/SKUValidationDataRequest'
      description: Product Request
    SKUValidationDataRequest:
      required:
        - sku
      type: object
      properties:
        sku:
          type: string
          description: >-
            The SKU that exists within a Product Information Management (PIM)
            service.
          example: SKU3
        maxQuantity:
          type: integer
          description: The maximum quantity allowed for a SKU.
          format: int32
          example: 100
      description: Product validation data to determine product existence
    InventoryRequest:
      required:
        - lineItems
      type: object
      properties:
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/InventoryValidationRequest'
      description: Inventory Request
    InventoryValidationRequest:
      required:
        - channels
        - counters
        - sku
      type: object
      properties:
        sku:
          type: string
          description: Sku of a line item
          example: SKU3
        channels:
          type: object
          additionalProperties:
            type: string
            description: The inventory channels associated with the item.
            example: '{"networkCode":"ShipToHome"}'
          description: The inventory channels associated with the item.
          example:
            networkCode: ShipToHome
        counters:
          type: object
          additionalProperties:
            type: integer
            description: The inventory counters available for the item.
            format: int32
          description: The inventory counters available for the item.
          example:
            backOrder: 15
            preOrder: 100
      description: Inventory validation details
    UpdateFulfillmentRequest:
      type: object
      properties:
        type:
          type: string
          description: Determines the type of fulfillment.
          example: SHIP_TO
          enum:
            - SHIP_TO
            - BOPIS
            - ROPIS
        refId:
          type: string
          description: >-
            An alternative identifier for fulfillments, used for additional
            tracking or referencing.
          example: '398427903843'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes
            example:
              source: store
          description: Custom attributes
          example:
            source: store
        originAddress:
          type: string
          description: The identifier of the address where the item is being fulfilled.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        destinationAddress:
          type: string
          description: The identifier of the address where the item is being shipped.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        locationId:
          type: string
          description: Unique identifier of the store.
          example: CA
        pickupPerson:
          $ref: '#/components/schemas/PickupPerson'
        price:
          $ref: '#/components/schemas/ResourcePrice'
      description: Fulfillment Request
    CreateOrderDraftRequest:
      required:
        - cartId
        - order
      type: object
      properties:
        cartId:
          type: string
          description: >-
            The 24-character system-generated Cart ID. This ID is generated
            using the [Create
            cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
            endpoint. This ID is used to reference the cart in subsequent API
            requests.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        order:
          $ref: '#/components/schemas/OrderInfoRequest'
        customerId:
          type: string
          description: >-
            The Customer ID that was added to the customer attribute when using
            the [Update
            customer](/v3/cart-and-checkout/api-reference/carts-v3/customer/update-customer)
            endpoint.
          example: '110001'
      description: Order Draft Request
    OrderDraftItemRequest:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the item that was linked from making
            [Create
            item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
            endpoint
          example: 6d65755f-b1d9-4c9d-bb5b-118d317f8db4
        supplementaryData:
          type: object
          additionalProperties:
            type: object
            description: Additional data for the item, such as product attributes.
            example:
              productTitle: Lamp
          description: Additional data for the item, such as product attributes.
          example:
            productTitle: Lamp
      description: Custom data for the item
    OrderInfoRequest:
      type: object
      properties:
        number:
          type: string
          description: Order number
          example: '100001'
        lineItems:
          type: array
          description: An array containing items with associated custom data.
          items:
            $ref: '#/components/schemas/OrderDraftItemRequest'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes provided to the context, such as order status.
            example:
              orderStatus: ACTIVE
          description: Custom attributes provided to the context, such as order status.
          example:
            orderStatus: ACTIVE
      description: Order information request object
    OrderDraft:
      type: object
      properties:
        cartId:
          type: string
          description: >-
            The unique identifier of the cart, which is generated when the cart
            is created using the [Create an empty
            cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
            endpoint.
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        order:
          $ref: '#/components/schemas/OrderInfo'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes provided to the context, such as a wishlist, to
              provide additional information about the entity.
            example:
              name: wishlist
          description: >-
            Custom attributes provided to the context, such as a wishlist, to
            provide additional information about the entity.
          example:
            name: wishlist
        configuration:
          $ref: '#/components/schemas/Configuration'
        customerContext:
          $ref: '#/components/schemas/CustomerContext'
        status:
          type: string
          description: >-
            Indicates the status of the cart, which can be either ACTIVE or
            SOFT_DELETE.
          example: ACTIVE
          enum:
            - ACTIVE
            - SOFT_DELETE
        state:
          type: array
          description: An array containing details about the current state of the cart.
          items:
            $ref: '#/components/schemas/State'
        price:
          $ref: '#/components/schemas/Price'
        promotions:
          $ref: '#/components/schemas/CartPromotionCollection'
        fees:
          $ref: '#/components/schemas/FeesCollection'
        adjustments:
          $ref: '#/components/schemas/AdjustmentCollection'
        addresses:
          type: object
          properties:
            a8577d7f0d4d4b228e857b4a2e90dc93:
              $ref: '#/components/schemas/Address'
          description: A map of addresses added to the corresponding cart.
        lineItems:
          $ref: '#/components/schemas/ItemCollection'
        summary:
          $ref: '#/components/schemas/SummaryResponse'
        fulfillments:
          type: object
          properties:
            d6229cdb0c5b4885b1b213b94d02488e:
              $ref: '#/components/schemas/Fulfillment'
          description: A map of fulfillments added to the corresponding cart.
        coupons:
          type: array
          description: An array containing all coupons added to the corresponding cart.
          items:
            $ref: '#/components/schemas/Coupon'
        appliedCoupons:
          type: array
          description: An array containing all coupons applied to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        notAppliedCoupons:
          type: array
          description: >-
            An array containing any coupons that were ineligible and not applied
            to the cart.
          items:
            $ref: '#/components/schemas/Coupon'
        validations:
          $ref: '#/components/schemas/ValidationData'
        payments:
          $ref: '#/components/schemas/PaymentCollection'
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
        updatedAt:
          type: string
          description: The date and time in UTC when the cart was last updated.
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time when the cart was created.
          example: 2024-06-13T16:50:00.682Z
      description: Order Draft
    OrderInfo:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the order draft.
          example: 6d65755f-b1d9-4c9d-bb5b-118d317f8db4
        number:
          type: string
          description: Unique order number of the order draft.
          example: '100001'
        lineItems:
          type: array
          description: An array containing items with associated custom data.
          items:
            $ref: '#/components/schemas/OrderDraftItemRequest'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes, such as order status.
            example:
              orderStatus: ACTIVE
          description: Custom attributes, such as order status.
          example:
            orderStatus: ACTIVE
      description: >-
        An object that contains order information, such as the order ID, order
        number, and items included in the order.
    CartMaxQtyConfigurationRequest:
      type: object
      properties:
        limit:
          type: integer
          description: Maximum quantity across all items in a cart.
          format: int32
          example: 100
        behaviors:
          $ref: '#/components/schemas/MaxQtyBehaviorRequest'
      description: Cart max quantity configurations
    ConfigurationRequest:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/OrderConfigurationRequest'
        product:
          $ref: '#/components/schemas/ProductConfigurationRequest'
        inventory:
          $ref: '#/components/schemas/InventoryConfigurationRequest'
        tax:
          $ref: '#/components/schemas/TaxConfigurationRequest'
        promotions:
          $ref: '#/components/schemas/PromotionConfigurationRequest'
        maxQuantity:
          $ref: '#/components/schemas/CartMaxQtyConfigurationRequest'
      description: >-
        Cart
        [configurations](/v3/cart-and-checkout/api-reference/carts-v3/configuration-behaviors)
        determine the behavior within the cart.
    CreateCartRequest:
      type: object
      properties:
        configuration:
          $ref: '#/components/schemas/ConfigurationRequest'
        customerContext:
          $ref: '#/components/schemas/CustomerContextRequest'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to describe the cart, such as a wishlist
              cart.
            example:
              name: wishlist
          description: Custom attributes
          example:
            name: wishlist
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
      description: Cart Request
    CustomerContextRequest:
      type: object
      properties:
        id:
          type: string
          description: >-
            This is where you can include non-system-generated Customer ID.
            Since there is no validation for duplicate Customer IDs, ensure each
            ID is unique to each customer.
          example: '109840938'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Customer attributes such as email.
            example:
              email: test@gmail.com
          description: Customer attributes such as email.
          example:
            email: test@gmail.com
        segments:
          type: array
          description: An array containing customer segments.
          items:
            $ref: '#/components/schemas/SegmentRequest'
        sessionId:
          type: string
          description: Session ID
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
      description: Customer Context Request
    CustomerContextResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Customer ID that was added to the customer attribute when using
            this endpoint.
          example: '109840938'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Customer attributes such as email.
            example:
              email: test@gmail.com
          description: Customer attributes such as email.
          example:
            email: test@gmail.com
        segments:
          type: array
          description: An array containing customer segments.
          items:
            $ref: '#/components/schemas/SegmentRequest'
        sessionId:
          type: string
          description: Session ID
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
    InventoryBehaviorRequest:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: Inventory behaviors based on action (adding the item, etc)
    InventoryConfigurationRequest:
      type: object
      properties:
        cacheExpiry:
          maximum: 7776000
          minimum: 1
          type: integer
          description: Duration in seconds until inventory validation data expires.
          format: int64
        behaviors:
          $ref: '#/components/schemas/InventoryBehaviorRequest'
        check:
          type: string
          description: >-
            This setting is used to determine how you check inventory. The
            options are SKU or LINE_ITEM.
          example: SKU
          enum:
            - SKU
            - LINE_ITEM
      description: Inventory configurations
    MaxQtyBehaviorRequest:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: >-
        The behaviors that will execute when the cart reaches the maximum
        quantity.
    MaxQtyConfigurationRequest:
      type: object
      properties:
        check:
          type: string
          enum:
            - SKU
            - LINE_ITEM
        limit:
          type: integer
          description: >-
            The maximum quantity of an individual line item that can be added to
            the cart.
          format: int32
          example: 100
        behaviors:
          $ref: '#/components/schemas/MaxQtyBehaviorRequest'
      description: Item max quantity configurations
    OrderConfigurationRequest:
      type: object
      properties:
        validate:
          $ref: '#/components/schemas/OrderConfigurationValidationRequest'
      description: Configuration settings related to order validation and processing.
    OrderConfigurationValidationRequest:
      type: object
      properties:
        paymentsRemaining:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        taxRemaining:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        invalidItem:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
        itemOutOfStock:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is BLOCK.
          enum:
            - BLOCK
            - NONE
      description: >-
        Order validate determines the blocking behavior when creating an order
        draft.
    ProductBehaviorRequest:
      type: object
      properties:
        add:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default setting is REJECT.
          example: REJECT
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        update:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        get:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - DROP
            - REJECT
            - NONE
      description: >-
        Behaviors related to inventory actions, such as adding the item or
        removing the item.
    ProductConfigurationRequest:
      type: object
      properties:
        cacheExpiry:
          maximum: 7776000
          minimum: 1
          type: integer
          description: Duration in seconds until product validation data expires.
          format: int64
        behaviors:
          $ref: '#/components/schemas/ProductBehaviorRequest'
        maxQuantity:
          $ref: '#/components/schemas/MaxQtyConfigurationRequest'
      description: Configuration settings related to product behavior and cache expiry.
    PromotionBehaviorRequest:
      type: object
      properties:
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - NONE
      description: Promotion behaviors
    PromotionConfigurationRequest:
      type: object
      properties:
        cacheExpiry:
          maximum: 7776000
          minimum: 1
          type: integer
          description: Duration in seconds until promotion data expires.
          format: int64
        behaviors:
          $ref: '#/components/schemas/PromotionBehaviorRequest'
      description: Configuration settings related to promotions and their cache expiry.
    SegmentRequest:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: >-
            Segment name such as a membmership the customer has with the
            merchant.
          example: membership
        value:
          type: array
          description: Segment values such as membership type.
          example:
            - gold
            - silver
          items:
            type: string
            description: Segment values
            example: '["gold","silver"]'
      description: Segment Request
    TaxBehaviorRequest:
      type: object
      properties:
        cacheExpiry:
          type: string
          description: |
            The behavior that is executed based on the selected configuration.

            The default behavior is WARN.
          example: WARN
          enum:
            - WARN
            - NONE
      description: tax behaviors
    TaxConfigurationRequest:
      type: object
      properties:
        cacheExpiry:
          maximum: 7776000
          minimum: 1
          type: integer
          description: Duration in seconds until tax data expires
          format: int64
        behaviors:
          $ref: '#/components/schemas/TaxBehaviorRequest'
      description: Configuration settings for tax calculations and behaviors.
    JsonNode:
      type: object
      description: The data to be updated at the specified endpoint.
      example:
        id: '1234'
    SequenceMethodData:
      required:
        - Sequence Body Object
        - method
        - path
      type: object
      properties:
        callId:
          type: string
          description: A unique number used to reference and build API calls.
          example: '1'
        path:
          type: string
          description: The endpoint to execute following the use of the cart ID.
          example: /customer
        method:
          type: string
          description: The method to be executed, such as GET, POST, PUT, or DELETE.
          example: PATCH
        Sequence Body Object:
          $ref: '#/components/schemas/JsonNode'
      description: Sequence Data Request
    SequenceRequest:
      required:
        - requests
      type: object
      properties:
        requests:
          type: array
          description: A sequence list indicating which endpoints will be called.
          items:
            $ref: '#/components/schemas/SequenceMethodData'
      description: Sequence Request
    CreatePaymentRequest:
      required:
        - method
        - methodType
        - processor
        - provider
      type: object
      properties:
        provider:
          type: string
          description: >-
            The payment provider, such as Verifone, that offers functions like
            transaction processing, gateway management, and other financial
            services.
          example: verifone
        processor:
          type: string
          description: >-
            The payment processor, such as Stripe, responsible for handling and
            processing payment transactions by facilitating communication
            between the merchant and the issuing bank.
          example: stripe
        method:
          type: string
          description: Payment method
          example: stripe
        methodType:
          type: string
          description: Payment method type
          example: cc
        state:
          type: string
          description: Payment state
          example: PENDING
          enum:
            - PENDING
            - AUTHORIZED
            - CAPTURED
            - FAILED
        authorization:
          $ref: '#/components/schemas/PaymentAuthorization'
        billToAddress:
          type: string
          description: >-
            The Address ID that was generated when an address was created using
            the [Create
            address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses)
            endpoint.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        cardDetails:
          type: object
          description: >-
            Information about the card used for payment, such as gift card
            details.
          additionalProperties:
            type: object
            description: >-
              Information about the card used for payment, such as gift card
              details.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes associated with the transaction, such as the
              name of the gift card used.
            example:
              gift-card-name: custom name
          description: >-
            Custom attributes associated with the transaction, such as the name
            of the gift card used.
          example:
            gift-card-name: custom name
      description: Payment Request
    CustomerDeleteAttributesRequest:
      required:
        - attributes
      type: object
      properties:
        attributes:
          type: array
          description: >-
            Include the attributes you wish to remove in an array containing
            attribute keys that remove the attributes added using the [Add
            customer
            attributes](/v3/cart-and-checkout/api-reference/carts-v3/customer/add-customer-attributes)
            endpoint.
          example:
            - test
          items:
            type: string
            description: >-
              Include the attributes you wish to remove in an array containing
              attribute keys that remove the attributes added using the [Add
              customer
              attributes](/v3/cart-and-checkout/api-reference/carts-v3/customer/add-customer-attributes)
              endpoint.
            example: '["test"]'
      description: Delete Attributes Request
    DeleteAttributesRequest:
      required:
        - attributes
      type: object
      properties:
        attributes:
          type: array
          description: >-
            Include the attributes you wish to remove in an array containing
            attribute keys that remove the attributes added using the [Add
            payment
            attributes](/v3/cart-and-checkout/api-reference/carts-v3/payments/add-payment-attributes)
            endpoint.
          example:
            - test
          items:
            type: string
            description: >-
              Include the attributes you wish to remove in an array containing
              attribute keys that remove the attributes added using the [Add
              payment
              attributes](/v3/cart-and-checkout/api-reference/carts-v3/payments/add-payment-attributes)
              endpoint.
            example: '["test"]'
      description: Delete Attributes Request
    CustomerAddAttributesRequest:
      required:
        - attributes
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              An object containing custom attributes of your choice for the
              resource.
            example:
              test: test
          description: >-
            An object containing custom attributes of your choice for the
            resource.
          example:
            test: test
      description: Add Attributes Request
    AddAttributesRequest:
      required:
        - attributes
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              An object containing custom attributes of your choice for the
              resource.
            example:
              test: test
          description: >-
            An object containing custom attributes of your choice for the
            resource.
          example:
            test: test
      description: Add Attributes Request
    CreateItemRequest:
      required:
        - price
        - quantity
        - sku
      type: object
      properties:
        sku:
          type: string
          description: >-
            The Stock Keeping Unit (SKU) associated with the item, used for
            inventory tracking and management.
          example: SKU3
        refId:
          type: string
          description: >-
            An alternative identifier associated with the item, used for
            additional tracking or referencing.
          example: '41'
        priceListId:
          type: string
          description: >-
            The unique identifier for a price list, used to reference and manage
            pricing information. The Price ID was generated by the pricing team,
            and this is where the ID gets linked to the line item.
          example: '10001'
        taxCode:
          type: string
          description: The code used to identify and apply tax rates for transactions.
          example: '10001'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes used to provide more context for the item.
            example:
              name: item-custom
          description: Custom attributes used to provide more context for the item.
          example:
            name: item-custom
        quantity:
          minimum: 1
          exclusiveMinimum: false
          type: integer
          description: The number of items to be added to the corresponding cart.
          format: int32
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillmentRequest'
        price:
          $ref: '#/components/schemas/ItemPriceRequest'
      description: Item Request
    ItemFulfillmentRequest:
      type: object
      properties:
        id:
          type: string
          description: The identifier of the fulfillment linked to the item.
          example: 6d65755f-b1d9-4c9d-bb5b-118d317f8db4
        inventory:
          $ref: '#/components/schemas/Inventory'
        price:
          $ref: '#/components/schemas/ResourcePrice'
      description: Item fulfillment request
    ItemPriceRequest:
      required:
        - amount
        - type
      type: object
      properties:
        type:
          type: string
          description: >
            Indicates whether the amount represents the **unit** price or the
            **line item** price of the item.
          example: LINE_ITEM
          enum:
            - LINE_ITEM
            - UNIT
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: The price amount for either the unit or line item of the item.
          example: 100
      description: Item price request
    CreateFeeRequest:
      required:
        - name
        - price
      type: object
      properties:
        name:
          type: string
          description: The name of the fee, such as an eco fee.
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes that provide more context for the fee, such as
              the source of the fee.
            example:
              source: eco
          description: >-
            Custom attributes that provide more context for the fee, such as the
            source of the fee.
          example:
            source: eco
      description: Fee Request
    CreateAdjustmentRequest:
      required:
        - price
        - reason
      type: object
      properties:
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from Customer Representative
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context, such as who made the
              adjustment.
            example:
              source: CSR
          description: >-
            Custom attributes to provide more context, such as who made the
            adjustment.
          example:
            source: CSR
      description: Adjustment Request
    SplitLineItemsRequest:
      required:
        - quantities
      type: object
      properties:
        quantities:
          type: array
          description: Quantities to split the item by.
          example:
            - 1
            - 2
          items:
            type: integer
            description: Quantities to split the item by.
            format: int32
        adjustmentsBehavior:
          type: string
          description: >-
            When line items are split, the behavior of adjustments is based on
            specified criteria. COPY duplicates the adjustment settings, while
            NONE does not transfer any adjustment settings.
          example: NONE
          enum:
            - COPY
            - NONE
        feesBehavior:
          type: string
          description: >-
            When line items are split, the behavior of fees is based on
            specified criteria. COPY duplicates the line items settings, while
            NONE does not transfer any line items settings.
          example: NONE
          enum:
            - COPY
            - NONE
        fulfillmentBehavior:
          type: string
          description: >-
            When line items are split, the behavior of fulfillments is based on
            specified criteria. COPY duplicates the fulfillments settings, while
            NONE does not transfer any fulfillments settings.
          example: NONE
          enum:
            - COPY
            - NONE
      description: Split line items request
    Item:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier of the item that was linked from making
            [Create
            item](/v3/cart-and-checkout/api-reference/carts-v3/items/items)
            endpoint
        sku:
          type: string
          description: >-
            The Stock Keeping Unit (SKU) associated with the item, used for
            inventory tracking and management.
        refId:
          type: string
          description: >-
            An alternative identifier associated with the item, used for
            additional tracking or referencing.
        quantity:
          type: integer
          format: int32
          description: Quantity of item
        priceListId:
          type: string
          description: >-
            The unique identifier for a price list, used to reference and manage
            pricing information.
        price:
          $ref: '#/components/schemas/ItemPrice'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/Fee'
        adjustments:
          type: array
          items:
            $ref: '#/components/schemas/Adjustment'
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillment'
        promotions:
          type: array
          items:
            $ref: '#/components/schemas/ItemPromotion'
        taxCode:
          type: string
        tax:
          type: array
          items:
            $ref: '#/components/schemas/Tax'
        attributes:
          type: object
          additionalProperties:
            type: object
        updatedAt:
          type: string
          description: The date and time the Resource was last updated
          example: 2024-06-13T16:50:00.682Z
        createdAt:
          type: string
          description: The date and time a Resource was created
          example: 2024-06-13T16:50:00.682Z
    CreateFulfillmentRequest:
      required:
        - price
        - type
      type: object
      properties:
        type:
          type: string
          description: Determines the type of fulfillment.
          example: SHIP_TO
          enum:
            - SHIP_TO
            - BOPIS
            - ROPIS
        refId:
          type: string
          description: >-
            An alternative identifier for fulfillments, used for additional
            tracking or referencing.
          example: '398427903843'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context to the fulfillment, such
              as where it was made.
            example:
              source: store
          description: >-
            Custom attributes to provide more context to the fulfillment, such
            as where it was made.
          example:
            source: store
        originAddress:
          type: string
          description: The identifier of the address where the item is being fulfilled.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        destinationAddress:
          type: string
          description: The identifier of the address where the item is being shipped.
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        locationId:
          type: string
          description: Unique identifier of the store.
          example: CA
        pickupPerson:
          $ref: '#/components/schemas/PickupPerson'
        price:
          $ref: '#/components/schemas/ResourcePrice'
      description: Fulfillment Request
    CreateFeeRequestWithTaxDetails:
      required:
        - name
        - price
      type: object
      properties:
        taxDetails:
          $ref: '#/components/schemas/FeeTaxDetailsRequest'
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes that describe the fee, such as an eco fee.
            example:
              source: eco
          description: Custom attributes that describe the fee, such as an eco fee.
          example:
            source: eco
      description: Fee Request
    FeeTaxDetailsRequest:
      type: object
      properties:
        destinationAddress:
          type: string
          description: Identifier of the address
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
        originAddress:
          type: string
          description: Identifier of the address
          example: c86f777b-1885-4ddf-961d-542ba80a69b8
      description: Tax details used to determine tax for a cart fee
    CreateAddressRequest:
      required:
        - addressLine1
        - city
        - country
        - postalCode
        - region
      type: object
      properties:
        name:
          $ref: '#/components/schemas/ForCreateName'
        email:
          type: string
          description: Email
          example: john@test.com
        phone:
          $ref: '#/components/schemas/ForCreate'
        addressLine1:
          type: string
          description: Address line 1
          example: 123 Park Road
        addressLine2:
          type: string
          description: Address line 2
        addressLine3:
          type: string
          description: Address line 3
        addressLine4:
          type: string
          description: Address line 4
        city:
          type: string
          description: City
          example: Santa Cruz
        region:
          type: string
          description: State, Province or Area
          example: California
        country:
          type: string
          description: Country
          example: USA
        postalCode:
          type: string
          description: Postal code or zip code
          example: '12345'
      description: Address
    ForCreateName:
      required:
        - first
        - last
      type: object
      properties:
        first:
          type: string
          description: First name on the address.
          example: John
        last:
          type: string
          description: Last name on the address.
          example: Doe
      description: Name details
    ForCreate:
      required:
        - number
        - type
      type: object
      properties:
        number:
          type: string
          description: Phone Number
          example: 123-456-7890
        type:
          type: string
          description: Phone Number Type
          example: MOBILE
          enum:
            - MOBILE
            - BUSINESS
            - HOME
      description: Phone details
    CustomerContextMergeBehavior:
      required:
        - attributes
        - id
        - segments
        - sessionId
      type: object
      properties:
        id:
          type: string
          description: Merge behavior for ID
          example: PRIMARY
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        sessionId:
          type: string
          description: Merge behavior for session ID
          example: PRIMARY
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        segments:
          type: string
          description: Merge behavior for segments
          example: ALL
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        attributes:
          type: string
          description: Merge behavior for attributes
          example: MERGE
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
      description: Customer context merge configurations
    ItemMergeBehavior:
      required:
        - behavior
        - maxQuantity
        - quantity
      type: object
      properties:
        behavior:
          type: string
          description: Merge behavior for item attributes
          example: ALL
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        maxQuantity:
          type: string
          description: >-
            Max quantity behavior that will execute based on the selected
            configuration.
          example: ALL
          enum:
            - MAX
            - MIN
        quantity:
          type: string
          description: >-
            Quantity behavior that will execute based on the selected
            configuration.
          example: SUM
          enum:
            - SUM
            - MAX
      description: Item merge configurations
    MergeBehaviorConfig:
      required:
        - addresses
        - adjustments
        - attributes
        - coupons
        - customerContext
        - fees
        - fulfillments
        - item
      type: object
      properties:
        attributes:
          type: string
          description: Merge behavior for attributes
          example: MERGE
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        fees:
          type: string
          description: Merge behavior for fees
          example: ALL
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        adjustments:
          type: string
          description: Merge behavior for adjustments
          example: ALL
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        customerContext:
          $ref: '#/components/schemas/CustomerContextMergeBehavior'
        item:
          $ref: '#/components/schemas/ItemMergeBehavior'
        coupons:
          type: string
          description: Merge behavior for coupons
          example: ALL
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        addresses:
          type: string
          description: Merge behavior for addresses
          example: REFERENCED
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
        fulfillments:
          type: string
          description: Merge behavior for fulfillments
          example: REFERENCED
          enum:
            - MERGE
            - ALL
            - PRIMARY
            - SECONDARY
            - PURGE
            - REFERENCED
      description: Merge cart configurations
    MergeCartRequest:
      required:
        - mergeBehavior
        - secondaryCartId
      type: object
      properties:
        secondaryCartId:
          type: string
          description: >-
            The unique identifier of the secondary cart to merge with the
            corresponding cart specified in the path parameter.
          example: 462c08f6-cecb-49fd-84e2-96bfa7b1c4c8
        mergeBehavior:
          $ref: '#/components/schemas/MergeBehaviorConfig'
      description: Merge Cart Request
    CartFilter:
      type: object
      properties:
        status:
          type: array
          description: An array containing filters to customize carts by cart statuses.
          example:
            - ACTIVE
          items:
            type: string
            description: An array containing filters to customize carts by cart statuses.
            example: '["ACTIVE"]'
        orderNumber:
          type: string
          description: >-
            Filter carts by order number, which was generated when [Create an
            order
            draft](/v3/cart-and-checkout/api-reference/carts-v3/carts/order-drafts)
            endpoint was executed.
          example: '10001'
        customer:
          $ref: '#/components/schemas/Customer'
        promotionTitles:
          type: array
          description: An array containing filters to customize carts by promotions.
          example:
            - PROMO_TEST
          items:
            type: string
            description: Filter carts by promotions.
            example: '["PROMO_TEST"]'
        updatedAt:
          $ref: '#/components/schemas/DateRange'
        createdAt:
          $ref: '#/components/schemas/DateRange'
        channels:
          type: array
          description: An array containing filters to customize carts by channel IDs.
          example:
            - '12'
          items:
            type: string
            description: Filter carts by channel IDs.
            example: '["12"]'
      description: Filters used to customize the carts returned.
    Customer:
      type: object
      properties:
        id:
          type: string
          description: Filter by customer ID
          example: '109840938'
        sessionId:
          type: string
          description: Filter by session ID
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
      description: Filter by customer details
    DateRange:
      type: object
      properties:
        start:
          type: string
          description: Start date
          example: 2023-06-13T16:50:00.682Z
        end:
          type: string
          description: End date
          example: 2024-06-13T16:50:00.682Z
      description: Date Range
    SearchCartRequest:
      required:
        - limit
        - offset
      type: object
      properties:
        limit:
          minimum: 1
          type: integer
          description: The maximum number of carts returned.
          format: int32
          example: 100
        offset:
          minimum: 0
          type: integer
          description: The starting point for the records returned from the database.
          format: int32
          example: 0
        filter:
          $ref: '#/components/schemas/CartFilter'
      description: Search Cart Request
    QueryResponse:
      required:
        - limit
        - offset
        - total
      type: object
      properties:
        limit:
          type: integer
          description: Limit of carts returned
          format: int32
          example: 100
        offset:
          type: integer
          description: Starting record in database
          format: int32
          example: 0
        total:
          type: integer
          description: Number of carts returned
          format: int64
          example: 1
      description: Query details
    SearchCartResponse:
      required:
        - data
        - query
      type: object
      properties:
        query:
          $ref: '#/components/schemas/QueryResponse'
        data:
          type: array
          description: List of carts returned
          items:
            $ref: '#/components/schemas/CartResponse'
      description: Search Cart Response
    UpdateCartRequest:
      type: object
      properties:
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes used to describe the cart, such as a wishlist
              cart.
            example:
              name: wishlist
          description: >-
            Custom attributes used to describe the cart, such as a wishlist
            cart.
          example:
            name: wishlist
        customerContext:
          $ref: '#/components/schemas/CustomerContextRequest'
        channelId:
          type: string
          description: Channel ID
          example: '12'
        currency:
          type: string
          description: The currency that the cart will use when an order is created.
          example: USD
      description: Cart Request
    UpdatePaymentRequest:
      type: object
      properties:
        provider:
          type: string
          description: >-
            The payment provider, such as Verifone, that offers functions like
            transaction processing, gateway management, and other financial
            services.
          example: verifone
        processor:
          type: string
          description: >-
            The payment processor, such as Stripe, responsible for handling and
            processing payment transactions by facilitating communication
            between the merchant and the issuing bank.
          example: stripe
        method:
          type: string
          description: Payment method
          example: stripe
        methodType:
          type: string
          description: Payment method type
          example: cc
        state:
          type: string
          description: Payment state
          example: PENDING
          enum:
            - PENDING
            - AUTHORIZED
            - CAPTURED
            - FAILED
        authorization:
          $ref: '#/components/schemas/PaymentAuthorization'
        billToAddress:
          type: string
          description: Identifier of billing address
          example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93
        cardDetails:
          type: object
          description: >-
            Information about the card used for payment, such as gift card
            details.
          additionalProperties:
            type: object
            description: >-
              Information about the card used for payment, such as gift card
              details.
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes associated with the transaction, such as the
              name of the gift card used.
            example:
              gift-card-name: custom name
          description: >-
            Custom attributes associated with the transaction, such as the name
            of the gift card used.
          example:
            gift-card-name: custom name
      description: Payment Request
    UpdateItemRequest:
      type: object
      properties:
        refId:
          type: string
          description: >-
            An alternative identifier associated with the item, used for
            additional tracking or referencing.
          example: '41'
        quantity:
          minimum: 1
          type: integer
          description: The quantity of items in the cart after the update.
          format: int32
        priceListId:
          type: string
          description: >-
            The unique identifier for a price list, used to reference and manage
            pricing information.
          example: '10001'
        price:
          $ref: '#/components/schemas/ItemPriceRequest'
        fulfillment:
          $ref: '#/components/schemas/ItemFulfillmentRequest'
        taxCode:
          type: string
          description: The code used to identify and apply tax rates for transactions.
          example: '10001'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes to provide more context for the item.
            example:
              name: item-custom
          description: Custom attributes to provide more context for the item.
          example:
            name: item-custom
        position:
          minimum: 1
          type: integer
          description: Position of the item in the cart.
          format: int32
          example: 1
      description: Items Request
    UpdateFeeRequest:
      type: object
      properties:
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes that provide more context for the fee, such as
              the source of the fee.
            example:
              source: eco
          description: >-
            Custom attributes that provide more context for the fee, such as the
            source of the fee.
          example:
            source: eco
      description: Fee Request
    UpdateAdjustmentRequest:
      type: object
      properties:
        price:
          $ref: '#/components/schemas/ResourcePrice'
        reason:
          type: string
          description: The reason for the adjustment.
          example: Price adjustment from Customer Representative
        attributes:
          type: object
          additionalProperties:
            type: object
            description: >-
              Custom attributes to provide more context, such as who made the
              adjustment.
            example:
              source: CSR
          description: >-
            Custom attributes to provide more context, such as who made the
            adjustment.
          example:
            source: CSR
      description: Adjustment Request
    UpdateFeeRequestWithTaxDetails:
      type: object
      properties:
        name:
          type: string
          description: Name of the fee
          example: Eco Fee
        price:
          $ref: '#/components/schemas/ResourcePrice'
        taxable:
          type: boolean
          description: A boolean value that determines whether a fee is taxable.
          example: true
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Custom attributes
            example:
              source: eco
          description: Custom attributes
          example:
            source: eco
        taxDetails:
          $ref: '#/components/schemas/FeeTaxDetailsRequest'
      description: Fee Request
    ForUpdate:
      type: object
      properties:
        number:
          type: string
          description: Phone Number
          example: 123-456-7890
        type:
          type: string
          description: Phone Number Type
          example: MOBILE
          enum:
            - MOBILE
            - BUSINESS
            - HOME
    UpdateAddressRequest:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/ForUpdate'
        email:
          type: string
          description: Email
          example: john@test.com
        phone:
          $ref: '#/components/schemas/ForUpdate'
        addressLine1:
          type: string
          description: Address line 1
          example: 123 Park Road
        addressLine2:
          type: string
          description: Address line 2
        addressLine3:
          type: string
          description: Address line 3
        addressLine4:
          type: string
          description: Address line 4
        city:
          type: string
          description: City
          example: Santa Cruz
        region:
          type: string
          description: State, Province or Area
          example: California
        country:
          type: string
          description: Country
          example: USA
        postalCode:
          type: string
          description: Postal code or zip code
          example: '12345'
      description: Address
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        This is the authorization token used to authenticate the request. You
        must pass the access token generated from the system app. For more
        information, see the [Making your first API
        request](/v3/api-reference/getting-started/getting-started-with-fabric-apis#procedure)
        section.
