Skip to content

Shippo external API. (2018-02-08)

Use this API to integrate with the Shippo service

Download OpenAPI description
Languages
Servers
https://api.goshippo.com

First-time users and those looking for specific integration tutorials, see our full API documentation and guides.
Download the API Specification yaml file

API Resources

All API URLs listed in this documentation are relative to https://api.goshippo.com/.

For example, the /addresses/ resource is reachable at https://api.goshippo.com/addresses/.

Authentication

The API requires Shippo's token HTTP Authentication with your Shippo token (live or test).

In order to authenticate properly, please put Authorization: ShippoToken <token> in your header. You can find your token on the Shippo API settings page.

For more information about authentication and test mode, please visit our Authentication guide.

The API is available via Secure Socket Layer (SSL) only. All requests to the Shippo API must use TLS version 1.2 or higher.

Request & Response Data

Request data is passed to the API by POSTing JSON objects with the appropriate key/value-pairs to the respective resource. The documentation for each API resource contains more details on the values accepted by a given resource.

Response data also formatted as JSON object. You can specify how many results per page are to be returned. For instance, /rates/?results=25 will return up to 25 results.

REST & Disposable Objects

The Shippo API is built around REST principles. Use POST requests to create objects, GET requests to retrieve objects, and PUT requests to update objects.

Only the Carrier Accounts object can be updated via PUT requests. All other objects such as Addresses, Parcels, Shipments, Rates, Transactions, Refunds, Customs Items, and Customs Declarations are disposable. This means that once you have created an object, you cannot change it. Instead, create a new one with the desired values.

API Version

This reference guide supports the Shippo API version: 2018-02-08 .

To see reference guides for older API versions, see our legacy reference guide. For more information about Shippo API versions, see our API versions guide.

Addresses are the locations a parcel is being shipped from and to. They represent company and residential places. Among other things, you can use address objects to create shipments, calculate shipping rates, and purchase shipping labels.

Schemas
Operations

A parcel is an item you are shipping. The parcel object includes details about its physical make-up of the parcel. It includes dimensions and weight that Shippo uses to calculate rates.

Schemas
Operations

A carrier parcel template represents a package used for shipping that has preset dimensions defined by a carrier. Some examples of a carrier parcel template include USPS Flat Rate Box and Fedex Small Pak. When using a carrier parcel template, the rates returned may be limited to the carrier that provides the box. You can create user parcel templates using a carrier parcel template. Shippo takes the dimensions of the carrier parcel template but you must configure the weight.

Schemas
Operations

A user parcel template represents a package used for shipping that has preset dimensions and attributes defined by you. They are useful for capturing attributes of parcel-types you frequently use for shipping, allowing them to be defined once and then used for many shipments. These parcel templates can also be used for live rates.

User parcel templates can also be created using a carrier parcel template, where the dimensions will be copied from the carrier presets, but the weight can be configured by you.

Schemas
Operations

A shipment is the act of transporting goods. A shipment object contains to and from addresses, and the parcel details that you are shipping. You can use the shipment object to retrieve shipping rates and purchase a shipping label.

Schemas
Operations

Shipment represents the parcel as retrieved from the database

extraobject(ShipmentExtra)

An object holding optional extra services to be requested.

metadatastring<= 100 charactersrequired

A string of up to 100 characters that can be filled with any additional information you want to attach to the object.

Example: "Customer ID 123456"
shipment_datestring

Date the shipment will be tendered to the carrier. Must be in the format 2014-01-18T00:35:03.463Z. Defaults to current date and time if no value is provided. Please note that some carriers require this value to be in the future, on a working day, or similar.

Example: "2021-03-22T12:00:00Z"
address_fromobject(AddressFrom)required

Address object of the sender / seller. Will be returned expanded by default.

address_returnobject(AddressReturn)

ID of the Address object where the shipment will be sent back to if it is not delivered (Only available for UPS, USPS, and Fedex shipments).
If this field is not set, your shipments will be returned to the address_from.

address_toobject(AddressTo)required

Address object of the recipient / buyer. Will be returned expanded by default.

carrier_accountsArray of stringsrequired

An array of object_ids of the carrier account objects to be used for getting shipping rates for this shipment. If no carrier account object_ids are set in this field, Shippo will attempt to generate rates using all the carrier accounts that have the active field set.

customs_declarationobject(CustomsDeclaration)
messagesArray of objects(ResponseMessageList)required
object_createdstring(date-time)required

