openapi: 3.0.1 info: title: Cart Actions Endpoints Payments 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: Payments description: Payments endpoints are used to add add, update and remove payments from the Cart. paths: /carts/{cartId}/payments: post: tags: - Payments summary: Create Payment description: 'Adds a payment method to the corresponding cart to process a transaction. The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter. ' operationId: createPayment parameters: - name: cartId in: path required: true schema: type: string description: The 24-character system-generated Cart ID. This ID is generated using the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint. - name: x-fabric-tenant-id in: header description: "A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. \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/CreatePaymentRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/NewPayment' '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/ClientError' '404': description: Cart or Payment not found content: application/json: schema: $ref: '#/components/schemas/NotFound' /carts/{cartId}/payments/{id}/actions/delete-attributes: post: tags: - Payments summary: Delete Payment Attributes description: 'Partially deletes attributes of your choice in the payment object associated with the corresponding cart. The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter. The ID from the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint is used in the path parameter. ' operationId: deletePaymentAttributes parameters: - name: cartId in: path required: true schema: type: string description: The 24-character system-generated Cart ID. This ID is generated using the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint. - name: id in: path required: true schema: type: string description: The Payment ID that was generated when a payment was created using the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint. - name: x-fabric-tenant-id in: header description: "A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. \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/DeleteAttributesRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Payment' '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/ClientError' '404': description: Cart or Payment not found content: application/json: schema: $ref: '#/components/schemas/NotFound' /carts/{cartId}/payments/{id}/actions/add-attributes: post: tags: - Payments summary: Add Payment Attributes description: 'Partially updates attributes of your choice in the payment. The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter. The ID from the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint is used in the path parameter. ' operationId: addPaymentAttributes parameters: - name: cartId in: path required: true schema: type: string description: The 24-character system-generated Cart ID. This ID is generated using the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint. - name: id in: path required: true schema: type: string description: The Payment ID that was generated when a payment was created using the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint. - name: x-fabric-tenant-id in: header description: "A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. \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/AddAttributesRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Payment' '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/ClientError' '404': description: Cart or Payment not found content: application/json: schema: $ref: '#/components/schemas/NotFound' /carts/{cartId}/payments/{id}: delete: tags: - Payments summary: Delete Payment description: 'Removes the payment from the cart. The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter. The ID from the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint is used in the path parameter. ' operationId: removePayment parameters: - name: cartId in: path required: true schema: type: string description: The 24-character system-generated Cart ID. This ID is generated using the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint. - name: id in: path required: true schema: type: string description: The Payment ID that was generated when a payment was created using the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint. - name: x-fabric-tenant-id in: header description: "A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. \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 or Payment not found content: application/json: schema: $ref: '#/components/schemas/NotFound' patch: tags: - Payments summary: Update Payment description: 'Updates the payment in the cart. The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter. The ID from the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint is used in the path parameter. ' operationId: updatePayment parameters: - name: cartId in: path required: true schema: type: string description: The 24-character system-generated Cart ID. This ID is generated using the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint. - name: id in: path required: true schema: type: string description: The Payment ID that was generated when a payment was created using the [Create payment](/v3/cart-and-checkout/api-reference/carts-v3/payments/create-payments) endpoint. - name: x-fabric-tenant-id in: header description: "A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](/v3/platform/settings/account-details/getting-the-account-id). This header is required. \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/UpdatePaymentRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Payment' '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/ClientError' '404': description: Cart or Payment not found content: application/json: schema: $ref: '#/components/schemas/NotFound' /orders/actions/authorize-payments: post: description: This endpoint is used synchronously or asynchronously for authorizing order payments pending for authorization. operationId: authorizeOrderPayments parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/paymentAuthorizationRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/paymentAuthorizationResponse' description: OK headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '400': content: application/json: example: errors: - message: Invalid request type: CLIENT_ERROR message: Bad request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Bad request headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '401': content: application/json: example: message: Unauthorized request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Unauthorized headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '404': content: application/json: example: message: Not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Not found headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '500': content: application/json: example: message: Internal server error type: SERVER_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Internal server error headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' summary: Authorize Order Payments tags: - Payments /orders/order-number/{orderNumber}/actions/update-payment-status: post: description: This endpoint is used sync order payments when transactions happen externally. Additionally, used for updating order payment status and the amount, whether it is captured, refunded or void amount.

If you don't have order number, use the corresponding order ID-based endpoint - POST /orders/{orderId}/actions/update-payment-status.

operationId: updatePaymentStatusByOrderNumber parameters: - description: Merchant-defined order identifier example: 123k4h123k in: path name: orderNumber required: true schema: type: string - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePaymentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/orderResponse' description: OK headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '400': content: application/json: example: errors: - message: Invalid request type: CLIENT_ERROR message: Bad request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Bad request headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '401': content: application/json: example: message: Unauthorized request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Unauthorized headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '404': content: application/json: example: message: Not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Not found headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '500': content: application/json: example: message: Internal server error type: SERVER_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Internal server error headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' summary: Update Status of Order Payment by Order Number tags: - Payments /orders/{orderId}/actions/update-payment-status: post: description: This endpoint is used sync order payments when transactions happen externally. Additionally, used for updating order payment status and the amount, whether it is captured, refunded or void amount.

If you don't have order ID, use the corresponding order number-based endpoint - POST /orders/order-number/{orderNumber}/actions/update-payment-status.

