Overview
- GET /v1/carriers
- GET /v1/carriers/se-123456
- GET /v1/carriers/se-123456/options
- GET /v1/carriers/se-123456/services
- GET /v1/carriers/se-123456/packages
- PUT /v1/carriers/se-123456/add_funds
- POST /v1/rates/estimate
- POST /v1/rates
- POST /v1/shipments
- GET /v1/shipments/se-123456/rates
- GET /v1/labels
- POST /v1/labels
- POST /v1/labels/rates/se-123456
- POST /v1/labels/shipment/se-123456
- PUT /v1/labels/se-123456/void
- POST /v1/addresses/validate
- POST /v1/addresses/recognize
- POST /v1/shipments/recognize
- GET /v1/tracking
- GET /v1/labels/se-123456/track
- GET /v1/environment/webhooks
- POST /v1/environment/webhooks
- POST /v1/tracking/start
- POST /v1/tracking/stop
GET /v1/carriers
Summary: List your carriers
This request returns a list of all the carrier accounts that you have connected to ShipEngine
OpenAPI snippet URL
GET /v1/carriers/se-123456
Summary: Get a specific carrier
You can get all the information about a specific carrier if you already know its carrier_id.
OpenAPI snippet URL
GET /v1/carriers/se-123456/options
Summary: List a carrier’s options
Many carriers support “advanced options”, such as the ability to ship alcohol, bill to the receiving party, request money on delivery, or many others. This request shows you how to list the options that are supported by a carrier.
OpenAPI snippet URL
GET /v1/carriers/se-123456/services
Summary: List a carrier’s services
Each carrier supports many different services, such as ground, air, 3-day, overnight, etc. In ShipEngine, each of these services has a service_code, which you’ll need to specify when shipping a package. This request shows you how to list all the available services (and their service codes) for a carrier.
OpenAPI snippet URL
GET /v1/carriers/se-123456/packages
Summary: List a carrier’s packaging
Most carriers have several different types of packaging, and which type you use can affect the cost of shipping a package. This request shows you how to list the packaging that a specific carrier offers.
OpenAPI snippet URL
PUT /v1/carriers/se-123456/add_funds
Summary: Add funds to a carrier
You can check your balance for a particular carrier by calling List Carriers endpoint. For any carrier account where requires_funded_amount is true, you can add funds.
NOTE: This endpoint must be enabled by ShipEngine support, if you’d like to utilize this resource, please contact our team.
OpenAPI snippet URL
POST /v1/rates/estimate
Summary: Get rate estimates (minimal)
This request shows you how to get rate estimates when you don’t know the full delivery address yet.
OpenAPI snippet URL
POST /v1/rates
Summary: Compare rates
To compare rates across multiple carriers, provide the shipment details and the list of carriers that you want rates for.
OpenAPI snippet URL
POST /v1/shipments
Summary: Create a shipment
You can store shipment details in ShipEngine and then use the shipment_id to easily get rates, create labels, and track packages.
OpenAPI snippet URL
GET /v1/shipments/se-123456/rates
Summary: Get previously-quoted rates for a shipment
ShipEngine keeps a record of all quoted rates for a shipment. This request shows you how to retrieve those previously-quoted rates.
OpenAPI snippet URL
GET /v1/labels
Summary: List your labels
This request shows how to list labels that match certain criteria, such as the carrier, service, date, warehouse, status, etc.
OpenAPI snippet URL
POST /v1/labels
Summary: Create a label from scratch
This request shows how to create a label by specifying all the information in a single request. It’s the easiest way to create a label if you already know exactly what you want…
OpenAPI snippet URL
POST /v1/labels/rates/se-123456
Summary: Create a label from a rate
If you’ve previously gotten a rate quote from ShipEngine, then you can create a label from that rate quote without having to specify any of the shipment details again.
OpenAPI snippet URL
POST /v1/labels/shipment/se-123456
Summary: Create a label from a shipment
If you’ve previously created a shipment on ShipEngine, then you can create a label from that shipment without having to specify any of the shipment details again.
OpenAPI snippet URL
PUT /v1/labels/se-123456/void
Summary: Void a label
Some carriers (like USPS) charge for labels even if the package is never actually mailed. So if you decide not to ship a package, then you’ll need to void the label to get your money back. This request shows you how.
OpenAPI snippet URL
POST /v1/addresses/validate
Summary: Validate an address (valid)
ShipEngine supports address validation for nearly every country on Earth, including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others.
OpenAPI snippet URL
POST /v1/addresses/recognize
Summary: Parse an Address
This request shows how to pass unstructured text to ShipEngine that contains address information. ShipEngine will recognize any address-related parts of the text and give you back an address object.
OpenAPI snippet URL
POST /v1/shipments/recognize
Summary: Parse shipment information
ShipEngine can parse more than just addresses. If you think the text may contain other shipment information, like package weight, dimensions, insurance, or carrier preferences, then use our Parse Shipment API instead of our Parse Address API.
OpenAPI snippet URL
GET /v1/tracking
Summary: Track a package
This request demonstrates how to get tracking information for a package. The carrier_code and tracking_number are provided via query parameters.
OpenAPI snippet URL
GET /v1/labels/se-123456/track
Summary: Track using a label ID
If you created the shipping label using ShipEngine, then tracking a package is even easier. No need to specify the carrier_code and tracking_number. All you need is the label_id.
OpenAPI snippet URL
GET /v1/environment/webhooks
Summary: List your webhooks
This request lists all of the webhooks that you’ve setup, either via the API or the ShipEngine web dashboard.
OpenAPI snippet URL
POST /v1/environment/webhooks
Summary: Setup a tracking webhook
To subscribe to real-time tracking updates from ShipEngine, the first step is to setup a webhook. This is a one-time step that can be performed via the API or manually in the ShipEngine dashboard.
OpenAPI snippet URL
POST /v1/tracking/start
Summary: Subscribe to tracking updates for a package
Once you’ve setup a tracking webhook, you can start subscribing to tracking updates for packages. Your webhook will be notified whenever any tracking events occur on a subscribed package.
OpenAPI snippet URL
POST /v1/tracking/stop
Summary: Unsubscribe from tracking updates
This request shows how to stop receiving tracking updates for a package.
Note: ShipEngine automatically unsubscribes from tracking updates once a package is delivered, or when a delivery exception occurs. So you don’t need to explicitly unsubscribe in these cases.
OpenAPI snippet URL