Date and time of Shipment creation.

object_idstringrequired

Unique identifier of the given Shipment object.

Example: "adcfdddf8ec64b84ad22772bce3ea37a"
object_ownerstringrequired

Username of the user who created the Shipment object.

Example: "pp@gmail.com"
object_updatedstring(date-time)required

Date and time of last Shipment update.

parcelsArray of objects(Parcel)required

List of Parcel objects to be shipped.

ratesArray of objects(Rate)required

An array with all available rates. If async has been set to false in the request, this will be populated with all available rates in the response. Otherwise rates will be created asynchronously and this array will initially be empty.

statusstringrequired

Waiting shipments have been successfully submitted but not yet been processed. Queued shipments are currently being processed. Success shipments have been processed successfully, meaning that rate generation has concluded. Error does not occur currently and is reserved for future use.

Enum"ERROR""QUEUED""SUCCESS""WAITING"
Example: "QUEUED"
testboolean

Indicates whether the object has been created in test mode.

{ "extra": { "accounts_receivable_customer_account": {}, "alcohol": {}, "ancillary_endorsement": "FORWARDING_SERVICE_REQUESTED", "appropriation_number": {}, "authority_to_leave": true, "bill_of_lading_number": {}, "billing": {}, "bypass_address_validation": true, "carbon_neutral": true, "carrier_hub_id": "string", "carrier_hub_travel_time": 0, "COD": {}, "cod_number": {}, "container_type": "string", "critical_pull_time": "string", "customer_branch": "string", "customer_reference": {}, "dangerous_goods": {}, "dangerous_goods_code": "01", "dealer_order_number": {}, "delivery_instructions": "string", "dept_number": {}, "dry_ice": {}, "fda_product_code": {}, "fulfillment_center": "string", "insurance": {}, "invoice_number": {}, "is_return": true, "lasership_attrs": [], "lasership_declared_value": "string", "manifest_number": {}, "model_number": {}, "part_number": {}, "po_number": {}, "preferred_delivery_timeframe": "10001200", "premium": true, "production_code": {}, "purchase_request_number": {}, "qr_code_requested": true, "reference_1": "string", "reference_2": "string", "request_retail_rates": true, "return_service_type": "PRINT_AND_MAIL", "rma_number": {}, "saturday_delivery": true, "salesperson_number": {}, "serial_number": {}, "signature_confirmation": "STANDARD", "store_number": {}, "transaction_reference_number": {}, "usmca_eligible": true }, "metadata": "Customer ID 123456", "shipment_date": "2021-03-22T12:00:00Z", "address_from": { "name": "Shwan Ippotle", "company": "Shippo", "street1": "215 Clayton St.", "street2": "string", "street3": "", "street_no": "", "city": "San Francisco", "state": "CA", "zip": "94117", "country": "US", "phone": "+1 555 341 9393", "email": "shippotle@shippo.com", "is_residential": true, "metadata": "Customer ID 123456", "is_complete": true, "latitude": 0, "longitude": 0, "object_created": "2014-07-09T02:19:13.174Z", "object_id": "d799c2679e644279b59fe661ac8fa488", "object_owner": "shippotle@shippo.com", "object_updated": "2014-07-09T02:19:13.174Z", "validation_results": {}, "test": false }, "address_return": { "name": "Shwan Ippotle", "company": "Shippo", "street1": "215 Clayton St.", "street2": "string", "street3": "", "street_no": "", "city": "San Francisco", "state": "CA", "zip": "94117", "country": "US", "phone": "+1 555 341 9393", "email": "shippotle@shippo.com", "is_residential": true, "metadata": "Customer ID 123456", "is_complete": true, "latitude": 0, "longitude": 0, "object_created": "2014-07-09T02:19:13.174Z", "object_id": "d799c2679e644279b59fe661ac8fa488", "object_owner": "shippotle@shippo.com", "object_updated": "2014-07-09T02:19:13.174Z", "validation_results": {}, "test": false }, "address_to": { "name": "Shwan Ippotle", "company": "Shippo", "street1": "215 Clayton St.", "street2": "string", "street3": "", "street_no": "", "city": "San Francisco", "state": "CA", "zip": "94117", "country": "US", "phone": "+1 555 341 9393", "email": "shippotle@shippo.com", "is_residential": true, "metadata": "Customer ID 123456", "is_complete": true, "latitude": 0, "longitude": 0, "object_created": "2014-07-09T02:19:13.174Z", "object_id": "d799c2679e644279b59fe661ac8fa488", "object_owner": "shippotle@shippo.com", "object_updated": "2014-07-09T02:19:13.174Z", "validation_results": {}, "test": false }, "carrier_accounts": [ "string" ], "customs_declaration": { "aes_itn": "string", "b13a_filing_option": "FILED_ELECTRONICALLY", "b13a_number": "string", "certificate": "string", "certify": true, "certify_signer": "Shawn Ippotle", "commercial_invoice": true, "contents_explanation": "T-Shirt purchase", "disclaimer": "string", "duties_payor": {}, "exporter_identification": {}, "exporter_reference": "string", "importer_reference": "string", "is_vat_collected": true, "invoice": "#123123", "license": "string", "metadata": "Order ID #123123", "notes": "string", "address_importer": "257ba08436604d2aaf069caafe7acb2a", "contents_type": "MERCHANDISE", "eel_pfc": "NOEEI_30_37_a", "incoterm": "DDP", "invoiced_charges": {}, "items": [], "non_delivery_option": "RETURN", "object_created": "2014-07-17T01:01:08.306Z", "object_id": "e2197a54da9d470480f4f8796cc419cb", "object_owner": "shippotle@shippo.com", "object_state": "VALID", "object_updated": "2014-07-17T01:01:08.306Z", "test": true }, "messages": [ {} ], "object_created": "2019-08-24T14:15:22Z", "object_id": "adcfdddf8ec64b84ad22772bce3ea37a", "object_owner": "pp@gmail.com", "object_updated": "2019-08-24T14:15:22Z", "parcels": [ {} ], "rates": [ {} ], "status": "QUEUED", "test": true }

