Skip to content

ShipEngine API (1.1.202604070904)

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.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.shipstation.com/_mock/apis/shipengine/openapi/
https://api.shipengine.com/

Account

For additional information about the ShipEngine account.

Operations

Addresses

No matter your shipping volume, failed deliveries and address change surcharges cut into your bottom line and damage perception with customers. Our address validation services ensure your packages make it to the right place the first time. Learn how to leverage our address validation services here.

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.

Operations

Batches

batches

Operations

Carrier Accounts

A carrier account is a connection to a shipping carrier that allows you to create labels, track packages, and more. You can connect your own carrier accounts to ShipEngine, or use one of our built-in carrier accounts. Learn more about carrier accounts here.

Operations

Carriers

carriers

Operations

Downloads

downloads

Operations

Insurance

insurance

Operations

Labels

Print shipping labels for any of the top global carriers in minutes—instead of weeks. Simply connect your existing carrier accounts in the API dashboard, and then begin creating labels.

Operations

LTL Shipping

Less-than-truckload (LTL) shipping API endpoints for managing freight shipments. Connect LTL carriers, request quotes, schedule pickups, and track freight shipments.

Operations

Manifests

manifests

Operations

Package Pickups

Scheduled package pickups

Operations

List scheduled pickups

Request

List all pickups that have been scheduled for this carrier

Security
api_key
Query
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

Carrier ID

Example: carrier_id=se-28529731
warehouse_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

Warehouse ID

Example: warehouse_id=se-28529731
created_at_startstring(date-time)

Only return scheduled pickups that were created on or after a specific date/time

Example: created_at_start=2019-03-12T19:24:13.657Z
created_at_endstring(date-time)

Only return scheduled pickups that were created on or before a specific date/time

Example: created_at_end=2019-03-12T19:24:13.657Z
pageinteger(int32)>= 1

Return a specific page of results. Defaults to the first page. If set to a number that's greater than the number of pages of results, an empty page is returned.

Default 1
Example: page=2
page_sizeinteger(int32)>= 1

The number of results to return per response.

Default 25
Example: page_size=50
curl -i -X GET \
  'https://docs.shipstation.com/_mock/apis/shipengine/openapi/v1/pickups?carrier_id=se-28529731&warehouse_id=se-28529731&created_at_start=2019-03-12T19%3A24%3A13.657Z&created_at_end=2019-03-12T19%3A24%3A13.657Z&page=2&page_size=50' \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
pickupsArray of objects(pickup)required

An array of pickups associated with the user's account.

pickups[].​pickup_idstring(pickup_resource_id)>= 4 charactersread-only

Pickup Resource ID

Example: "pik_3YcKU5zdtJuCqoeNwyqqbW"
pickups[].​label_idsArray of objects

Label IDs that will be included in the pickup request

