---
title: Logistics API
description: "**Note:** This is a restricted [(Limited Release)](/develop/guides-v2/using-ebay-restful-apis#Limited) API available only to select developers approved by business units. The **Logistics API** resources offer the following capabilities: * **shipping\\_quote** – Consolidates into a list a set of live shipping rates, or quotes, from which you can select a rate to ship a package. * **shipment** – Creates a 'shipment' for the selected shipping rate. Call **createShippingQuote** to get a list of live shipping rates. The rates returned are all valid for a specific time window and all quoted prices are at eBay-negotiated rates. Select one of the live rates and using its associated **rateId**, create a 'shipment' for the package by calling **createFromShippingQuote**. Creating a shipment completes an agreement, and the cost of the base service and any added shipping options are summed into the returned **totalShippingCost** value. This action also generates a shipping label that you can use to ship the package. The total cost of the shipment is incurred when the package is shipped using the supplied shipping label. **Important!** Sellers must set up a payment method via their eBay account before they can use the methods in this API to create a shipment and the associated shipping label."
api_version: 1.0
api_name: logistics_api
api_type: REST
api_group: sell/logistics_api
source_url:
  html: https://developer.ebay.com/develop/api/sell/logistics_api
  md: https://developer.ebay.com/develop/api/sell/logistics_api.md
---

# Logistics API API

