ShipStation API v2 (2.0.0)

Download OpenAPI description
Overview
License MIT
Languages
Servers
Mock server
https://docs.shipstation.com/_mock/openapi/
Production
https://api.shipstation.com/

Batches

Process labels in bulk and receive a large number of labels and customs forms in bulk responses. Batching is ideal for workflows that need to process hundreds or thousands of labels quickly.

Operations

Carriers

Retreive useful details about the carriers connected to your accounts, including carrier IDs, service IDs, advanced options, and available carrier package types.

Operations

List carriers

Request

List all carriers that have been added to this account

curl -i -X GET \
  https://docs.shipstation.com/_mock/openapi/v2/carriers \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
carriersArray of objects(carrier)read-onlyrequired

The carrier response body

carriers[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.

Example: "se-28529731"
carriers[].​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"
carriers[].​account_numberstringnon-emptyread-only

The account number that the carrier is connected to.

Example: "account_570827"
carriers[].​requires_funded_amountbooleanread-only

Indicates whether the carrier requires funding to use its services

Example: true
carriers[].​balancenumber>= 0read-only

Current available balance

Example: 3799.52
carriers[].​nicknamestringnon-emptyread-only

Nickname given to the account when initially setting up the carrier.

Example: "ShipStation Account - Stamps.com"
carriers[].​friendly_namestringnon-emptyread-only

Screen readable name

Example: "Stamps.com"
carriers[].​funding_source_idstring or null(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.

Example: "se-28529731"
carriers[].​primarybooleanread-only

Is this the primary carrier that is used by default when no carrier is specified in label/shipment creation

Example: true
carriers[].​has_multi_package_supporting_servicesbooleanread-only

Carrier supports multiple packages per shipment

Example: true
carriers[].​supports_label_messagesbooleanread-only

The carrier supports adding custom label messages to an order.

Example: true
carriers[].​disabled_by_billing_planbooleanread-only

The carrier is disabled by the current ShipStation account's billing plan.

Example: true
carriers[].​servicesArray of objects(service)read-only

A list of services that are offered by the carrier

carriers[].​packagesArray of objects(package_type)read-only

A list of package types that are supported by the carrier

carriers[].​optionsArray of objects(carrier_advanced_option)read-only

A list of options that are available to that carrier

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

A UUID (a.k.a. GUID) that uniquely identifies a resource

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 ShipStation API itself.

Enum"carrier""order_source""ShipStation"
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."
Response
application/json
{ "carriers": [ {} ], "request_id": "aa3d8e8e-462b-4476-9618-72db7f7b7009", "errors": [ {} ] }

Get carrier by id

Request

Retrive carrier info by ID

Path
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

Carrier ID

Example: se-28529731
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/carriers/{carrier_id}' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.

Example: "se-28529731"
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"
account_numberstringnon-emptyread-only

The account number that the carrier is connected to.

Example: "account_570827"
requires_funded_amountbooleanread-only

Indicates whether the carrier requires funding to use its services

Example: true
balancenumber>= 0read-only

Current available balance

Example: 3799.52
nicknamestringnon-emptyread-only

Nickname given to the account when initially setting up the carrier.

Example: "ShipStation Account - Stamps.com"
friendly_namestringnon-emptyread-only

Screen readable name

Example: "Stamps.com"
funding_source_idstring or null(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-only

A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.

Example: "se-28529731"
primarybooleanread-only

Is this the primary carrier that is used by default when no carrier is specified in label/shipment creation

Example: true
has_multi_package_supporting_servicesbooleanread-only

Carrier supports multiple packages per shipment

Example: true
supports_label_messagesbooleanread-only

The carrier supports adding custom label messages to an order.

Example: true
disabled_by_billing_planbooleanread-only

The carrier is disabled by the current ShipStation account's billing plan.

Example: true
servicesArray of objects(service)read-only

A list of services that are offered by the carrier

packagesArray of objects(package_type)read-only

A list of package types that are supported by the carrier

optionsArray of objects(carrier_advanced_option)read-only

A list of options that are available to that carrier

Response
application/json
{ "carrier_id": "se-8412", "carrier_code": "dhl_express", "account_number": "account_570827", "requires_funded_amount": true, "balance": 3799.52, "nickname": "ShipStation Account - Stamps.com", "friendly_name": "Stamps.com", "funding_source_id": "se-28529731", "primary": true, "has_multi_package_supporting_services": true, "supports_label_messages": true, "disabled_by_billing_plan": true, "services": [ {} ], "packages": [ {} ], "options": [ {} ] }

Get carrier options

Request

Get a list of the options available for the carrier

Path
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

Carrier ID

Example: se-28529731
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/carriers/{carrier_id}/options' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
optionsArray of objects(carrier_advanced_option)read-only

AN array of carrier options

Response
application/json
{ "options": [ {} ] }

List carrier package types

Request

List the package types associated with the carrier

Path
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

Carrier ID

Example: se-28529731
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/carriers/{carrier_id}/packages' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
packagesArray of objects(package_type)read-only

An array of custom package types

Response
application/json
{ "packages": [ {} ] }

List carrier services

Request

List the services associated with the carrier ID

Path
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

Carrier ID

Example: se-28529731
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/carriers/{carrier_id}/services' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
servicesArray of objects(service)read-only

An array of services associated with the carrier

Response
application/json
{ "services": [ {} ] }

Downloads

Download your label files in PDF, PNG, and ZPL.

Operations

Labels

Purchase and print shipping labels for any carrier active on your account. The labels endpoint also supports creating return labels, voiding labels, and getting label details like tracking.

Operations

Manifests

A manifest is a document that provides a list of the day's shipments. It typically contains a barcode that allows the pickup driver to scan a single document to register all shipments, rather than scanning each shipment individually.

Operations

Package Pickups

Scheduled pickups and manage pickup requests for supported carriers.

Operations

Package Types

Create custom package types to use for your shipments, rather than the carriers' default package types.

Operations

Rates

Quickly compare rates using the Rates endpoint. You can see and compare rates for the carriers connected to your account (as long as they support sending rates).

Operations

Shipments

Shipments are at the core of most ShipStation capabilities. Shipment objects are required for cretaing labels and manifests, as well as getting rates.

Operations

Tags

Tags are text-based identifiers you can add to shipments to help in your shipment management workflows.

Operations

Tracking

Use the tracking endpoint to stop receiving tracking updates (more dedicated tracking endpoint methods coming soon).

Operations

Warehouses

Get warehouse details like warehouse ID and related addresses using the warehouses endpoint.

Operations

Webhooks

Webhooks are a powerful feature that can save you from sending repeated polling requests to check on the state of something. With webhooks, ShipStation will automatically contact your servers when the stage changes. This can include parcel tracking events, notification when a batch operation completes, and more.

Operations