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.
curl -i -X POST \ https://docs.shipstation.com/_mock/openapi/v2/rates \ -H 'Content-Type: application/json' \ -H 'api-key: YOUR_API_KEY_HERE' \ -d '{ "shipment_id": "se-28529731", "rate_options": { "carrier_ids": [ "se-28529731" ], "package_types": [ "string" ], "service_codes": [ "string" ], "calculate_tax_amount": true, "preferred_currency": "string", "is_return": true } }'
The request was a success.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A [carrier service], such as fedex_ground
, usps_first_class_mail
, flat_rate_envelope
, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
Describe the packages included in this shipment as related to potential metadata that was imported from external order sources
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.
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.
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 .
An ISO 8601 string that represents a date and time.
An ISO 8601 string that represents a date and time.
The possible shipment status values
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A complete or partial mailing address.
The name of a contact person at this address. This field may be set instead of - or in addition to - the company_name
field.
The phone number of a contact person at this address. The format of this phone number varies depending on the country.
If this is a business address, then the company name should be specified here.
The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
The second line of the street address. For some addresses, this line may not be needed.
The third line of the street address. For some addresses, this line may not be needed.
The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
A two-letter ISO 3166-1 country code
Indicates whether an address is residential.
An optional indicator if the shipment is intended to be a return. Defaults to false if not provided.
The possible delivery confirmation values
Options for international shipments, such as customs declarations.
The possible package contents values
Explanation for contents (required if the contents
is provided as other
)
The possible non delivery values
Specifies the supported terms of trade code (incoterms)
Declaration statement to be placed on the commercial invoice
The additional information to put on commercial invoice
importer of records address, anywhere in the world.
Advanced shipment options
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.
The possible bill to party values
The postal code of the third-party that is responsible for shipping costs.
Indicates that the shipment contains alcohol.
Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express.
Indicates if the shipment contain dry ice
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.
Enables Saturday delivery, if supported by the carrier.
Whether to use [UPS Ground Freight pricing] If enabled, then a freight_class
must also be specified.
The National Motor Freight Traffic Association freight class, such as "77.5", "110", or "250".
An arbitrary field that can be used to store information about the shipment.
An arbitrary field that can be used to store information about the shipment.
An arbitrary field that can be used to store information about the shipment.
Indicates if the package will be picked up or dropped off by the carrier
Indicate to the carrier that this shipment requires additional handling.
Defer payment until package is delivered, instead of when it is ordered.
Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached
Indicates if the Dangerous goods are present in the shipment
The possible insurance provider values
Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags.
The order sources that are supported by ShipStation
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.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A [package type] , such as thick_envelope
, small_flat_rate_box
, large_package
, etc. Use the code package
for custom or unknown package types.
The weight of a package
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
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.
Carrier | Max lines | Max line length |
---|---|---|
USPS (Stamps.com) | 3 | 60 |
FedEx | 3 | 35 for the first line. 30 for additional lines. |
UPS | 2 | 35 |
OnTrac | 2 | 25 |
A tracking number for a package. The format depends on the carrier.
A short description of the package content. Required for shipments moving to, from, and through Mexico.
The weight of a package
Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS.
A rates information resource
An array of invalid shipment rates
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
The possible rate response status values
{ "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", "rate_response": { "rates": [ … ], "invalid_rates": [], "rate_request_id": "se-28529731", "shipment_id": "se-28529731", "created_at": "se-28529731", "status": "working", "errors": [ … ] } }
A rate estimate request body
A two-letter ISO 3166-1 country code
A two-letter ISO 3166-1 country code
The city locality the package is being shipped to
The weight of a package
The possible delivery confirmation values
Indicates whether an address is residential.
An ISO 8601 string that represents a date and time.
curl -i -X POST \ https://docs.shipstation.com/_mock/openapi/v2/rates/estimate \ -H 'Content-Type: application/json' \ -H 'api-key: YOUR_API_KEY_HERE' \ -d '{ "carrier_id": "se-1234567", "from_country_code": "CA", "from_postal_code": "78756-3717", "from_city_locality": "Austin", "from_state_province": "Austin", "to_country_code": "CA", "to_postal_code": "78756-3717", "to_city_locality": "Austin", "to_state_province": "Houston", "weight": { "value": 3, "unit": "pound" }, "dimensions": { "unit": "inch", "length": 2, "width": 2, "height": 1 }, "confirmation": "none", "address_residential_indicator": "unknown", "ship_date": "2018-09-23T15:00:00.000Z" }'
The request was a success.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
Certain carriers base their rates off of custom zones that vary depending upon the ship_to and ship_from location
package type that this rate was estimated for
The number of days estimated for delivery, this will show the actual delivery time if for example, the package gets shipped on a Friday
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 .
service code for the rate
A [shipping carrier] , such as fedex
, dhl_express
, stamps_com
, etc.
The possible validation status values
The warning messages
[ { "rate_type": "check", "carrier_id": "se-1234567", "shipping_amount": { … }, "insurance_amount": { … }, "confirmation_amount": { … }, "other_amount": { … }, "tax_amount": { … }, "zone": 6, "package_type": "package", "delivery_days": 5, "guaranteed_service": true, "estimated_delivery_date": "2018-09-23", "carrier_delivery_days": "22", "ship_date": "2024-12-23T00:00:00.000Z", "negotiated_rate": true, "service_type": "next_day", "service_code": "usps_priority_mail_express", "trackable": true, "carrier_code": "stamps_com", "carrier_nickname": "free", "carrier_friendly_name": "free", "validation_status": "valid", "warning_messages": [ … ], "error_messages": [ … ] } ]
curl -i -X GET \ 'https://docs.shipstation.com/_mock/openapi/v2/rates/{rate_id}' \ -H 'api-key: YOUR_API_KEY_HERE'
The request was a success.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance.
Certain carriers base their rates off of custom zones that vary depending upon the ship_to and ship_from location
package type that this rate was estimated for
The number of days estimated for delivery, this will show the actual delivery time if for example, the package gets shipped on a Friday
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 .
service code for the rate
The possible validation status values
{ "rate_id": "se-28529731", "rate_type": "check", "carrier_id": "se-1234567", "shipping_amount": { "currency": "string", "amount": 12 }, "insurance_amount": { "currency": "string", "amount": 12 }, "confirmation_amount": { "currency": "string", "amount": 12 }, "other_amount": { "currency": "string", "amount": 12 }, "requested_comparison_amount": { "currency": "string", "amount": 12 }, "tax_amount": { "currency": "string", "amount": 12 }, "zone": 6, "package_type": "package", "delivery_days": 5, "guaranteed_service": true, "estimated_delivery_date": "2024-12-23T00:00:00.000Z", "carrier_delivery_days": "22", "ship_date": "10/22/2024z00:00", "negotiated_rate": true, "service_type": "next_day", "service_code": "usps_priority_mail_express", "trackable": true, "carrier_code": "stamps_com", "carrier_nickname": "Free", "carrier_friendly_name": "free", "validation_status": "valid", "warning_messages": [ "string" ], "error_messages": [ "string" ] }
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.