### GetProduct Endpoint Request Example (cURL) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Products Example of how to call the 'GetProduct' endpoint using cURL to retrieve product information by its logisticsSku. This requires authentication via a BEARER token. ```bash curl -X GET \ 'https://api.flexport.com/logistics/api/2025-03/products/{logisticsSku}' \ -H 'Authorization: BEARER ' ``` -------------------------------- ### Product Response Schema Example (JSON) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Products An example of the JSON response structure for a product in the Flexport Logistics API. This schema includes details such as product name, SKUs, barcodes, dimensions, international shipping information, and timestamps. ```json [ { "name": "string", "logisticsSku": "stringstrin", "merchantSku": "string", "barcodes": [ "string" ], "dimensions": { "weight": 0, "weightUnit": "oz", "height": 0, "width": 0, "length": 0, "lengthUnit": "in" }, "international": { "originCountry": "AF", "tariffCode": "string", "customsValue": 0.01, "description": "string" }, "dimsLocked": true, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "category": "string" } ] ``` -------------------------------- ### GET /inbounds/Get a list of inbounds warehouses Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Gets a list of inbound warehouses. ```APIDOC ## GET /inbounds/Get a list of inbounds warehouses ### Description Gets a list of inbound warehouses. ### Method GET ### Endpoint /inbounds/Get a list of inbounds warehouses ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of warehouses to return. - **offset** (integer) - Optional - The starting point for pagination. ### Request Example N/A ### Response #### Success Response (200) - **warehouses** (array) - A list of warehouses. #### Response Example { "warehouses": [ { "warehouse_id": "WH-456", "name": "Inbound Warehouse A" } ] } ``` -------------------------------- ### GET /bundles/Get a list of bundles Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves a list of bundles. ```APIDOC ## GET /bundles/Get a list of bundles ### Description Retrieves a list of bundles. ### Method GET ### Endpoint /bundles/Get a list of bundles ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of bundles to return. - **offset** (integer) - Optional - The starting point for pagination. ### Request Example N/A ### Response #### Success Response (200) - **bundles** (array) - A list of bundles. #### Response Example { "bundles": [ { "bundle_id": "BND-12345", "creation_date": "2024-01-01" }, { "bundle_id": "BND-67890", "creation_date": "2024-01-02" } ] } ``` -------------------------------- ### GET /bundles/GetBundle Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves information about a specific bundle. ```APIDOC ## GET /bundles/GetBundle ### Description Retrieves information about a specific bundle. ### Method GET ### Endpoint /bundles/GetBundle ### Parameters #### Path Parameters - **bundle_id** (string) - Required - The ID of the bundle. ### Request Example N/A ### Response #### Success Response (200) - **bundle_details** (object) - Details of the bundle. #### Response Example { "bundle_details": { "bundle_id": "BND-67890", "items": [ { "product_id": "PRD-112233", "quantity": 2 } ] } } ``` -------------------------------- ### Problem+JSON Error Response Example Source: https://docs.logistics-api.flexport.com/2025-03/index An example of an HTTP response containing an error, formatted according to the problem+json specification. This format includes a status code, content type, language, and a JSON object with details about the error. ```http HTTP/1.1 404 Not Found Content-Type: application/problem+json Content-Language: en { "type": "https://logistics-api.flexport.com/logistics/api/2023-04/documentation/spec#section/Errors/404-Not-Found", "title": "Not Found", "detail": "Cannot find order 49201824029", "instance": "92e04577-c56b-47b9-b075-62096165a0ce" } ``` -------------------------------- ### GET /bundles/GetBundleInventory Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves the inventory details for a specific bundle. ```APIDOC ## GET /bundles/GetBundleInventory ### Description Retrieves the inventory details for a specific bundle. ### Method GET ### Endpoint /bundles/GetBundleInventory ### Parameters #### Path Parameters - **bundle_id** (string) - Required - The ID of the bundle. ### Request Example N/A ### Response #### Success Response (200) - **inventory_details** (object) - Inventory details for the bundle. #### Response Example { "inventory_details": { "bundle_id": "BND-12345", "available_quantity": 10 } } ``` -------------------------------- ### GET /inbounds/Get a list of storage warehouses Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves a list of storage warehouses. ```APIDOC ## GET /inbounds/Get a list of storage warehouses ### Description Retrieves a list of storage warehouses. ### Method GET ### Endpoint /inbounds/Get a list of storage warehouses ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of warehouses to return. - **offset** (integer) - Optional - The starting point for pagination. ### Request Example N/A ### Response #### Success Response (200) - **warehouses** (array) - A list of warehouses. #### Response Example { "warehouses": [ { "warehouse_id": "WH-123", "name": "Warehouse A" } ] } ``` -------------------------------- ### Get Shipment Attachment URL - API Request Example Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds This example demonstrates how to construct a request to get a shipment attachment URL. It specifies the shipment ID and the type of attachment required, such as 'SHIPPING_LABELS' or 'COMMERCIAL_INVOICE'. The content type is currently limited to 'application/pdf'. ```json { "shipmentId": "string", "attachmentType": "SHIPPING_LABELS", "contentType": "application/pdf" } ``` -------------------------------- ### Get Events Response Sample Source: https://docs.logistics-api.flexport.com/2025-03/tag/Events Example JSON response for the GetEvents API endpoint, illustrating the structure of event data returned. ```json [ { "id": "string", "type": "string", "time": "string", "payload": { "property1": "string", "property2": "string" } } ] ``` -------------------------------- ### POST /bundles/CreateBundle Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Creates a new bundle. ```APIDOC ## POST /bundles/CreateBundle ### Description Creates a new bundle. ### Method POST ### Endpoint /bundles/CreateBundle ### Parameters #### Request Body - **bundle_details** (object) - Required - Details of the bundle. ### Request Example { "bundle_details": { "items": [ { "product_id": "PRD-112233", "quantity": 2 } ] } } ### Response #### Success Response (200) - **bundle_id** (string) - The ID of the created bundle. #### Response Example { "bundle_id": "BND-12345" } ``` -------------------------------- ### Get Order By External ID - Request Example Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds This snippet demonstrates how to retrieve order information using an external ID. It requires the 'externalId' as a path parameter. The response will be a 200 OK status if the order is found. ```HTTP GET /orders/{externalId} --- **Path Parameters** | Parameter | Required | Type | |------------|----------|--------| | externalId | yes | string | --- **Responses** * **200 OK** * Order details ``` -------------------------------- ### GET /inbounds/Get quotes for a shipment Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Gets quotes for a shipment. ```APIDOC ## GET /inbounds/Get quotes for a shipment ### Description Gets quotes for a shipment. ### Method GET ### Endpoint /inbounds/Get quotes for a shipment ### Parameters #### Path Parameters - **shipment_id** (string) - Required - The ID of the shipment. ### Request Example N/A ### Response #### Success Response (200) - **quotes** (array) - A list of quotes. #### Response Example { "quotes": [ { "quote_id": "QTE-112233", "price": 100.00 } ] } ``` -------------------------------- ### Get All Product Inventory Data (JSON) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Products Retrieves comprehensive inventory data for all products. This includes on-hand, available, and unavailable quantities, along with lot tracking and breakdown details. The response is an array of product inventory objects. ```json [ { "logisticsSku": "stringstrin", "onHand": 0, "available": 0, "unavailable": 0, "unitsPerPack": 0, "lotTrackingDetails": [ { "lotNumber": "string", "expirationDate": "2019-08-24T14:15:22Z", "available": 0 } ], "breakdown": [ { "logisticsSku": "string", "onHand": 0, "available": 0, "unavailable": 0, "unitsPerPack": 0, "lotTrackingDetails": [ { "lotNumber": "string", "expirationDate": "2019-08-24T14:15:22Z", "available": 0 } ], "dimensions": { "height": 0, "length": 0, "lengthUnit": "in", "weight": 0, "weightUnit": "oz", "width": 0 } } ] } ] ``` -------------------------------- ### Create Return Order Response (201 Created) (JSON) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Returns This JSON response represents a successfully created return order. It includes a unique `id` for the return, its current `status`, and details about the `sourceAddress` and `shippingLabel`. The `shippingLabel` contains tracking information such as `trackingCode`, `carrier`, and URLs for tracking and the label itself. The response also echoes the `rma` and `externalReturnId` provided in the request, along with details of the `returnItems`. ```json { "id": 0, "status": "CREATED", "sourceAddress": { "name": "string", "company": "string", "street1": "string", "street2": "string", "city": "string", "zip": "string", "state": "string", "country": "string", "phone": "string", "email": "string", "isResidential": true }, "shippingLabel": { "trackingCode": "string", "trackingStatus": "CREATED", "carrier": "string", "trackingUrl": "string", "labelUrl": "string" }, "rma": "string", "externalReturnId": "string", "returnItems": [ { "identifier": "string", "expectedQuantity": 0, "inspectedItems": [ { "receivedCondition": "string", "finalCondition": "string", "disposition": "string" } ] } ], "shippedAt": "2019-08-24T14:15:22Z", "receivedAt": "2019-08-24T14:15:22Z", "inspectedAt": "2019-08-24T14:15:22Z", "fulfillmentOrderId": "string" } ``` -------------------------------- ### GET /inbounds/Get all quotes that have been successfully bought for a shipment Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Gets all quotes that have been successfully bought for a shipment. ```APIDOC ## GET /inbounds/Get all quotes that have been successfully bought for a shipment ### Description Gets all quotes that have been successfully bought for a shipment. ### Method GET ### Endpoint /inbounds/Get all quotes that have been successfully bought for a shipment ### Parameters #### Path Parameters - **shipment_id** (string) - Required - The ID of the shipment. ### Request Example N/A ### Response #### Success Response (200) - **bought_quotes** (array) - A list of bought quotes. #### Response Example { "bought_quotes": [ { "quote_id": "QTE-112233", "status": "Bought" } ] } ``` -------------------------------- ### GetAllInventory Source: https://docs.logistics-api.flexport.com/2025-03/tag/Products Get a list of available inventory information for products. This endpoint returns a paginated list of inventory records, including both case packs and individual products. To obtain reserve storage quantities, the poolName parameter can be set to 'STORAGE'. ```APIDOC ## GET /logistics/api/2025-03/inventory ### Description Get a list of available inventory information for products. This endpoint returns a paginated list of inventory records, including both case packs and individual products. There are no more results if an empty page is returned. To obtain reserve storage quantities, the poolName parameter can be set to 'STORAGE'. ### Method GET ### Endpoint /logistics/api/2025-03/inventory ### Parameters #### Query Parameters - **limit** (number) - Optional - Default: 20 - Number of records to return, defaults to 20, capped at 100. - **offset** (number) - Optional - Default: 0 - Number of records to skip before returning, defaults to 0. - **poolName** (string) - Optional - Enum: "DEFAULT" "UNALLOCATED" "STORAGE" "PREP" - Specifies the inventory pool to query. ### Request Example ```json { "example": "No request body for this endpoint" } ``` ### Response #### Success Response (200) - **inventory** (Array of objects) - A list of inventory records. - **logisticsSku** (string) - The globally unique product identifier. - **onHand** (integer) - The calculation of on-hand quantity, non-Pickable quantity, and in-transfer quantity. - **available** (integer) - The number of units available for sale. - **unavailable** (integer) - The number of units not available for sale. - **unitsPerPack** (number) - The number of units per pack. - **lotTrackingDetails** (Array of objects) - Details about lot tracking. - **lotNumber** (string) - Identifier for the lot. - **expirationDate** (string) - Timestamp for when this quantity will expire. RFC 3339 format. - **available** (integer) - The number of units available for sale for this lot. - **breakdown** (Array of objects) - Breakdown of inventory by pack. - **logisticsSku** (string) - The globally unique product identifier for the pack. - **onHand** (integer) - On-hand quantity for the pack. - **available** (integer) - Available quantity for the pack. - **unavailable** (integer) - Unavailable quantity for the pack. - **unitsPerPack** (number) - Units per pack for the pack. - **lotTrackingDetails** (Array of objects) - Lot tracking details for the pack. - **lotNumber** (string) - Identifier for the lot. - **expirationDate** (string) - Timestamp for when this quantity will expire. RFC 3339 format. - **available** (integer) - The number of units available for sale for this lot. - **dimensions** (object) - The physical dimensions of the case pack. - **height** (number) - **length** (number) - **lengthUnit** (string) - **weight** (number) - **weightUnit** (string) - **width** (number) #### Response Example ```json { "inventory": [ { "logisticsSku": "stringstrin", "onHand": 0, "available": 0, "unavailable": 0, "unitsPerPack": 0, "lotTrackingDetails": [ { "lotNumber": "string", "expirationDate": "2019-08-24T14:15:22Z", "available": 0 } ], "breakdown": [ { "logisticsSku": "string", "onHand": 0, "available": 0, "unavailable": 0, "unitsPerPack": 0, "lotTrackingDetails": [ { "lotNumber": "string", "expirationDate": "2019-08-24T14:15:22Z", "available": 0 } ], "dimensions": { "height": 0, "length": 0, "lengthUnit": "in", "weight": 0, "weightUnit": "oz", "width": 0 } } ] } ] } ``` #### Error Responses - **200** OK ``` -------------------------------- ### Logistics API Versioning Examples Source: https://docs.logistics-api.flexport.com/2025-03/index Examples demonstrating the date-based versioning format for the Logistics API URIs. Stable releases use 'yyyy-mm', while experimental releases use 'unstable'. ```bash /logistics/api/2023-04/orders /logistics/api/unstable/orders ``` -------------------------------- ### POST /inbounds/Create a shipment asynchronously Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Creates a shipment asynchronously. ```APIDOC ## POST /inbounds/Create a shipment asynchronously ### Description Creates a shipment asynchronously. ### Method POST ### Endpoint /inbounds/Create a shipment asynchronously ### Parameters #### Request Body - **shipment_details** (object) - Required - Details of the shipment. ### Request Example { "shipment_details": { "warehouse_id": "WH-123", "products": [ { "product_id": "PRD-112233", "quantity": 5 } ] } } ### Response #### Success Response (200) - **job_id** (string) - The ID of the asynchronous job. #### Response Example { "job_id": "JOB-98765" } ``` -------------------------------- ### POST /orders/CreateOrder Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Creates a new order. ```APIDOC ## POST /orders/CreateOrder ### Description Creates a new order. ### Method POST ### Endpoint /orders/CreateOrder ### Parameters #### Request Body - **order_details** (object) - Required - Details of the order. ### Request Example { "order_details": { "customer_id": "CUST-123", "products": [ { "product_id": "PRD-112233", "quantity": 1 } ] } } ### Response #### Success Response (200) - **order_id** (string) - The ID of the created order. #### Response Example { "order_id": "ORD-12345" } ``` -------------------------------- ### Get Order by ID API Endpoint (HTTP) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds This describes the GET endpoint for retrieving order details using the order ID. It specifies the URL path and possible HTTP response codes. ```http GET /logistics/api/2025-03/orders/rs/{orderId} Response codes: 200 OK 401 Unauthorized 404 Not Found ``` -------------------------------- ### GET /logistics/api/2023-10/shipments/{id}/documents Source: https://docs.logistics-api.flexport.com/2025-03/index Requests an expanded set of documents for a specific shipment, including box content labels and shipping labels. This replaces the GET labels endpoint from the Deliverr API. ```APIDOC ## GET /logistics/api/2023-10/shipments/{id}/documents ### Description Requests various documents associated with a shipment, such as shipping labels and box content labels. This endpoint supersedes the 'GET labels' endpoint from the Deliverr API. ### Method GET ### Endpoint `/logistics/api/2023-10/shipments/{id}/documents` #### Path Parameters * **id** (string) - Required - The ID of the shipment for which to retrieve documents. ### Response #### Success Response (200) - **documents** (array) - A list of document objects. - **type** (string) - The type of document (e.g., "SHIPPING_LABEL", "BOX_CONTENT_LABEL"). - **url** (string) - A URL to access the document content. #### Response Example ```json { "documents": [ { "type": "SHIPPING_LABEL", "url": "https://example.com/labels/ship_abc123_shipping.pdf" }, { "type": "BOX_CONTENT_LABEL", "url": "https://example.com/labels/ship_abc123_box_content.pdf" } ] } ``` ``` -------------------------------- ### Create Product Request Body (JSON) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Products Defines the structure for creating a new product via the API. It includes required fields like name, merchantSku, and optional customs and dimension information. Customs information is only needed for international shipping. ```json { "name": "string", "merchantSku": "string", "customsInformation": { "originCountry": "AF", "tariffCode": "string", "customsValue": 0.01, "description": "string" }, "dimensions": { "weight": 0, "weightUnit": "oz", "height": 0, "width": 0, "length": 0, "lengthUnit": "in" }, "category": "string" } ``` -------------------------------- ### GET /logistics/outbounds/Get Order Source: https://docs.logistics-api.flexport.com/2025-03/index No description -------------------------------- ### Products API Source: https://docs.logistics-api.flexport.com/2025-03/index APIs for managing product information, including aliases, barcodes, and inventory. ```APIDOC ## GET /products/aliases ### Description New API to list all aliases by `logisticsSku`. ### Method GET ### Endpoint /products/aliases ### Parameters #### Query Parameters - **logisticsSku** (string) - Required - The logistics SKU to find aliases for. ### Response #### Success Response (200) - **aliases** (array) - List of alias objects. - **aliasSku** (string) - The alias SKU. - **createdAt** (string) - Timestamp when the alias was created. #### Response Example ```json { "aliases": [ { "aliasSku": "MERCHANT-SKU-123", "createdAt": "2024-01-15T09:30:00Z" } ] } ``` ``` ```APIDOC ## GET /products/by-merchant-sku ### Description New API to get a paginated list of products by `merchantSku`. ### Method GET ### Endpoint /products/by-merchant-sku ### Parameters #### Query Parameters - **merchantSku** (string) - Required - The merchant SKU to filter products by. - **limit** (integer) - Optional - Maximum number of results to return. - **offset** (integer) - Optional - Number of results to skip. ### Response #### Success Response (200) - **products** (array) - List of product objects matching the merchant SKU. #### Response Example ```json { "products": [ { "logisticsSku": "LOGISTICS-SKU-XYZ", "name": "Example Product", "merchantSku": "MERCHANT-SKU-123" } ] } ``` ``` ```APIDOC ## POST /products/{logisticsSku}/barcode ### Description New API to validate and assign a new barcode to a product by `logisticsSku`. ### Method POST ### Endpoint /products/{logisticsSku}/barcode ### Parameters #### Path Parameters - **logisticsSku** (string) - Required - The logistics SKU of the product. #### Request Body - **barcode** (string) - Required - The barcode to assign to the product. ### Request Example ```json { "barcode": "1234567890123" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Barcode assigned successfully." } ``` ``` ```APIDOC ## GET /inventory/all ### Description New API to get a paginated list of available inventory information for products. ### Method GET ### Endpoint /inventory/all ### Parameters #### Query Parameters - **limit** (integer) - Optional - Maximum number of results to return. - **offset** (integer) - Optional - Number of results to skip. ### Response #### Success Response (200) - **inventory** (array) - List of inventory items. - **logisticsSku** (string) - The logistics SKU. - **quantityOnHand** (integer) - The quantity currently on hand. - **warehouseId** (string) - The ID of the warehouse. #### Response Example ```json { "inventory": [ { "logisticsSku": "LOGISTICS-SKU-XYZ", "quantityOnHand": 150, "warehouseId": "wh-123" } ] } ``` ``` ```APIDOC ## GET /products ### Description New API to return a paginated list of products. ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **limit** (integer) - Optional - Maximum number of results to return. - **offset** (integer) - Optional - Number of results to skip. ### Response #### Success Response (200) - **products** (array) - List of product objects. #### Response Example ```json { "products": [ { "logisticsSku": "LOGISTICS-SKU-XYZ", "name": "Example Product", "merchantSku": "MERCHANT-SKU-123" } ] } ``` ``` -------------------------------- ### Get Order by External ID Endpoint (GET) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves order details using the external order ID. This endpoint is part of the /logistics/api/2025-03 path and supports responses for success (200) and not found (404) scenarios. ```http get/logistics/api/2025-03/orders/rs/external_id/{externalId} ``` -------------------------------- ### Products API Source: https://docs.logistics-api.flexport.com/2025-03/tag/Parcels Endpoints for managing products, including creation, retrieval, and inventory management. ```APIDOC ## POST /products ### Description Create a product. ### Method POST ### Endpoint /products ### Parameters #### Request Body - **sku** (string) - Required - The Stock Keeping Unit for the product. - **name** (string) - Required - The name of the product. - **description** (string) - Optional - A description of the product. - **attributes** (object) - Optional - Key-value pairs for product attributes. ### Request Example ```json { "sku": "WIDGET-001", "name": "Super Widget", "description": "A high-quality widget for all your needs.", "attributes": { "color": "blue", "size": "medium" } } ``` ### Response #### Success Response (200) - **product_id** (string) - The unique identifier for the created product. #### Response Example ```json { "product_id": "PROD789" } ``` ``` ```APIDOC ## GET /products ### Description Get a list of products. ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of products to return. - **offset** (integer) - Optional - The number of products to skip. ### Response #### Success Response (200) - **products** (array) - A list of products. - **product_id** (string) - The unique identifier for the product. - **sku** (string) - The SKU of the product. - **name** (string) - The name of the product. #### Response Example ```json { "products": [ { "product_id": "PROD789", "sku": "WIDGET-001", "name": "Super Widget" }, { "product_id": "PROD790", "sku": "GADGET-002", "name": "Mega Gadget" } ] } ``` ``` ```APIDOC ## GET /products/{product_id} ### Description Get a product by ID. ### Method GET ### Endpoint /products/{product_id} ### Parameters #### Path Parameters - **product_id** (string) - Required - The ID of the product to retrieve. ### Response #### Success Response (200) - **product_id** (string) - The unique identifier for the product. - **sku** (string) - The SKU of the product. - **name** (string) - The name of the product. - **description** (string) - A description of the product. - **attributes** (object) - Key-value pairs for product attributes. #### Response Example ```json { "product_id": "PROD789", "sku": "WIDGET-001", "name": "Super Widget", "description": "A high-quality widget for all your needs.", "attributes": { "color": "blue", "size": "medium" } } ``` ``` ```APIDOC ## GET /products/{product_id}/aliases ### Description Get a product's aliases. ### Method GET ### Endpoint /products/{product_id}/aliases ### Parameters #### Path Parameters - **product_id** (string) - Required - The ID of the product. ### Response #### Success Response (200) - **aliases** (array) - A list of aliases for the product. - **alias_type** (string) - The type of alias (e.g., "UPC", "EAN"). - **alias_value** (string) - The value of the alias. #### Response Example ```json { "aliases": [ { "alias_type": "UPC", "alias_value": "123456789012" } ] } ``` ``` ```APIDOC ## GET /products/{product_id}/inventory ### Description Get inventory for a specific product. ### Method GET ### Endpoint /products/{product_id}/inventory ### Parameters #### Path Parameters - **product_id** (string) - Required - The ID of the product. ### Response #### Success Response (200) - **product_id** (string) - The ID of the product. - **quantity_available** (integer) - The number of units available. - **quantity_on_hand** (integer) - The total number of units on hand. - **warehouse_code** (string) - The code of the warehouse where the inventory is located. #### Response Example ```json { "product_id": "PROD789", "quantity_available": 100, "quantity_on_hand": 120, "warehouse_code": "WH-US-NYC" } ``` ``` ```APIDOC ## GET /inventory/all ### Description Get all inventory across all products and warehouses. ### Method GET ### Endpoint /inventory/all ### Response #### Success Response (200) - **inventory** (array) - A list of inventory items. - **product_id** (string) - The ID of the product. - **sku** (string) - The SKU of the product. - **quantity_available** (integer) - The number of units available. - **quantity_on_hand** (integer) - The total number of units on hand. - **warehouse_code** (string) - The code of the warehouse. #### Response Example ```json { "inventory": [ { "product_id": "PROD789", "sku": "WIDGET-001", "quantity_available": 100, "quantity_on_hand": 120, "warehouse_code": "WH-US-NYC" }, { "product_id": "PROD790", "sku": "GADGET-002", "quantity_available": 50, "quantity_on_hand": 60, "warehouse_code": "WH-US-LAX" } ] } ``` ``` ```APIDOC ## POST /products/warehouse-details ### Description Get warehouse details for products. ### Method POST ### Endpoint /products/warehouse-details ### Parameters #### Request Body - **product_ids** (array) - Required - A list of product IDs. - **product_id** (string) - Required ### Request Example ```json { "product_ids": ["PROD789", "PROD790"] } ``` ### Response #### Success Response (200) - **warehouse_details** (array) - Details about the products in warehouses. - **product_id** (string) - The ID of the product. - **warehouse_code** (string) - The code of the warehouse. - **location** (string) - The location of the product within the warehouse. - **quantity_available** (integer) - The number of units available. #### Response Example ```json { "warehouse_details": [ { "product_id": "PROD789", "warehouse_code": "WH-US-NYC", "location": "Aisle 5, Shelf 3", "quantity_available": 100 } ] } ``` ``` ```APIDOC ## POST /products/barcodes ### Description Create a product barcode. ### Method POST ### Endpoint /products/barcodes ### Parameters #### Request Body - **product_id** (string) - Required - The ID of the product. - **barcode_type** (string) - Required - The type of barcode (e.g., "UPC", "EAN", "CODE128"). - **barcode_value** (string) - Required - The value of the barcode. ### Request Example ```json { "product_id": "PROD789", "barcode_type": "UPC", "barcode_value": "123456789012" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Barcode created successfully." } ``` ``` ```APIDOC ## PATCH /products/{product_id} ### Description Update a product. ### Method PATCH ### Endpoint /products/{product_id} ### Parameters #### Path Parameters - **product_id** (string) - Required - The ID of the product to update. #### Request Body - **name** (string) - Optional - The new name of the product. - **description** (string) - Optional - The new description of the product. - **attributes** (object) - Optional - Updated product attributes. ### Request Example ```json { "description": "An updated description for the Super Widget." } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Product updated successfully." } ``` ``` -------------------------------- ### Create Bundle Response (202 Success - JSON) Source: https://docs.logistics-api.flexport.com/2025-03/tag/Bundles This JSON response indicates a successful bundle creation. It includes the details of the created bundle, such as externalBundleId, title, sku, bundleContents, the newly generated bundleId, and the creation timestamp. ```json { "externalBundleId": "string", "title": "string", "sku": "string", "bundleContents": [ { "productId": "stringstrin", "quantity": 0 } ], "bundleId": "stringstrin", "createdAt": "2019-08-24T14:15:22Z" } ``` -------------------------------- ### GET /orders/GetOrder Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves a specific order. ```APIDOC ## GET /orders/GetOrder ### Description Retrieves a specific order. ### Method GET ### Endpoint /orders/GetOrder ### Parameters #### Path Parameters - **order_id** (string) - Required - The ID of the order. ### Request Example N/A ### Response #### Success Response (200) - **order_details** (object) - Details of the order. #### Response Example { "order_details": { "order_id": "ORD-12345", "status": "Shipped" } } ``` -------------------------------- ### POST /inbounds/Begin asynchronous request to buy a quote for a shipment Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Begins an asynchronous request to buy a quote for a shipment. ```APIDOC ## POST /inbounds/Begin asynchronous request to buy a quote for a shipment ### Description Begins an asynchronous request to buy a quote for a shipment. ### Method POST ### Endpoint /inbounds/Begin asynchronous request to buy a quote for a shipment ### Parameters #### Request Body - **quote_id** (string) - Required - The ID of the quote to buy. ### Request Example { "quote_id": "QTE-112233" } ### Response #### Success Response (200) - **job_id** (string) - The ID of the asynchronous job. #### Response Example { "job_id": "JOB-98765" } ``` -------------------------------- ### GET /outbounds/Get Order Source: https://docs.logistics-api.flexport.com/2025-03/tag/Outbounds Retrieves an outbound order. ```APIDOC ## GET /outbounds/Get Order ### Description Retrieves an outbound order. ### Method GET ### Endpoint /outbounds/Get Order ### Parameters #### Path Parameters - **order_id** (string) - Required - The ID of the order. ### Request Example N/A ### Response #### Success Response (200) - **order_details** (object) - Details of the order. #### Response Example { "order_details": { "order_id": "ORD-54321", "status": "In Transit" } } ```