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

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

List shipments

Request

Get list of Shipments

Query
shipment_statusstring(shipment_status)

The possible shipment status values

Enum"pending""processing""label_purchased""cancelled"
batch_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

Batch ID

Example: batch_id=se-28529731
pickup_idstring(pickup_resource_id)>= 4 charactersrequired

Pickup Resource ID

Example: pickup_id=pik_3YcKU5zdtJuCqoeNwyqqbW
created_at_startstring(date-time)

Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)

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

Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)

Example: created_at_end=2019-03-12T19:24:13.657Z
modified_at_startstring(date-time)

Used to create a filter for when a resource was modified (ex. A shipment that was modified after a certain time)

Example: modified_at_start=2019-03-12T19:24:13.657Z
modified_at_endstring(date-time)

Used to create a filter for when a resource was modified (ex. A shipment that was modified before a certain time)

Example: modified_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
sales_order_idstring

Sales Order ID

sort_dirstring(sort_dir)

Controls the sort order of the query.

Default "desc"
Enum"asc""desc"
sort_bystring(shipments_sort_by)

The possible shipments sort by values

Enum"modified_at""created_at"
Example: sort_by=modified_at
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments?batch_id=se-28529731&created_at_end=2019-08-24T14%3A15%3A22Z&created_at_start=2019-08-24T14%3A15%3A22Z&modified_at_end=2019-08-24T14%3A15%3A22Z&modified_at_start=2019-08-24T14%3A15%3A22Z&page=1&page_size=25&pickup_id=pik_3YcKU5zdtJuCqoeNwyqqbW&sales_order_id=string&shipment_status=pending&sort_by=modified_at&sort_dir=desc' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
shipmentsArray of objects(shipment)read-onlyrequired

The list of shipments returned by the api call

shipments[].​shipment_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