An object holding optional extra services to be requested.

accounts_receivable_customer_accountobject(UPSReferenceFields)

UPS only. Adds custom accounts receivable customer account reference to UPS labels.

alcoholobject(Alcohol)

Indicates that a shipment contains Alcohol (Fedex and UPS only).

ancillary_endorsementany

Specify an ancillary service endorsement to provide the USPS with instructions on how to handle undeliverable-as-addressed pieces (DHL eCommerce only).

Enum"FORWARDING_SERVICE_REQUESTED""RETURN_SERVICE_REQUESTED"
appropriation_numberobject(UPSReferenceFields)

UPS only. Adds custom appropriation number reference to UPS labels.

authority_to_leaveboolean

Request true to give carrier permission to leave the parcel in a safe place if no one answers the door (where supported). When set to false, if no one is available to receive the item, the parcel will not be left (*surcharges may be applicable).

bill_of_lading_numberobject(UPSReferenceFields)

UPS only. Adds custom bill of lading number reference to UPS labels.

billingobject(Billing)

Specify billing details (UPS, FedEx, and DHL Germany only).

bypass_address_validationboolean

Bypasses address validation (USPS, UPS, & LaserShip only).

carbon_neutralboolean

Request carbon offsets by passing true (UPS only).

carrier_hub_idstring

Identifies the carrier injection site.

carrier_hub_travel_timeinteger

Travel time in hours from fulfillment center to carrier injection site.

CODobject(COD)

Specify collection on delivery details (UPS only).

cod_numberobject(UPSReferenceFields)

UPS only. Adds custom COD number reference to UPS labels.

container_typestring

Specify container type.

critical_pull_timestring

Carrier arrival time to pickup packages from the fulfillment center. UTC format: %Y-%m-%dT%H:%M:%SZ

customer_branchstring

Specify customer branch (Lasership only).

customer_referenceobject(CustomerReference)

Specify the reference field on the label (FedEx and UPS only).

dangerous_goodsobject(DangerousGoodsObject)

Container for specifying the presence of dangerous materials. This is specific to USPS, and if any contents are provided, only certain USPS service levels will be eligible. For more information, see our guide on hazardous or dangerous materials shipping.

dangerous_goods_codeany

Dangerous Goods Code (DHL eCommerce only). See Category Codes

Enum"01""02""03""04""05""06""07""08""09"
dealer_order_numberobject(UPSReferenceFields)

UPS only. Adds custom dealer order number reference to UPS labels.

delivery_instructionsstring

Specify delivery instructions. Up to 500 characters. (FedEx and OnTrac only).

