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: A list of custom mapped attributes. 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 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 amountInCurrencyResource: type: object description: Amount in currency details properties: currency: type: string description: Currency in ISO-4217 example: USD group: type: string description: 'Customer defined function name which uses this currency. ' example: SHOPPER amount: type: number format: double description: Amount in currency example: 123.45 required: - currency - group baseGiftCardDetails: type: object description: Base gift card details properties: giftCardNumber: type: string description: Gift card number example: 453456765 amount: type: number format: double description: Gift card amount example: 50 amountInCurrencies: type: array items: $ref: '#/components/schemas/amountInCurrencyResource' baseScratchedItemDetails: type: object description: Base details of items scratched (removed) from a shipment. properties: orderId: type: string description: >- System-generated 24-character order ID, returned in the response of the Create Order endpoint (`POST /orders`). example: 6413e370cb0dc859b6c0dcb0 orderNumber: type: string description: Merchant-defined order number associated with the shipment. example: 309020213 orderExternalId: type: string description: >- External order identifier defined by the merchant. Useful for reconciliation with external systems. example: 123k4h123k lineItemId: type: string description: >- Unique identifier for the line item in the order. If not provided, fabric automatically generates this value in UUID format during order creation. example: 2 itemId: type: integer format: int32 description: System-generated unique identifier for the item. example: 100043 sku: type: string description: >- Stock keeping unit (SKU), a merchant-defined unique identifier for the item. example: SKU00043 quantity: type: integer format: int32 default: 0 description: Number of units scratched from the shipment. example: 1 uom: type: string description: >- Unit of measure for the item (for example, EA for Each, GAL for Gallon, DZ for Dozen). example: EA reasonCode: type: string description: >- Code indicating the primary reason for scratching the item from the shipment. example: ReasonCode23454 subReasonCode: type: string description: >- Code indicating a more specific sub-reason related to the scratch action. example: SubReasonCode23242 attributes: type: object description: >- Merchant-defined custom attributes in key-value format. Useful for adding supplemental information. example: attribute1: value required: - lineItemId - quantity - reasonCode cartonDetails: description: Carton details properties: cartonNumber: description: >- Merchant-defined unique identifier. This can optionally be generated by fabric by using the resource generator feature of the Configuration service. example: '1' type: string cartonType: description: Carton type example: Package type: string estimatedDeliveryDate: description: >- Estimated delivery date given by carrier (UTC). It's based on several factors including selected shipping method and delivery location. example: '2023-03-26T07:58:30.996Z' format: date-time type: string estimatedShipDate: description: Estimated ship date given by carrier (UTC) example: '2023-03-25T07:58:30.996Z' format: date-time type: string items: description: Item items: $ref: '#/components/schemas/cartonItems' type: array promisedDeliveryDate: description: Promised delivery date given by seller (UTC) example: '2023-03-26T07:58:30.996Z' format: date-time type: string shipmentCarrier: description: Shipment carrier example: FEDEX type: string shipmentMethod: description: Shipment method example: ground type: string tracking: description: Tracking details items: $ref: '#/components/schemas/trackingResource' type: array trackingNumber: description: >- Merchant-defined shipment tracking number for the given carton. Used for tracking shipment, also for updating tracking status of given carton. example: 1Z999AA10123456784 type: string trackingURL: description: Shipment tracking URL for the given carton example: https://fedex.com/tracking type: string weight: description: Carton weight example: 500 gram type: string type: object cartonItems: description: Item details properties: attributes: description: >- Merchant-defined custom attributes. This is a placeholder for addition info (in key: value pairs) example: attribute1: value type: object fees: description: Return fee details items: $ref: '#/components/schemas/returnFeeDetail' type: array giftCards: description: Gift card details items: $ref: '#/components/schemas/giftCardDetails' type: array itemId: description: Unique item identifier from fabric Products service example: 100023 format: int32 type: integer lineItemId: description: >- Unique number assigned by merchant to identify each item in an order. When this value isn't provided, fabric will auto generate (in UUID format) during order creation. example: '1' type: string orderId: description: >- 24-character system-generated ID displayed in the response of Create Order endpoint - `POST /orders` example: 6413e370cb0dc859b6c0dcb0 type: string orderNumber: description: Merchant-defined order identifier example: '309020213' type: string shipmentExternalId: type: string description: >- Unique shipment identifier defined by the merchant. This value can be used to track or reconcile shipments in external systems and serves as a reference between fabric and the merchant's order management or fulfillment system. example: 123k4h123k orderedQuantity: description: Ordered quantity of given item example: 2 format: int32 minimum: 0 type: integer refundAmount: description: Return amount. Applicable for return shipment scenarios. example: 10 format: double type: number refundAmountInCurrencies: type: array description: > The return amount represented in one or more currencies. Each entry specifies the refunded value and its corresponding currency code, following the structure defined in the `amountInCurrencyResource` schema. items: $ref: '#/components/schemas/amountInCurrencyResource' returnQuantity: description: >- Returned quantity of given item. Applicable for return shipment scenarios. example: 1 format: int32 minimum: 0 type: integer returnRequestCounter: description: >- Number of times return request is made for the given order. Applicable only for return shipment scenario. example: 1 format: int32 type: integer segment: description: Item segment example: segment type: string shippedQuantity: description: Shipped quantity of given item example: 2 format: int32 minimum: 0 type: integer sku: description: Stock keeping unit (SKU), unique item identifier example: SKU0023 type: string uom: description: >- Unit in which a product is measured or sold. UOM can be set to 'each' (EA) or GAL (Gallon), DZ (Dozen), etc. example: EA type: string vendorId: description: >- Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item. example: '56' type: string required: - lineItemId - shippedQuantity type: object cartonDetailsBasedOnOrder: type: object description: Details of a carton included in a shipment, based on the order. properties: cartonNumber: type: string description: >- Unique carton identifier defined by the merchant. This value can also be auto-generated by fabric using the resource generator feature in the Configuration service. example: 1 cartonType: type: string description: >- Type of carton used for shipping (for example, Package, Pallet, Crate). example: Package promisedDeliveryDate: type: string format: date-time description: Promised delivery date provided by the seller (in UTC). example: '2023-03-26T07:58:30.996Z' estimatedShipDate: type: string format: date-time description: Estimated ship date provided by the carrier (in UTC). example: '2023-03-25T07:58:30.996Z' estimatedDeliveryDate: type: string format: date-time description: >- Estimated delivery date provided by the carrier (in UTC). Determined by factors such as the selected shipping method and delivery location. example: '2023-03-26T07:58:30.996Z' shipmentMethod: type: string description: >- Shipping method selected for the carton (for example, Ground, Air, 2-Day). example: ground shipmentCarrier: type: string description: >- Carrier responsible for delivering the carton (for example, FedEx, UPS). example: FEDEX weight: type: string description: >- Weight of the carton. Units should be specified consistently (for example, pounds or kilograms). example: 500 trackingNumber: type: string description: >- Tracking number assigned to the carton. Used to monitor shipment progress and update tracking status. example: 1Z999AA10123456784 trackingURL: type: string description: Direct URL for tracking the carton shipment. example: https://fedex.com/tracking tracking: type: array description: Tracking history and status updates for the carton. items: $ref: '#/components/schemas/trackingResource' items: type: array description: List of items contained within the carton. items: $ref: '#/components/schemas/cartonItems' required: - items createShipmentRequest: description: Details to create shipment properties: allocationId: description: >- 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. example: '112345678912340' type: string attributes: description: >- Merchant-defined custom attributes. This is a placeholder for addition info (in key: value pairs) example: attribute1: value type: object cartons: description: Carton details items: $ref: '#/components/schemas/cartonDetails' type: array invoiceId: description: >- 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. example: 63ef4360aafa8a7f5247fe48 type: string locationNumber: description: >- Unique value to identify ship-from location. This must be the `locationNumber` stored in the fabric Location service. example: WH334 type: string locationType: description: >- Location type, such as distribution center (DC) or warehouse. This must be the type stored in the fabric Location service. example: DC type: string masterTrackingNumber: description: Master tracking number for all cartons in the shipment example: TX112345678 type: string poNumber: description: Merchant-defined purchase order number example: '1125' type: string recipients: description: Recipient details items: $ref: '#/components/schemas/shipmentRecipient' type: array reshipmentReasonCode: description: Reshipment reason code example: Order is missing type: string scratchedItems: description: Scratched items items: $ref: '#/components/schemas/scratchedItemDetails' type: array shipToAddress: $ref: '#/components/schemas/address' shipToId: description: >- Ship-to ID generated in the response of Create Shipping endpoint of Shipping service example: sg6683620405 type: string shipmentId: description: Shipment's autogenerated unique id example: 627963716b19511e8a3a631b type: string shipmentNumber: description: Merchant-defined shipment identifier example: '78974156816152' type: string shipmentExternalId: type: string description: >- Unique shipment identifier defined by the merchant. This value can be used to track or reconcile shipments in external systems and serves as a reference between fabric and the merchant's order management or fulfillment system. example: 123k4h123k shippedAt: description: Order shipment time (UTC) example: '2023-04-06T07:58:30.996Z' format: date-time type: string statusCode: description: >- 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 enum: - SHIPMENT_CREATED - SHIPMENT_UPDATED - SHIPMENT_CANCELLED - PICKUP_CREATED - PICKUP_COMPLETED - SHIPMENT_RETURN_PENDING - SHIPMENT_RETURN_RECEIVED - SHIPMENT_PARTIALLY_DELIVERED - SHIPMENT_DELIVERED - SHIPMENT_ERROR example: SHIPMENT_CREATED type: string subtype: description: >- Shipment subtype. Free-form text to add another layer of classification, if required. example: COD type: string totalCartons: description: Total number of cartons in the given shipment. example: 2 format: int32 type: integer type: description: Shipment types enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: STANDARD type: string vendorId: description: >- Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item. example: '56' type: string required: - allocationId - shipmentNumber type: object createShipmentByOrderRequest: type: object description: Request payload to create a shipment for an order. properties: shipmentNumber: type: string description: Unique shipment identifier defined by the merchant. example: 78974156816152 shipmentExternalId: type: string description: >- Unique shipment identifier defined by the merchant. This value can be used to track or reconcile shipments in external systems and serves as a reference between fabric and the merchant's order management or fulfillment system. example: 123k4h123k poNumber: type: string description: Merchant-defined purchase order number associated with the shipment. example: 1125 vendorId: type: string description: >- Vendor identifier. In dropshipping scenarios, indicates the vendor responsible for fulfilling the shipment. example: 56 statusCode: type: string description: Current status of the shipment. enum: - SHIPMENT_CREATED - SHIPMENT_UPDATED - SHIPMENT_CANCELLED - PICKUP_CREATED - PICKUP_COMPLETED - SHIPMENT_RETURN_PENDING - SHIPMENT_RETURN_RECEIVED - SHIPMENT_PARTIALLY_DELIVERED - SHIPMENT_DELIVERED - SHIPMENT_ERROR example: SHIPMENT_CREATED type: type: string description: Type of shipment. enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: STANDARD subtype: type: string description: >- Free-form text to provide an additional classification for the shipment, if required. example: COD reshipmentReasonCode: type: string description: Code indicating the reason for a reshipment. example: Order is missing shippedAt: type: string format: date-time description: UTC timestamp indicating when the shipment was created or shipped. example: '2023-04-06T07:58:30.996Z' locationNumber: type: string description: >- Identifier of the ship-from location. Must match the `locationNumber` stored in the fabric Location service. example: 132412 locationType: type: string description: >- Type of the ship-from location (for example, distribution center (DC) or warehouse). Must match the value stored in the fabric Location service. example: DC totalCartons: type: integer format: int32 description: Total number of cartons included in the shipment. example: 2 masterTrackingNumber: type: string description: >- Carrier-provided master tracking number that applies to all cartons in the shipment. example: TX112345678 shipToId: type: string description: >- Ship-to identifier generated in the response of the Create Shipping endpoint in the Shipping service. example: sg6683620405 shipToAddress: $ref: '#/components/schemas/address' recipients: type: array description: List of recipients for the shipment. items: $ref: '#/components/schemas/shipmentRecipient' attributes: type: object description: >- Merchant-defined custom attributes, represented as key-value pairs. Useful for storing additional information. example: attribute1: value cartons: type: array description: Details of cartons included in the shipment. items: $ref: '#/components/schemas/cartonDetailsBasedOnOrder' scratchedItems: type: array description: Details of items marked as scratched from the shipment. items: $ref: '#/components/schemas/baseScratchedItemDetails' required: - shipmentNumber 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 giftCardActivation: description: Gift card info properties: giftCardNumber: description: Gift card number example: '453456765' type: string giftCardStatus: description: Gift card status enum: - PENDING_ACTIVATION - ACTIVE - FAILED example: ACTIVE type: string required: - giftCardNumber - giftCardStatus type: object giftCardDetails: description: Gift card details properties: amount: description: Gift card amount example: 50 format: double type: number giftCardNumber: description: Gift card number example: '453456765' type: string type: object giftCardItem: description: Gift card details properties: giftCards: description: Gift cards items: $ref: '#/components/schemas/giftCardActivation' maxItems: 100 minItems: 1 type: array shipmentLineItemId: description: >- Unique number assigned by merchant to identify item in a shipment. When this value isn't provided, fabric will auto generate (UUID format) during shipment. example: 607f1f77bcf86cd799439011 type: string required: - giftCards - shipmentLineItemId type: object giftCardItemsActivationRequest: description: Gift card activation request properties: items: description: Items items: $ref: '#/components/schemas/giftCardItem' maxItems: 1000 minItems: 1 type: array required: - items type: object libQuery: description: Library Query Model properties: filters: additionalProperties: description: >- A query used to filter your records. The query structure should match the target entity ( for example, order, shipment, etc) structure. example: | { "retail": { "locationNum": 12 }, "orderSubTotal": { "lt": 1400 }, "orderNumber": {order-*Z}, "statusCode": [ "ORDER_CREATED" ], "createdAt":{ "lt": "2022-09-11T23:12:00.123Z" }, "shipInfo": { "shipToId": ["23434","23436"] } } type: object description: >- A query used to filter your records. The query structure should match the target entity ( for example, order, shipment, etc) structure. example: | { "retail": { "locationNum": 12 }, "orderSubTotal": { "lt": 1400 }, "orderNumber": {order-*Z}, "statusCode": [ "ORDER_CREATED" ], "createdAt":{ "lt": "2022-09-11T23:12:00.123Z" }, "shipInfo": { "shipToId": ["23434","23436"] } } type: object limit: default: 10 description: The maximum number of records per page. example: 10 format: int32 type: integer offset: default: 0 description: >- The number of records to skip before returning all records. For example, `offset=20, limit=10` returns records 21-30. example: 10 format: int64 type: integer sortBy: default: updatedAt description: The item property that data is sorted on. example: updatedAt type: string sortDirection: default: desc description: The direction of the sorting, such as ascending or descending. enum: - asc - desc example: desc type: string required: - filters type: object libQueryResponse: description: The library query response model object containing query properties. properties: count: description: The count for the query response. example: 100 format: int64 type: integer limit: description: The maximum number of records per page. example: 10 format: int32 type: integer offset: description: >- The number of records to skip before returning all records. For example, `offset=20, limit=10` returns records 21-30. example: 1 format: int64 type: integer type: object name: description: Order contact name model properties: first: description: First name example: John type: string last: description: Last name example: Doe type: string middle: description: Middle name example: M type: string type: object orderAddress: description: Order address model properties: address1: description: The first address line. example: House No 129 type: string address2: description: The second address line. example: 10 Downing Street type: string address3: description: The third address line. example: Bakers Colony type: string address4: description: The fourth address line. example: Near ABC School type: string city: description: City example: Beaumont type: string country: description: Country example: USA type: string email: description: A valid email address. example: test@example.com type: string latitude: description: Latitude example: 35.294952 format: double type: number longitude: description: Longitude example: 32.294952 format: double type: number name: $ref: '#/components/schemas/name' phone: $ref: '#/components/schemas/phone' postalCode: description: Postal code example: '77705' type: string state: description: State example: TX type: string type: description: The type of address provided. For example, home or residence. example: residence type: string required: - address1 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 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 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 pagination: description: Pagination response properties: count: description: Total number of search results example: 1000 format: int32 type: integer limit: default: 10 description: Maximum number of records per page. example: 10 format: int32 maximum: 100 minimum: 1 type: integer offset: default: 0 description: >- The number of records to skip before returning all records. For example, `offset=20, limit=10` returns records 21-30. example: 1 format: int32 minimum: 0 type: integer type: object phone: description: The contact phone number provided by the order. properties: number: description: Phone number example: '+10612345678' type: string type: description: The phone number type. For example, `MOBILE`, `HOME`, or `BUSINESS`. enum: - MOBILE - HOME - BUSINESS example: MOBILE type: string type: object returnFeeDetail: description: Return fee details properties: amount: description: Merchant-defined return amount example: 34.56 format: double type: number amountInCurrencies: type: array description: > The return amount represented in one or more currencies. Each entry specifies the refunded value and its corresponding currency code, following the structure defined in the `amountInCurrencyResource` schema. items: $ref: '#/components/schemas/amountInCurrencyResource' 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 scratchedItemDetails: description: Details of scratched items in shipment properties: attributes: description: >- Merchant-defined custom attributes. This is a placeholder for addition info (in key: value pairs) example: attribute1: value type: object itemId: description: Unique item identifier example: 100043 format: int32 type: integer lineItemId: description: >- Unique number assigned by merchant to identify each item in an order. When this value isn't provided, fabric will auto generate (in UUID format) during order creation. example: '2' type: string orderId: type: string description: >- 24-character system-generated ID displayed in the response of Create Order endpoint - `POST /orders` example: 6413e370cb0dc859b6c0dcb0 orderNumber: type: string description: Merchant-defined order identifier example: 309020213 quantity: default: 0 description: Number of scratched items example: 1 format: int32 type: integer reasonCode: description: The primary reason code for the item scratch. example: ReasonCode23454 type: string sku: description: Stock keeping unit (SKU), unique item identifier example: SKU00043 type: string shipmentExternalId: type: string description: >- Unique shipment identifier defined by the merchant. This value can be used to track or reconcile shipments in external systems and serves as a reference between fabric and the merchant's order management or fulfillment system. example: 123k4h123k subReasonCode: description: The sub-reason code for the item scratch. example: SubReasonCode23242 type: string uom: description: >- Unit in which a product is measured or sold. UOM can be set to 'each' (EA) or GAL (Gallon), DZ (Dozen), etc. example: EA type: string required: - lineItemId - quantity - reasonCode type: object searchResponse: description: The search response. properties: data: items: $ref: '#/components/schemas/transferShipmentResponse' type: array pagination: $ref: '#/components/schemas/pagination' stats: description: A list of stats. items: description: The stats details. type: string type: array type: object shipmentAcknowledge: description: Shipment acknowledgement details properties: acknowledgedAt: description: >- Shipment acknowledgement time from middleware. If omitted, fabric uses the time (UTC) of Acknowledgement shipment call - `POST /shipments/{shipmentId}/acknowledge`. example: '2023-08-01T20:03:28.483971941Z' format: date-time type: string attributes: description: >- Merchant-defined custom attributes. This is a placeholder for addition info (in key: value pairs) example: shipmentId: 627963716b19511e8a3a631b type: object type: object shipmentAcknowledgeResponse: description: Shipment acknowledgement response properties: acknowledgedAt: description: Shipment acknowledgement time (UTC) example: '2023-02-01T20:03:28.483971941Z' format: date-time type: string type: object shipmentAuditLog: description: Details for updating shipment properties: 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 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 note: description: Additional info, if any example: Note type: string reasonCode: description: Merchant-defined reason code, varies from merchant to merchant example: Scratched item 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 shipmentCarton: description: Carton details properties: cartonNumber: description: >- Merchant-defined unique identifier. This can optionally be generated by fabric by using the resource generator feature of the Configuration service. example: '1' type: string cartonType: description: Carton type example: Package type: string estimatedDeliveryDate: description: >- Estimated delivery date given by carrier based on several factors including selected shipping method and delivery location (UTC). example: '2023-04-26T07:58:30.996Z' format: date-time type: string estimatedShipmentDate: description: >- Estimated ship date given by seller based on availability of items, their processing time, delivery location, and selected shipping method (UTC). example: '2023-03-25T07:58:30.996Z' format: date-time type: string items: description: Carton item details items: $ref: '#/components/schemas/shipmentItem' type: array promisedDeliveryDate: description: Promised delivery date given by seller (UTC) example: '2023-03-26T07:58:30.996Z' format: date-time type: string shipmentCarrier: description: Shipment carrier name example: FEDEX type: string shipmentMethod: description: Shipment method example: ground type: string tracking: description: Carton tracking details items: $ref: '#/components/schemas/trackingResource' type: array trackingNumber: description: Carton tracking number. There is a single tracking number per carton example: 1Z999AA10123456784 type: string trackingURL: description: Carton tracking URL example: https://example.com/tracking type: string weight: description: Carton weight example: 500 grams type: string type: object shipmentGiftCardDetail: description: Gift card details properties: amount: description: Gift card amount example: 50 format: double type: number amountInCurrencies: type: array description: > The gift card amount represented in one or more currencies. Each entry specifies the refunded value and its corresponding currency code, following the structure defined in the `amountInCurrencyResource` schema. items: $ref: '#/components/schemas/amountInCurrencyResource' giftCardActivatedAt: description: Time gift card was activated (UTC) example: '2023-04-26T07:58:30.996Z' format: date-time type: string giftCardActivationRequestedAt: description: Time of placing gift card activation request (UTC) example: '2023-03-26T07:58:30.996Z' format: date-time type: string giftCardNumber: description: Gift card number example: '453456765' type: string giftCardStatus: description: Gift card status enum: - PENDING_ACTIVATION - ACTIVE - FAILED example: ACTIVE type: string type: object shipmentItem: description: Details of item in shipment properties: fees: description: Fee details items: $ref: '#/components/schemas/returnFeeDetail' type: array giftCards: description: Gift card details items: $ref: '#/components/schemas/shipmentGiftCardDetail' type: array itemId: description: Unique item identifier example: 100023 format: int32 type: integer lineItemId: description: >- Unique number assigned by merchant to identify each item in an order. When this value isn't provided, fabric will auto generate (in UUID format) during order creation. example: '1' type: string orderId: description: >- 24-character order ID generated in the response of Create Order endpoint - `POST /orders` example: 6413e370cb0dc859b6c0dcb0 type: string orderNumber: description: Merchant-defined order identifier example: '309020213' type: string orderedQuantity: default: 0 description: Ordered quantity of given item example: 2 format: int32 type: integer refundAmount: description: Refund amount for returned items example: 10 format: double type: number refundAmountInCurrencies: type: array description: > The refund amount for returned items represented in one or more currencies. Each entry specifies the refunded value and its corresponding currency code, following the structure defined in the `amountInCurrencyResource` schema. items: $ref: '#/components/schemas/amountInCurrencyResource' returnQuantity: default: 0 description: Returned quantity of given item example: 1 format: int32 type: integer segment: description: Item segment example: segment type: string shipmentLineItemId: description: >- Unique number assigned by merchant to identify item in a shipment. When this value isn't provided, fabric will auto generate it (UUID format) during shipment. example: 607f1f77bcf86cd799439011 type: string shippedQuantity: default: 0 description: Shipped quantity of given item example: 2 format: int32 type: integer sku: description: Stock keeping unit (SKU), unique item identifier example: SKU0023 type: string uom: description: >- Unit in which a product is measured or sold. UOM can be set to 'each' (EA) or GAL (Gallon), DZ (Dozen), etc. example: EA type: string vendorId: description: >- Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item. example: vend12346667 type: string type: object shipmentRecipient: description: Shipment recipient details properties: email: description: Recipient's email example: support@example.inc type: string name: $ref: '#/components/schemas/orderContactName' phone: $ref: '#/components/schemas/orderContactPhone' type: object shipmentResponse: description: Shipment details properties: allocationId: description: >- 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. example: 6413e3d3fd03a35efccb426e type: string auditLogs: description: Audit log details items: $ref: '#/components/schemas/shipmentAuditLog' type: array cartons: description: Carton details items: $ref: '#/components/schemas/shipmentCarton' type: array createdAt: description: Shipment creation time (UTC) example: '2023-04-06T07:58:30.996Z' format: date-time type: string invoiceId: description: >- 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. example: 63ef4360aafa8a7f5247fe48 type: string locationNumber: description: >- Unique value to identify ship-from location. This must be the `locationNumber` stored in the fabric Location service. example: WH334 type: string locationType: description: Location type, such as distribution center (DC) or warehouse example: DC type: string masterTrackingNumber: description: Master tracking number for all cartons in the shipment example: TX112345678 type: string orderNumbers: description: >- 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. items: example: 309020213, 459020213 type: string type: array poNumber: description: Merchant-defined purchase order number example: '1125' type: string recipients: description: Recipient details items: $ref: '#/components/schemas/shipmentRecipient' type: array reshipmentReasonCode: description: The reshipment reason code. example: Order is missing type: string scratchedItems: description: Details of scratched items items: $ref: '#/components/schemas/shipmentScratchedItem' type: array shipToAddress: $ref: '#/components/schemas/address' shipToId: description: >- Ship-to ID generated in the response of Create shipping endpoint of Shipping service example: '1' type: string shipmentId: description: System-generated shipment ID (UUID) example: 627963716b19511e8a3a631b type: string shipmentNumber: description: >- Merchant-defined unique shipment identifier. **Note**: It can be optionally generated by fabric by using resource generator feature in the Configuration service example: '78974156816152' type: string shipmentExternalId: type: string description: >- Unique shipment identifier defined by the merchant. This value can be used to track or reconcile shipments in external systems and serves as a reference between fabric and the merchant's order management or fulfillment system. example: 123k4h123k shippedAt: description: Order shipment time (UTC) example: '2023-04-06T07:58:30.996Z' format: date-time type: string statusCode: description: >- 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 enum: - SHIPMENT_CREATED - SHIPMENT_UPDATED - SHIPMENT_CANCELLED - PICKUP_CREATED - PICKUP_COMPLETED - SHIPMENT_DELIVERED - SHIPMENT_RETURN_PENDING - SHIPMENT_RETURN_RECEIVED - SHIPMENT_PARTIALLY_DELIVERED example: SHIPMENT_CREATED type: string subtype: description: >- Shipment subtype, for another layer of classification. There are no pre-defined values; the possible value is Cash On Delivery (COD) example: COD type: string totalCartons: description: >- Total number of cartons in the given shipment. There can be only one carton per trackingNumber. example: 2 format: int64 type: integer type: description: Shipment types enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: STANDARD type: string updatedAt: description: Time of last update to shipment (UTC) example: '2023-04-06T07:58:30.996Z' format: date-time type: string vendorId: description: >- Vendor ID. Applicable in dropshipping scenarios to indicate the vendor responsible for the given item. example: '56' type: string version: description: >- The current version of the shipment document. This integer indicates the number of times the shipment has been updated by any operation. example: 2 format: int64 type: integer required: - version type: object shipmentScratchedItem: description: >- Customer may cancel allocation line items as part of the shipment post request. In fabric Shipments service, this is called 'Scratched Items' or 'scratchedItems'. properties: itemId: description: Unique item identifier example: 100043 format: int32 type: integer lineItemId: description: >- Unique number assigned by merchant to identify each item in an order. When this value isn't provided, fabric will auto generate it (in UUID format) during order creation. example: '2' type: string orderId: description: >- 24-character ID displayed in the response of Create Order endpoint - `POST /orders` example: 6413e370cb0dc859b6c0dcb0 type: string quantity: default: 0 description: Number of scratched items example: 1 format: int32 type: integer reasonCode: description: Reason code for scratch example: ReasonCode23454 type: string sku: description: Stock keeping unit (SKU), unique item identifier example: SKU00043 type: string subReasonCode: description: Sub-reason code example: SubReasonCode23242 type: string uom: description: >- Unit in which a product is measured or sold. UOM can be set to 'each' (EA) or GAL (Gallon), DZ (Dozen), etc. example: EA type: string required: - reasonCode type: object shipmentSearchFilter: description: >- Criteria to find shipments. To search using a single value, the `valueSearchFilter` is considered. To search using multiple values, `valuesSearchFilter` is considered. discriminator: mapping: EQ: '#/components/schemas/valueSearchFilter' GT: '#/components/schemas/valueSearchFilter' GTE: '#/components/schemas/valueSearchFilter' IN: '#/components/schemas/valuesSearchFilter' LT: '#/components/schemas/valueSearchFilter' LTE: '#/components/schemas/valueSearchFilter' NEQ: '#/components/schemas/valueSearchFilter' NIN: '#/components/schemas/valuesSearchFilter' propertyName: condition properties: condition: default: EQ description: >- Filter conditions. EQ (Equal to): Searches for exact match. NEQ (Not equal to): Searches by excluding the specified value. IN: Search for multiple values. NIN (Not IN): Excludes the specified values in the search. LT (Less than): Searches for values that are less than the specified value. GT (Greater than): Search for values that are greater than the specified value. LTE (Less than or equal to): Searches for values that are less than or equal to the specified value. GTE (Greater than or equal to): Searches for values that are greater than or equal to the specified value. enum: - EQ - NEQ - IN - NIN - LT - GT - LTE - GTE example: LT type: string field: description: Field name example: shipment.shipmentNum pattern: ^shipment\.[a-zA-Z.\-_]* type: string group: default: Default description: Group name example: GroupA type: string required: - condition - field type: object shipmentShipToAddress: description: ShipmentShipToAddress Model properties: addressLine1: description: Address line 1 example: 254 House number type: string addressLine2: description: Address line 2 example: 888 Broadway type: string addressLine3: description: Address line 3 example: 17th street type: string addressLine4: description: Address line 4 example: Pearl type: string city: description: City example: New York type: string country: description: Country example: USA type: string latitude: description: Latitude example: 134.13413 format: double type: number longitude: description: Longitude example: 757.0435 format: double type: number postalCode: description: Postal code example: '1003' type: string state: description: State example: NY type: string type: description: The type of address that was provided. example: home type: string type: object shipmentTrackingDetail: description: Shipment tracking details properties: shipmentNumber: description: Merchant-defined unique shipment identifier example: '78974156816152' type: string tracking: description: Tracking details items: $ref: '#/components/schemas/trackingResource' type: array trackingNumber: description: Tracking number example: 1Z999AA10123456784 type: string trackingURL: description: Tracking URL example: https://example.com/tracking type: string required: - shipmentNumber - trackingNumber type: object shipmentsResponse: description: Shipment response properties: shipments: description: Shipment details items: $ref: '#/components/schemas/shipmentResponse' type: array type: object shipmentsSearchRequest: description: Sort and filter criteria for shipment search example: filters: - condition: EQ field: shipment.shipmentNum value: Shipment_112255 - condition: IN field: shipment.cartons.cartonNum values: - Tracking_* sort: '-shipment.shipDate' properties: filters: items: oneOf: - $ref: '#/components/schemas/valueSearchFilter' - $ref: '#/components/schemas/valuesSearchFilter' maxItems: 50 minItems: 0 type: array sort: default: '-shipment.shipDate' description: >- Property name on which response needed to be sorted. **Note**: `-` refers to descending and `+` refers to ascending order example: '-shipment.shipDate' pattern: (^[+-]shipment\.[a-zA-Z.\-_]*)(,([+-]shipment\.[a-zA-Z.\-_]*)){0,} type: string required: - filters type: object shipmentsSearchResponse: description: Shipment search response properties: data: items: $ref: '#/components/schemas/shipmentResponse' type: array pagination: $ref: '#/components/schemas/pagination' type: object trackingResource: description: Shipment tracking details properties: event: description: >- Shipment-specific event. Mandatory in the request body of Update shipment tracking - `POST /shipments/actions/update-tracking` endpoint example: picked up type: string eventId: description: Event ID provided by carrier example: 627963716b19511e8a3a631b type: string eventRecordedAt: description: Time event was recorded (UTC) example: '2019-09-30T07:58:30.996Z' format: date-time type: string location: description: Delivery location example: Reno, NV type: string notes: additionalProperties: description: Attributes to save any additional info example: '{"description":"Shipment picked up"}' type: string description: Attributes to save any additional info example: description: Shipment picked up type: object shipmentCarrier: description: Shipment carrier example: FEDEX type: string type: object transferItemAdjustment: description: An object containing all the transfer item adjustment properties. properties: adjustmentQuantity: default: 0 description: The total adjustment quantity. The default value is 0. example: 2 format: int32 type: integer attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object reasonCode: description: The primary reason code for the item adjustment. example: DAMAGED type: string subReasonCode: description: The sub reason code for the item adjustment. example: DAMAGED type: string type: object transferReceivingCartonRequest: description: An object containing information on the carton transfer. properties: cartonNumber: description: The carton number. example: '1' type: string items: description: An array of carton items. items: $ref: '#/components/schemas/transferReceivingLineItemRequest' type: array required: - cartonNumber type: object transferReceivingLineItemRequest: description: >- An object containing cancellation information and properties for a line item. properties: adjustments: description: An array adjustments that have been made. items: $ref: '#/components/schemas/transferItemAdjustment' type: array attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object quantity: description: The quantity of a specific item to be cancelled. example: 1 format: int32 minimum: 1 type: integer shipmentLineItemId: description: Unique shipment line item id example: 13432-34343-34343-3434 type: string required: - quantity - shipmentLineItemId type: object transferReceivingRequest: description: Transfer Receiving Request properties: cartons: description: Carton Details for receiving items: $ref: '#/components/schemas/transferReceivingCartonRequest' type: array type: object transferShipFrom: description: >- An object containing information and properties for the transfers ship from location. properties: locationName: description: Location name example: Store1 type: string locationNumber: description: Location number example: WH334 type: string locationType: description: Location type example: STORE type: string shipFromAddress: $ref: '#/components/schemas/orderAddress' required: - locationNumber type: object transferShipFromRequest: description: >- An object containing information and properties for the transfers ship from request. properties: locationName: description: Location name example: Store1 type: string locationNumber: description: Location number example: WH334 type: string locationType: description: Location type example: STORE type: string shipFromAddress: $ref: '#/components/schemas/orderAddress' required: - locationNumber type: object transferShipTo: description: >- An object containing information and properties for the transfers ship to location. properties: locationName: description: Location name example: Store1 type: string locationNumber: description: Location number example: WH334 type: string locationType: description: Location type example: STORE type: string shipToAddress: $ref: '#/components/schemas/shipmentShipToAddress' shipToId: description: Used to link item with it's shipping address in shipment example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string required: - locationNumber type: object transferShipToRequest: description: >- An object containing information and properties for the transfers ship to request. properties: locationName: description: Location name example: Store1 type: string locationNumber: description: Location number example: WH334 type: string locationType: description: Location type example: STORE type: string shipToAddress: $ref: '#/components/schemas/shipmentShipToAddress' shipToId: description: Used to link item with it's shipping address in shipment example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string required: - locationNumber type: object transferShipmentCarton: description: >- An object containing information and properties of the transfer shipment carton. properties: attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object cartonNumber: description: Carton number example: '1' type: string cartonType: description: Carton type example: Package type: string estimatedDeliveryDate: description: Estimated delivery date example: '2022-05-26T07:58:30.996Z' format: date-time type: string estimatedShipmentDate: description: Estimated ship date example: '2022-05-25T07:58:30.996Z' format: date-time type: string items: description: List of item to be shipped items: $ref: '#/components/schemas/transferShipmentItem' type: array promisedDeliveryDate: description: Promised delivery date example: '2022-05-26T07:58:30.996Z' format: date-time type: string shipmentCarrier: description: Shipment carrier example: FEDEX type: string shipmentMethod: description: Shipment method example: ground type: string tracking: description: Tracking detail list items: $ref: '#/components/schemas/trackingResource' type: array trackingNumber: description: Tracking number example: 1Z999AA10123456784 type: string trackingURL: description: Tracking URL example: https://example.com/tracking type: string weight: description: Weight example: 500 gram type: string type: object transferShipmentCartonResource: description: >- An object containing information and properties of the transfer shipment carton resource. properties: attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object cartonNumber: description: Carton number example: '1' type: string cartonType: description: Carton type example: Package type: string estimatedDeliveryDate: description: Estimated delivery date example: '2022-05-26T07:58:30.996Z' format: date-time type: string estimatedShipmentDate: description: Estimated ship date example: '2022-05-25T07:58:30.996Z' format: date-time type: string items: description: List of item to be shipped items: $ref: '#/components/schemas/transferShipmentItem' type: array promisedDeliveryDate: description: Promised delivery date example: '2022-05-26T07:58:30.996Z' format: date-time type: string shipmentCarrier: description: Shipment carrier example: FEDEX type: string shipmentMethod: description: Shipment method example: ground type: string tracking: description: Tracking detail list items: $ref: '#/components/schemas/trackingResource' type: array trackingNumber: description: Tracking number example: 1Z999AA10123456784 type: string trackingURL: description: Tracking URL example: https://example.com/tracking type: string weight: description: Weight example: 500 gram type: string type: object transferShipmentItem: description: >- An object containing information and properties of the transfer shipment item. properties: adjustments: description: Adjustment items: $ref: '#/components/schemas/transferItemAdjustment' type: array attributes: additionalProperties: description: Customized attributes example: attribute1: value type: object description: Customized attributes example: attribute1: value type: object channelId: description: Channel id example: '12' type: string deliveredQuantity: default: 0 description: Delivered quantity example: 2 format: int32 type: integer itemId: description: Item id example: '100023' type: string lineItemId: description: Line item ID example: '1' type: string packedQuantity: default: 0 description: Packed quantity example: 2 format: int32 type: integer quantityType: description: Transfer quantity type enum: - INCREMENT - DECREMENT - ABSOLUTE type: string receivedQuantity: default: 0 description: Received quantity example: 2 format: int32 type: integer segment: description: Segment type: string shipmentLineItemId: description: System generated shipment line item ID example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569 type: string shippedQuantity: default: 0 description: Shipped quantity example: 2 format: int32 type: integer sku: description: Sku example: SKU0023 type: string stockedQuantity: default: 0 description: Stocked quantity example: 2 format: int32 type: integer uom: description: Unit of measurement example: EA type: string vendorId: description: Vendor ID example: vend12346667 type: string type: object transferShipmentRequest: description: >- An object containing information and properties of the transfer shipment request. properties: attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object cartons: description: Carton list items: $ref: '#/components/schemas/transferShipmentCartonResource' type: array masterTrackingNumber: description: Master tracking number example: TX112345678 type: string poNumber: description: Optional purchase order number example: '1125' type: string recipient: description: Recipient list items: $ref: '#/components/schemas/shipmentRecipient' type: array shipFrom: $ref: '#/components/schemas/transferShipFromRequest' shipTo: $ref: '#/components/schemas/transferShipToRequest' shipmentNumber: description: Shipment's unique identification number example: '78974156816152' type: string shippedAt: description: Ship date example: '2022-06-06T07:58:30.996Z' format: date-time type: string subtype: description: Shipment subtype enum: - COD example: COD type: string totalCartons: description: Total number of cartons example: 2 format: int64 type: integer transferId: description: Transfer ID for this shipment example: '112345678912340' type: string transferNumber: description: Transfer number for this shipment example: '112345678912340' type: string type: description: Shipment types enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: TRANSFER type: string vendorId: description: Vendor ID example: '56' type: string required: - shipFrom - shipTo - shipmentNumber - transferNumber type: object transferShipmentResponse: description: >- An object containing information and properties of the transfer shipment response. properties: attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object auditLogs: description: Audit logs list items: $ref: '#/components/schemas/shipmentAuditLog' type: array cartons: description: Carton list items: $ref: '#/components/schemas/transferShipmentCarton' type: array createdAt: description: Created date example: '2022-06-06T07:58:30.996Z' format: date-time type: string deliveredAt: description: Delivered date of shipment example: '2022-06-06T07:58:30.996Z' format: date-time type: string masterTrackingNumber: description: Master tracking number example: TX112345678 type: string poNumber: description: Optional purchase order number example: '1125' type: string receivedAt: description: Received date of shipment example: '2022-06-06T07:58:30.996Z' format: date-time type: string recipient: description: Recipient list items: $ref: '#/components/schemas/shipmentRecipient' type: array shipFrom: $ref: '#/components/schemas/transferShipFrom' shipTo: $ref: '#/components/schemas/transferShipTo' shipmentId: description: Shipment's autogenerated unique id example: 627963716b19511e8a3a631b type: string shipmentNumber: description: Shipment's unique identification number example: '78974156816152' type: string shippedAt: description: Ship date example: '2022-06-06T07:58:30.996Z' format: date-time type: string statusCode: description: Transfer Shipment Status enum: - TRANSFER_SHIPMENT_PACKED - TRANSFER_SHIPMENT_SENT - TRANSFER_SHIPMENT_CREATED - TRANSFER_SHIPMENT_DRAFT - TRANSFER_SHIPMENT_DELIVERED - TRANSFER_SHIPMENT_RECEIVED - TRANSFER_SHIPMENT_STOCKED - TRANSFER_SHIPMENT_CANCELLED - TRANSFER_SHIPMENT_ERROR example: TRANSFER_SHIPMENT_CREATED type: string stockReleaseTimeStamp: description: Stock release time stamp date example: '2022-06-06T07:58:30.996Z' format: date-time type: string subtype: description: Shipment subtype enum: - COD example: COD type: string totalCartons: description: Total number of cartons example: 2 format: int64 type: integer transferId: description: Transfer ID for this shipment example: '112345678912340' type: string transferNumber: description: Transfer number for this shipment example: '112345678912340' type: string type: description: Shipment types enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: TRANSFER type: string updatedAt: description: Updated date example: '2022-06-06T07:58:30.996Z' format: date-time type: string vendorId: description: Vendor ID example: '56' type: string required: - shipFrom - shipTo - shipmentNumber - transferId - transferNumber type: object transferShipmentSearchFilter: description: >- The search criteria used to find shipments. To search using a single value, use `valueSearchFilter`. To search using multiple values, use `valuesSearchFilter`. discriminator: mapping: EQ: '#/components/schemas/valueSearchFilter' GT: '#/components/schemas/valueSearchFilter' GTE: '#/components/schemas/valueSearchFilter' IN: '#/components/schemas/valuesSearchFilter' LT: '#/components/schemas/valueSearchFilter' LTE: '#/components/schemas/valueSearchFilter' NEQ: '#/components/schemas/valueSearchFilter' NIN: '#/components/schemas/valuesSearchFilter' propertyName: condition properties: condition: default: EQ description: >- Filter conditions.
EQ (Equal to): Searches for exact match.
NEQ (Not equal to): Searches by excluding the specified value.
IN: Search for multiple values.
NIN (Not IN): Excludes the specified values in the search. LT (Less than): Searches for values that are less than the specified value. GT (Greater than): Search for values that are greater than the specified value. LTE (Less than or equal to): Searches for values that are less than or equal to the specified value. GTE (Greater than or equal to): Searches for values that are greater than or equal to the specified value. enum: - EQ - NEQ - IN - NIN - LT - GT - LTE - GTE example: LT type: string field: description: Field name example: transferShipment.shipmentNum pattern: ^transferShipment\.[a-zA-Z.\-_]* type: string group: default: Default description: The group name. example: GroupA type: string required: - condition - field type: object transferShipmentsSearchRequest: description: >- An object containing the sort and filter criteria for a transfer shipment search. example: filters: - condition: EQ field: transferShipment.shipmentNum value: Shipment_112255 - condition: IN field: transferShipment.cartons.cartonNum values: - Tracking_* sort: '-transferShipment.shipDate' properties: filters: items: oneOf: - $ref: '#/components/schemas/valueSearchFilter' - $ref: '#/components/schemas/valuesSearchFilter' maxItems: 50 minItems: 1 type: array sort: default: '-transferShipment.shipDate' description: >- Property name on which response needed to be sorted.