pickups[].​created_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-only

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
pickups[].​cancelled_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-only

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
pickups[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

The carrier_id associated with the pickup

Example: "se-28529731"
pickups[].​confirmation_numberstring or nullread-only

The carrier confirmation number for the scheduled pickup.

Example: "292513CL4A3"
pickups[].​warehouse_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

The warehouse_id associated with the pickup

Example: "se-28529731"
pickups[].​pickup_addressobject(partial_address)read-only

Any residential or business mailing address, anywhere in the world.

Note: Either name or company_name must be set. Both may be specified, if relevant.

pickups[].​contact_detailsobject(contact_details)
pickups[].​pickup_notesstring>= 0 characters

Used by some carriers to give special instructions for a package pickup

pickups[].​pickup_windowsArray of objects(pickup_windows)read-only

An array of available pickup windows. Carriers can return multiple times that they will pickup packages.

totalinteger(int64)>= 0read-onlyrequired

The total number of pickups returned

Example: 3
pageinteger(int32)>= 1read-onlyrequired

Current page of the list pickups results

Example: 3
pagesinteger(int32)>= 1read-onlyrequired

Total number of pages for list pickups results

Example: 4
linksobject(pagination_link)read-onlyrequired

Helpful links to other pages of results

links.​firstobject(optional_link)required

The link to the first page of results. This object will always have an href field. If there are no results, then the first page will contain an empty array of items.

links.​first.​hrefstring(url)(url)non-emptyrequired

The URL of the linked resource, if any

Example: "http://api.shipengine.com/v1/labels/se-28529731"
links.​first.​typestringnon-empty

The type of resource, or the type of relationship to the parent resource

links.​lastobject(optional_link)required

The link to the final page of results. This object will always have an href field. If there are no results, then the final page will contain an empty array of items.

links.​last.​hrefstring(url)(url)non-emptyrequired

The URL of the linked resource, if any

Example: "http://api.shipengine.com/v1/labels/se-28529731"
links.​last.​typestringnon-empty

The type of resource, or the type of relationship to the parent resource

links.​prevobject(optional_link)required

The link to the previous page of results. The href field will only be set when the page is 2 or greater.

links.​prev.​hrefstring(url)(url)non-empty

The URL of the linked resource, if any

Example: "http://api.shipengine.com/v1/labels/se-28529731"
links.​prev.​typestringnon-empty

The type of resource, or the type of relationship to the parent resource

links.​nextobject(optional_link)required

The link to the next page of results. The href field will only be set when the page is less than pages.

links.​next.​hrefstring(url)(url)non-empty

The URL of the linked resource, if any

Example: "http://api.shipengine.com/v1/labels/se-28529731"
links.​next.​typestringnon-empty

The type of resource, or the type of relationship to the parent resource

request_idstring(uuid)(uuid)= 36 characters^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...required

A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur

Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009"
errorsArray of objects(error)read-onlyrequired

The errors associated with the failed API call

errors[].​error_sourcestring(error_source)required

The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, or the ShipEngine API itself.

Enum"carrier""order_source""shipengine"
errors[].​error_typestring(error_type)required

The type of error

Enum"account_status""business_rules""validation""security""system""integrations"
errors[].​error_codestring(error_code)required

The error code specified for the failed API Call

Enum"auto_fund_not_supported""batch_cannot_be_modified""carrier_conflict""carrier_disconnected""carrier_not_connected""carrier_not_supported""confirmation_not_supported""default_warehouse_cannot_be_deleted""field_conflict""field_value_required"
errors[].​messagestringnon-emptyread-onlyrequired

An error message associated with the failed API call

Example: "Body of request cannot be null."
errors[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies the carrier that generated the error.

Example: "se-28529731"
errors[].​carrier_codestring(carrier_code)^[a-z0-9]+(_[a-z0-9]+)*$read-only

A shipping carrier, such as fedex, dhl_express, stamps_com, etc.

Example: "dhl_express"
errors[].​field_namestringread-only

The name of the field that caused the error

Example: "shipment.ship_to.phone_number"
Response
application/json
{ "pickups": [ {} ], "total": 3, "page": 3, "pages": 4, "links": { "first": {}, "last": {}, "prev": {}, "next": {} }, "request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009", "errors": [ {} ] }

Schedule a pickup

Request

Schedule a package pickup with a carrier

Security
api_key
Bodyapplication/jsonrequired
label_idsArray of objectsrequired

Label IDs that will be included in the pickup request

contact_detailsobject(contact_details)required
contact_details.​namestringnon-emptyrequired
contact_details.​emailstring(email)(email)non-emptyrequired

An email address.

Example: "john.doe@example.com"
contact_details.​phonestring>= 7 charactersrequired

Phone number associated

pickup_notesstring>= 0 characters

Used by some carriers to give special instructions for a package pickup

pickup_windowobject(pickup_window)write-onlyrequired

The desired time range for the package pickup.

pickup_window.​start_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...required

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
pickup_window.​end_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...required

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
curl -i -X POST \
  https://docs.shipstation.com/_mock/apis/shipengine/openapi/v1/pickups \
  -H 'API-Key: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "label_ids": [
      "se-28529731"
    ],
    "contact_details": {
      "name": "string",
      "email": "john.doe@example.com",
      "phone": "strings"
    },
    "pickup_notes": "string",
    "pickup_window": {
      "start_at": "2018-09-23T15:00:00.000Z",
      "end_at": "2018-09-23T15:00:00.000Z"
    }
  }'