dept_numberobject(DepartmentNumber)

Specify the department number field on the label (FedEx and UPS only).

dry_iceobject(DryIce)

Specify that the package contains Dry Ice (FedEx, Veho, and UPS only).

fda_product_codeobject(UPSReferenceFields)

UPS only. Adds custom FDA product code reference to UPS labels.

fulfillment_centerstring

The fulfilment center where the package originates from.

insuranceobject(Insurance)

To add 3rd party insurance powered by XCover, specify
amount, content, and currency.
Alternatively, you can choose carrier provided insurance by additionally specifying provider (UPS, FedEx and OnTrac only).

If you do not want to add insurance to your shipment, do not set these parameters.

invoice_numberobject(InvoiceNumber)

Specify the invoice number field on the label (FedEx and UPS only).

is_returnboolean

This field specifies if it is a scan-based return shipment. See the Create a return shipment section for more details.

lasership_attrsArray of strings(ShipmentExtraLasershipAttributesEnum)

Specify Lasership Attributes (Lasership only). Multiple options accepted.

Items Enum"TwoPersonDelivery""Explosive""Alcohol""Hazmat""ControlledSubstance""Refrigerated""DryIce""Perishable""NoRTS"
lasership_declared_valuestring

Declared value (Lasership only). Defaults to 50.00.

manifest_numberobject(UPSReferenceFields)

UPS only. Adds custom manifest number reference to UPS labels.

model_numberobject(UPSReferenceFields)

UPS only. Adds custom model number reference to UPS labels.

part_numberobject(UPSReferenceFields)

UPS only. Adds custom part number reference to UPS labels.

po_numberobject(PoNumber)

Specify the PO number field on the label (FedEx and UPS only).

preferred_delivery_timeframeany

Required for DHL Germany Paket Sameday. Designates a desired timeframe for delivery. Format is HHMMHHMM

Enum"10001200""12001400""14001600""16001800""18002000""19002100"
premiumboolean

Add premium service to a shipment (DHL Germany international shipments only).

production_codeobject(UPSReferenceFields)

UPS only. Adds custom product code reference to UPS labels.

purchase_request_numberobject(UPSReferenceFields)

UPS only. Adds custom purchase request number reference to UPS labels.

qr_code_requestedboolean

Request a QR code for a given transaction when creating a shipping label (USPS domestic and Evri UK only).

reference_1string<= 50 characters

Optional text to be printed on the shipping label if supported by carrier. Up to 50 characters.

Carrier-Specific Constraints:

CarrierConstraints
FedExMax 40 characters (Express services); Max 30 characters (Ground services)
reference_2string<= 50 characters

Optional text to be printed on the shipping label if supported by carrier. Up to 50 characters. For DHL eCommerce, this field can be used for billing reference.

Carrier-Specific Constraints:

CarrierConstraints
FedExMax 30 characters
request_retail_ratesboolean

Returns retail rates instead of account-based rates (UPS and FedEx only).

return_service_typeShipmentExtraReturnServiceTypeUPSEnum (string) or ShipmentExtraReturnServiceTypeLasershipEnum (string)

Request additional return option for return shipments (UPS and Lasership only).

One of:

Request additional return option for return shipments (UPS and Lasership only).

string(ShipmentExtraReturnServiceTypeUPSEnum)
Enum"PRINT_AND_MAIL""ATTEMPT_1""ATTEMPT_3""ELECTRONIC_LABEL"
rma_numberobject(RmaNumber)

Specify the RMA number field on the label (FedEx and UPS only).

saturday_deliveryboolean

Marks shipment as to be delivered on a Saturday.

salesperson_numberobject(UPSReferenceFields)

UPS only. Adds custom salesperson number reference to UPS labels.

serial_numberobject(UPSReferenceFields)

UPS only. Adds custom serial number reference to UPS labels.

signature_confirmationany

Request standard or adult signature confirmation. You can alternatively request Certified Mail (USPS only) or Indirect signature (FedEx only) or Carrier Confirmation (Deutsche Post only).

Enum"STANDARD""ADULT""CERTIFIED""INDIRECT""CARRIER_CONFIRMATION"
store_numberobject(UPSReferenceFields)

UPS only. Adds custom store number reference to UPS labels.

transaction_reference_numberobject(UPSReferenceFields)

UPS only. Adds custom transaction reference number to UPS labels.

usmca_eligibleboolean

