components:
headers:
xFabricRequestIdResponseHeader:
description: Unique request ID
example: 263e731c-45c8-11ed-b878-0242ac120002
required: false
schema:
type: string
parameters:
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
xFabricChannelIdOptional:
description: >-
x-fabric-channel-id identifies the sales channel through which the API
request is being made; primarily for multichannel use cases. It is an
optional field. The default US channel is 12 while the default Canada
channel is 13.
example: '12'
in: header
name: x-fabric-channel-id
required: false
schema:
type: string
xFabricChannelIds:
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. A comma separated list of
sales channel IDs. This comma separated list of sales channel IDs are
required when using multiple channels.
example: 12, 13, 16
in: header
name: x-fabric-channel-ids
required: false
schema:
type: string
xFabricChannelIdsOptional:
description: >-
x-fabric-channel-id identifies the sales channel through which the API
request is being made; primarily for multichannel use cases. It is an
optional field. The default US channel is 12 while the default Canada
channel is 13. This field is optional. **Note:** Use `xFabricChannelIds`
for multiple channels, and `xFabricChannelId` for a single channel.
example: 12, 13, 16
in: header
name: x-fabric-channel-ids
required: false
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
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
schemas:
acknowledgePackageTrackingRequest:
description: Acknowledgement for package tracking
properties:
attributes:
additionalProperties:
description: Additional custom attribute mappings.
type: object
description: Custom attribute mappings.
type: object
eventType:
description: Event type for which acknowledgement is received
enum:
- ORDER_CREATE_IN_PTS
- ORDER_CANCELLED_IN_PTS
- SHIPMENT_CREATE_IN_PTS
- SHIPMENT_CANCELLED_IN_PTS
- TRANSFER_CREATE_IN_PTS
- TRANSFER_CANCELLED_IN_PTS
- TRANSFER_SHIPMENT_CREATE_IN_PTS
- TRANSFER_SHIPMENT_CANCELLED_IN_PTS
example: ORDER_CREATE_IN_PTS
type: string
required:
- eventType
type: object
addPaymentLogRequest:
type: object
description: Request to add a payment log entry for a specific payment in an order
properties:
type:
type: string
description: Transaction type such as CAPTURE, VOID, REFUND, AUTH, REAUTH, etc.
example: CAPTURE
amount:
type: number
description: Transaction amount for the payment operation
example: 60
amountInCurrencies:
type: array
items:
$ref: '#/components/schemas/amountInCurrencyResource'
paymentId:
type: string
description: >-
Merchant-provided unique identifier for a payment based on payment
connector
example: 820180910982102800
paymentLogId:
type: string
description: ID generated to uniquely identify the payment log
example: 671faad5-c530-4361-94a8-6b81614dfe30
status:
type: string
description: Payment status such as 200, 400, etc.
example: 200
data:
$ref: '#/components/schemas/paymentDetails'
description: Payment details object containing response information
attributes:
type: object
description: Merchant-defined custom attributes
example:
key: value
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: [email protected]
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
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
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
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
apiResponse:
description: Response message
properties:
message:
description: Response message
example: OK
type: string
type: object
appeasementEligibilityItemResource:
description: >-
An object that contains properties and information on an item's
eligibility for appeasement.
properties:
lineItemId:
description: The system generated item sequence ID.
example: 6f25bf01-ae4e-4e7f-96b9-0579a40a1a7d
type: string
quantity:
description: The eligible quantity for appeasement.
example: 2
format: int32
type: integer
refundAmount:
description: The maximum eligible refund amount for an appeasement item.
example: 20.5
type: number
sku:
description: The unique identifier of item. Stock Keeping Unit (SKU).
example: P1234
type: string
refundAmountInCurrencies:
type: array
description: >
A list of refund amounts, each represented in a specific currency.
Each item includes the monetary value and its associated currency
code,
following the structure defined in the `amountInCurrencyResource`
schema.
This allows multi-currency refunds to be accurately represented and
processed.
items:
$ref: '#/components/schemas/amountInCurrencyResource'
type: object
appeasementEligibilityResponse:
description: >-
A response object that contains properties and information on an item's
eligibility for appeasement.
properties:
eligibleItems:
description: >-
An array of containing an item's eligibility for returns,
cancellations, or exchanges.
items:
$ref: '#/components/schemas/appeasementEligibilityItemResource'
type: array
eligibleReasonCodes:
description: An array containing the reason codes for the returns.
items:
$ref: '#/components/schemas/reasonCodeAndDescription'
type: array
orderId:
description: The fabric system generated 24-character order ID.
example: 62f3982438bcab1951be0a19
type: string
orderNumber:
description: A unique order number.
example: '309019176'
type: string
period:
description: >-
The return, exchange, or cancellation time window set in your
policy.
example: 30D00H00M
type: string
policyType:
description: >-
The policy type that determines the eligibility of an exchange,
return, appeasement or cancellation. If omitted, the default policy
is used.
example: Company Policy 2023
type: string
remainingRefundableAmount:
description: The order's remaining refundable amount excluding items refunds.
example: 30.5
type: number
remainingRefundableAmountInCurrencies:
items:
$ref: '#/components/schemas/amountInCurrency'
type: array
totalRefundableAmount:
description: The total refundable amount for the order.
example: 130.7
type: number
totalRefundableAmountInCurrencies:
items:
$ref: '#/components/schemas/amountInCurrency'
type: array
type: object
appeasementResponse:
description: Appeasement info
properties:
orderNumber:
description: >-
Merchant-defined order identifier. If omitted, this is generated by
fabric's sequence generator using Configuration service
example: '12'
type: string
totalAmountRefunded:
description: Total refunded amount
example: 25.5
format: double
type: number
totalAmountRefundedInCurrencies:
description: >
The total amount that has been refunded, represented in one or more
currencies.
Each entry provides the total refunded value and its corresponding
currency code,
using the structure defined in the `amountInCurrency` schema.
This field enables tracking of cumulative refunds across multiple
currencies.
items:
$ref: '#/components/schemas/amountInCurrency'
type: array
type: object
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
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
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
createOrderRequest:
description: The object containing details related to order creation.
properties:
adjustmentTotal:
description: Total price adjustments for all items of the order.
example: 123.45
format: double
type: number
adjustmentTotalInCurrencies:
items:
description: >-
The total adjustments made to the prices of all items in an order,
itemized by each currency used within the order.
$ref: '#/components/schemas/amountInCurrencyResource'
type: array
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
attributes:
description: >-
Merchant-defined custom attributes. This is a placeholder for
additional info (in key-value pairs).
example:
fraudCheckStatus: UPDATED
fraudStatus: FRAUD_PASS
type: object
cartId:
description: >-
Unique identifier of a cart, either from fabric Cart 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
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:
description: Discounts
items:
$ref: '#/components/schemas/orderDiscountRequest'
type: array
employeeId:
description: Employee (ID or name) who initiated the order creation request
example: 62272e917b12209e68751d94
type: string
feeTotal:
description: Total item fee = `orderedQuantity` * Item Fee Total
example: 12.34
format: double
type: number
feeTotalInCurrencies:
items:
description: >-
The total fee for an item, calculated as the `orderedQuantity`
multiplied by the `Item Fee Total`, itemized by each currency used
within the order.
$ref: '#/components/schemas/amountInCurrencyResource'
type: array
fees:
description: Fees
items:
$ref: '#/components/schemas/orderFeeDetail'
type: array
items:
description: Items
items:
$ref: '#/components/schemas/orderItemRequest'
maxItems: 2147483647
minItems: 1
type: array
notes:
description: >-
Additional info, if any. To be used by customer service
representative (CSR) only
items:
$ref: '#/components/schemas/orderNote'
type: array
orderDiscount:
description: Order discount = `summationOfAll(itemDiscountTotal)`
example: 1.23
format: double
type: number
orderDiscountInCurrencies:
items:
description: >-
The total discount applied to the order, calculated as the sum of
all `itemDiscountTotal` values, itemized by each currency used
within the order.
$ref: '#/components/schemas/amountInCurrencyResource'
type: array
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.
This field is optional and can be used to reference the order in
external
systems such as an ERP, OMS, or CRM.
example: 191763090_O1231
orderSubtotal:
description: Recalculated order subtotal = `summationOfAll(itemSubTotal)`
example: 123.45
format: double
type: number
orderSubtotalInCurrencies:
items:
description: >-
The updated subtotal for the entire order, calculated as the sum
of all `itemSubTotal` values, 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 an order, calculated as
`orderSubTotal` - `orderDiscountTotal` + `orderFeeTotal` +
`orderTaxTotal`, 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
payments:
description: Payments
items:
$ref: '#/components/schemas/orderPaymentRequest'
type: array
retail:
$ref: '#/components/schemas/orderRetail'
shipInfo:
description: Shipping info
items:
$ref: '#/components/schemas/orderShipInfo'
maxItems: 2147483647
minItems: 1
type: array
statusCode:
description: Status code. Primarily used for Point-of-Sale (POS) orders.
example: ORDER_CREATED
type: string
statusDescription:
description: Description corresponding to `statusCode`
example: Order Created
type: string
subtype:
description: Order subtype, for additional classification
enum:
- IOS
- ANDROID
- INTERNATIONAL
example: INTERNATIONAL
type: string
taxTotal:
description: >-
Total tax on order =
`summationOfAll(itemTaxTotal)+summationOfAll(tax[].value)`
example: 12.34
format: double
type: number
taxTotalInCurrencies:
items:
description: >-
The total tax on an order, calculated as the sum of all
`itemTaxTotal` values and all `tax[].value` values, itemized by
each currency used within the order.
$ref: '#/components/schemas/amountInCurrencyResource'
type: array
type:
description: >-
Order type. It is critical for order life cycle as it indicates the
workflow that varies with the type. For example, Storefront orders
have different workflows 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
requestContext:
$ref: '#/components/schemas/requestReferenceContextResource'
description: Request reference context information
required:
- items
- orderNumber
- statusCode
type: object
creditsEligibilityResponse:
description: Credits eligibility model
properties:
description:
description: Description provided while requesting credits (for reference)
example: Policy used to add credits
type: string
eligibleReasonCodes:
description: Reason codes to support credits request
items:
$ref: '#/components/schemas/reasonCodeAndDescription'
type: array
orderId:
description: 24-character system-generated order ID
example: 62f3982438bcab1951be0a19
type: string
policyName:
description: Merchant-given policy name.
example: Credits policy
type: string
policyType:
description: Policy type used to check credits eligibility
example: credits
type: string
type: object
creditsRequest:
description: Request for credits
properties:
amount:
description: Credits amount
example: 21.5
format: double
type: number
amountInCurrencies:
description: >
A list of amounts represented in different currencies.
Each item includes a monetary value and its corresponding currency
code,
# --- truncated at 32 KB (369 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fabric-com/refs/heads/main/openapi/fabric-orders-openapi.yml