**Note**: `-` refers to descending and `+` refers to ascending order example: '-transferShipment.shipDate' pattern: >- (^[+-]transferShipment\.[a-zA-Z.\-_]*)(,([+-]transferShipment\.[a-zA-Z.\-_]*)){0,} type: string required: - filters type: object updateTransferShipmentRequest: description: An object containing the details to update a transfer shipment request. properties: attributes: additionalProperties: description: Attributes to save any additional info example: attribute1: value type: object description: Attributes to save any additional info example: attribute1: value type: object auditLogs: description: Audit logs list items: $ref: '#/components/schemas/shipmentAuditLog' type: array cartons: description: Carton list items: $ref: '#/components/schemas/transferShipmentCarton' type: array deliveredAt: description: Delivered date of shipment example: '2022-06-06T07:58:30.996Z' format: date-time type: string masterTrackingNumber: description: Master tracking number example: TX112345678 type: string receivedAt: description: Received date of shipment example: '2022-06-06T07:58:30.996Z' format: date-time type: string recipient: description: Recipient list items: $ref: '#/components/schemas/shipmentRecipient' type: array shipFrom: $ref: '#/components/schemas/transferShipFrom' shipTo: $ref: '#/components/schemas/transferShipTo' shippedAt: description: Ship date example: '2022-06-06T07:58:30.996Z' format: date-time type: string statusCode: description: Transfer Shipment Status enum: - TRANSFER_SHIPMENT_PACKED - TRANSFER_SHIPMENT_SENT - TRANSFER_SHIPMENT_CREATED - TRANSFER_SHIPMENT_DRAFT - TRANSFER_SHIPMENT_DELIVERED - TRANSFER_SHIPMENT_RECEIVED - TRANSFER_SHIPMENT_STOCKED - TRANSFER_SHIPMENT_CANCELLED - TRANSFER_SHIPMENT_ERROR example: TRANSFER_SHIPMENT_CREATED type: string stockReleaseTimeStamp: description: Stock release time stamp date example: '2022-06-06T07:58:30.996Z' format: date-time type: string subtype: description: Shipment subtype enum: - COD example: COD type: string totalCartons: description: Total number of cartons example: 2 format: int64 type: integer transferId: description: Transfer ID for this shipment example: '112345678912340' type: string transferNumber: description: Transfer number for this shipment example: '112345678912340' type: string type: description: Shipment types enum: - STANDARD - RESHIP - RETURN - SCRATCH - PENDING_RETURN - PICKUP - TRANSFER example: TRANSFER type: string vendorId: description: Vendor ID example: '56' type: string required: - shipFrom - shipTo - transferId - transferNumber type: object valueSearchFilter: allOf: - $ref: '#/components/schemas/shipmentSearchFilter' - properties: value: description: Search criteria using a single value example: ORDER_CREATE oneOf: - description: Target record's non-numeric identifier example: ORDER_CREATE type: string - description: Target record's numeric identifier example: 112233 format: int64 type: number - description: Target record's numeric identifier example: 1122.33 format: double type: number type: object description: >- The criteria used to find shipments by a single value. Condition between `field` and `value` is anything except IN and NIN when `valueSearchFilter` is used. required: - condition - field type: object valuesSearchFilter: allOf: - $ref: '#/components/schemas/shipmentSearchFilter' - properties: values: items: description: Search criteria using multiple values example: ORDER_CREATE oneOf: - description: Target record's non-numeric identifier example: ORDER_CREATE type: string - description: Target record's numeric identifier example: 112233 format: int64 type: number - description: Target record's numeric identifier example: 1122.33 format: double type: number maxItems: 25 minItems: 1 type: array type: object description: >- The search criteria when using multiple values. Condition between `field` and `values` is either IN or NIN when `valuesSearchFilter` is used. required: - condition - field type: object securitySchemes: authorization: bearerFormat: JWT scheme: bearer type: http externalDocs: description: Find out more about fabric Orders (also called OMS) url: https://developer.fabric.inc/v3/docs/orders-overview info: contact: email: support@fabric.inc name: fabric Orders team description: >- fabric **Shipments** API is a multi-tenant service that enables you to manage shipments for existing 'Allocations.' Shipments serve as records of the locations from which an order was fulfilled. Typical user of fabric Shipments service is a Warehouse management service or Point of Sale service.