UPS only. Request USMCA (United States-Mexico-Canada Agreement) preferential tariff treatment. When enabled, it includes the USMCA eligibility declaration in customs documentation.

Supported routes and value limits:

  • USA/Canada → Mexico: ≤ $1,000 USD
  • Canada/Mexico → USA: ≤ $2,500 USD
  • USA/Mexico → Canada: ≤ $3,300 CAD

Only for declaration-only shipments, full USMCA - FormType 04 (Certificate of Origin) is not supported.

{ "accounts_receivable_customer_account": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "alcohol": { "contains_alcohol": true, "recipient_type": "licensee" }, "ancillary_endorsement": "FORWARDING_SERVICE_REQUESTED", "appropriation_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "authority_to_leave": true, "bill_of_lading_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "billing": { "account": "string", "country": "string", "participation_code": "string", "type": "SENDER", "zip": "string" }, "bypass_address_validation": true, "carbon_neutral": true, "carrier_hub_id": "string", "carrier_hub_travel_time": 0, "COD": { "amount": "5.5", "currency": "USD", "payment_method": "CASH" }, "cod_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "container_type": "string", "critical_pull_time": "string", "customer_branch": "string", "customer_reference": { "prefix": "string", "value": "string", "ref_sort": 1 }, "dangerous_goods": { "contains": true, "biological_material": {}, "lithium_batteries": {} }, "dangerous_goods_code": "01", "dealer_order_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "delivery_instructions": "string", "dept_number": { "prefix": "string", "value": "string", "ref_sort": 3 }, "dry_ice": { "contains_dry_ice": true, "weight": "string" }, "fda_product_code": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "fulfillment_center": "string", "insurance": { "amount": "5.5", "content": "string", "currency": "USD", "provider": "FEDEX" }, "invoice_number": { "prefix": "string", "value": "string", "ref_sort": 2 }, "is_return": true, "lasership_attrs": [ "TwoPersonDelivery" ], "lasership_declared_value": "string", "manifest_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "model_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "part_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "po_number": { "prefix": "string", "value": "string", "ref_sort": 2 }, "preferred_delivery_timeframe": "10001200", "premium": true, "production_code": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "purchase_request_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "qr_code_requested": true, "reference_1": "string", "reference_2": "string", "request_retail_rates": true, "return_service_type": "PRINT_AND_MAIL", "rma_number": { "prefix": "string", "value": "string", "ref_sort": 1 }, "saturday_delivery": true, "salesperson_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "serial_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "signature_confirmation": "STANDARD", "store_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "transaction_reference_number": { "prefix": "ABC", "value": "value", "ref_sort": 1 }, "usmca_eligible": true }

Request

Returns a list of all shipment objects.

In order to filter results, you must use the below path parameters. A maximum date range of 90 days is permitted. Provided dates should be ISO 8601 UTC dates (timezone offsets are currently not supported).

Optional path parameters:
object_created_gt- object(s) created greater than a provided date time
object_created_gte - object(s) created greater than or equal to a provided date time
object_created_lt - object(s) created less than a provided date time
object_created_lte - object(s) created less than or equal to a provided date time

Date format examples:
2017-01-01
2017-01-01T03:30:30 or 2017-01-01T03:30:30.5
2017-01-01T03:30:30Z

Example URL:
https://api.goshippo.com/shipments/?object_created_gte=2017-01-01T00:00:30&object_created_lt=2017-04-01T00:00:30

Security
APIKeyHeader
Query
page_tokenstring

The page token for paginated results

pageinteger(int64)

The page number you want to select

Default 1
resultsinteger(int64)<= 100

The number of results to return per page (max 100)

Default 25
object_created_gtstring

Object(s) created greater than a provided date and time.

object_created_gtestring

Object(s) created greater than or equal to a provided date and time.

object_created_ltstring

Object(s) created lesser than a provided date and time.

object_created_ltestring

Object(s) created lesser than or equal to a provided date and time.

Headers
SHIPPO-API-VERSIONstring

Optional string used to pick a non-default API version to use. See our API version guide.

Example: 2018-02-08
curl https://api.goshippo.com/shipments/ \
  -H "Authorization: ShippoToken shippo_test_3a47d23c032ca626fce863c48d0f93d63a394396"

Responses

Bodyapplication/json
nextstring
Example: "baseurl?page=3&results=10"
previousstring
Example: "baseurl?page=1&results=10"
resultsArray of objects(Shipment)
Response
application/json
{ "next": "baseurl?page=3&results=10", "previous": "baseurl?page=1&results=10", "results": [ {} ] }

A rate is the cost to ship a parcel from a carrier. The rate object details the service level including the cost and transit time.

Schemas
Operations

A transaction is the purchase of a shipping label from a shipping provider for a specific service. You can print purchased labels and used them to ship a parcel with a carrier, such as USPS or FedEx.

Schemas
Operations

A batch is a technique for creating multiple labels at once. Use the batch object to create and purchase many shipments in two API calls. After creating the batch, retrieve the batch to verify that all shipments are valid. You can add and remove shipments after you have created the batch. When all shipments are valid you can purchase the batch and retrieve all the shipping labels.

Schemas
Operations


If you purchased your shipping label through Shippo, you can also get all the tracking details of your Shipment from the Transaction object.

A tracking status of a package is an indication of current location of a package in the supply chain. For example, sorting, warehousing, or out for delivery. Use the tracking status object to track the location of your shipments.

When using your Test token for tracking, you need to use Shippo's predefined tokens for testing different tracking statuses. You can find more information in our Tracking tutorial on how to do this, and what the payloads look like.

Schemas
Operations

Webhooks are a way for Shippo to notify your application when a specific event occurs. For example, when a label is purchased or when a shipment tracking status has changed. You can use webhooks to trigger actions in your application, such as sending an email or updating a database.

Schemas
Operations

Customs declarations are relevant information, including one or multiple customs items, you need to provide for customs clearance for your international shipments.

Schemas
Operations

Customs declarations are relevant information, including one or multiple customs items, you need to provide for customs clearance for your international shipments.

Schemas
Operations

Carriers are the companies who deliver your package. Shippo uses Carrier account objects as credentials to retrieve shipping rates and purchase labels from shipping Carriers.

Schemas
Operations

A manifest is a single-page document with a barcode that carriers can scan to accept all packages into transit without the need to scan each item individually. They are close-outs of shipping labels of a certain day. Some carriers require manifests to process the shipments.

Schemas
Operations

A pickup is when you schedule a carrier to collect a package for delivery. Use Shippo’s pickups endpoint to schedule pickups with USPS and DHL Express for eligible shipments that you have already created.

Schemas
Operations

An order is a request from a customer to purchase goods from a merchant. Use the orders object to load orders from your system to the Shippo dashboard. You can use the orders object to create, retrieve, list, and manage orders programmatically. You can also retrieve shipping rates, purchase labels, and track shipments for each order.

Schemas
Operations

Refunds are reimbursements for successfully created but unused shipping labels or other charges.

Schemas
Operations

A service group is a set of service levels grouped together. Rates at checkout uses services groups to present available shipping options to customers in their shopping basket.

Schemas
Operations

Rates at checkout is a tool for merchants to display up-to-date shipping estimates based on what's in their customers cart and where they’re shipping to. Merchants set up curated shipping options for customers in the checkout flow based on data in the shopping cart. The request must include the to address and item information. Optional fields are the from address and package information. If the optional fields are not included, the service will use the default address and/or package configured for rates at checkout. The response is a list of shipping options based on the Service Group configuration. (see Service Group configuration for details).

Schemas
Operations

Shippo Accounts are used by Shippo Platform Accounts to create and manage Managed Shippo Accounts. Managed Shippo Accounts are headless accounts that represent your customers. They are opaque to your end customers, meaning customers do not need to create their own Shippo login or have a billing relationship with Shippo. They can be used by marketplaces, e-commerce platforms, and third-party logistics providers who want to offer, seamless, built-in shipping functionality to their customers. See our guide for more details.

Schemas
Operations
TokenCarrier name
airterraAirterra
apc_postalAPC Postal
apgAPG
aramexAramex
asendia_usAsendia US
australia_postAustralia Post (also used for Startrack)
axlehireJitsu
better_trucksBetterTrucks
borderguruBorderGuru
boxberryBoxberry
bringBring (also used for Posten Norge)
canada_postCanada Post
cdlCDL
chronopostChronopost
collect_plusCollectPlus
correios_brCorreiosBR
correos_espanaCorreos España
colissimoColissimo
deutsche_postDeutsche Post
dhl_beneluxDHL Benelux
dhl_ecommerceDHL eCommerce
dhl_expressDHL Express
dhl_germany_c2cDHL Germany C2C
dhl_germanyDHL Germany
dpd_deDPD GERMANY
dpd_ukDPD UK
estafetaEstafeta
fastway_australiaAramex
fedexFedEx
globegisticsGlobegistics (now Asendia)
gls_usGLS US
gophrGophr
gsoGSO
hermes_germany_b2cHermes Germany B2C
hermes_ukEvri UK
hongkong_postHongkong Post
lasershipLaserShip
lsoLSO
mondial_relayMondial Relay
new_zealand_postNew Zealand Post (also used for Pace and CourierPost)
nippon_expressNippon Express
ontracOnTrac
parcelforceParcelforce
passportPassport
pcfPCF
poste_italianePoste Italiane
postiPosti
purolatorPurolator
royal_mailRoyal Mail
royal_mail_sfRoyal Mail Storefeeder
rr_donnelleyePost Global
russian_postRussian Post
skypostalSkyPostal
stuartStuart
swyftSwyft
udsUDS (United Delivery Service)
upsUPS
uspsUSPS
vehoVeho

Service levels represent the shipping service type for each carrier. Use the tokens below when creating shipments.

A predefined package used by one or multiple carriers. When a template is given, the parcel dimensions do not have to be sent - the dimensions below will instead be used. The parcel weight is not affected by the use of a template.

Source of the address validation message.

Allowed values:

  • Shippo Address Validator
  • UPS

Validation result codes returned by the address validation service.

Allowed values:

  • verification_error
  • unknown_street
  • component_mismatch_error
  • multiple_match
  • sub_premise_number_invalid
  • sub_premise_number_missing
  • premise_number_invalid
  • premise_number_missing
  • box_number_invalid
  • box_number_missing
  • pmb_number_missing
  • postal_code_change
  • administrative_area_change
  • locality_change
  • dependent_locality_change
  • street_name_change
  • street_type_change
  • street_directional_change
  • sub_premise_type_change
  • sub_premise_number_change
  • double_dependent_locality_change
  • subadministrative_area_change
  • subnational_area_change
  • po_box_change
  • premise_type_change
  • house_number_change
  • organization_change
  • extraneous_information
  • usps_door_inaccessible
  • administrative_area_partial
  • city_partial
  • street_partial
  • building_partial
  • subpremise_partial
  • administrative_area_full
  • city_full
  • thoroughfare_full
  • premises_full
  • subpremise_full
  • geocoded_street
  • geocoded_neighborhood
  • geocoded_community
  • geocoded_state
  • geocoded_rooftop
  • geocoded_interpolated_rooftop
  • invalid_postal_code
  • postal_code_not_found
  • empty_request
  • service_error
  • street_detail_missing
  • Invalid City/State/Zip
  • Default Match
  • Unknown Street
  • Address Not Found
  • Non-Deliverable ZIP4
  • Multiple Responses
  • Invalid Dual Address
  • Invalid State
  • Invalid City
  • Ambiguous Address

Customs Declaration B13A Filing Option

B13A Option details are obtained by filing a B13A Canada Export Declaration via the Canadian Export Reporting System (CERS). More information on reporting commercial exports from Canada.

Allowed values:

  • FILED_ELECTRONICALLY
  • SUMMARY_REPORTING
  • NOT_REQUIRED

Type of goods of the shipment.

Allowed values:

  • DOCUMENTS
  • GIFT
  • SAMPLE
  • MERCHANDISE
  • HUMANITARIAN_DONATION
  • RETURN_MERCHANDISE
  • OTHER

EEL / PFC type of the shipment. For most shipments from the US to CA, NOEEI_30_36 is applicable; for most other shipments from the US, NOEEI_30_37_a is applicable.

Allowed values:

  • NOEEI_30_37_a
  • NOEEI_30_37_h
  • NOEEI_30_37_f
  • NOEEI_30_36
  • AES_ITN

The incoterm reference of the shipment. FCA is available for DHL Express and FedEx only. eDAP is available for DPD UK only. DAP is available for DHL Express and DPD UK. If expecting DAP for other carriers, please use DDU.

Allowed values:

  • DDP
  • DDU
  • FCA
  • DAP
  • eDAP

Customs Declaration Non Delivery Option

Indicates how the carrier should proceed in case the shipment can't be delivered.

Allowed values:

  • ABANDON
  • RETURN