POST
/
shipments

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

Body

application/json

Details to create shipment

allocationId
string
required

Allocation ID for this shipment, generated by the fabric Allocation service through Create allocation (internal) endpoint, which occurs prior to Shipment Creation. This is mandatory to create a new shipment.

shipmentNumber
string
required

Merchant-defined shipment identifier

attributes
object

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

cartons
object[]

Carton details

invoiceId
string

Invoice ID generated from fabric Invoice service during shipment creation. Note: Invoices are only created for Shipments where merchants have payment Capture at Shipment feature enabled. The value will be “Null” if merchants don't have “Capture at Shipment” feature enabled.

locationNumber
string

Unique value to identify ship-from location. This must be the locationNumber stored in the fabric Location service.

locationType
string

Location type, such as distribution center (DC) or warehouse. This must be the type stored in the fabric Location service.

masterTrackingNumber
string

Master tracking number for all cartons in the shipment

poNumber
string

Merchant-defined purchase order number

recipients
object[]

Recipient details

reshipmentReasonCode
string

Reshipment reason code

scratchedItems
object[]

Scratched items

shipToAddress
object

Address details

shipToId
string

Ship-to ID generated in the response of Create Shipping endpoint of Shipping service

shipmentId
string

Shipment's autogenerated unique id

shippedAt
string

Order shipment time (UTC)

statusCode
enum<string>

Current shipment status (fabric-defined codes). For standard shipments, the initial status would be SHIPMENT_CREATED. For pickup shipment, the initial status would be PICKUP_CREATED and once the customer picks up, the status changes to PICKUP_COMPLETED

Available options:
SHIPMENT_CREATED,
SHIPMENT_UPDATED,
SHIPMENT_CANCELLED,
PICKUP_CREATED,
PICKUP_COMPLETED,
SHIPMENT_RETURN_PENDING,
SHIPMENT_RETURN_RECEIVED,
SHIPMENT_PARTIALLY_DELIVERED,
SHIPMENT_DELIVERED,
SHIPMENT_ERROR
subtype
string

Shipment subtype. Free-form text to add another layer of classification, if required.

totalCartons
integer

Total number of cartons in the given shipment.

type
enum<string>

Shipment types

Available options:
STANDARD,
RESHIP,
RETURN,
SCRATCH,
PENDING_RETURN,
PICKUP,
TRANSFER
vendorId
string

Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item.

Response

201 - application/json

Shipment details

version
integer
required

The current version of the shipment document. This integer indicates the number of times the shipment has been updated by any operation.

allocationId
string

System-generated allocation ID (UUID) from the Create allocation endpoint of fabric Allocation service. It refers to the given shipment. Note: Allocation occurs prior to Shipment Creation. allocationId is mandatory to create a Shipment.

auditLogs
object[]

Audit log details

cartons
object[]

Carton details

createdAt
string

Shipment creation time (UTC)

invoiceId
string

Invoice ID generated from fabric Invoice service during shipment creation. Note: Invoices are only created for Shipments where merchants have payment Capture at Shipment feature enabled. The value will be “Null” if merchants don't have “Capture at Shipment” feature enabled.

locationNumber
string

Unique value to identify ship-from location. This must be the locationNumber stored in the fabric Location service.

locationType
string

Location type, such as distribution center (DC) or warehouse

masterTrackingNumber
string

Master tracking number for all cartons in the shipment

orderNumbers
string[]

List of order numbers associated with a shipment. Note: Currently, a shipment can be associated with only one order. In the future, this property will support a scenario where a customer places a second order for the same product immediately after their first order. Multiple order numbers can be linked to one shipment in such cases.

poNumber
string

Merchant-defined purchase order number

recipients
object[]

Recipient details

reshipmentReasonCode
string

The reshipment reason code.

scratchedItems
object[]

Details of scratched items

shipToAddress
object

Address details

shipToId
string

Ship-to ID generated in the response of Create shipping endpoint of Shipping service

shipmentId
string

System-generated shipment ID (UUID)

shipmentNumber
string

Merchant-defined unique shipment identifier. Note: It can be optionally generated by fabric by using resource generator feature in the Configuration service

shippedAt
string

Order shipment time (UTC)

statusCode
enum<string>

Current shipment status (fabric-defined codes). Note: For standard shipments, the status would be SHIPMENT_CREATED. For pickup shipment, the initial status would be PICKUP_CREATED and once the customer picks up, the status changes to PICKUP_COMPLETED

Available options:
SHIPMENT_CREATED,
SHIPMENT_UPDATED,
SHIPMENT_CANCELLED,
PICKUP_CREATED,
PICKUP_COMPLETED,
SHIPMENT_DELIVERED,
SHIPMENT_RETURN_PENDING,
SHIPMENT_RETURN_RECEIVED,
SHIPMENT_PARTIALLY_DELIVERED
subtype
string

Shipment subtype, for another layer of classification. There are no pre-defined values; the possible value is Cash On Delivery (COD)

totalCartons
integer

Total number of cartons in the given shipment. There can be only one carton per trackingNumber.

type
enum<string>

Shipment types

Available options:
STANDARD,
RESHIP,
RETURN,
SCRATCH,
PENDING_RETURN,
PICKUP,
TRANSFER
updatedAt
string

Time of last update to shipment (UTC)

vendorId
string

Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item.