**Note**: Shipments API relies on the Allocation service to send allocation details to external merchant systems after an order is placed. Allocation is the prerequisite for using Shipments API.

license: name: fabric API License url: https://fabric.inc/api-license termsOfService: https://fabric.inc/terms-of-use title: Orders - Shipments API version: 3.0.0 x-audience: external-public openapi: 3.0.1 x-mint: mcp: enabled: true paths: /shipments: post: description: >- To use this endpoint an “allocation” must exist for the order that's being shipped. When an order is placed, fabric sends allocation details to external merchant system to create order fulfillment requirement details in an external system. With reference to the allocation that's being shipped, users of this POST API can create shipment details for allocations.

**Note**: Shipment ID generated as part of the response is required for subsequent calls such as Acknowledge shipment (`POST /shipments/{shipmentId}/acknowledge`) and Get shipment (`GET /shipments/{shipmentId}`).

operationId: createShipment parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/createShipmentRequest' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/shipmentResponse' description: Created 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' '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: Create New Shipment tags: - Shipments /shipments/create-order-shipment: post: tags: - Shipments summary: Create Shipment for an Existing Order description: > Creates shipment details for an existing order. This endpoint can only be used for orders that already exist. When an order is placed, fabric sends allocation details to external merchant systems to define fulfillment requirements. Using the provided allocation reference, this endpoint (POST) creates shipment records associated with that order. Note: - The Shipment ID returned in the response is required for subsequent calls: - Acknowledge shipment: `POST /shipments/{shipmentId}/acknowledge` - Get shipment: `GET /shipments/{shipmentId}` operationId: createShipmentByOrder parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/createShipmentByOrderRequest' required: true responses: '201': description: Created headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/shipmentResponse' '400': description: Bad request headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: CLIENT_ERROR errorCode: SERVICE-4003 message: 'Mandatory param(s): `requiredField1` is/are missing' errors: - type: CLIENT_ERROR errorCode: SERVICE-4002 message: Invalid value(s) specified for 'requiredField.field3' errors: [] context: service: orders endpoint: POST /v3/orders '401': description: Unauthorized headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: CLIENT_ERROR errorCode: SERVICE-4001 message: Unauthorized request errors: [] context: service: orders endpoint: POST /v3/orders/OrderId_12345 '500': description: Internal server error headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: SERVER_ERROR errorCode: SERVICE-5000 message: Internal server error errors: [] context: service: inventories endpoint: POST /v3/inventories/actions/find-by-geography /shipments/actions/re-ship: post: description: >- Orders may go missing before they're delivered to customers for reasons such as incorrect address, theft, labelling issues, or other reasons. This endpoint triggers reshipment in such cases for the existing location.

