ShipEngine's easy-to-use REST API lets you manage all of your shipping needs without worrying about the complexities of different carrier APIs and protocols. We handle all the heavy lifting so you can focus on providing a first-class shipping experience for your customers at the best possible prices.
Each of ShipEngine's features can be used by itself or in conjunction with each other to build powerful shipping functionality into your application or service.
If you're new to REST APIs then be sure to read our introduction to REST to understand the basics. Learn how to authenticate yourself to ShipEngine, and then use our sandbox environment to kick the tires and get familiar with our API. If you run into any problems, then be sure to check the error handling guide for tips.
Here are some step-by-step tutorials to get you started:
ShipEngine makes it easy to create shipping labels for any carrier and download them in a variety of file formats. You can even customize labels with your own messages and images.
With ShipEngine you can get the current status of a package or subscribe to real-time tracking updates via webhooks. You can also create custimized tracking pages with your own branding so your customers will always know where their package is.
Make sure you ship as cost-effectively as possible by comparing rates across carriers using the ShipEngine Rates API. Or if you don't know the full shipment details yet, then you can get rate estimates with limited address info.
ShipEngine supports address validation for virtually every country on Earth, including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others.
The address-recognition API makes it easy for you to extract address data from unstructured text, including the recipient name, line 1, line 2, city, postal code, and more.
Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's address-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed address data is returned in the same structure that's used for other ShipEngine APIs, such as address validation, rate quotes, and shipping labels.
Note: Address recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland.
200 - Returns the parsed address, as well as a confidence score and a list of all the entities that were recognized in the text.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/addresses/recognize' --header 'ContentType:
application/json'
Address validation ensures accurate addresses and can lead to reduced shipping costs by preventing address correction surcharges. ShipEngine cross references multiple databases to validate addresses and identify potential deliverability issues.
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/addresses/validate' --header 'ContentType:
application/json'
List Batches associated with your Shipengine account
200 - The request was a success.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/batches' --header 'ContentType:
application/json'
Create a Batch
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/batches' --header 'ContentType:
application/json'
Get Batch By External ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/batches/external_batch_id/{external_batch_id}' --header 'ContentType:
application/json'
Delete Batch By Id
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/batches/{batch_id}' --header 'ContentType:
application/json'
Get Batch By ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/batches/{batch_id}' --header 'ContentType:
application/json'
Update Batch By Id
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/batches/{batch_id}' --header 'ContentType:
application/json'
Add a Shipment or Rate to a Batch
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/batches/{batch_id}/add' --header 'ContentType:
application/json'
Error handling in batches are handled differently than in a single synchronous request. You must retrieve the status of your batch by getting a batch and getting an overview of the statuses or you can list errors directly here below to get detailed information about the errors.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/batches/{batch_id}/errors' --header 'ContentType:
application/json'
Process Batch ID Labels
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/batches/{batch_id}/process/labels' --header 'ContentType:
application/json'
Remove a shipment or rate from a batch
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/batches/{batch_id}/remove' --header 'ContentType:
application/json'
Connect a carrier account
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/connections/carriers/{carrier_name}' --header 'ContentType:
application/json'
Disconnect a carrier
204 - The request was successful.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/connections/carriers/{carrier_name}/{carrier_id}' --header 'ContentType:
application/json'
Get carrier settings
200 - The request was a success.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/connections/carriers/{carrier_name}/{carrier_id}/settings' --header 'ContentType:
application/json'
Update carrier settings
204 - The request was successful.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/connections/carriers/{carrier_name}/{carrier_id}/settings' --header 'ContentType:
application/json'
List all carriers that have been added to this account
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/carriers' --header 'ContentType:
application/json'
Retrive carrier info by ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/carriers/{carrier_id}' --header 'ContentType:
application/json'
Add Funds To A Carrier
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/carriers/{carrier_id}/add_funds' --header 'ContentType:
application/json'
Get a list of the options available for the carrier
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/carriers/{carrier_id}/options' --header 'ContentType:
application/json'
List the package types associated with the carrier
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/carriers/{carrier_id}/packages' --header 'ContentType:
application/json'
List the services associated with the carrier ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/carriers/{carrier_id}/services' --header 'ContentType:
application/json'
Get File
200 - The request was a success
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/downloads/{dir}/{subdir}/{filename}' --header 'ContentType:
application/json'
Disconnect a Shipsurance Account
200 - The request was a success
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/connections/insurance/shipsurance' --header 'ContentType:
application/json'
Connect a Shipsurance Account
200 - The request was a success
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/connections/insurance/shipsurance' --header 'ContentType:
application/json'
You may need to auto fund your account from time to time. For example, if you don't normally ship items over $100, and may want to add funds to insurance rather than keeping the account funded.
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PATCH
--url 'https://api.shipengine.com /v1/insurance/shipsurance/add_funds' --header 'ContentType:
application/json'
Retrieve the balance of your Shipsurance account.
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/insurance/shipsurance/balance' --header 'ContentType:
application/json'
This endpoint returns a list of labels that you've created. You can optionally filter the results as well as control their sort order and the number of results returned at a time.
By default, all labels are returned, 25 at a time, starting with the most recently created ones. You can combine multiple filter options to narrow-down the results. For example, if you only want to get your UPS labels for your east coast warehouse you could query by both warehouse_id
and carrier_id
200 - The response includes a `labels` array containing a page of results (as determined by the `page_size` query parameter). It also includes other useful information, such as the total number of labels that match the query criteria, the number of pages of results, and the URLs of the first, last, next, and previous pages of results.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/labels' --header 'ContentType:
application/json'
Purchase and print a label for shipment
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/labels' --header 'ContentType:
application/json'
Find a label by using the external shipment id that was used during label creation
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/labels/external_shipment_id/{external_shipment_id}' --header 'ContentType:
application/json'
When retrieving rates for shipments using the /rates
endpoint, the returned information contains a rate_id
property that can be used
to generate a label without having to refill in the shipment information repeatedly.
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/labels/rates/{rate_id}' --header 'ContentType:
application/json'
Purchase a label using a shipment ID that has already been created with the desired address and package info.
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/labels/shipment/{shipment_id}' --header 'ContentType:
application/json'
Retrieve information for individual labels.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/labels/{label_id}' --header 'ContentType:
application/json'
Create a return label
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/labels/{label_id}/return' --header 'ContentType:
application/json'
Retrieve the label's tracking information
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/labels/{label_id}/track' --header 'ContentType:
application/json'
Void a label by ID to get a refund.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/labels/{label_id}/void' --header 'ContentType:
application/json'
Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/manifests' --header 'ContentType:
application/json'
Each ShipEngine manifest is created for a specific warehouse, so you'll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/manifests' --header 'ContentType:
application/json'
Get Manifest By Id
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/manifests/{manifest_id}' --header 'ContentType:
application/json'
List the custom package types associated with the account
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/packages' --header 'ContentType:
application/json'
Create a custom package type to better assist in getting accurate rate estimates
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/packages' --header 'ContentType:
application/json'
Get Custom Package Type by ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/packages/{package_id}' --header 'ContentType:
application/json'
Update the custom package type object by ID
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/packages/{package_id}' --header 'ContentType:
application/json'
Delete a custom package using the ID
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/packages/{package_id}' --header 'ContentType:
application/json'
It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options!
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/rates' --header 'ContentType:
application/json'
Get Bulk Shipment Rates
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/rates/bulk' --header 'ContentType:
application/json'
Get Rate Estimates
200 - The request was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/rates/estimate' --header 'ContentType:
application/json'
Retrieve a previously queried rate by its ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/rates/{rate_id}' --header 'ContentType:
application/json'
Get list of Shipments
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/shipments' --header 'ContentType:
application/json'
Create one or multiple shipments.
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/shipments' --header 'ContentType:
application/json'
Query Shipments created using your own custom ID convention using this endpint
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/shipments/external_shipment_id/{external_shipment_id}' --header 'ContentType:
application/json'
The shipment-recognition API makes it easy for you to extract shipping data from unstructured text, including people's names, addresses, package weights and dimensions, insurance and delivery requirements, and more.
Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's shipment-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed shipment data is returned in the same structure that's used for other ShipEngine APIs, so you can easily use the parsed data to create a shipping label.
Note: Shipment recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland.
200 - Returns the parsed shipment, as well as a confidence score and a list of all the shipping entities that were recognized in the text.
Body
400 - The request contained errors.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/shipments/recognize' --header 'ContentType:
application/json'
Get an individual shipment based on its ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}' --header 'ContentType:
application/json'
Update a shipment object based on its ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}' --header 'ContentType:
application/json'
Mark a shipment cancelled, if it is no longer needed or being used by your organized. Any label associated with the shipment needs to be voided first
An example use case would be if a batch label creation job is going to run at a set time and only queries pending
shipments. Marking a shipment as cancelled
would remove it from this process
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}/cancel' --header 'ContentType:
application/json'
If there are no errors associated with this shipment then the API will return a 404 Not Found response to indicate that no errors are associated with the request
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}/errors' --header 'ContentType:
application/json'
Get Rates for the shipment information associated with the shipment ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}/rates' --header 'ContentType:
application/json'
Add a tag to the shipment object
200 - The requested object creation was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}/tags/{tag_name}' --header 'ContentType:
application/json'
Remove an existing tag from the Shipment object
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/shipments/{shipment_id}/tags/{tag_name}' --header 'ContentType:
application/json'
Get a list of all tags associated with an account.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/tags' --header 'ContentType:
application/json'
Create a new Tag for customizing how you track your shipments
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/tags/{tag_name}' --header 'ContentType:
application/json'
Delete a tag that is no longer needed
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/tags/{tag_name}' --header 'ContentType:
application/json'
Change a tag name while still keeping the relevant shipments attached to it
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/tags/{tag_name}/{new_tag_name}' --header 'ContentType:
application/json'
Retrieve package tracking information
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/tracking' --header 'ContentType:
application/json'
Allows you to subscribe to tracking updates for a package. You specify the carrier_code and tracking_number of the package, and receive notifications via webhooks whenever the shipping status changes.
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/tracking/start' --header 'ContentType:
application/json'
Unsubscribe from tracking updates for a package.
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/tracking/stop' --header 'ContentType:
application/json'
Retrieve a list of warehouses associated with this account.
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/warehouses' --header 'ContentType:
application/json'
Create a warehouse location that you can use to create shipping items by simply passing in the generated warehouse id. If the return address is not supplied in the request body then it is assumed that the origin address is the return address as well
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request POST
--url 'https://api.shipengine.com /v1/warehouses' --header 'ContentType:
application/json'
Retrieve warehouse data based on the warehouse ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/warehouses/{warehouse_id}' --header 'ContentType:
application/json'
Update Warehouse object information
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/warehouses/{warehouse_id}' --header 'ContentType:
application/json'
Delete a warehouse by ID
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/warehouses/{warehouse_id}' --header 'ContentType:
application/json'
Retrieve individual webhook by an ID
200 - The request was a success.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request GET
--url 'https://api.shipengine.com /v1/environment/webhooks/{webhook_id}' --header 'ContentType:
application/json'
Update the webhook url property
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request PUT
--url 'https://api.shipengine.com /v1/environment/webhooks/{webhook_id}' --header 'ContentType:
application/json'
Delete a webhook
204 - The request was successful.
Body
400 - The request contained errors.
Body
404 - The specified resource does not exist.
Body
500 - An error occurred on ShipEngine's side.
> This error will automatically be reported to our engineers.
Body
curl --request DELETE
--url 'https://api.shipengine.com /v1/environment/webhooks/{webhook_id}' --header 'ContentType:
application/json'