**Note:** This is a restricted [(Limited Release)](/develop/guides-v2/using-ebay-restful-apis#Limited) API available only to select developers approved by business units.  
  
The **Logistics API** resources offer the following capabilities:

*   **shipping\_quote** – Consolidates into a list a set of live shipping rates, or quotes, from which you can select a rate to ship a package.
*   **shipment** – Creates a 'shipment' for the selected shipping rate.

Call **createShippingQuote** to get a list of live shipping rates. The rates returned are all valid for a specific time window and all quoted prices are at eBay-negotiated rates.  
  
Select one of the live rates and using its associated **rateId**, create a 'shipment' for the package by calling **createFromShippingQuote**. Creating a shipment completes an agreement, and the cost of the base service and any added shipping options are summed into the returned **totalShippingCost** value. This action also generates a shipping label that you can use to ship the package. The total cost of the shipment is incurred when the package is shipped using the supplied shipping label.

  
  

**Important!** Sellers must set up a payment method via their eBay account before they can use the methods in this API to create a shipment and the associated shipping label.

## API Methods

The following API methods are available:

### cancelShipment

#### POST /shipment/{shipmentId}/cancel
**Description:** This method cancels the shipment associated with the specified shipment ID and the associated shipping label is deleted. When you cancel a shipment, the **totalShippingCost** of the canceled shipment is refunded to the account established by the user's billing agreement.  
  
Note that you cannot cancel a shipment if you have used the associated shipping label.
**Parameters:**
- **shipmentId** (string) *required*
  - This path parameter specifies the unique eBay-assigned ID of the shipment to be canceled.  
  
The **shipmentId** value is generated and returned by the [createFromShippingQuote](/api-docs/sell/logistics/resources/shipment/methods/createFromShippingQuote) method.

### createFromShippingQuote

#### POST /shipment/create_from_shipping_quote
**Description:** This method creates a shipment based on the **shippingQuoteId** and **rateId** values supplied in the request. The rate identified by the **rateId** value specifies the carrier and service for the package shipment, and the rate ID must be contained in the shipping quote identified by the **shippingQuoteId** value. Call **createShippingQuote** to retrieve a set of live shipping rates.  
  
**Note:** The Logistics API only supports USPS shipping rates and labels.  
When you create a shipment, eBay generates a shipping label that you can download and use to ship your package.  
  
In a **createFromShippingQuote** request, sellers can include a list of shipping options they want to add to the base service quoted in the selected rate. The list of available shipping options is specific to each quoted rate and if available, the options are listed in the rate container of the shipping quote.  
  
In addition to a configurable return-to location and other details about the shipment, the response to this method includes:

*   The shipping carrier and service to be used for the package shipment
*   A list of selected shipping options, if any
*   The shipment tracking number
*   The total shipping cost (the sum cost of the base shipping service and any added options)

When you create a shipment, your billing agreement account is charged the sum of the **baseShippingCost** and the total cost of any additional shipping options you might have selected. Use the URL returned in **labelDownloadUrl** field, or call **downloadLabelFile** with the **shipmentId** value from the response, to download a shipping label for your package.  
  

**Important!** Sellers must set up their payment method before they can use this method to create a shipment and the associated shipping label.

##### Set up a billing agreement

Prior to using this method to create a shipment, sellers must first set up their billing agreement. Failure to do so will return `Error 90030 Payment could not be completed.`  
  
The preferred method for sellers to set up their billing agreement is to go to [Set up billing agreement](<https://www.ebay.com/ship/bulk/payments >) and follow the on-screen directions.  
  
Alternatively, sellers can do the following:

*   Go to https://www.ebay.com/ship/single/{order\_id}, where {order\_id} is that of the order for which the label is being printed.
*   When prompted, select **PayPal**.
*   Verify that **Save PayPal for future purchases** is selected.
*   Click **Set up Payments** which will open PayPal in a pop-up window.
*   Log in using _PayPal credentials_, and then follow the on-screen prompts to set up the billing agreement.
*   Once the agreement has been set up, sellers can leave this page as there is no need to actually print a label.
**Parameters:**
- **Content-Type** (string) *required*
  - This header indicates the format of the request body provided by the client. Its value should be set to **application/json**.  
  
For more information, refer to [HTTP request headers](/api-docs/static/rest-request-components.html#HTTP).
- **X-EBAY-C-MARKETPLACE-ID** (string) *required*
  - This header parameter specifies the eBay marketplace for the shipment being created.  
  
For a list of valid values, refer to the section [Marketplace ID Values](/api-docs/static/rest-request-components.html#marketpl) in the **Using eBay RESTful APIs** guide.

### downloadLabelFile

#### GET /shipment/{shipmentId}/download_label_file
**Description:** This method returns the shipping label file that was generated for the **shipmentId** value specified in the request. Call **createFromShippingQuote** to generate a shipment ID.  
  
**Note:** The Logistics API only supports USPS shipping rates and labels.  
Use the `Accept` HTTP header to specify the format of the returned file. The default file format is a PDF file.
**Parameters:**
- **shipmentId** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the shipment associated with the shipping label you want to download.  
  
The **shipmentId** value is generated and returned by the [createFromShippingQuote](/api-docs/sell/logistics/resources/shipment/methods/createFromShippingQuote) method.
- **Accept** (string) *required*
  - This header specifies the format of the returned file. For this method, the value of the header should be `Accept: application/pdf`.

### getShipment

#### GET /shipment/{shipmentId}
**Description:** This method retrieves the shipment details for the specified shipment ID. Call **createFromShippingQuote** to generate a shipment ID.
**Parameters:**
- **shipmentId** (string) *required*
  - This path parameter specifies the unique eBay-assigned identifier of the shipment you want to retrieve.  
  
The **shipmentId** value is generated and returned by the [createFromShippingQuote](/api-docs/sell/logistics/resources/shipment/methods/createFromShippingQuote) method.

### createShippingQuote

#### POST /shipping_quote
**Description:** The **createShippingQuote** method returns a _shipping quote_ that contains a list of live "rates."  
  
Each rate represents an offer made by a shipping carrier for a specific service and each offer has a live quote for the base service cost. Rates have a time window in which they are "live," and rates expire when their purchase window ends. If offered by the carrier, rates can include shipping options (and their associated prices), and users can add any offered shipping option to the base service should they desire. Also, depending on the services required, rates can also include pickup and delivery windows.  
  
**Note:** The Logistics API only supports USPS shipping rates and labels.  
Each rate is for a single package and is based on the following information:

*   The shipping origin
*   The shipping destination
*   The package size (weight and dimensions)

Rates are identified by a unique eBay-assigned **rateId** and rates are based on price points, pickup and delivery time frames, and other user requirements. Because each rate offered must be compliant with the eBay shipping program, all rates reflect eBay-negotiated prices.  
  
The various rates returned in a shipping quote offer the user a choice from which they can choose a shipping service that best fits their needs. Select the rate for your shipment and using the associated **rateId**, call **createFromShippingQuote** to create a shipment and generate a shipping label that you can use to ship the package.
**Parameters:**
- **X-EBAY-C-MARKETPLACE-ID** (string) *required*
  - This header parameter specifies the eBay marketplace for the shipping quote that is being created.  
  
For a list of valid values, see [Request Headers](</develop/api/sell/request_headers#marketplace-id-values >).
- **Content-Type** (string) *required*
  - This header indicates the format of the request body provided by the client. Its value should be set to **application/json**.  
  
For more information, refer to [HTTP request headers](/api-docs/static/rest-request-components.html#HTTP).

### getShippingQuote

#### GET /shipping_quote/{shippingQuoteId}
**Description:** This method retrieves the complete details of the shipping quote associated with the specified **shippingQuoteId** value.  
  
A "shipping quote" pertains to a single specific package and contains a set of shipping "rates" that quote the cost to ship the package by different shipping carriers and services. The quotes are based on the package's origin, destination, and size.  
  
Call **createShippingQuote** to create a **shippingQuoteId**.
**Parameters:**
- **shippingQuoteId** (string) *required*
  - This path parameter specifies the unique eBay-assigned ID of the shipping quote you want to retrieve.  
  
The **shippingQuoteId** value is generated and returned by the [createShippingQuote](/api-docs/sell/logistics/resources/shipping_quote/methods/createShippingQuote) method.

## Error Codes

The following error codes may be returned by this API:

### REQUEST Errors

#### 90005 - API_LOGISTICS
**Description:** The resource could not be found.

#### 90260 - API_LOGISTICS
**Description:** Cannot cancel shipment {shipmentId}

#### 90010 - API_LOGISTICS
**Description:** Missing field {fieldName}.

#### 90020 - API_LOGISTICS
**Description:** Invalid field {fieldName}.

#### 90030 - API_LOGISTICS
**Description:** Payment could not be completed.

#### 90200 - API_LOGISTICS
**Description:** The quote has expired. Please request a new quote.

#### 90210 - API_LOGISTICS
**Description:** The quote has already been purchased. Please request a new quote.

#### 90110 - API_LOGISTICS
**Description:** The order {orderId} was not found on the platform.

#### 90100 - API_LOGISTICS
**Description:** No shipping services available for the provided addresses.

#### 90120 - API_LOGISTICS
**Description:** The package specification is incompatible with the destination.

#### 90130 - API_LOGISTICS
**Description:** Order {orderId} is incompatible with our services.

#### 90133 - API_LOGISTICS
**Description:** Maximum number of orders exceeded. Current limitation is 10.

### APPLICATION Errors

#### 90000 - API_LOGISTICS
**Description:** A system error has occurred.

## Rate Limits

See [API Call Limits](https://developer.ebay.com/develop/get-started/api-call-limits) on the eBay Developer Program.

## Resources

### Documentation

- [eBay Developer Program](https://developer.ebay.com/)
- [API Documentation](https://developer.ebay.com/develop/api/)
- [SDKs and Widgets](https://developer.ebay.com/develop/sdks-and-widgets)
- [Developer Community Forum](https://community.ebay.com/t5/Developer-Groups/ct-p/developergroup)

### Tools

- [API Explorer](https://developer.ebay.com/my/api_test_tool)
- [GraphQL Explorer](https://developer.ebay.com/my/graphql_explorer)

### Support

- [Developer Support](https://developer.ebay.com/support/)
- [API Status](https://developer.ebay.com/support/api-status)
- [Release Notes](https://developer.ebay.com/develop/api/release_notes/)

---
*Generated on 2026-07-08T04:39:23.438Z*