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.

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 corresponding cart. example: 2024-06-13 16:50:00.682000+00:00 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. 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-13 16:50:00.682000+00:00 maxQuantity: type: integer description: The maximum quantity allowed for a SKU. format: int32 example: 100 description: Product validation data to determine product existence 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 PIMValidationData: type: object properties: availableSkus: type: array description: An array containing product validation data. items: $ref: '#/components/schemas/SKUValidationData' description: Product validation data TaxValidationData: type: object properties: updatedAt: type: string description: Latest date the tax was added to the corresponding cart. example: 2024-06-13 16:50:00.682000+00:00 description: An object that contains tax validation data. 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time when the cart was created. example: 2024-06-13 16:50:00.682000+00:00 description: Cart Response 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 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 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 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-13 16:50:00.682000+00:00 verifier: $ref: '#/components/schemas/Verifier' description: Payment authorization 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-13 16:50:00.682000+00:00 description: Coupon 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 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. 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. 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. 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 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. 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 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. 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 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. 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' 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 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time when the cart was created. example: 2024-06-13 16:50:00.682000+00:00 description: Order Draft 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. 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 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 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 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 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. 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 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. 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. 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 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 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 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 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. 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. 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 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' 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 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. 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. 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 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time a Item was created example: 2024-06-13 16:50:00.682000+00:00 description: Item Response 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 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time when the fee was created. example: 2024-06-13 16:50:00.682000+00:00 taxDetails: $ref: '#/components/schemas/FeeTaxDetails' description: Fee 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time when the adjustment was created. example: 2024-06-13 16:50:00.682000+00:00 description: Adjustment 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. 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 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 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 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time the address was created. example: 2024-06-13 16:50:00.682000+00:00 description: Address 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time when the cart was created. example: 2024-06-13 16:50:00.682000+00:00 description: Cart Response 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 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. 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 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. 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 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) 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. 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. 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 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-13 16:50:00.682000+00:00 createdAt: type: string description: The date and time a Item was created example: 2024-06-13 16:50:00.682000+00:00 description: Item Response 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 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. 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. 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. 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 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 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 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 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. 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. DateRange: type: object properties: start: type: string description: Start date example: 2023-06-13 16:50:00.682000+00:00 end: type: string description: End date example: 2024-06-13 16:50:00.682000+00:00 description: Date Range 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. 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 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. '