**Note**: Shipment ID generated as part of the response is required for subsequent calls such as Acknowledge shipment (POST /shipments/{shipmentId}/acknowledge) and Get shipment (GET /shipments/{shipmentId}).

operationId: createReshipment parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/createShipmentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/shipmentResponse' 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' '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: Create Re-shipment tags: - Shipments /shipments/actions/update-tracking: post: description: >- The update tracking endpoint creates a new tracking log that can be used to update the order status. The most common application of this endpoint is to connect to external web services or 'adapters' that have been integrated with carrier tracking applications. With this endpoint, fabric Shipment service gets information from carrier tracking applications, and in turn, updates customers about their shipment status. operationId: updateTrackingDetails parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/shipmentTrackingDetail' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/shipmentsResponse' 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: Shipment not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Shipment 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 Shipment Tracking tags: - Shipments /shipments/inventory-transfer: post: operationId: createShipment_1 parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/transferShipmentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/actions/update-tracking: post: operationId: updateTracking parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/shipmentTrackingDetail' required: true responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/transferShipmentResponse' type: array 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/pack-unpack: post: operationId: packTransferShipment parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/transferShipmentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/query: post: operationId: getTransferShipmentByQuery parameters: - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/libQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/libQueryResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/search: post: operationId: search parameters: - in: query name: fetchOnlyIds required: false schema: default: false type: boolean - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/transferShipmentsSearchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/searchResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/{transferShipmentId}: get: operationId: get parameters: - in: path name: transferShipmentId required: true schema: type: string - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller put: operationId: update parameters: - in: path name: transferShipmentId 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/updateTransferShipmentRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/{transferShipmentId}/action/cancel: post: operationId: cancel parameters: - in: path name: transferShipmentId required: true schema: type: string - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/{transferShipmentId}/action/receiving: post: operationId: receiving parameters: - in: path name: transferShipmentId 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/transferReceivingRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/inventory-transfer/{transferShipmentId}/actions/package-tracking-acknowledge: post: operationId: acknowledgeTransferShipmentById parameters: - in: path name: transferShipmentId 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/acknowledgePackageTrackingRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/transferShipmentResponse' 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' '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' tags: - transfer-shipment-controller /shipments/search: post: description: >- As merchants, you may want to view shipments of specific statuses, monitor progress of deliveries, and proactively manage situations to ensure timely deliveries.