Responses

The request was a success.

Bodyapplication/json
pickup_idstring(pickup_resource_id)>= 4 charactersread-only

Pickup Resource ID

Example: "pik_3YcKU5zdtJuCqoeNwyqqbW"
label_idsArray of objects

Label IDs that will be included in the pickup request

created_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-only

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
cancelled_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-only

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

The carrier_id associated with the pickup

Example: "se-28529731"
confirmation_numberstring or nullread-only

The carrier confirmation number for the scheduled pickup.

Example: "292513CL4A3"
warehouse_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

The warehouse_id associated with the pickup

Example: "se-28529731"
pickup_addressobject(partial_address)read-only

Any residential or business mailing address, anywhere in the world.

Note: Either name or company_name must be set. Both may be specified, if relevant.

contact_detailsobject(contact_details)
pickup_notesstring>= 0 characters

Used by some carriers to give special instructions for a package pickup

pickup_windowsArray of objects(pickup_windows)read-only

An array of available pickup windows. Carriers can return multiple times that they will pickup packages.

request_idstring(uuid)(uuid)= 36 characters^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...required

A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur

Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009"
errorsArray of objects(error)read-onlyrequired

The errors associated with the failed API call

errors[].​error_sourcestring(error_source)required

The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, or the ShipEngine API itself.

Enum"carrier""order_source""shipengine"
errors[].​error_typestring(error_type)required

The type of error

Enum"account_status""business_rules""validation""security""system""integrations"
errors[].​error_codestring(error_code)required

The error code specified for the failed API Call

Enum"auto_fund_not_supported""batch_cannot_be_modified""carrier_conflict""carrier_disconnected""carrier_not_connected""carrier_not_supported""confirmation_not_supported""default_warehouse_cannot_be_deleted""field_conflict""field_value_required"
errors[].​messagestringnon-emptyread-onlyrequired

An error message associated with the failed API call

