POST
/
orders
/
{orderId}
/
actions
/
cancel

Authorizations

Authorization
string
headerrequired

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-fabric-tenant-id
string
required

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. This header is required.

x-fabric-channel-id
string
required

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.

x-fabric-request-id
string

Unique request ID

Path Parameters

orderId
string
required

24-character system-generated order ID returned in the response of Create Order - POST /orders endpoint.

Body

application/json

Order cancellation request

reasonCode
string
required

Reason code for cancellation, varies from merchant to merchant

attributes
object

Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).

employeeId
string

Employee (ID or name) who initiated the order cancellation request

items
object[]

Cancellation request

note
string

Additional notes, if any

policyCode
string

Merchant-defined policy code, varies from merchant to merchant. If omitted, the default policy is used.

releaseSoftReservation
boolean
source
string

Merchant-defined source from where the cancellation request was initiated. There are no pre-defined values; possible values could be Customer Service Representative (CSR), point-of-sale (POS), etc.

subReasonCode
string

Subreason code for order cancellation, for another layer of classification

Response

200 - application/json

Order details

channelId
string
required

Sales channel ID

items
object[]
required

Item details

orderNumber
string
required

Merchant-defined order identifier. If omitted, this is generated by fabric's sequence generator using Configuration service

shipInfo
object[]
required
statusCode
string
required

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"), etc.

version
integer
required

Current version of order document. Indicates the number of times the order is updated by any operation.

adjustmentTotal
number

The total amount of price adjustments for all items of the order.

adjustments
object[]

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.

allocatedAt
string

System-generated order allocation time (UTC) once the order is allocated using Allocation service

appeasementTotal
number

Final appeasement amount

appeasements
object[]
attributes
object

Merchant-defined custom attributes. This is a placeholder for additional info (in key: value pairs).

auditLogs
object[]
cancelTotal
number

Amount to be returned after order cancellation, calculated as cancelledQuantity / orderedQuantity * itemTotal

cancelledAt
string

System-generated order cancellation time (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.

cartId
string

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.

createdAt
string

Order creation time (UTC)

currency
string

Three-letter currency code as defined by ISO-4217

customer
object

Invoice customer

discounts
object[]
employeeId
string

Employee (ID or name) who initiated the request

erroredFields
object[]
feeTotal
number

Recalculated total fee, calculated as orderedQuantity* itemFeeTotal

fees
object[]
invoiceTotal
number

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.

notes
object[]
orderDiscount
number

Recalculated order discount

orderId
string

24-character system-generated order ID

orderReleasedAt
string

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.

orderSubtotal
number

Recalculated orderSubtotal - summationOfAll(itemSubTotal)

orderTotal
number

Total amount to be charged for the order = orderSubTotal - orderDiscountTotal + orderFeeTotal + orderTaxTotal

orderedAt
string

Merchant-defined order creation time (UTC). It is mandatory in the request body of Create Order endpoint - POST /orders.

originalDiscount
number

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.

originalFeeTotal
number

System-generated total fees, auto-filled by Orders service when the order is placed

originalOrderTotal
number

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.

originalSubtotal
number

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.

originalTaxTotal
number

System-generated total tax, auto-filled by Orders service when the order is placed

payments
object[]
retail
object

Optionally used as reference, for orders created from Point-of-Sale systems

returnTotal
number

Return total of order, for return scenarios, calculated as summationOfAll(itemReturnTotal)

returns
object[]
statusDescription
string

Human-readable brief description based on statusCode

subtype
enum<string>

Order subtype, for further classification

Available options:
IOS,
ANDROID,
INTERNATIONAL
taxTotal
number

Recalculated total tax on order summationOfAll(itemTaxTotal)+summationOf(tax[].value)

type
enum<string>

Order type. It is critical for 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 standard configurations for Storefront, Call Center, Point of Sale, iOS, Android, and International.

Available options:
WEB,
CSC,
MOBILE_APP,
POS
updatedAt
string

Time of last update to order (UTC)