This endpoint enables you to easily search for shipments based on the specified criteria in the request body. You can refine your search by specifying `limit` and `offset`. When they're not specified, by default you will get up to 10 records. In addition, you can `sort` results.

operationId: searchShipments parameters: - in: query name: fetchOnlyIds required: false schema: default: false type: boolean - description: >- The number of records to skip before returning all records. For example, `offset=20, limit=10` returns records 21-30. example: 0 in: query name: offset schema: default: 0 type: number - description: Maximum number of records per page. example: 10 in: query name: limit schema: default: 10 example: 10 type: number - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' requestBody: content: application/json: schema: $ref: '#/components/schemas/shipmentsSearchRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/shipmentsSearchResponse' 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' '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: Find Shipments tags: - Shipments /shipments/{shipmentId}: get: description: >- As merchants, you may want to resolve customer queries related to shipment or track a specific shipment to manage customer expectations with timely communication.

This endpoint gets details of a single shipment by ID. You will get `shipmentId` by using the search endpoint, or by referencing a `shipmentId` on a file such as the Invoice.

operationId: getShipment parameters: - description: >- 24-character system-generated shipment ID. It's generated in the response of Create Shipment - `POST /shipments` endpoint. example: 627963716b19511e8a3a631b in: path name: shipmentId required: true schema: type: string - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' responses: '200': content: application/json: schema: $ref: '#/components/schemas/shipmentResponse' 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: Shipment not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Shipment 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: Get Shipment by ID tags: - Shipments /shipments/{shipmentIdType}/{shipmentIdValue}: get: tags: - Shipments summary: Get Shipment by Shipmentidtype and Shipmentidvalue description: > Retrieves shipment details by `shipmentIdType` and `shipmentIdValue`. As a merchant, you may need to review or monitor a shipment to address customer inquiries, resolve complaints, or support analytics and reporting. This endpoint allows you to access shipment information using the shipment identifiers. operationId: getShipmentByIdAndIdType parameters: - name: shipmentIdType in: path description: >- This field specifies the type of shipment identifier used in the request. Valid values: - shipment-number — The merchant-defined shipment number. - shipment-external-id — The merchant-assigned external identifier for the shipment. required: true schema: type: string enum: - shipment-number - shipment-external-id example: shipment-external-id - name: shipmentIdValue in: path description: >- This field specifies the identifier value that corresponds to the type in `shipmentIdType`. For example, if `shipmentIdType` is `shipment-number`, then this value must be the merchant-defined shipment number. required: true schema: type: string examples: shipment-number: summary: Merchant-defined Shipment Number value: '217088603' shipment-external-id: summary: Merchant-assigned External Shipment Identifier value: bef5680-u1245678 - $ref: '#/components/parameters/xFabricTenantId' - $ref: '#/components/parameters/xFabricChannelId' - $ref: '#/components/parameters/xFabricRequestId' responses: '200': description: OK headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/shipmentResponse' '400': description: Bad request headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: CLIENT_ERROR errorCode: SERVICE-4003 message: 'Mandatory param(s): `requiredField1` is/are missing' errors: - type: CLIENT_ERROR errorCode: SERVICE-4002 message: Invalid value(s) specified for 'requiredField.field3' errors: [] context: service: orders endpoint: POST /v3/orders '401': description: Unauthorized headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: CLIENT_ERROR errorCode: SERVICE-4001 message: Unauthorized request errors: [] context: service: orders endpoint: POST /v3/orders/OrderId_12345 '404': description: Not found headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: message: Order with orderNumber is not found type: CLIENT_ERROR '500': description: Internal server error headers: x-fabric-request-id: $ref: '#/components/headers/xFabricRequestIdResponseHeader' content: application/json: schema: $ref: '#/components/schemas/errorResponse' example: type: SERVER_ERROR errorCode: SERVICE-5000 message: Internal server error errors: [] context: service: inventories endpoint: POST /v3/inventories/actions/find-by-geography /shipments/{shipmentId}/acknowledge: post: description: >- For users of fabric Webhook Service, Shipment related events can trigger HTTP callbacks to notify web clients through a merchant-defined URL/URI, typically an API Gateway for a middleware. While the response to fabric Webhook service HTTP call-back may occur, a secondary call-back can use this Acknowledge Shipment endpoint to indicate that a secondary external system has acknowledged this shipment event. Middleware receives the event, transforms it in a suitable format, and sends a success response back to fabric, confirming it received the event. It also sends the transformed event to an external merchant system (typically in XML or JSON).