operationId: updatePaymentStatus parameters: - description: 24-character system-generated ID. It is returned in the response of Create Order - `POST /orders` endpoint. example: 5349b4ddd2781d08c09890f4 in: path name: orderId required: true schema: type: string - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/updatePaymentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/orderResponse' description: OK headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '400': content: application/json: example: errors: - message: Invalid request type: CLIENT_ERROR message: Bad request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Bad request headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '401': content: application/json: example: message: Unauthorized request type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Unauthorized headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '404': content: application/json: example: message: Not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Not found headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' '500': content: application/json: example: message: Internal server error type: SERVER_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Internal server error headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' summary: Update Order Payment Status by Order ID tags: - Payments components: schemas: itemFulfillmentResource: type: object description: Item fulfillment model properties: isFulfillable: type: boolean default: 'true' description: Indicates whether the item can be fulfilled based on its current state and configuration. example: true isInventoryManaged: type: boolean default: 'true' description: To identify if an inventory is managed or not for the respective item example: true locationNumber: type: string description: Location number example: 123 shipFromAddress: $ref: '#/components/schemas/address' trackingDetails: $ref: '#/components/schemas/trackingDetailsResource' description: Tracking details for the shipment attributes: type: object additionalProperties: type: object description: Custom attributes for this item example: attribute1: value paymentAuthorizationResponse: description: Response model for Payment Authorization request properties: orders: description: orders object items: $ref: '#/components/schemas/orderPaymentAuthorizationResource' type: array type: object NewPayment: type: object properties: id: type: string description: The unique identifier for the payment generated in this response, used for referencing in other endpoints. example: 6ef2067a-5d6b-4785-a090-96ea0078220d provider: type: string description: The payment provider, such as Verifone, that offers functions like transaction processing, gateway management, and other financial services. example: verifone processor: type: string description: The payment processor, such as Stripe, responsible for handling and processing payment transactions by facilitating communication between the merchant and the issuing bank. example: stripe method: type: string description: Payment method, such as Apple Pay, used for processing transactions. example: apple pay methodType: type: string description: Payment method type, such as a credit card. example: credit card state: type: string description: Payment state indicates whether the payment has been successfully processed. example: PENDING enum: - PENDING - AUTHORIZED - CAPTURED - FAILED authorization: $ref: '#/components/schemas/PaymentAuthorization' billToAddress: type: string description: The Address ID that was generated when an address was created using the [Create address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses) endpoint. example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93 cardDetails: type: object description: Information about the card used for payment, such as gift card details. additionalProperties: type: object description: Information about the card used for payment, such as gift card details. attributes: type: object additionalProperties: type: object description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Cart Payment 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 amountInCurrency: description: Amount in currency object details. properties: amount: description: The amount displayed in the primary currency. example: 123.45 format: double type: number currency: description: Currency in ISO-4217 example: USD type: string group: description: A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the `Shopper` group uses USD, while the `Retailer` group uses EUR. example: SHOPPER type: string required: - currency - group type: object quantityInStatus: description: Item quantity for each status properties: cancelled: description: Cancelled quantity of given item example: 10 format: int32 type: integer created: description: Ordered quantity of given item example: 10 format: int32 type: integer delivered: description: Delivered quantity of given item example: 10 format: int32 type: integer hold: description: Held quantity of given item example: 10 format: int32 type: integer pendingShipped: description: Pending quantity of given item example: 10 format: int32 type: integer returned: description: Returned quantity of given item example: 10 format: int32 type: integer shipped: description: Shipped quantity of given item example: 10 format: int32 type: integer type: object trackingDetailsResource: type: object description: Tracking details properties: trackingNumber: type: string description: Tracking number example: 1ZH4E331YW37690225 trackingURL: type: string description: Tracking URL example: https://www.ups.com/track?tracknum=1ZH4E331YW37690225 AddAttributesRequest: required: - attributes type: object properties: attributes: type: object additionalProperties: type: object description: An object containing custom attributes of your choice for the resource. example: test: test description: An object containing custom attributes of your choice for the resource. example: test: test description: Add Attributes Request orderDiscount: description: An object containing all the discount details for an order. properties: amount: description: Discounted amount for the given `quantity` within an order. example: 2.99 format: double type: number amountInCurrencies: items: description: Discounted amount for the given `quantity`, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array invoiceQuantity: description: Total quantity invoiced. If customer placed order for 10 quantity of an item and only 2 got shipped, then 2 is the `invoiceQuantity`. example: 10 format: int32 type: integer promotionCode: description: Promotion code used by shoppers to take advantage of an ongoing promotion. example: HNY2022 type: string promotionId: description: Unique promotion ID either from fabric Offers service or external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of create promotion endpoint. example: HNY2022 type: string promotionName: description: Promotion name example: New Year type: string quantity: description: Number of discounted items in an order such as buy 2 get 1 free. In this case 1 is the discounted quantity. example: 1 format: int32 type: integer unit: description: Indicates whether the discount is in amount or percentage example: AMOUNT_OFF type: string value: description: Value corresponding to `unit` example: 10 format: int32 type: integer type: object 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 refundDetailResource: description: Used for credit rules. This resource captures the split of fees and tax refunds at the item and order level. properties: amount: description: Refund Amount example: '-10.' format: double type: number amountInCurrencies: items: description: The total refund amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array name: description: The name of the fee or tax. example: Name type: string type: description: Type of refund example: ITEM type: string type: object orderFeeDetail: description: An object containing an orders fee details. properties: amount: description: Tax amount example: 34.56 format: double type: number amountInCurrencies: items: description: The total tax amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: additionalProperties: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object currency: default: USD description: Three-letter currency code as defined by ISO-4217 example: USD type: string invoicedAmount: description: System-generated amount from Invoice service based on requested `amount` example: 34.56 format: double type: number invoicedAmountInCurrencies: items: description: A System-generated amount returned from the Invoice service based on requested `amount` in all currencies used by an order. $ref: '#/components/schemas/amountInCurrencyResource' type: array name: description: Applied tax name example: STATE type: string rate: description: Rate example: 10 format: double type: number rateType: description: Rate type example: PERCENTAGE type: string taxCode: description: Tax code applied example: FR01 type: string type: object orderContactName: description: Contact person's name properties: firstName: description: Contact person's first name example: Alex type: string lastName: description: Contact person's last name example: Doe type: string middleName: description: Contact person's middle name or initial example: E type: string type: object itemFeeDetails: description: Item fees object containing item fee details. properties: amount: description: Tax amount example: 34.56 format: double type: number amountInCurrencies: items: description: The total tax amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: additionalProperties: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object currency: default: USD description: Three-letter currency code as defined by ISO-4217 example: USD type: string invoiceQuantity: description: Total quantity invoiced. If customer placed order for 10 quantity of an item and only 2 got shipped then 2 is the `invoiceQuantity` example: 10 format: int32 type: integer name: description: Applied tax name example: STATE type: string quantity: description: Total number of items in the order example: 12 format: int32 type: integer refundAmount: description: Total refund amount example: 21.5 format: double type: number refundAmountInCurrencies: type: array items: $ref: '#/components/schemas/amountInCurrencyResource' taxCode: description: Tax code applied example: FR01 type: string type: object errorResponse: description: Error response properties: errors: description: Errors items: $ref: '#/components/schemas/errorResponse' type: array message: description: Error message example: Bad request type: string type: description: Error type example: CLIENT_ERROR type: string type: object address: description: Address details properties: addressLine1: description: Address line 1 example: 123 Main St. type: string addressLine2: description: Address line 2 example: Suite 100 type: string addressLine3: description: Address line 3 example: Seventh floor type: string addressLine4: description: Address line 4 example: 'Attention: Pat E. Kake' type: string city: description: City name example: Seattle type: string countryCode: description: ISO 3166-1 alpha-2 based country code example: US type: string email: description: Contact person's email example: test@example.com type: string latitude: description: Address latitude, used with `longitude` to specify the address location. Decimal degrees format; negative is degrees South.**Note:**Value must be between -90 and 90, both inclusive. example: 47.6205 format: double type: number longitude: description: Address longitude, used with `latitude` to specify the address location. Decimal degrees format; negative is degrees South. **Note:**Value must be between -180 and 180, both inclusive. example: -122.3493 format: double type: number name: $ref: '#/components/schemas/orderContactName' phone: $ref: '#/components/schemas/orderContactPhone' postalCode: description: Postal or ZIP code example: '98121' type: string region: description: Region or state example: WA type: string type: description: Address type example: Home type: string required: - addressLine1 - city - countryCode - latitude - longitude - postalCode - region - type type: object orderAppeasementPaymentInfo: description: Order appeasement payment info properties: paymentCounter: description: Payment counter to identify which payment to refund. example: 1 format: int32 type: integer refundAmount: description: Refund amount for appeasements. example: 34.56 format: double type: number refundAmountInCurrencies: items: description: The refund amount specifically for appeasements, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array type: object orderShipInfo: description: An object containing an orders shipment details. properties: attributes: description: User defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: giftMessage: '[]' type: object discounts: items: $ref: '#/components/schemas/shippingDiscount' type: array estimatedDeliveryDate: description: Estimated delivery time (UTC) provided by carrier example: '2022-05-12T09:30:31.198Z' format: date-time type: string estimatedShipDate: description: Estimated shipping time (UTC) provided by merchant example: '2022-05-12T09:30:31.198Z' format: date-time type: string isInvoiced: default: false description: '**true:** At least one captured invoice is created by Invoice service. **false:** Captured invoice is not created.' example: true type: boolean locationNumber: description: Unique value to identify ship-from or Buy Online Pickup from Store location. This must be the locationNumber stored in the fabric Location service. example: WH334 type: string pickups: description: Order pickup details items: $ref: '#/components/schemas/orderPickup' type: array shipMethod: description: Shipping method example: Parcel post delivery type: string shipToAddress: $ref: '#/components/schemas/address' shipToDiscount: description: Merchant-defined shipping discount amount example: 12.6 format: double type: number shipToDiscountInCurrencies: items: description: The shipping discount applied to an order, itemized by each currency used within that order. $ref: '#/components/schemas/amountInCurrencyResource' type: array shipToId: description: 'System-generated UUID associated with `shipInfo`, generated from CnC service. **Note**: An order can have multiple ship-to (delivery) locations and items going to the same location have one `shipToId`.' example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string shipToPrice: description: Merchant-defined shipping cost example: 20 format: double type: number shipToPriceInCurrencies: items: description: The total shipping cost, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array shipToTaxTotal: description: Total shipping tax example: 12.6 format: double type: number shipToTaxTotalInCurrencies: items: description: The total tax applied to shipping costs, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array shipToType: description: Type of shipping address. There are no pre-defined values; the possible values are SDD (same day delivery), point-of-sale (POS), etc. example: SHIP_TO_ADDRESS type: string shipToUnitPrice: description: A number indicating the ship to unit price. example: 20 format: double type: number shipToUnitPriceInCurrencies: items: description: The unit price for shipping, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array shipmentInstructions: description: Shipment instructions example: Handle with care type: string taxCode: description: Applicable tax code, varies from state to state example: FR01 type: string taxDetails: items: $ref: '#/components/schemas/taxDetail' type: array required: - shipToId type: object returnFeeDetail: description: An object containing return fee details. properties: amount: description: Merchant-defined return amount example: 34.56 format: double type: number amountInCurrencies: items: $ref: '#/components/schemas/amountInCurrency' type: array name: description: Fee name example: RETURN_FEE type: string reason: description: Merchant-defined return reason example: Return fee type: string type: description: Return fee type enum: - TAX - DISCOUNT - FEE - ITEM - ADJUSTMENT example: FEE type: string type: object adjustmentDetail: description: Price adjustment details object. properties: adjustmentCounter: description: Sequential or incremental counter for price adjustment example: 1 format: int32 type: integer amount: description: Adjustment amount example: 2.4 format: double type: number amountInCurrencies: description: The adjustment amount, itemized by each currency used within the order. items: $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info in key-value pairs. example: number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ type: object cancelQuantity: description: Cancel quantity example: 2 format: int32 type: integer invoiceQuantity: description: Total quantity invoiced example: 10 format: int32 type: integer notes: description: Placeholder for additional info, if any. example: Any additional info type: string quantity: description: Adjustment quantity example: 2 format: int32 type: integer reasonCode: description: Reason code example: RFC type: string returnQuantity: default: 0 description: Returned quantity of given item example: 1 format: int32 type: integer subReasonCode: description: Subreason code example: Late shipping type: string type: object orderReturns: description: An object containing the order return details. properties: attributes: additionalProperties: description: Attributes example: transactionId: 0R12TQ46 type: object description: Attributes example: transactionId: 0R12TQ46 type: object exchangeLineItemId: description: Exchange line item ID example: 62f3dfc438bcab1951be0a19 type: string fees: items: $ref: '#/components/schemas/returnFeeDetail' type: array invoicedAmount: description: System-generated amount from Invoice service based on requested `amount` example: 11.29 format: double type: number isExchangeItemReturned: default: false description: '**true:** Item received for exchange is returned. **false:** Item received for exchange is not returned.' example: true type: boolean reasonCode: description: Merchant-defined reason code for return example: Incorrect item type: string refundAmount: description: Refund amount example: 11.29 format: double type: number refunds: items: $ref: '#/components/schemas/returnFeeDetail' type: array returnRequestCounter: description: Unique, sequential, or incremental counter for return request example: 1 format: int32 type: integer returnsReceivedAt: description: System-generated time of returned item that has come back to the facility (UTC) example: '2022-09-14T14:07:36.861Z' format: date-time type: string shipmentId: description: 24-character system-generated shipment ID example: 62b37697c67b204dd18a7465 type: string shipmentInvoice: $ref: '#/components/schemas/shipmentInvoiceResource' shipmentLineItemId: description: Unique identifier for each item in the shipment example: '234' type: string shipmentQuantity: default: 0 description: Shipped quantity of given item example: 1 format: int32 type: integer source: description: An optional field used to determine the source that initiated the API request. example: CSR type: string type: object shipmentInvoiceResource: description: Shipment Invoice resource properties: invoiceId: description: Unique Id of the invoice example: 62ff5c0bec0aed3c86202c32 type: string invoiceNumber: description: Unique number of the invoice example: '23940791' type: string invoicedAt: description: Date when order invoiced example: '2022-08-01T20:03:28.483971941Z' format: date-time type: string required: - invoiceId type: object orderUpdatePaymentStatusRequestBalances: description: Order update payment status request balances model properties: authorized: description: Authorized amount example: 123.2 format: double type: number capturable: description: Amount authorized but pending to be captured example: 12.2 format: double type: number captured: description: Captured amount example: 13.2 format: double type: number refundable: description: Refundable amount. That is, pending refund. example: 23.22 format: double type: number refunded: description: Refunded amount example: 3.2 format: double type: number type: object taxDetail: description: An object containing tax information. properties: amount: description: Tax amount example: 34.56 format: double type: number amountInCurrencies: items: description: The tax amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: additionalProperties: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). type: object currency: default: USD description: Three-letter currency code as defined by ISO-4217 example: USD type: string name: description: Applied tax name example: STATE type: string rate: description: Rate example: 10 format: double type: number rateType: description: Rate type example: PERCENTAGE type: string taxCode: description: Tax code applied example: FR01 type: string type: object orderAuditLogUpdatedField: description: Audit log for change history properties: fieldName: description: Field or property name that was updated example: UOM type: string fieldOriginalValue: description: Original value of `fieldName` before it was updated example: PK type: string type: object orderReturnsInfo: description: Order returns info properties: attributes: additionalProperties: description: Attributes example: transactionId: 0R12TQ46 type: object description: Attributes example: transactionId: 0R12TQ46 type: object fees: items: $ref: '#/components/schemas/returnFeeDetail' type: array invoicedAmount: description: System-generated invoiced amount for the return request example: 11.29 format: double type: number invoicedAmountInCurrencies: items: description: The invoiced amount is displayed in all currencies used for the order. If only a single currency was used, then only that currency will be shown. $ref: '#/components/schemas/amountInCurrencyResource' type: array paymentCounterRefundDetails: items: $ref: '#/components/schemas/paymentCounterRefundInfo' type: array refunds: items: $ref: '#/components/schemas/returnFeeDetail' type: array returnCounter: description: Unique, sequential or incremental counter for return request example: 1 format: int32 type: integer totalRefundAmount: description: Merchant-defined total refund amount for the return request example: 11.29 format: double type: number totalRefundAmountInCurrencies: items: description: The total amount refunded, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array type: object paymentDetails: description: An object containing payment details. properties: body: $ref: '#/components/schemas/paymentDetailsResponseBody' paymentStatusCode: description: Status code for payment. There are no pre-defined values; possible values are 200, 400, 402, etc. example: '200' type: string type: object currencyGroup: description: CurrencyGroup object details. properties: attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: fxId: ID123 type: object conversionRate: description: conversion rate example: 1 format: double type: number currency: description: Currency in ISO-4217 example: USD type: string group: description: A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the `Shopper` group uses USD, while the `Retailer` group uses EUR. example: SHOPPER type: string required: - currency - group type: object UpdatePaymentRequest: type: object properties: provider: type: string description: The payment provider, such as Verifone, that offers functions like transaction processing, gateway management, and other financial services. example: verifone processor: type: string description: The payment processor, such as Stripe, responsible for handling and processing payment transactions by facilitating communication between the merchant and the issuing bank. example: stripe method: type: string description: Payment method example: stripe methodType: type: string description: Payment method type example: cc state: type: string description: Payment state example: PENDING enum: - PENDING - AUTHORIZED - CAPTURED - FAILED authorization: $ref: '#/components/schemas/PaymentAuthorization' billToAddress: type: string description: Identifier of billing address example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93 cardDetails: type: object description: Information about the card used for payment, such as gift card details. additionalProperties: type: object description: Information about the card used for payment, such as gift card details. attributes: type: object additionalProperties: type: object description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Payment Request shippingDiscount: description: An object containing shipping discount details. properties: amount: description: Discounted amount for the given `quantity` example: 2.99 format: double type: number amountInCurrencies: items: description: The discounted amount for the specified quantity, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array promotionCode: description: Promotion code used by shoppers to take advantage of an ongoing promotion. example: SHIPFREE type: string promotionId: description: Unique promotion ID either from fabric Offers service or an external Offers service. When fabric Offers service is used, this is the 24-character system-generated promotion ID returned in the response of the create promotion endpoint. example: SHIPFREE type: string promotionName: description: Promotion name example: Free Shipping type: string quantity: description: Number of discounted items in an order such as `buy 2 get 1 free`. In this case `1` is the discounted quantity. example: 1 format: int32 type: integer unit: description: Indicates whether the discount is in amount or percentage example: AMOUNT_OFF type: string value: description: Value corresponding to `unit` example: 10 format: int32 type: integer type: object erroredField: description: An object containing information on error fields, error messages, and the amended status. properties: amended: description: A boolean that signifies if the error has been amended. example: false type: boolean errorMessage: description: The reason the error occurred. example: Invalid email address type: string fieldName: description: The name of the field where the error occurred. example: shipInfo.shipToAddress.email type: string required: - amended - errorMessage - fieldName type: object requestReferenceContextResource: type: object description: Request reference context information properties: id: type: string description: System-generated unique identifier (UUID format) example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111 type: type: string requestId: type: string description: request id readOnly: true requestTime: type: string format: date-time description: System-generated order creation time example: '2022-04-12T09:30:31.198Z' attributes: type: object description: 'Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).' example: attribute: N someFlag: true orderAppeasementDetail: description: The order appeasement details object containing appeasement details. properties: amount: description: Merchant-defined appeasement amount, which should not exceed (`charged amount` - `already refunded amount`). example: 34.56 format: double type: number amountInCurrencies: items: description: The appeasement amount specified by the merchant, which must not be greater than the difference between the charged amount and any amounts already refunded, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array appeasementCounter: description: Sequential or incremental counter for appeasement. Used for keeping track of duplicates in the request. If omitted in the request, it is automatically generated and will not be used to check duplicates. Multiple appeasement calls for the same order can cause repetition of appeasement counter and may cause the request to be rejected completely. example: 1 format: int32 type: integer attributes: description: 'Merchant-defined custom attributes. This is a placeholder for additional info in key: value pairs' example: number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ type: object invoicedAmount: description: System-generated amount from Invoice service based on requested `amount` example: 34.56 format: double type: number invoicedAmountInCurrencies: items: description: System-generated amount from Invoice service based on requested `amount` in all currencies used by an order. $ref: '#/components/schemas/amountInCurrencyResource' type: array payments: items: $ref: '#/components/schemas/orderAppeasementPaymentInfo' type: array reasonCode: description: Merchant-defined appeasement reason code; varies from merchant to merchant. example: Incorrect Item type: string refunds: items: $ref: '#/components/schemas/refundDetailResource' type: array source: description: An optional field used to determine the source that initiated the API request. example: CSR type: string subReasonCode: description: Subreason code for appeasement, for another layer of classification example: Late shipping type: string type: object orderPaymentToken: description: An object containing the order payment token details. properties: paymentType: description: Payment type, for example, credit card payment providers can be Visa, Mastercard, American express, etc. example: VISA type: string token: description: Payment token provided by payment provider example: pi_34tr6787rt type: string type: object updatePaymentRequest: description: Update payment status model properties: balances: $ref: '#/components/schemas/orderUpdatePaymentStatusRequestBalances' connectorInfo: $ref: '#/components/schemas/orderUpdatePaymentStatusConnectorInfo' paymentIdentifier: description: Payment identifier example: '12321343223' type: string status: description: Payment status such as Authorized, Captured, etc. example: Authorized type: string required: - paymentIdentifier type: object cancellationItemResource: description: A resource used to capture detailed cancellation information at the item level. properties: amount: description: Amount example: '-20.' format: double type: number amountInCurrencies: description: The amount associated with the cancellation, itemized by each currency used within the original order. items: $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: description: Custom attributes type: object cancellationCounter: description: An identifier used for cancellations. example: 1 type: string invoicedAmount: description: Invoiced amount example: '-20.' format: double type: number invoicedAmountInCurrencies: items: description: The invoiced amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array payments: items: $ref: '#/components/schemas/paymentReference' type: array quantity: description: The total quantity of an item for this cancellation request. example: 10 format: int32 type: integer reasonCode: description: Reason code example: Order line cancel type: string refunds: items: $ref: '#/components/schemas/refundDetailResource' type: array source: description: An optional field used to determine the source that initiated the API request. example: CSR type: string status: description: Cancellation status enum: - PROCESSING - COMPLETED - REJECTED example: PROCESSING type: string subReasonCode: description: Sub reason code example: Late shipping type: string type: object DeleteAttributesRequest: required: - attributes type: object properties: attributes: type: array description: Include the attributes you wish to remove in an array containing attribute keys that remove the attributes added using the [Add payment attributes](/v3/cart-and-checkout/api-reference/carts-v3/payments/add-payment-attributes) endpoint. example: - test items: type: string description: Include the attributes you wish to remove in an array containing attribute keys that remove the attributes added using the [Add payment attributes](/v3/cart-and-checkout/api-reference/carts-v3/payments/add-payment-attributes) endpoint. example: '["test"]' description: Delete Attributes Request 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 paymentAuthorizationResource: description: Order payment authorization request model properties: paymentCounter: description: Identify the specific payment for authorization. example: 1 format: int32 type: integer type: object orderResponse: description: An object containing order details. properties: adjustmentTotal: description: The total amount of price adjustments for all items of the order. example: 123.45 format: double type: number adjustmentTotalInCurrencies: items: description: The total price adjustments applied to all items within an order, itemized by each currency used in that order. $ref: '#/components/schemas/amountInCurrencyResource' type: array adjustments: description: Price adjustments refer to changes or modifications made to the listed price of a product. A Customer Sales Representative (CSR) makes the price adjustments to provide discounts, promotional offers, or coupons that the shopper used. items: $ref: '#/components/schemas/adjustmentDetail' type: array allocatedAt: description: System-generated order allocation time (UTC) once the order is allocated using Allocation service example: '2022-05-12T09:30:31.198Z' format: date-time type: string appeasementTotal: description: Final appeasement amount example: 12.34 format: double type: number appeasementTotalInCurrencies: items: description: The final appeasement amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array appeasements: items: $ref: '#/components/schemas/orderAppeasementDetail' type: array attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: fraudCheckStatus: UPDATED loyaltyStatus: N type: object auditLogs: items: $ref: '#/components/schemas/auditLog' type: array cancelTotal: description: Amount to be returned after order cancellation, calculated as `cancelledQuantity / orderedQuantity * itemTotal` example: 12.34 format: double type: number cancelTotalInCurrencies: items: description: The total amount to be returned to the customer following an order cancellation, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array cancellations: items: $ref: '#/components/schemas/cancellationResource' type: array cancelledAt: description: System-generated order cancellation time in UTC. This is returned in the response of Cancel order by ID - `POST /orders/{orderId}/actions/cancel` or Cancel order by order number - `POST /orders/order-number/{orderNumber}/actions/cancel` once the order is successfully cancelled. example: '2022-05-12T09:30:31.198Z' format: date-time type: string cartId: description: Unique cart identifier, either from fabric Cart service or an external Cart service. It is used for linking an order to a specific cart. If available, it is also used for inventory reservation from cart workflow. example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string channelId: description: Sales channel ID example: '12' type: string createdAt: description: Order creation time (UTC) example: '2022-05-12T09:30:31.198Z' format: date-time type: string currencies: $ref: '#/components/schemas/currencies' description: The supported currency groups you defined. currency: description: Three-letter currency code as defined by ISO-4217 example: USD type: string customer: $ref: '#/components/schemas/invoiceCustomer' discounts: items: $ref: '#/components/schemas/orderDiscount' type: array employeeId: description: Employee (ID or name) who initiated the request example: '43278' type: string erroredFields: items: $ref: '#/components/schemas/erroredField' type: array feeTotal: description: Recalculated total fee, calculated as `orderedQuantity* itemFeeTotal` example: 12.34 format: double type: number feeTotalInCurrencies: items: description: The updated total fee amount for an order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array fees: items: $ref: '#/components/schemas/orderFeeDetail' type: array invoiceTotal: description: Total payment captured by fabric Invoice service. If merchant is using third-party service, then this amount will be null. For partial payment scenarios, this value will be different from `orderTotal`. example: 12.34 format: double type: number invoiceTotalInCurrencies: items: description: The total payment captured by fabric's Invoice service, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array items: description: Item details items: $ref: '#/components/schemas/orderItem' maxItems: 2147483647 minItems: 1 type: array notes: items: $ref: '#/components/schemas/orderNote' type: array orderDiscount: description: Recalculated order discount example: 1.23 format: double type: number orderDiscountInCurrencies: items: description: The updated total discount applied to the order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array orderId: description: 24-character system-generated order ID example: 5349b4ddd2781d08c09890f4 type: string orderNumber: description: Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service example: '309019176' type: string orderExternalId: type: string description: "A merchant-defined external order identifier. \nThis field is optional and can be used to reference the order in external \nsystems such as an ERP, OMS, or CRM.\n" example: 191763090_O1231 orderReleasedAt: description: Order released time (UTC). When an order is placed, its status is On Hold by default and the duration of hold may vary from merchant to merchant (~1 min). After the hold period, the order is released from hold. example: '2022-05-12T09:30:31.198Z' format: date-time type: string orderSubtotal: description: Recalculated `orderSubtotal` - `summationOfAll(itemSubTotal)` example: 123.45 format: double type: number orderSubtotalInCurrencies: items: description: The updated subtotal for the entire order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array orderTotal: description: Total amount to be charged for the order = `orderSubTotal` - `orderDiscountTotal` + `orderFeeTotal` + `orderTaxTotal` example: 146.9 format: double type: number orderTotalInCurrencies: items: description: The total amount to be charged for the order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array orderedAt: description: Merchant-defined order creation time in UTC. It is mandatory in the request body of Create Order endpoint - `POST /orders`. example: '2022-05-12T09:30:31.198Z' format: date-time type: string originalAdjustmentTotal: description: Original adjustment total example: 123.45 format: double type: number originalAdjustmentTotalInCurrencies: items: description: The initial total value of adjustments made to an order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalDiscount: description: System-generated total discount, auto-filled by Orders service when the order is placed. This is saved for reference in case the value changes later. example: 1.45 format: double type: number originalDiscountInCurrencies: items: description: The initial discount applied to an order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalFeeTotal: description: System-generated total fees, auto-filled by Orders service when the order is placed. example: 12.34 format: double type: number originalFeeTotalInCurrencies: items: description: The initial total fee amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalOrderTotal: description: System-generated order total, auto-filled by Orders service when the order is placed. This is saved for reference in case the `orderTotal` changes later. example: 146.9 format: double type: number originalOrderTotalInCurrencies: items: description: The initial total cost of the entire order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalSubtotal: description: System-generated order subtotal, auto-filled by Orders service when the order is placed. This is saved for reference in case the value changes later. example: 113.45 format: double type: number originalSubtotalInCurrencies: items: description: The initial subtotal of the entire order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalTaxTotal: description: System-generated total tax, auto-filled by Orders service when the order is placed. example: 12.34 format: double type: number originalTaxTotalInCurrencies: items: description: The initial total tax amount for an order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array payments: items: $ref: '#/components/schemas/orderPayment' type: array retail: $ref: '#/components/schemas/orderRetail' returnTotal: description: Return total of order, for return scenarios, calculated as `summationOfAll(itemReturnTotal)` example: 12.34 format: double type: number returnTotalInCurrencies: items: description: The total amount returned for an order, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array returns: items: $ref: '#/components/schemas/orderReturnsInfo' type: array shipInfo: items: $ref: '#/components/schemas/orderShipInfo' maxItems: 2147483647 minItems: 1 type: array statusCode: description: Status code. There are no pre-defined values; possible values are - ORDER_ALLOCATED ("Order Allocated"), ORDER_SHIPPED ("Order Shipped"), ORDER_PARTIALLY_SHIPPED ("Order Partially Shipped"), ORDER_PICKED_UP ("Order Picked Up"), ORDER_PARTIALLY_PICKED_UP ("Order Partially Picked Up"), ORDER_DELIVERED ("Order Delivered"), ORDER_PARTIALLY_DELIVERED ("Order Partially Delivered"), ORDER_RETURNED ("Order Returned"), ORDER_HOLD_EXTERNAL ("Order on Hold") etc. example: ORDER_CREATED type: string statusDescription: description: Human-readable brief description based on `statusCode` example: Order Created type: string subtype: description: Order subtype, for further classification enum: - IOS - ANDROID - INTERNATIONAL example: INTERNATIONAL type: string taxTotal: description: Recalculated total tax on order `summationOfAll(itemTaxTotal)+summationOf(tax[].value)` example: 12.34 format: double type: number taxTotalInCurrencies: items: description: The updated total tax amount, itemized by each currency used within that order. $ref: '#/components/schemas/amountInCurrencyResource' type: array type: description: Order type is critical for the order life cycle as it indicates the workflow. For example, storefront orders have a different workflow than call center orders. fabric Orders service offers standard configurations for storefront, call center, point of sale, iOS, Android, and international. enum: - WEB - CSC - MOBILE_APP - POS example: WEB type: string transactionLogs: type: array items: $ref: '#/components/schemas/requestReferenceContextResource' updatedAt: description: Time of last update to order (UTC) example: '2022-05-12T09:30:31.198Z' format: date-time type: string version: description: Current version of order document. Indicates the number of times the order is updated by any operation. example: 2 format: int64 type: integer required: - channelId - items - orderNumber - shipInfo - statusCode - version type: object paymentCounterRefundInfo: description: An object containing payment counter refund details. properties: amount: description: Final refunded amount example: 34.56 format: double type: number amountInCurrencies: items: description: the payment counter refund amount, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array paymentCounter: description: Unique incremented number for this payment object. example: 1 format: int32 type: integer type: object orderItem: description: An object containing an orders item details. properties: adjustments: description: Price adjustments are made to modify product prices during order creation, aiming to incentivize shoppers by offering discounts and promotions based on specified criteria. Price adjustments are also made to apply coupons that the shopper has used. items: $ref: '#/components/schemas/adjustmentDetail' type: array appeasementTotal: description: Appeasement total = `summationOfAll(appeasements[].amount and items[].appeasements[].amount)` example: 5.5 format: double type: number appeasementTotalInCurrencies: items: description: The total appeasement amount, calculated as the sum of all `appeasements[].amount` and `items[].appeasements[].amount` values, expressed in all currencies used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array appeasements: description: Appeasement info items: $ref: '#/components/schemas/orderAppeasementDetail' type: array attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: colorCode: '001' isDonation: 'false' style: '570223020' type: object backOrderedQuantity: description: Backordered quantity of given item example: 10 format: int32 type: integer cancellations: items: $ref: '#/components/schemas/cancellationItemResource' type: array cancelledAmount: description: Cancelled amount is either voided (payment is only authorized but not captured at checkout) or refunded (amount is authorized and captured at checkout). example: 12.4 format: double type: number cancelledAmountInCurrencies: items: description: The total amount cancelled, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array cancelledQuantity: description: Cancelled quantity of an item example: 10 format: int32 type: integer channelId: description: Sales channel ID example: WHBM type: string currency: description: Three-letter currency code as defined by ISO-4217 example: USD type: string deliveredQuantity: description: Delivered quantity of an item example: 10 format: int32 type: integer discounts: description: Discount details items: $ref: '#/components/schemas/orderDiscount' type: array employeeId: description: Employee (ID or name) who initiated the request example: 5345HJH type: string exchangeQuantity: description: System-generated item quantity that are exchanged example: 13 format: int32 type: integer fees: description: Fee details items: $ref: '#/components/schemas/itemFeeDetails' type: array fulfillment: $ref: '#/components/schemas/itemFulfillmentResource' hasInfiniteConsent: description: Applicable for backorder and preorder scenarios where customer consents for further delay in delivery of preordered and backordered items than the initial estimate. **true:** Customer consents for delayed delivery. **false:** Customer does not consent for delayed delivery. example: true type: boolean invoiceTotal: description: Invoice total is updated once invoice created example: 800 format: double type: number invoiceTotalInCurrencies: items: description: The total amount to be charged for the invoice, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array invoicedQuantity: description: Invoiced quantity of an item example: 10 format: int32 type: integer isBackorder: description: Merchant-defined value. **true:** Backordered item. **false:** Ordered item. example: true type: boolean isDonation: description: '**true:** Item is a donation. **false:** Item is not a donation.' example: true type: boolean isExchangeItem: description: Merchant-defined value for exchange scenarios. **true:** Item is an exchange. **false:** Item is not an exchange. example: true type: boolean isGifting: description: '**true:** Item is a gift. **false:** Item is not a gift.' example: true type: boolean isPreorder: description: Merchant-defined value. **true:** Pre-ordered item. **false:** Ordered item. example: true type: boolean isFulfillable: type: boolean description: "Determines whether an **Allocation** document must be created before fulfillment. \n- If `false`, the allocation step is skipped and the process continues directly to **Invoice & Payment Capture**. \n- If omitted, the system defaults to `true`.\n" example: true default: true isInventoryManaged: type: boolean description: "Indicates whether the **On-Hand / Available to Purchase** quantity is managed in fabric OMS. \n- If `false`, inventory management is bypassed and no inventory document is created in OMS. \n- If omitted, the system defaults to `true`.\n" example: true default: true itemAdjustmentTotal: description: Total price adjustment made to the item. example: 123.45 format: double type: number itemAdjustmentTotalInCurrencies: items: $ref: '#/components/schemas/amountInCurrencyResource' type: array itemDiscountsTotal: description: Item's total discount = `summationOfAll(discounts[].amount)'. Refer to `amount` in `orderDiscount`. example: 80 format: double type: number itemDiscountsTotalInCurrencies: items: description: The total discount applied to an item, calculated as the sum of all `discounts[].amount` values, expressed in all currencies used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemFeeTotal: description: Recalculated item's fee = `summationOfAll(itemFeeTotal)`. Refer to `amount` in `itemFeeDetails` example: 200 format: double type: number itemFeeTotalInCurrencies: items: description: The updated fee for an item, calculated as the sum of all `itemFeeTotal` values, expressed in all currencies used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemId: description: System-generated unique identifier of item from fabric Products (PIM) service example: 1234 format: int32 type: integer itemName: description: Item name example: Item type: string itemShippingTotal: description: Merchant-defined item's shipping total example: 10 format: double type: number itemShippingTotalInCurrencies: items: description: The updated total shipping cost for an item, expressed in all currencies used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemSubtotal: description: Recalculated item's subtotal = `itemUnitPrice x (orderedQuantity - cancelledQuantity)` example: 600 format: double type: number itemSubtotalInCurrencies: items: description: The updated subtotal for an item, calculated as `itemUnitPrice x (orderedQuantity - cancelledQuantity)`, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemSubtype: description: Subtype of `type`, for another layer of classification. example: Borderfree type: string itemTaxTotal: description: Recalculated total tax on item = `summationOfAll(itemTaxTotal)` example: 80 format: double type: number itemTaxTotalInCurrencies: items: description: The updated total tax on an item, calculated as the sum of all `itemTaxTotal` values, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemTotal: description: Recalculated item's total cost = `itemSubTotal - itemDiscountTotal + itemTaxTotal + itemFeeTotal`. example: 800 format: double type: number itemTotalInCurrencies: items: description: The updated total cost of an item, calculated as `itemSubTotal - itemDiscountTotal + itemTaxTotal + itemFeeTotal`, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array itemUnitPrice: description: Item's unit price example: 10 format: double type: number itemUnitPriceInCurrencies: items: description: The price of a single unit of an item, itemized by each currency used within the order. $ref: '#/components/schemas/amountInCurrencyResource' type: array lineItemId: description: Merchant-defined unique identifier for each item in an order. When omitted, fabric will generate it (in UUID format) during order creation. example: d538b1f1-0e45-43c6-bfc6-9666fc1188ca type: string lineItemNumber: description: Merchant-defined line item number to identify each item in an order example: 1 format: int32 type: integer lineOrderStatus: description: System-generated status for each item in the orders - SHIPPED, RETURNED, CANCELLED, EXCHANGED, VALID, and the like example: VALID type: string notes: description: For additional information, to be used by Customer Service Representative (CSR) only items: $ref: '#/components/schemas/orderNote' type: array orderedQuantity: description: Ordered quantity of given item example: 60 format: int32 type: integer orderedQuantityToShip: description: Quantity of given item that is yet to ship, out of the initially allocated quantity. For example, if a customer orders four units of an item, inventory will reserve four units of the item. If only two units are currently available and are shipped, the remaining two units will be considered as the `pendingShippedQuantity`. example: 10 format: int32 type: integer originalDiscounts: description: System-generated total discount, auto-filled by Orders service when the order is placed. example: 50 format: double type: number originalDiscountsInCurrencies: items: description: The initial discounts applied, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalFeeTotal: description: System-generated fee total, auto-filled by fabric Orders when the order is placed. This is saved for reference in case the value changes later. example: 300 format: double type: number originalFeeTotalInCurrencies: items: description: The initial total fee amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalItemAdjustmentTotalInCurrencies: items: description: The initial total value of item adjustments, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalItemSubtotal: description: System-generated total discount, auto-filled by Orders service when the order is placed. example: 800 format: double type: number originalItemSubtotalInCurrencies: items: description: The initial subtotal for an item, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalItemTotal: description: System-generated item total cost, auto-filled by Orders service when the order is placed example: 500 format: double type: number originalItemTotalInCurrencies: items: description: The initial total cost of an item, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalOutstandingItemTotalInCurrencies: items: description: The initial outstanding total cost of items that had not yet been paid for, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalShippingTotal: description: System-generated total shipping cost, auto-filled by Orders service when the order is placed. example: 80 format: double type: number originalShippingTotalInCurrencies: items: description: The initial total shipping cost, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array originalTaxTotal: description: System-generated total tax, auto-filled by Orders service when the order is placed. example: 90 format: double type: number originalTaxTotalInCurrencies: items: description: The initial total tax amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array outstandingItemTotalInCurrencies: items: description: The remaining total cost of items that have not yet been paid for, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array parentLineItemNumber: description: Applicable in exchange scenarios. Item being returned is the `parentLineItemNumber`. example: 12 format: int32 type: integer pendingExchangeQuantity: description: System-generated item quantity pending for exchange example: 12 format: int32 type: integer pendingReturnQuantity: description: Quantity of an item awaiting approval for return. For example, when customer initiates return request for 2 units of an item, the request will be initially in a pending status because they are awaiting approval from merchant. They are referred to as `pendingReturnQuantity`. example: 10 format: int32 type: integer pendingShippedBackOrderQuantity: description: Backordered quantity that is yet to be shipped. For example, If a customer places a backorder for four units of an item, inventory will reserve four units of the item to ship when they become available. If only two units are available and are shipped, the remaining two backordered units will be considered as the `pendingShippedBackOrderQuantity`. example: 10 format: int32 type: integer processingReturnQuantity: description: Quantity of an item currently being processed for return. For example, when merchant approves return of 1 out of 2 units of an item, then 1 is the `processingReturnQuantity` example: 10 format: int32 type: integer quantityInStatus: $ref: '#/components/schemas/quantityInStatus' refundAmount: description: Merchant-defined total refund amount example: 21.5 format: double type: number refundAmountInCurrencies: items: description: The total refund amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array rejectedReturnQuantity: description: Quantity of an item rejected in return request. For example, For example, when merchant rejects return of 1 out of 2 units of an item, then 1 is the `rejectedReturnQuantity`. example: 10 format: int32 type: integer reshippedQuantity: description: Reshipped quantity of given item (in case of lost shipment) example: 10 format: int32 type: integer returnedQuantity: description: Returned quantity of given item example: 10 format: int32 type: integer returns: description: Order return details items: $ref: '#/components/schemas/orderReturns' type: array shipToId: description: 'System-generated ship-to ID (UUID) associated with `shipInfo`, generated from CnC service. **Note**: An order can have multiple ship-to (delivery) locations and items going to the one location will have the same `shipToId`.' example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string shippedQuantity: description: Shipped quantity of an item example: 10 format: int32 type: integer sku: description: Stock keeping unit (SKU), unique identifier of item example: P1234 type: string taxCode: description: Applicable tax code, varies from state to state example: FR01 type: string taxDetails: description: Tax details items: $ref: '#/components/schemas/taxDetail' type: array type: description: Order type. Critical in order life cycle as it indicates the workflow that varies with the type. For example, Storefront orders have a different workflow than Call Center orders. fabric Orders service offers default configurations for Storefront, Call Center, Point of Sale, iOS, Android, and International. example: WEB_SHIP type: string uom: description: Unit in which a product is sold or measured. It is important to accurately fulfill orders and ensure customers receive the correct quantity of products they have ordered. The possible values are EA (Each) or GAL (Gallon), DZ (Dozen), etc. example: EA type: string vendorId: description: Vendor ID. Applicable in drop shipping to indicate vendor responsible for given item. example: P1234 type: string required: - itemId - lineItemId - lineItemNumber - shipToId - sku type: object cancellationResource: description: Cancellation resource properties: amount: description: Amount example: '-20.' format: double type: number amountInCurrencies: items: description: The total amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array attributes: description: Custom attributes example: number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ type: object cancellationCounter: description: An identifier used for cancellations. example: 1 type: string invoicedAmount: description: Invoiced amount example: '-20.' format: double type: number invoicedAmountInCurrencies: items: description: The invoiced amount will be displayed in all currencies used for the order. If only a single currency was used, then only that currency will be shown. $ref: '#/components/schemas/amountInCurrencyResource' type: array payments: items: $ref: '#/components/schemas/paymentReference' type: array reasonCode: description: Reason code example: Order Line Cancel type: string refunds: items: $ref: '#/components/schemas/refundDetailResource' type: array source: description: An optional field used to determine the source that initiated the API request. example: CSR type: string status: description: Cancellation Status enum: - PROCESSING - COMPLETED - REJECTED example: PROCESSING type: string subReasonCode: description: Sub reason code example: Late shipping type: string type: object amountInCurrencyResource: description: Amount in currency object details. properties: amount: description: The amount displayed in the primary currency. example: 123.45 format: double type: number currency: description: Currency in ISO-4217 example: USD type: string group: description: A unique identifier for currencies. All calculations and invoicing are based on this identifier. For example, the `Shopper` group uses USD, while the `Retailer` group uses EUR. example: SHOPPER type: string required: - currency - group type: object orderContactPhone: description: Contact person's phone details. properties: number: description: Contact person's phone number example: 123-456-7890 type: string type: description: Contact number type enum: - MOBILE - HOME - BUSINESS example: MOBILE type: string type: object currencies: description: currencies properties: groups: items: $ref: '#/components/schemas/currencyGroup' type: array primaryCurrency: description: Primary currency for order example: SHOPPER type: string type: object orderRetail: description: Optionally used as reference, for orders created from Point-of-Sale systems properties: cashierId: description: Merchant-defined cashier ID during order creation example: C-123 type: string locationNumber: description: Unique value to identify ship-from or Buy Online Pickup from Store location. This must be the locationNumber stored in the fabric Location service. example: WH334 type: string registerId: description: Merchant-defined register ID during order creation example: '113' type: string transactionId: description: Transaction ID such as the Point-of-Sale system's version of the `orderId`. example: '328942333412' type: string type: object CreatePaymentRequest: required: - method - methodType - processor - provider type: object properties: provider: type: string description: The payment provider, such as Verifone, that offers functions like transaction processing, gateway management, and other financial services. example: verifone processor: type: string description: The payment processor, such as Stripe, responsible for handling and processing payment transactions by facilitating communication between the merchant and the issuing bank. example: stripe method: type: string description: Payment method example: stripe methodType: type: string description: Payment method type example: cc state: type: string description: Payment state example: PENDING enum: - PENDING - AUTHORIZED - CAPTURED - FAILED authorization: $ref: '#/components/schemas/PaymentAuthorization' billToAddress: type: string description: The Address ID that was generated when an address was created using the [Create address](/v3/cart-and-checkout/api-reference/carts-v3/addresses/create-addresses) endpoint. example: a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93 cardDetails: type: object description: Information about the card used for payment, such as gift card details. additionalProperties: type: object description: Information about the card used for payment, such as gift card details. attributes: type: object additionalProperties: type: object description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Custom attributes associated with the transaction, such as the name of the gift card used. example: gift-card-name: custom name description: Payment Request paymentResponse: description: Payment information properties: amount: description: Transaction amount for the payment operation example: -12.4 type: number amountInCurrencies: description: The details of the `CurrencyList`, itemized by each currency used within the order. items: $ref: '#/components/schemas/amountInCurrency' properties: empty: type: boolean type: array attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: key: value type: object data: $ref: '#/components/schemas/paymentDetails' id: description: ID provided by payment gateway in response to payment operation example: '328942333412' type: string paymentId: description: Merchant-provided unique identifier for a payment based on payment connector. When omitted, this value will be generated by fabric in UUID format. example: '328942333412' type: string paymentLogId: description: ID generated by fabric to uniquely identify the payment log example: '328942333412' type: string paymentLogRefId: description: Payment reference log ID with which this record is associated example: '328942333412' type: string status: description: Payment status such as Authorized, Captured, etc. example: Authorized type: string type: description: Transaction type such as VOID, CAPTURED, REDUND, etc. example: REFUND type: string type: object orderPickup: description: An object containing the order pickup details. properties: email: description: Contact person's email example: test@example.com type: string name: $ref: '#/components/schemas/orderContactName' phone: $ref: '#/components/schemas/orderContactPhone' pickupType: description: Order pickup type enum: - PRIMARY - ALTERNATE example: PRIMARY type: string type: object paymentReference: description: Payment details for order properties: paymentCounter: description: A sequential or incremental counter associated with a payment for an order. Applicable in refund scenarios to identify the specific payment for refund. example: 1 format: int32 type: integer amount: description: Payment refund amount example: 60 format: double type: number amountInCurrencies: items: description: Payment refund amount in currencies $ref: '#/components/schemas/amountInCurrencyResource' type: array orderNote: description: Note for attention properties: createdAt: description: Time note was created (UTC) example: '2022-05-12T09:30:31.198Z' type: string notes: description: Additional info about the order, if any example: Fragile - handle with care type: string user: description: Customer Service Representative or Employee (ID or name) who created the note example: 62272e917b12209e68751d94 type: string type: object invoiceCustomer: description: Invoice customer properties: accountId: description: Customer's loyalty account ID or external identifier that is used to track their loyalty program activity and rewards earned. example: 62272e917b12209e68751d94 type: string company: description: Shopper's company name. This may be used for company discounts. example: Demo Inc type: string email: description: Contact person's email example: test@example.com type: string employeeId: description: Employee (ID or name) who initiated an update request example: 62272e917b12209e68751d94 type: string name: $ref: '#/components/schemas/orderContactName' phone: $ref: '#/components/schemas/orderContactPhone' userId: description: Identifier of the logged in user who initiated the request. This could be from either fabric Identity service or an external Identity service. example: 62272e917b12209e68751d94 type: string type: object orderPaymentAuthorizationResource: description: The Order Payment Authorization request object. properties: orderNumber: description: The merchant-defined order identifier. example: '309019176' type: string payments: description: An array containing the payments object. items: $ref: '#/components/schemas/paymentAuthorizationResource' type: array required: - orderNumber type: object paymentAuthorizationRequest: description: Payment Authorization request model properties: force: default: false description: Ignore validation rules and force request to call the payment authorization example: false type: boolean orders: description: orders object items: $ref: '#/components/schemas/orderPaymentAuthorizationResource' type: array sync: default: false description: Process request in synchronous mode example: false type: boolean type: object orderUpdatePaymentStatusConnectorInfo: description: Order update payment status request connector info model properties: connectorName: description: Connector name example: checkout type: string eventId: description: Event ID example: abc12345 type: string paymentMethodType: description: Payment method type example: Visa type: string type: object orderPayment: description: An object containing an orders payment details. properties: attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: captureCurrencyCode: USD payerId: M7AWTK3YK3B46 referenceId: 4DY41894J2904533S type: object authorizationAttempts: description: An integer representing the number of payment authorization attempts. example: 0 format: int64 type: integer authorizedAmount: description: Amount authorized to be debited from the given `paymentMethod` example: 123.2 format: double type: number authorizedAmountInCurrencies: items: description: The amount authorized for debit from the specified payment method, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array billToAddress: $ref: '#/components/schemas/address' chargedAmount: description: Amount charged to the given `paymentMethod` example: 60 format: double type: number chargedAmountInCurrencies: items: description: The amount charged to the specified payment method, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array currency: description: Three-letter currency code as defined by ISO-4217 example: USD type: string isFinalCapture: description: '**true:** Payment is final capture. **false:** Payment is not a final capture.' example: false type: boolean isPartialCapture: description: '**true:** Payment is partial capture. **false:** Payment is full capture.' example: false type: boolean paidAt: description: System-generated time when payment was captured at shipment. In case of payment captured at checkout, this is a merchant-defined value given during order creation. example: '2022-01-27T16:15:58-05:00' format: date-time type: string paymentCounter: description: A sequential or incremental counter associated with a payment for an order. Applicable in refund scenarios to identify the specific payment for refund. example: 1 format: int32 type: integer paymentIdentifier: $ref: '#/components/schemas/orderPaymentIdentifier' paymentLogs: description: Payment details items: $ref: '#/components/schemas/paymentResponse' type: array paymentMethod: description: Payment method such as PayPal or credit card example: CREDIT_CARD type: string paymentProvider: description: Payment provider example: stripe type: string paymentStatus: description: Payment status. There are no pre-defined values; possible values are Paid, Partially Paid, Authorized, and Error. example: Paid type: string paymentToken: $ref: '#/components/schemas/orderPaymentToken' reauthorizationAttempts: description: An integer representing the number of payment reauthorization attempts. example: 0 format: int64 type: integer refundAmount: description: Merchant-defined refund amount example: 21.5 format: double type: number refundAmountInCurrencies: items: description: The merchant specified refund amount, itemized by each currency used within a specific order. $ref: '#/components/schemas/amountInCurrencyResource' type: array type: object orderPaymentIdentifier: description: An object containing the details of payment modes and payment identifiers. properties: cardIdentifier: description: Last 4 digits of the card example: '3456' type: string expirationMonth: description: Card expiration month example: '12' type: string expirationYear: description: Card expiration year example: '2029' type: string fabricPaymentReference: description: System-generated UUID referenced internally for Invoice and Orders services. example: f886c96c-5f65-11ed-9b6a-0242ac120002 type: string paymentId: description: Merchant provided unique identifier for a payment based on payment connector. When omitted, it is a fabric-generated UUID. example: 62272e917b12209e68751d94 type: string type: object paymentDetailsResponseBody: description: Payment info properties: attributes: description: Merchant-defined custom attributes. This is a placeholder for additional info (in key-value pairs). example: key: value type: object errors: description: Error details items: additionalProperties: description: Error map example: key: value type: object description: Error map example: key: value type: object type: array responseCode: description: Response code such as success, OK, or failure example: OK type: string status: description: Payment status such as Authorized, Captured, etc. example: Authorized type: string transactionId: description: Transaction ID such as the point-of-sale system's version of the `orderId`. example: '328942333412' type: string transactionTimestamp: description: Transaction time (UTC) when the payment was successful example: 2022-04-10T23:00:45:12.111Z type: string type: object 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 auditLog: description: Audit log to capture change history properties: amount: description: Amount for which audit is done example: 2.4 format: double type: number attributes: description: Custom attributes example: key: value type: object auditId: description: System-generated audit ID (UUID format) example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111 type: string auditType: description: Audit type such as cancel, return, etc. example: CANCEL type: string auditedAt: description: Audit time (UTC) example: '2023-03-12T09:24:54.804Z' format: date-time type: string employeeId: description: Employee (ID or name) who made the last update example: '6227' type: string isSuccess: default: false description: 'true: Update operation (any update to the service) is successful false: Update operation has failed' example: true type: boolean lineItemId: description: Merchant-defined unique identifier for each item in an order. When omitted, fabric will generate it during order creation, in UUID format. example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string lineItemNumber: description: Item identifier example: 1 format: int32 type: integer note: description: Additional info, if any example: Note type: string paymentToken: $ref: '#/components/schemas/orderPaymentToken' policyCode: description: Configurable in Copilot as per requirement. If omitted, default policy is used. example: POS type: string quantity: description: Ordered quantity of given item example: 1 format: int32 type: integer reasonCode: description: Merchant-defined reason code, varies from merchant to merchant example: Scratched item type: string sku: description: Stock keeping unit (SKU), unique item identifier example: SKU0023 type: string source: description: Merchant-defined source from where the update was initiated. There are no predefined values; possible values could be Customer Service Representative (CSR), Point-of-Sale (POS), etc. example: POS type: string subReasonCode: description: Merchant-defined sub reason code; provides more clarity to audit reason example: Scratched item type: string updatedFields: description: Audit log for change history items: $ref: '#/components/schemas/orderAuditLogUpdatedField' type: array type: object 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 parameters: xFabricTenantId: 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. example: 5f328bf0b5f328bf0b5f328b in: header name: x-fabric-tenant-id required: true schema: type: string xFabricRequestId: description: Unique request ID example: 263e731c-45c8-11ed-b878-0242ac120002 in: header name: x-fabric-request-id required: false schema: type: string xFabricChannelId: description: x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required. example: '12' in: header name: x-fabric-channel-id required: true schema: type: string headers: xFabricRequestIdResponseHeader: description: Unique request ID example: 263e731c-45c8-11ed-b878-0242ac120002 required: false schema: type: string 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. '