Example: "se-28529731"
shipments[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Example: "se-28529731"
shipments[].​service_codestring(service_code)^[a-z0-9]+(_[a-z0-9-]+)* ?$required

A [carrier service], such as fedex_ground, usps_first_class_mail, flat_rate_envelope, etc.

Example: "usps_first_class_mail"
shipments[].​shipping_rule_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
shipments[].​external_order_idstring or null

ID that the Order Source assigned

Example: "1232434"
shipments[].​itemsArray of objects(shipment_item)

Describe the packages included in this shipment as related to potential metadata that was imported from external order sources

Default []
shipments[].​tax_identifiersArray of objects or null(tax_identifier)
shipments[].​external_shipment_idstring or null<= 50 characters

A unique user-defined key to identify a shipment. This can be used to retrieve the shipment.

Warning: The external_shipment_id is limited to 50 characters. Any additional characters will be truncated.

Example: "1234556"
shipments[].​shipment_numberstring or null<= 50 characters

A non-unique user-defined number used to identify a shipment. If undefined, this will match the external_shipment_id of the shipment.

Warning: The shipment_number is limited to 50 characters. Any additional characters will be truncated.

Example: "se-1234545"
shipments[].​ship_datestring(date-time)(date)^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?...required

An ISO 8601 string that represents a date, but not a specific time. The value may contain a time component, but it will be set to 00:00:00 UTC by ShipStation .

Example: "2018-09-23"
shipments[].​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"
shipments[].​modified_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"
shipments[].​shipment_statusstring(shipment_status)read-onlyrequired

The possible shipment status values

Default "pending"
Enum"pending""processing""label_purchased""cancelled"
shipments[].​ship_toobject(shipping_address_to)required

A complete or partial mailing address.

shipments[].​ship_to.​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"
shipments[].​ship_to.​phonestringnon-emptyrequired

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"
shipments[].​ship_to.​emailstring or null

Email for the address owner.

Example: "example@example.com"
shipments[].​ship_to.​company_namestring or nullnon-empty

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

Example: "The Home Depot"
shipments[].​ship_to.​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."
shipments[].​ship_to.​address_line2string or nullnon-empty

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

Example: "Unit 408"
shipments[].​ship_to.​address_line3string or nullnon-empty

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

Example: "Building #7"
shipments[].​ship_to.​city_localitystringnon-emptyrequired

The name of the city or locality

Example: "Winnipeg"
shipments[].​ship_to.​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"
shipments[].​ship_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
shipments[].​ship_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
shipments[].​ship_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
shipments[].​ship_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instruction"
shipments[].​ship_to.​geolocationArray of objects
shipments[].​ship_fromobject(shipping_address)required

A complete or partial mailing address.

shipments[].​ship_from.​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"
shipments[].​ship_from.​phonestringnon-emptyrequired

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"
shipments[].​ship_from.​emailstring or null

Email for the address owner.

Example: "example@example.com"
shipments[].​ship_from.​company_namestring or nullnon-empty

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

Example: "The Home Depot"
shipments[].​ship_from.​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."
shipments[].​ship_from.​address_line2string or nullnon-empty

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

Example: "Unit 408"
shipments[].​ship_from.​address_line3string or nullnon-empty

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

Example: "Building #7"
shipments[].​ship_from.​city_localitystringnon-emptyrequired

The name of the city or locality

Example: "Winnipeg"
shipments[].​ship_from.​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"
shipments[].​ship_from.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
shipments[].​ship_from.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
shipments[].​ship_from.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
shipments[].​ship_from.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
shipments[].​warehouse_idstring or null(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Default null
Example: "se-28529731"
shipments[].​return_toobject(shipping_address)required

A complete or partial mailing address.

shipments[].​return_to.​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"
shipments[].​return_to.​phonestringnon-emptyrequired

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"
shipments[].​return_to.​emailstring or null

Email for the address owner.

Example: "example@example.com"
shipments[].​return_to.​company_namestring or nullnon-empty

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

Example: "The Home Depot"
shipments[].​return_to.​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."
shipments[].​return_to.​address_line2string or nullnon-empty

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

Example: "Unit 408"
shipments[].​return_to.​address_line3string or nullnon-empty

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

Example: "Building #7"
shipments[].​return_to.​city_localitystringnon-emptyrequired

The name of the city or locality

Example: "Winnipeg"
shipments[].​return_to.​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"
shipments[].​return_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
shipments[].​return_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
shipments[].​return_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
shipments[].​return_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
shipments[].​is_returnboolean or null

An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.

Default false
Example: true
shipments[].​confirmationstring(delivery_confirmation)required

The possible delivery confirmation values

Default "none"
Enum"none""delivery""signature""adult_signature""direct_signature""delivery_mailed""verbal_confirmation"
shipments[].​customsobject or null(international_shipment_options)required

Options for international shipments, such as customs declarations.

Default null
shipments[].​customs.​contentsstring(package_contents)required

The possible package contents values

Default "merchandise"
Enum"merchandise""documents""gift""returned_goods""sample""other"
shipments[].​customs.​contents_explanationstring

Explanation for contents (required if the contents is provided as other)

Example: "rubber duckies"
shipments[].​customs.​non_deliverystring(non_delivery)required

The possible non delivery values

Default "return_to_sender"
Enum"return_to_sender""treat_as_abandoned"
shipments[].​customs.​terms_of_trade_codestring(Allowed incoterms)

Specifies the supported terms of trade code (incoterms)

Enum"exw""fca""cpt""cip""dpu""dap""ddp""fas""fob""cfr"
shipments[].​customs.​declarationstring

Declaration statement to be placed on the commercial invoice

Example: "I hereby certify that the information on this invoice is true and correct and that the contents and value of this shipment are as stated above"
shipments[].​customs.​invoice_additional_detailsobject(invoice_additional_details)

The additional information to put on commercial invoice

shipments[].​customs.​importer_of_recordobject(importer_of_records)

importer of records address, anywhere in the world.

shipments[].​customs.​customs_itemsArray of objects(customs_item)>= 0 itemsDeprecated

Customs declarations for each item in the shipment. (Please provide this information under products inside packages)

Default []
shipments[].​advanced_optionsobject(advanced_shipment_options)required

Advanced shipment options

shipments[].​advanced_options.​bill_to_accountstring or null

This field is used to [bill shipping costs to a third party]. This field must be used in conjunction with the bill_to_country_code, bill_to_party, and bill_to_postal_code fields.

Default null
Example: "123456789"
shipments[].​advanced_options.​bill_to_country_codestring or null(country_code)= 2 characters
Default null
Example: "CA"
shipments[].​advanced_options.​bill_to_partystring or null(bill_to_party)

The possible bill to party values

Default null
Enum"recipient""third_party"
Example: "third_party"
shipments[].​advanced_options.​bill_to_postal_codestring or null

The postal code of the third-party that is responsible for shipping costs.

Default null
Example: "28005"
shipments[].​advanced_options.​contains_alcoholboolean

Indicates that the shipment contains alcohol.

Default false
Example: true
shipments[].​advanced_options.​delivered_duty_paidboolean

Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.

Default false
Example: true
shipments[].​advanced_options.​dry_iceboolean

Indicates if the shipment contain dry ice

Default false
Example: true
shipments[].​advanced_options.​dry_ice_weightobject or null(weight)

The weight of a package

shipments[].​advanced_options.​non_machinableboolean

Indicates that the package cannot be processed automatically because it is too large or irregularly shaped. This is primarily for USPS shipments. See Section 1.2 of the USPS parcel standards for details.

Default false
Example: true
shipments[].​advanced_options.​saturday_deliveryboolean

Enables Saturday delivery, if supported by the carrier.

Default false
Example: true
shipments[].​advanced_options.​fedex_freightobject

Provide details for the Fedex freight service

shipments[].​advanced_options.​use_ups_ground_freight_pricingboolean or null

Whether to use [UPS Ground Freight pricing] If enabled, then a freight_class must also be specified.

Default null
Example: true
shipments[].​advanced_options.​freight_classstring or null

The National Motor Freight Traffic Association freight class, such as "77.5", "110", or "250".

Default null
Example: "77.5"
shipments[].​advanced_options.​custom_field1string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 1"
shipments[].​advanced_options.​custom_field2string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 2"
shipments[].​advanced_options.​custom_field3string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 3"
shipments[].​advanced_options.​origin_typestring or null(origin_type)

Indicates if the package will be picked up or dropped off by the carrier

Default null
Enum"pickup""drop_off"
shipments[].​advanced_options.​additional_handlingboolean or null

Indicate to the carrier that this shipment requires additional handling.

Default null
Example: true
shipments[].​advanced_options.​shipper_releaseboolean or null
Default null
Example: true
shipments[].​advanced_options.​collect_on_deliveryobject(collect_on_delivery)

Defer payment until package is delivered, instead of when it is ordered.

shipments[].​advanced_options.​third_party_consigneeboolean

Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached

Default false
Example: true
shipments[].​advanced_options.​dangerous_goodsboolean

Indicates if the Dangerous goods are present in the shipment

Default false
Example: true
shipments[].​advanced_options.​dangerous_goods_contactobject

Contact information for Dangerous goods

shipments[].​advanced_options.​windsor_framework_detailsobject

The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland.

shipments[].​insurance_providerstring(insurance_provider)required

The possible insurance provider values

Default "none"
Enum"none""shipsurance""carrier""third_party"
shipments[].​tagsArray of objects(tag)>= 0 itemsread-onlyrequired

Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags.

Default []
shipments[].​tags[].​namestringnon-emptyrequired

The tag name.

Example: "Fragile"
shipments[].​order_source_codestring(order_source_name)

The order sources that are supported by ShipStation

Enum"amazon_ca""amazon_us""brightpearl""channel_advisor""cratejoy""ebay""etsy""jane""groupon_goods""magento"
shipments[].​packagesArray of objects(package)non-emptyrequired

The packages in the shipment.

Note: Some carriers only allow one package per shipment. If you attempt to create a multi-package shipment for a carrier that doesn't allow it, an error will be returned.

shipments[].​packages[].​shipment_package_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"
shipments[].​packages[].​package_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
shipments[].​packages[].​package_codestring(package_code)[ 1 .. 50 ] characters^[a-z0-9]+(_[a-z0-9]+)*$

A [package type] , such as thick_envelope, small_flat_rate_box, large_package, etc. Use the code package for custom or unknown package types.

Example: "small_flat_rate_box"
shipments[].​packages[].​package_namestring

The name of the of the [package type]

Example: "Flat Rate Envelope"
shipments[].​packages[].​weightobject(weight)required

The weight of a package

shipments[].​packages[].​weight.​valuenumber> 0required

The weight, in the specified unit

Example: 23
shipments[].​packages[].​weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
shipments[].​packages[].​dimensionsobject(dimensions)

The dimensions of a package

shipments[].​packages[].​insured_valueobject(monetary_value)

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

Default [{"currency":"usd","amount":0}]
shipments[].​packages[].​label_messagesobject(label_messages)

Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier.

CarrierMax linesMax line length
USPS (Stamps.com)360
FedEx335 for the first line. 30 for additional lines.
UPS235
OnTrac225
shipments[].​packages[].​external_package_idstringnon-empty

An external package id.

Example: "se-1234545"
shipments[].​packages[].​tracking_numberstring(tracking_number)non-emptyread-only

A tracking number for a package. The format depends on the carrier.

Example: "1Z932R800392060079"
shipments[].​packages[].​content_descriptionstring or null[ 1 .. 35 ] characters

A short description of the package content. Required for shipments moving to, from, and through Mexico.

Example: "Hand knitted wool socks"
shipments[].​packages[].​productsArray of objects(products)>= 0 items

Details about products inside packages (Information provided would be used on custom documentation)

Default []
shipments[].​total_weightobject(weight)read-onlyrequired

The weight of a package

shipments[].​total_weight.​valuenumber> 0required

The weight, in the specified unit

Example: 3
shipments[].​total_weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
Example: "pound"
shipments[].​comparison_rate_typestring or null

Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.

Example: "retail"
totalinteger(int64)>= 0read-onlyrequired

Total number of shipments returned by the api call

Example: 1990
pageinteger(int32)>= 1read-onlyrequired
Example: 12
pagesinteger(int32)>= 1read-onlyrequired
Example: 4
linksobject(pagination_link)read-onlyrequired

Helpful links to other pages of results

links.​firstobject(link)required

A link to a related resource, or an empty object if there is no resource to link to

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

A URL

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

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

Example: "child"
links.​lastobject(link)required

A link to a related resource, or an empty object if there is no resource to link to

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

A URL

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

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

Example: "child"
links.​prevobject(optional_link)required

A link to a related resource, or an empty object if there is no resource to link to

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

A URL

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

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

Example: "child"
links.​nextobject(optional_link)required

A link to a related resource, or an empty object if there is no resource to link to

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

A URL

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

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

Example: "child"
Response
application/json
{ "shipments": [ {} ], "total": 1990, "page": 12, "pages": 4, "links": { "first": {}, "last": {}, "prev": {}, "next": {} } }

Get shipment by external id

Request

Query Shipments created using your own custom ID convention using this endpint

Path
external_shipment_idstringrequired
Example: 0bcb569d-1727-4ff9-ab49-b2fec0cee5ae
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments/external_shipment_id/{external_shipment_id}' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

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

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

Example: "se-28529731"
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Example: "se-28529731"
service_codestring(service_code)^[a-z0-9]+(_[a-z0-9-]+)* ?$required

A [carrier service], such as fedex_ground, usps_first_class_mail, flat_rate_envelope, etc.

Example: "usps_first_class_mail"
shipping_rule_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
external_order_idstring or null

ID that the Order Source assigned

Example: "1232434"
itemsArray of objects(shipment_item)

Describe the packages included in this shipment as related to potential metadata that was imported from external order sources

Default []
tax_identifiersArray of objects or null(tax_identifier)
external_shipment_idstring or null<= 50 characters

A unique user-defined key to identify a shipment. This can be used to retrieve the shipment.

Warning: The external_shipment_id is limited to 50 characters. Any additional characters will be truncated.

Example: "1234556"
shipment_numberstring or null<= 50 characters

A non-unique user-defined number used to identify a shipment. If undefined, this will match the external_shipment_id of the shipment.

Warning: The shipment_number is limited to 50 characters. Any additional characters will be truncated.

Example: "se-1234545"
ship_datestring(date-time)(date)^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?...required

An ISO 8601 string that represents a date, but not a specific time. The value may contain a time component, but it will be set to 00:00:00 UTC by ShipStation .

Example: "2018-09-23"
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"
modified_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"
shipment_statusstring(shipment_status)read-onlyrequired

The possible shipment status values

Default "pending"
Enum"pending""processing""label_purchased""cancelled"
ship_toobject(shipping_address_to)required

A complete or partial mailing address.

ship_to.​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"
ship_to.​phonestringnon-emptyrequired

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"
ship_to.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
ship_to.​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."
ship_to.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
ship_to.​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"
ship_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
ship_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
ship_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
ship_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instruction"
ship_to.​geolocationArray of objects
ship_fromobject(shipping_address)required

A complete or partial mailing address.

ship_from.​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"
ship_from.​phonestringnon-emptyrequired

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"
ship_from.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
ship_from.​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."
ship_from.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
ship_from.​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"
ship_from.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
ship_from.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
ship_from.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
ship_from.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
warehouse_idstring or null(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Default null
Example: "se-28529731"
return_toobject(shipping_address)required

A complete or partial mailing address.

return_to.​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"
return_to.​phonestringnon-emptyrequired

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"
return_to.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
return_to.​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."
return_to.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
return_to.​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"
return_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
return_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
return_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
return_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
is_returnboolean or null

An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.

Default false
Example: true
confirmationstring(delivery_confirmation)required

The possible delivery confirmation values

Default "none"
Enum"none""delivery""signature""adult_signature""direct_signature""delivery_mailed""verbal_confirmation"
customsobject or null(international_shipment_options)required

Options for international shipments, such as customs declarations.

Default null
customs.​contentsstring(package_contents)required

The possible package contents values

Default "merchandise"
Enum"merchandise""documents""gift""returned_goods""sample""other"
customs.​contents_explanationstring

Explanation for contents (required if the contents is provided as other)

Example: "rubber duckies"
customs.​non_deliverystring(non_delivery)required

The possible non delivery values

Default "return_to_sender"
Enum"return_to_sender""treat_as_abandoned"
customs.​terms_of_trade_codestring(Allowed incoterms)

Specifies the supported terms of trade code (incoterms)

Enum"exw""fca""cpt""cip""dpu""dap""ddp""fas""fob""cfr"
customs.​declarationstring

Declaration statement to be placed on the commercial invoice

Example: "I hereby certify that the information on this invoice is true and correct and that the contents and value of this shipment are as stated above"
customs.​invoice_additional_detailsobject(invoice_additional_details)

The additional information to put on commercial invoice

customs.​importer_of_recordobject(importer_of_records)

importer of records address, anywhere in the world.

customs.​customs_itemsArray of objects(customs_item)>= 0 itemsDeprecated

Customs declarations for each item in the shipment. (Please provide this information under products inside packages)

Default []
advanced_optionsobject(advanced_shipment_options)required

Advanced shipment options

advanced_options.​bill_to_accountstring or null

This field is used to [bill shipping costs to a third party]. This field must be used in conjunction with the bill_to_country_code, bill_to_party, and bill_to_postal_code fields.

Default null
Example: "123456789"
advanced_options.​bill_to_country_codestring or null(country_code)= 2 characters
Default null
Example: "CA"
advanced_options.​bill_to_partystring or null(bill_to_party)

The possible bill to party values

Default null
Enum"recipient""third_party"
Example: "third_party"
advanced_options.​bill_to_postal_codestring or null

The postal code of the third-party that is responsible for shipping costs.

Default null
Example: "28005"
advanced_options.​contains_alcoholboolean

Indicates that the shipment contains alcohol.

Default false
Example: true
advanced_options.​delivered_duty_paidboolean

Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.

Default false
Example: true
advanced_options.​dry_iceboolean

Indicates if the shipment contain dry ice

Default false
Example: true
advanced_options.​dry_ice_weightobject or null(weight)

The weight of a package

advanced_options.​non_machinableboolean

Indicates that the package cannot be processed automatically because it is too large or irregularly shaped. This is primarily for USPS shipments. See Section 1.2 of the USPS parcel standards for details.

Default false
Example: true
advanced_options.​saturday_deliveryboolean

Enables Saturday delivery, if supported by the carrier.

Default false
Example: true
advanced_options.​fedex_freightobject

Provide details for the Fedex freight service

advanced_options.​use_ups_ground_freight_pricingboolean or null

Whether to use [UPS Ground Freight pricing] If enabled, then a freight_class must also be specified.

Default null
Example: true
advanced_options.​freight_classstring or null

The National Motor Freight Traffic Association freight class, such as "77.5", "110", or "250".

Default null
Example: "77.5"
advanced_options.​custom_field1string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 1"
advanced_options.​custom_field2string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 2"
advanced_options.​custom_field3string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 3"
advanced_options.​origin_typestring or null(origin_type)

Indicates if the package will be picked up or dropped off by the carrier

Default null
Enum"pickup""drop_off"
advanced_options.​additional_handlingboolean or null

Indicate to the carrier that this shipment requires additional handling.

Default null
Example: true
advanced_options.​shipper_releaseboolean or null
Default null
Example: true
advanced_options.​collect_on_deliveryobject(collect_on_delivery)

Defer payment until package is delivered, instead of when it is ordered.

advanced_options.​third_party_consigneeboolean

Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached

Default false
Example: true
advanced_options.​dangerous_goodsboolean

Indicates if the Dangerous goods are present in the shipment

Default false
Example: true
advanced_options.​dangerous_goods_contactobject

Contact information for Dangerous goods

advanced_options.​windsor_framework_detailsobject

The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland.

insurance_providerstring(insurance_provider)required

The possible insurance provider values

Default "none"
Enum"none""shipsurance""carrier""third_party"
tagsArray of objects(tag)>= 0 itemsread-onlyrequired

Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags.

Default []
tags[].​namestringnon-emptyrequired

The tag name.

Example: "Fragile"
order_source_codestring(order_source_name)

The order sources that are supported by ShipStation

Enum"amazon_ca""amazon_us""brightpearl""channel_advisor""cratejoy""ebay""etsy""jane""groupon_goods""magento"
packagesArray of objects(package)non-emptyrequired

The packages in the shipment.

Note: Some carriers only allow one package per shipment. If you attempt to create a multi-package shipment for a carrier that doesn't allow it, an error will be returned.

packages[].​shipment_package_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"
packages[].​package_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
packages[].​package_codestring(package_code)[ 1 .. 50 ] characters^[a-z0-9]+(_[a-z0-9]+)*$

A [package type] , such as thick_envelope, small_flat_rate_box, large_package, etc. Use the code package for custom or unknown package types.

Example: "small_flat_rate_box"
packages[].​package_namestring

The name of the of the [package type]

Example: "Flat Rate Envelope"
packages[].​weightobject(weight)required

The weight of a package

packages[].​weight.​valuenumber> 0required

The weight, in the specified unit

Example: 23
packages[].​weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
packages[].​dimensionsobject(dimensions)

The dimensions of a package

packages[].​insured_valueobject(monetary_value)

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

Default [{"currency":"usd","amount":0}]
packages[].​label_messagesobject(label_messages)

Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier.

CarrierMax linesMax line length
USPS (Stamps.com)360
FedEx335 for the first line. 30 for additional lines.
UPS235
OnTrac225
packages[].​external_package_idstringnon-empty

An external package id.

Example: "se-1234545"
packages[].​tracking_numberstring(tracking_number)non-emptyread-only

A tracking number for a package. The format depends on the carrier.

Example: "1Z932R800392060079"
packages[].​content_descriptionstring or null[ 1 .. 35 ] characters

A short description of the package content. Required for shipments moving to, from, and through Mexico.

Example: "Hand knitted wool socks"
packages[].​productsArray of objects(products)>= 0 items

Details about products inside packages (Information provided would be used on custom documentation)

Default []
total_weightobject(weight)read-onlyrequired

The weight of a package

total_weight.​valuenumber> 0required

The weight, in the specified unit

Example: 3
total_weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
Example: "pound"
comparison_rate_typestring or null

Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.

Example: "retail"
Response
application/json
{ "shipment_id": "se-28529731", "carrier_id": "se-1234567", "service_code": "se_1234567", "shipping_rule_id": "se-1234", "external_order_id": "1232434", "items": [], "tax_identifiers": [ {} ], "external_shipment_id": "1234556", "shipment_number": "se-1234545", "ship_date": "2018-09-23", "created_at": "2018-09-23T15:00:00.000Z", "modified_at": "2018-09-23T15:00:00.000Z", "shipment_status": "pending", "ship_to": { "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", "instructions": "any instruction", "geolocation": [] }, "ship_from": { "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", "instructions": "any instructions" }, "warehouse_id": null, "return_to": { "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", "instructions": "any instructions" }, "is_return": true, "confirmation": "none", "customs": null, "advanced_options": { "bill_to_account": "123456789", "bill_to_country_code": "US", "bill_to_party": "third_party", "bill_to_postal_code": "28005", "contains_alcohol": true, "delivered_duty_paid": true, "dry_ice": true, "dry_ice_weight": {}, "non_machinable": true, "saturday_delivery": true, "fedex_freight": {}, "use_ups_ground_freight_pricing": true, "freight_class": "77.5", "custom_field1": "custom field 1", "custom_field2": "custom field 2", "custom_field3": "custom field 3", "origin_type": null, "additional_handling": true, "shipper_release": true, "collect_on_delivery": {}, "third_party_consignee": true, "dangerous_goods": true, "dangerous_goods_contact": {}, "windsor_framework_details": {} }, "insurance_provider": "none", "tags": [], "order_source_code": "amazon_ca", "packages": [ {} ], "total_weight": { "value": 3, "unit": "pound" }, "comparison_rate_type": "retail" }

Get shipment by id

Request

Get an individual shipment based on its ID

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

Shipment ID

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

Responses

The request was a success.

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

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

Example: "se-28529731"
carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Example: "se-28529731"
service_codestring(service_code)^[a-z0-9]+(_[a-z0-9-]+)* ?$required

A [carrier service], such as fedex_ground, usps_first_class_mail, flat_rate_envelope, etc.

Example: "usps_first_class_mail"
shipping_rule_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
external_order_idstring or null

ID that the Order Source assigned

Example: "1232434"
itemsArray of objects(shipment_item)

Describe the packages included in this shipment as related to potential metadata that was imported from external order sources

Default []
tax_identifiersArray of objects or null(tax_identifier)
external_shipment_idstring or null<= 50 characters

A unique user-defined key to identify a shipment. This can be used to retrieve the shipment.

Warning: The external_shipment_id is limited to 50 characters. Any additional characters will be truncated.

Example: "1234556"
shipment_numberstring or null<= 50 characters

A non-unique user-defined number used to identify a shipment. If undefined, this will match the external_shipment_id of the shipment.

Warning: The shipment_number is limited to 50 characters. Any additional characters will be truncated.

Example: "se-1234545"
ship_datestring(date-time)(date)^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?...required

An ISO 8601 string that represents a date, but not a specific time. The value may contain a time component, but it will be set to 00:00:00 UTC by ShipStation .

Example: "2018-09-23"
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"
modified_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"
shipment_statusstring(shipment_status)read-onlyrequired

The possible shipment status values

Default "pending"
Enum"pending""processing""label_purchased""cancelled"
ship_toobject(shipping_address_to)required

A complete or partial mailing address.

ship_to.​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"
ship_to.​phonestringnon-emptyrequired

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"
ship_to.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
ship_to.​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."
ship_to.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
ship_to.​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"
ship_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
ship_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
ship_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
ship_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instruction"
ship_to.​geolocationArray of objects
ship_fromobject(shipping_address)required

A complete or partial mailing address.

ship_from.​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"
ship_from.​phonestringnon-emptyrequired

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"
ship_from.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
ship_from.​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."
ship_from.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
ship_from.​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"
ship_from.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
ship_from.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
ship_from.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
ship_from.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
warehouse_idstring or null(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Default null
Example: "se-28529731"
return_toobject(shipping_address)required

A complete or partial mailing address.

return_to.​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"
return_to.​phonestringnon-emptyrequired

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"
return_to.​emailstring or null

Email for the address owner.

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

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

Example: "The Home Depot"
return_to.​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."
return_to.​address_line2string or nullnon-empty

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

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

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

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

The name of the city or locality

Example: "Winnipeg"
return_to.​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"
return_to.​postal_codestring(postal_code)non-emptyrequired

postal code

Example: "78756-3717"
return_to.​country_codestring(country_code)= 2 charactersrequired
Example: "CA"
return_to.​address_residential_indicatorstring(address_residential_indicator)required

Indicates whether an address is residential.

Default "unknown"
Enum"unknown""yes""no"
Example: "no"
return_to.​instructionsstring or nullnon-empty

Additional text about how to handle the shipment at this address.

Example: "any instructions"
is_returnboolean or null

An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.

Default false
Example: true
confirmationstring(delivery_confirmation)required

The possible delivery confirmation values

Default "none"
Enum"none""delivery""signature""adult_signature""direct_signature""delivery_mailed""verbal_confirmation"
customsobject or null(international_shipment_options)required

Options for international shipments, such as customs declarations.

Default null
customs.​contentsstring(package_contents)required

The possible package contents values

Default "merchandise"
Enum"merchandise""documents""gift""returned_goods""sample""other"
customs.​contents_explanationstring

Explanation for contents (required if the contents is provided as other)

Example: "rubber duckies"
customs.​non_deliverystring(non_delivery)required

The possible non delivery values

Default "return_to_sender"
Enum"return_to_sender""treat_as_abandoned"
customs.​terms_of_trade_codestring(Allowed incoterms)

Specifies the supported terms of trade code (incoterms)

Enum"exw""fca""cpt""cip""dpu""dap""ddp""fas""fob""cfr"
customs.​declarationstring

Declaration statement to be placed on the commercial invoice

Example: "I hereby certify that the information on this invoice is true and correct and that the contents and value of this shipment are as stated above"
customs.​invoice_additional_detailsobject(invoice_additional_details)

The additional information to put on commercial invoice

customs.​importer_of_recordobject(importer_of_records)

importer of records address, anywhere in the world.

customs.​customs_itemsArray of objects(customs_item)>= 0 itemsDeprecated

Customs declarations for each item in the shipment. (Please provide this information under products inside packages)

Default []
advanced_optionsobject(advanced_shipment_options)required

Advanced shipment options

advanced_options.​bill_to_accountstring or null

This field is used to [bill shipping costs to a third party]. This field must be used in conjunction with the bill_to_country_code, bill_to_party, and bill_to_postal_code fields.

Default null
Example: "123456789"
advanced_options.​bill_to_country_codestring or null(country_code)= 2 characters
Default null
Example: "CA"
advanced_options.​bill_to_partystring or null(bill_to_party)

The possible bill to party values

Default null
Enum"recipient""third_party"
Example: "third_party"
advanced_options.​bill_to_postal_codestring or null

The postal code of the third-party that is responsible for shipping costs.

Default null
Example: "28005"
advanced_options.​contains_alcoholboolean

Indicates that the shipment contains alcohol.

Default false
Example: true
advanced_options.​delivered_duty_paidboolean

Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.

Default false
Example: true
advanced_options.​dry_iceboolean

Indicates if the shipment contain dry ice

Default false
Example: true
advanced_options.​dry_ice_weightobject or null(weight)

The weight of a package

advanced_options.​non_machinableboolean

Indicates that the package cannot be processed automatically because it is too large or irregularly shaped. This is primarily for USPS shipments. See Section 1.2 of the USPS parcel standards for details.

Default false
Example: true
advanced_options.​saturday_deliveryboolean

Enables Saturday delivery, if supported by the carrier.

Default false
Example: true
advanced_options.​fedex_freightobject

Provide details for the Fedex freight service

advanced_options.​use_ups_ground_freight_pricingboolean or null

Whether to use [UPS Ground Freight pricing] If enabled, then a freight_class must also be specified.

Default null
Example: true
advanced_options.​freight_classstring or null

The National Motor Freight Traffic Association freight class, such as "77.5", "110", or "250".

Default null
Example: "77.5"
advanced_options.​custom_field1string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 1"
advanced_options.​custom_field2string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 2"
advanced_options.​custom_field3string or null<= 100 characters

An arbitrary field that can be used to store information about the shipment.

Default null
Example: "custom field 3"
advanced_options.​origin_typestring or null(origin_type)

Indicates if the package will be picked up or dropped off by the carrier

Default null
Enum"pickup""drop_off"
advanced_options.​additional_handlingboolean or null

Indicate to the carrier that this shipment requires additional handling.

Default null
Example: true
advanced_options.​shipper_releaseboolean or null
Default null
Example: true
advanced_options.​collect_on_deliveryobject(collect_on_delivery)

Defer payment until package is delivered, instead of when it is ordered.

advanced_options.​third_party_consigneeboolean

Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached

Default false
Example: true
advanced_options.​dangerous_goodsboolean

Indicates if the Dangerous goods are present in the shipment

Default false
Example: true
advanced_options.​dangerous_goods_contactobject

Contact information for Dangerous goods

advanced_options.​windsor_framework_detailsobject

The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland.

insurance_providerstring(insurance_provider)required

The possible insurance provider values

Default "none"
Enum"none""shipsurance""carrier""third_party"
tagsArray of objects(tag)>= 0 itemsread-onlyrequired

Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags.

Default []
tags[].​namestringnon-emptyrequired

The tag name.

Example: "Fragile"
order_source_codestring(order_source_name)

The order sources that are supported by ShipStation

Enum"amazon_ca""amazon_us""brightpearl""channel_advisor""cratejoy""ebay""etsy""jane""groupon_goods""magento"
packagesArray of objects(package)non-emptyrequired

The packages in the shipment.

Note: Some carriers only allow one package per shipment. If you attempt to create a multi-package shipment for a carrier that doesn't allow it, an error will be returned.

packages[].​shipment_package_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"
packages[].​package_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$

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

Example: "se-28529731"
packages[].​package_codestring(package_code)[ 1 .. 50 ] characters^[a-z0-9]+(_[a-z0-9]+)*$

A [package type] , such as thick_envelope, small_flat_rate_box, large_package, etc. Use the code package for custom or unknown package types.

Example: "small_flat_rate_box"
packages[].​package_namestring

The name of the of the [package type]

Example: "Flat Rate Envelope"
packages[].​weightobject(weight)required

The weight of a package

packages[].​weight.​valuenumber> 0required

The weight, in the specified unit

Example: 23
packages[].​weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
packages[].​dimensionsobject(dimensions)

The dimensions of a package

packages[].​insured_valueobject(monetary_value)

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

Default [{"currency":"usd","amount":0}]
packages[].​label_messagesobject(label_messages)

Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier.

CarrierMax linesMax line length
USPS (Stamps.com)360
FedEx335 for the first line. 30 for additional lines.
UPS235
OnTrac225
packages[].​external_package_idstringnon-empty

An external package id.

Example: "se-1234545"
packages[].​tracking_numberstring(tracking_number)non-emptyread-only

A tracking number for a package. The format depends on the carrier.

Example: "1Z932R800392060079"
packages[].​content_descriptionstring or null[ 1 .. 35 ] characters

A short description of the package content. Required for shipments moving to, from, and through Mexico.

Example: "Hand knitted wool socks"
packages[].​productsArray of objects(products)>= 0 items

Details about products inside packages (Information provided would be used on custom documentation)

Default []
total_weightobject(weight)read-onlyrequired

The weight of a package

total_weight.​valuenumber> 0required

The weight, in the specified unit

Example: 3
total_weight.​unitstring(weight_unit)required

The possible weight unit values

Enum"pound""ounce""gram""kilogram"
Example: "pound"
comparison_rate_typestring or null

Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.

Example: "retail"
Response
application/json
{ "shipment_id": "se-28529731", "carrier_id": "se-1234567", "service_code": "se_1234567", "shipping_rule_id": "se-1234", "external_order_id": "1232434", "items": [], "tax_identifiers": [ {} ], "external_shipment_id": "1234556", "shipment_number": "se-1234545", "ship_date": "2018-09-23", "created_at": "2018-09-23T15:00:00.000Z", "modified_at": "2018-09-23T15:00:00.000Z", "shipment_status": "pending", "ship_to": { "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", "instructions": "any instruction", "geolocation": [] }, "ship_from": { "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", "instructions": "any instructions" }, "warehouse_id": null, "return_to": { "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", "instructions": "any instructions" }, "is_return": true, "confirmation": "none", "customs": null, "advanced_options": { "bill_to_account": "123456789", "bill_to_country_code": "US", "bill_to_party": "third_party", "bill_to_postal_code": "28005", "contains_alcohol": true, "delivered_duty_paid": true, "dry_ice": true, "dry_ice_weight": {}, "non_machinable": true, "saturday_delivery": true, "fedex_freight": {}, "use_ups_ground_freight_pricing": true, "freight_class": "77.5", "custom_field1": "custom field 1", "custom_field2": "custom field 2", "custom_field3": "custom field 3", "origin_type": null, "additional_handling": true, "shipper_release": true, "collect_on_delivery": {}, "third_party_consignee": true, "dangerous_goods": true, "dangerous_goods_contact": {}, "windsor_framework_details": {} }, "insurance_provider": "none", "tags": [], "order_source_code": "amazon_ca", "packages": [ {} ], "total_weight": { "value": 3, "unit": "pound" }, "comparison_rate_type": "retail" }

Cancel a shipment

Request

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

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

Shipment ID

Example: se-28529731
curl -i -X PUT \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments/{shipment_id}/cancel' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was successful.

Body
string(empty_response_body)<= 0 characters
Response
No response example

Get shipment rates

Request

Get Rates for the shipment information associated with the shipment ID

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

Shipment ID

Example: se-28529731
Query
created_at_startstring(date-time)

Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)

Example: created_at_start=2019-03-12T19:24:13.657Z
curl -i -X GET \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments/{shipment_id}/rates?created_at_start=2019-08-24T14%3A15%3A22Z' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was a success.

Bodyapplication/json
ratesArray of objects(rate)read-onlyrequired

An array of shipment rates

rates[].​rate_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

Example: "se-28529731"
rates[].​rate_typestring(rate_type)read-onlyrequired

The possible rate type values

Enum"check""shipment"
rates[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

Example: "se-28529731"
rates[].​shipping_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​shipping_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

rates[].​shipping_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
rates[].​insurance_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​insurance_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

rates[].​insurance_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
rates[].​confirmation_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​confirmation_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

rates[].​confirmation_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
rates[].​other_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​other_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

rates[].​other_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
rates[].​requested_comparison_amountobject(monetary_value)read-only

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​tax_amountobject(monetary_value)read-only

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

rates[].​zoneinteger or null(int32)>= 0read-onlyrequired

Certain carriers base their rates off of custom zones that vary depending upon the ship_to and ship_from location

Example: 6
rates[].​package_typestring or nullnon-emptyread-onlyrequired

package type that this rate was estimated for

Example: "package"
rates[].​delivery_daysinteger(int32)>= 1read-only

The number of days estimated for delivery, this will show the actual delivery time if for example, the package gets shipped on a Friday

Example: 5
rates[].​guaranteed_servicebooleanread-onlyrequired

Indicates if the rate is guaranteed.

Example: true
rates[].​estimated_delivery_datestring(date-time)(date)^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?...read-only

An ISO 8601 string that represents a date, but not a specific time. The value may contain a time component, but it will be set to 00:00:00 UTC by ShipStation .

Example: "2018-09-23"
rates[].​carrier_delivery_daysstringnon-emptyread-only

The carrier delivery days

Example: "22"
rates[].​ship_datestring(date-time)non-emptyread-only

ship date

Example: "10/22/2024z00:00"
rates[].​negotiated_ratebooleanread-onlyrequired

Indicates if the rates been negotiated

Example: true
rates[].​service_typestringnon-emptyread-onlyrequired

service type

Example: "next_day"
rates[].​service_codestringnon-emptyread-onlyrequired

service code for the rate

Example: "usps_priority_mail_express"
rates[].​trackablebooleanread-onlyrequired

Indicates if rate is trackable

Example: true
rates[].​carrier_codestringnon-emptyread-onlyrequired

carrier code

Example: "stamps_com"
rates[].​carrier_nicknamestringnon-emptyread-onlyrequired

carrier nickname

Example: "Free"
rates[].​carrier_friendly_namestringnon-emptyread-onlyrequired

carrier friendly name

Example: "free"
rates[].​validation_statusstring(validation_status)read-onlyrequired

The possible validation status values

Enum"valid""invalid""has_warnings""unknown"
rates[].​warning_messagesArray of strings>= 0 itemsread-onlyrequired

The warning messages

rates[].​error_messagesArray of strings>= 0 itemsread-onlyrequired

The error messages

invalid_ratesArray of objects(rate)read-onlyrequired

An array of invalid shipment rates

Default []
invalid_rates[].​rate_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

Example: "se-28529731"
invalid_rates[].​rate_typestring(rate_type)read-onlyrequired

The possible rate type values

Enum"check""shipment"
invalid_rates[].​carrier_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

Example: "se-28529731"
invalid_rates[].​shipping_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​shipping_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

invalid_rates[].​shipping_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
invalid_rates[].​insurance_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​insurance_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

invalid_rates[].​insurance_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
invalid_rates[].​confirmation_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​confirmation_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

invalid_rates[].​confirmation_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
invalid_rates[].​other_amountobject(monetary_value)read-onlyrequired

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​other_amount.​currencystring(currency)required

The currencies that are supported by ShipStation are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html

invalid_rates[].​other_amount.​amountnumber>= 0required

The monetary amount, in the specified currency.

Example: 12
invalid_rates[].​requested_comparison_amountobject(monetary_value)read-only

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​tax_amountobject(monetary_value)read-only

A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.

invalid_rates[].​zoneinteger or null(int32)>= 0read-onlyrequired

Certain carriers base their rates off of custom zones that vary depending upon the ship_to and ship_from location

Example: 6
invalid_rates[].​package_typestring or nullnon-emptyread-onlyrequired

package type that this rate was estimated for

Example: "package"
invalid_rates[].​delivery_daysinteger(int32)>= 1read-only

The number of days estimated for delivery, this will show the actual delivery time if for example, the package gets shipped on a Friday

Example: 5
invalid_rates[].​guaranteed_servicebooleanread-onlyrequired

Indicates if the rate is guaranteed.

Example: true
invalid_rates[].​estimated_delivery_datestring(date-time)(date)^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?...read-only

An ISO 8601 string that represents a date, but not a specific time. The value may contain a time component, but it will be set to 00:00:00 UTC by ShipStation .

Example: "2018-09-23"
invalid_rates[].​carrier_delivery_daysstringnon-emptyread-only

The carrier delivery days

Example: "22"
invalid_rates[].​ship_datestring(date-time)non-emptyread-only

ship date

Example: "10/22/2024z00:00"
invalid_rates[].​negotiated_ratebooleanread-onlyrequired

Indicates if the rates been negotiated

Example: true
invalid_rates[].​service_typestringnon-emptyread-onlyrequired

service type

Example: "next_day"
invalid_rates[].​service_codestringnon-emptyread-onlyrequired

service code for the rate

Example: "usps_priority_mail_express"
invalid_rates[].​trackablebooleanread-onlyrequired

Indicates if rate is trackable

Example: true
invalid_rates[].​carrier_codestringnon-emptyread-onlyrequired

carrier code

Example: "stamps_com"
invalid_rates[].​carrier_nicknamestringnon-emptyread-onlyrequired

carrier nickname

Example: "Free"
invalid_rates[].​carrier_friendly_namestringnon-emptyread-onlyrequired

carrier friendly name

Example: "free"
invalid_rates[].​validation_statusstring(validation_status)read-onlyrequired

The possible validation status values

Enum"valid""invalid""has_warnings""unknown"
invalid_rates[].​warning_messagesArray of strings>= 0 itemsread-onlyrequired

The warning messages

invalid_rates[].​error_messagesArray of strings>= 0 itemsread-onlyrequired

The error messages

rate_request_idstring(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$read-onlyrequired

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

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

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

Example: "se-28529731"
created_atstring(date-time)(se_id)[ 1 .. 25 ] characters^se(-[a-z0-9]+)+$required

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

Example: "se-28529731"
statusstring(rate_response_status)read-onlyrequired

The possible rate response status values

Enum"working""completed""partial""error"
errorsArray of objects(error)required
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
{ "rates": [ {} ], "invalid_rates": [], "rate_request_id": "se-28529731", "shipment_id": "se-28529731", "created_at": "se-28529731", "status": "working", "errors": [ {} ] }

Add tag to shipment

Request

Add a tag to the shipment object

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

Shipment ID

Example: se-28529731
tag_namestring(tag_name)non-emptyrequired

Tags are arbitrary strings that you can use to categorize shipments. For example, you may want to use tags to distinguish between domestic and international shipments, or between insured and uninsured shipments. Or maybe you want to create a tag for each of your customers so you can easily retrieve every shipment for a customer.

Example: Fragile
curl -i -X POST \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments/{shipment_id}/tags/{tag_name}' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The requested object creation was a success.

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

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

Example: "se-28529731"
tagobject(tag)read-onlyrequired

Tags are arbitrary strings that you can use to categorize shipments. For example, you may want to use tags to distinguish between domestic and international shipments, or between insured and uninsured shipments. Or maybe you want to create a tag for each of your customers so you can easily retrieve every shipment for a customer.

tag.​namestringnon-emptyrequired

The tag name.

Example: "Fragile"
Response
application/json
{ "shipment_id": "se-28529731", "tag": { "name": "Fragile" } }

Remove tag from shipment

Request

Remove an existing tag from the Shipment object

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

Shipment ID

Example: se-28529731
tag_namestring(tag_name)non-emptyrequired

Tags are arbitrary strings that you can use to categorize shipments. For example, you may want to use tags to distinguish between domestic and international shipments, or between insured and uninsured shipments. Or maybe you want to create a tag for each of your customers so you can easily retrieve every shipment for a customer.

Example: Fragile
curl -i -X DELETE \
  'https://docs.shipstation.com/_mock/openapi/v2/shipments/{shipment_id}/tags/{tag_name}' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

The request was successful.

Body
string(empty_response_body)<= 0 characters
Response
No response example

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