With this endpoint, middleware immediately sends an asynchronous acknowledgement to fabric, based on shipping ID, to indicate whether the call was successful. This acknowledgement is used for learning, auditing, and taking any necessary action.

operationId: acknowledgeShipment parameters: - description: >- 24-character system-generated shipment ID. It's generated in the response of Create Shipment - `POST /shipments` endpoint. example: 627963716b19511e8a3a631b in: path name: shipmentId 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/shipmentAcknowledge' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/shipmentAcknowledgeResponse' 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: Shipment not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Shipment 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: Acknowledge Shipment tags: - Shipments /shipments/{shipmentId}/actions/update-gift-cards-status: post: description: >- This endpoint is used to activate gift cards before they're delivered to the customer. Typically used by “adapters” or external web services integrated with gift card applications, so that gift cards can be activated as part of the fabric fulfillment workflow. operationId: updateGiftCardStatus parameters: - description: >- 24-character system-generated shipment ID. It's generated in the response of Create Shipment - `POST /shipments` endpoint. example: 627963716b19511e8a3a631b in: path name: shipmentId 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/giftCardItemsActivationRequest' required: true responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/giftCardItem' type: array 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: Shipment not found type: CLIENT_ERROR schema: $ref: '#/components/schemas/errorResponse' description: Shipment 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 Gift Card Activation Status tags: - Shipments security: - authorization: [] servers: - description: Production url: https://api.fabric.inc/v3 tags: - description: >- fabric **Shipments** API is a multi-tenant service that enables you to manage shipments for existing 'Allocations.' Shipments serve as records of the locations from which an order was fulfilled. Typical user of fabric Shipments service is a Warehouse management service or Point of Sale service.

**Note**: Shipments API relies on the Allocation service to send allocation details to external merchant systems after an order is placed. Allocation is the prerequisite for using Shipments API.

name: Shipments