fabric Cart API

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.

OpenAPI Specification

fabric-com-cart-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Actions Endpoints 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.
paths:
  /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. \n"
        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. \n"
        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.\n\n **Note:** The order of operations matters since IDs are carried over from call to call.\n\n The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter.\n"
      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. \n"
        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/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. \n"
        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. \n"
        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. \n"
        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. \n"
        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'
  /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. \n"
        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. \n"
        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. \n"
        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:
    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.
    JsonNode:
      type: object
      description: The data to be updated at the specified endpoint.
      example:
        id: '1234'
    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
    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.
    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
    OrderConfigurationRequest:
      type: object
      properties:
        validate:
          $ref: '#/components/schemas/OrderConfigurationValidationRequest'
      description: Configuration settings related to order validation and processing.
    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
    OrderConfiguration:
      type: object
      properties:
        validate:
          $ref: '#/components/schemas/OrderValidateConfiguration'
      description: Configuration settings related to order validation and processing.
    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.
    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
    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.
    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.
    ResourcePrice:
      required:
      - amount
      type: object
      properties:
        amount:
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: Total fees amount
          example: 12.99
      description: Price details
    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.
    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-13 16:50:00.682000+00:00
      description: Inventory validation details
    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.
    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.
    PromotionValidationData:
      type: object
      properties:
        updatedAt:
          type: string
          description: The latest date when promotions data was added to the cor

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