Example: "Body of request cannot be null."
errors[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies the carrier that generated the error.

Example: "se-28529731"
errors[].​carrier_codestring(carrier_code)^[a-z0-9]+(_[a-z0-9]+)*$read-only

A shipping carrier, such as fedex, dhl_express, stamps_com, etc.

Example: "dhl_express"
errors[].​field_namestringread-only

The name of the field that caused the error

Example: "shipment.ship_to.phone_number"
Response
application/json
{ "pickup_id": "pik_3YcKU5zdtJuCqoeNwyqqbW", "label_ids": [ "se-28529731" ], "created_at": "2018-09-23T15:00:00.000Z", "cancelled_at": "2018-09-23T15:00:00.000Z", "carrier_id": "se-28529731", "confirmation_number": "292513CL4A3", "warehouse_id": "se-28529731", "pickup_address": { "name": "John Doe", "phone": "+1 204-253-9411 ext. 123", "email": "example@example.com", "company_name": "The Home Depot", "address_line1": "1999 Bishop Grandin Blvd.", "address_line2": "Unit 408", "address_line3": "Building #7", "city_locality": "Winnipeg", "state_province": "Manitoba", "postal_code": "78756-3717", "country_code": "CA", "address_residential_indicator": "no" }, "contact_details": { "name": "string", "email": "john.doe@example.com", "phone": "strings" }, "pickup_notes": "string", "pickup_windows": [ {} ], "request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009", "errors": [ {} ] }

Get pickup by ID

Request

Get Pickup By ID

Security
api_key
Path
pickup_idstring(pickup_resource_id)>= 4 charactersrequired

Pickup Resource ID

Example: pik_3YcKU5zdtJuCqoeNwyqqbW
curl -i -X GET \
  https://docs.shipstation.com/_mock/apis/shipengine/openapi/v1/pickups/pik_3YcKU5zdtJuCqoeNwyqqbW \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
pickup_idstring(pickup_resource_id)>= 4 charactersread-onlyrequired

Pickup Resource ID

Example: "pik_3YcKU5zdtJuCqoeNwyqqbW"
label_idsArray of objectsrequired

Label IDs that will be included in the pickup request

created_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-onlyrequired

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
cancelled_atstring(date-time)(date_time)^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(...read-only

An ISO 8601 string that represents a date and time.

Example: "2018-09-23T15:00:00.000Z"
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

The carrier_id associated with the pickup

Example: "se-28529731"
confirmation_numberstring or nullread-onlyrequired

The carrier confirmation number for the scheduled pickup.

Example: "292513CL4A3"
warehouse_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

The warehouse_id associated with the pickup

Example: "se-28529731"
pickup_addressobject(partial_address)read-onlyrequired

Any residential or business mailing address, anywhere in the world.

Note: Either name or company_name must be set. Both may be specified, if relevant.

pickup_address.​namestringnon-emptyrequired

The name of a contact person at this address. This field may be set instead of - or in addition to - the company_name field.

Example: "John Doe"
pickup_address.​phonestringnon-empty

The phone number of a contact person at this address. The format of this phone number varies depending on the country.

Example: "+1 204-253-9411 ext. 123"
pickup_address.​emailstring or null

Email for the address owner.

Example: "example@example.com"
pickup_address.​company_namestring or nullnon-empty

If this is a business address, then the company name should be specified here.

Example: "The Home Depot"
pickup_address.​address_line1stringnon-emptyrequired

The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.

Example: "1999 Bishop Grandin Blvd."
pickup_address.​address_line2string or nullnon-empty

The second line of the street address. For some addresses, this line may not be needed.

Example: "Unit 408"
pickup_address.​address_line3string or nullnon-empty

The third line of the street address. For some addresses, this line may not be needed.

Example: "Building #7"
pickup_address.​city_localitystringnon-emptyrequired

The name of the city or locality

Example: "Winnipeg"
pickup_address.​state_provincestringnon-emptyrequired

The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.

Example: "Manitoba"
pickup_address.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
pickup_address.​country_codestring(country_code)= 2 characters
Example: "CA"
pickup_address.​address_residential_indicatorstring(address_residential_indicator)

Indicates whether this is a residential address.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
contact_detailsobject(contact_details)required
contact_details.​namestringnon-emptyrequired
contact_details.​emailstring(email)(email)non-emptyrequired

An email address.

Example: "john.doe@example.com"
contact_details.​phonestring>= 7 charactersrequired

Phone number associated

pickup_notesstring>= 0 charactersrequired

Used by some carriers to give special instructions for a package pickup

pickup_windowsArray of objects(pickup_windows)read-only

An array of available pickup windows. Carriers can return multiple times that they will pickup packages.

request_idstring(uuid)(uuid)= 36 characters^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...required

A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur

Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009"
errorsArray of objects(error)read-onlyrequired

The errors associated with the failed API call

errors[].​error_sourcestring(error_source)required

The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, or the ShipEngine API itself.

Enum"carrier""order_source""shipengine"
errors[].​error_typestring(error_type)required

The type of error

Enum"account_status""business_rules""validation""security""system""integrations"
errors[].​error_codestring(error_code)required

The error code specified for the failed API Call

Enum"auto_fund_not_supported""batch_cannot_be_modified""carrier_conflict""carrier_disconnected""carrier_not_connected""carrier_not_supported""confirmation_not_supported""default_warehouse_cannot_be_deleted""field_conflict""field_value_required"
errors[].​messagestringnon-emptyread-onlyrequired

An error message associated with the failed API call

Example: "Body of request cannot be null."
errors[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies the carrier that generated the error.

Example: "se-28529731"
errors[].​carrier_codestring(carrier_code)^[a-z0-9]+(_[a-z0-9]+)*$read-only

A shipping carrier, such as fedex, dhl_express, stamps_com, etc.

Example: "dhl_express"
errors[].​field_namestringread-only

The name of the field that caused the error

Example: "shipment.ship_to.phone_number"
Response
application/json
{ "pickup_id": "pik_3YcKU5zdtJuCqoeNwyqqbW", "label_ids": [ "se-28529731" ], "created_at": "2018-09-23T15:00:00.000Z", "cancelled_at": "2018-09-23T15:00:00.000Z", "carrier_id": "se-28529731", "confirmation_number": "292513CL4A3", "warehouse_id": "se-28529731", "pickup_address": { "name": "John Doe", "phone": "+1 204-253-9411 ext. 123", "email": "example@example.com", "company_name": "The Home Depot", "address_line1": "1999 Bishop Grandin Blvd.", "address_line2": "Unit 408", "address_line3": "Building #7", "city_locality": "Winnipeg", "state_province": "Manitoba", "postal_code": "78756-3717", "country_code": "CA", "address_residential_indicator": "no" }, "contact_details": { "name": "string", "email": "john.doe@example.com", "phone": "strings" }, "pickup_notes": "string", "pickup_windows": [ {} ], "request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009", "errors": [ {} ] }

Delete a scheduled pickup

Request

Delete a previously-scheduled pickup by ID

Security
api_key
Path
pickup_idstring(pickup_resource_id)>= 4 charactersrequired

Pickup Resource ID

Example: pik_3YcKU5zdtJuCqoeNwyqqbW
curl -i -X DELETE \
  https://docs.shipstation.com/_mock/apis/shipengine/openapi/v1/pickups/pik_3YcKU5zdtJuCqoeNwyqqbW \
  -H 'API-Key: YOUR_API_KEY_HERE'

Responses

Return the pickup_id of the scheduled pickup that was successfully deleted

Bodyapplication/json
request_idstring(uuid)(uuid)= 36 characters^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...required

A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur

Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009"
errorsArray of objects(error)read-onlyrequired

The errors associated with the failed API call

errors[].​error_sourcestring(error_source)required

The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, or the ShipEngine API itself.

Enum"carrier""order_source""shipengine"
errors[].​error_typestring(error_type)required

The type of error

Enum"account_status""business_rules""validation""security""system""integrations"
errors[].​error_codestring(error_code)required

The error code specified for the failed API Call

Enum"auto_fund_not_supported""batch_cannot_be_modified""carrier_conflict""carrier_disconnected""carrier_not_connected""carrier_not_supported""confirmation_not_supported""default_warehouse_cannot_be_deleted""field_conflict""field_value_required"
errors[].​messagestringnon-emptyread-onlyrequired

An error message associated with the failed API call

Example: "Body of request cannot be null."
errors[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies the carrier that generated the error.

Example: "se-28529731"
errors[].​carrier_codestring(carrier_code)^[a-z0-9]+(_[a-z0-9]+)*$read-only

A shipping carrier, such as fedex, dhl_express, stamps_com, etc.

Example: "dhl_express"
errors[].​field_namestringread-only

The name of the field that caused the error

Example: "shipment.ship_to.phone_number"
pickup_idstring(pickup_resource_id)>= 4 charactersrequired

Pickup Resource ID

Example: "pik_3YcKU5zdtJuCqoeNwyqqbW"
Response
application/json
{ "request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009", "errors": [ {} ], "pickup_id": "pik_3YcKU5zdtJuCqoeNwyqqbW" }

Package Types

custom package types

Operations

Rates

Make sure you ship as cost-effectively as possible by quickly comparing rates using the ShipEngine Rates API. As long as you have the carrier connected to your account, you'll be able to see and compare different rates and services.

Operations

Service Points

Service points allow customers to pick up their packages at convenient locations.

Operations

Shipments

Shipments are at the center of the ShipEngine API. A shipment is the first step in creating a shipping label, or creating a manifest. It's also essential for getting shipping rates.

Operations

Tags

tags

Operations

Tokens

Manage authentication tokens for secure API access.

Operations

Tracking

Track packages across any of our 20+ supported carrier accounts and create tracking events to keep your customers up-to-date. Easily integrate real-time tracking information for shipments into your app, email, or SMS.

Operations

Warehouses

warehouses

Operations

Webhooks

Webhooks are a powerful feature of ShipEngine that can save you from sending repeated polling requests to check on the state of something. With webhooks, ShipEngine will automatically contact your servers when the state changes. This can include parcel tracking events, notification of the completion of a batch operation, or new sales orders.

Operations