Get rates

POST
/api/shipping/rates

Request

shipping_account_name
String · No
Name of the shipping account.
carrier_type
String · No
Type of shipping carrier, e.g., 'usps'.
service_type
String · No
Type of shipping service, e.g., 'usps_priority_mail'.
confirmation_type
String · No
Type of delivery confirmation required, if any.
insurance_provider_type
String · No
Insurance provider type, if insurance is required.
dimension_unit
String · Account default
Unit of measurement for package dimensions, e.g., 'in' for inches. When omitted, the checked controller uses the account setting; sending the unit explicitly is recommended.
weight_unit
String · Account default
Unit of weight for packages, e.g., 'oz' for ounces. When omitted, the checked controller uses the account setting; sending the unit explicitly is recommended.
rate_id
String · No
Unique identifier for a specific rate quote, if applicable.
from.company
String · No
Sender's company name, if applicable.
from.name
String · Yes
Full name of the sender.
from.phone
String · No
Sender's phone number.
from.email
String · No
The historical documentation lists this field, but the checked V1 shipping controller does not forward it. Do not rely on it reaching the carrier.
from.street1
String · Yes
Primary street address of the sender.
from.street2
String · No
Secondary street address of the sender.
from.city
String · Yes
City of the sender's address.
from.state
String · Yes
State of the sender's address.
from.zip
String · Yes
Postal code of the sender's address.
from.country
String · Yes
Country code of the sender's address.
from.residential
Boolean · Yes
Indicates if the sender's address is residential.
to.company
String · No
Recipient's company name, if applicable.
to.name
String · Yes
Full name of the recipient.
to.phone
String · No
Recipient's phone number.
to.email
String · No
The historical documentation lists this field, but the checked V1 shipping controller does not forward it. Do not rely on it reaching the carrier.
to.street1
String · Yes
Primary street address of the recipient.
to.street2
String · No
Secondary street address of the recipient.
to.city
String · Yes
City of the recipient's address.
to.state
String · Yes
State of the recipient's address.
to.zip
String · Yes
Postal code of the recipient's address.
to.country
String · Yes
Country code of the recipient's address.
to.residential
Boolean · Yes
Indicates if the recipient's address is residential.
packages[].package_type
String · No
Type of package.
packages[].length
Number · Yes
Length of the package.
packages[].width
Number · Yes
Width of the package.
packages[].height
Number · Yes
Height of the package.
packages[].weight
Number · Yes
Weight of the package.
packages[].insurance_amount
Number · No
Amount of insurance for the package.
options.ship_date
Date String · Yes
The date the shipment is to be made.
options.print_custom1
String · No
Custom printing field 1.
options.print_custom2
String · No
Custom printing field 2.
customs.contents_type
String · Yes
Type of contents, e.g., 'merchandise'.
customs.contents_explanation
String · Yes
Explanation of the contents.
customs.non_delivery_option
String · Yes
Action to take if delivery is not possible, e.g., 'return'.
customs.eel_pfc
String · No
Electronic Export Information or Proof of Filing Citation.
customs.certify
Boolean · No
Indicates whether the sender certifies the information.
customs.signer
String · Yes
Name of the person signing the customs declaration.
customs.items[].description
String · Yes
Description of the item.
customs.items[].quantity
Number · Yes
Quantity of the item.
customs.items[].value
Number · Yes
Value of the item.
customs.items[].currency
String · Yes
Currency of the item's value.
customs.items[].weight
Number · Yes
Weight of the item.
customs.items[].weight_unit
String · Yes
Unit of weight for the item.
customs.items[].tariff_number
String · No
Harmonized Tariff Schedule number for the item.
customs.items[].origin_country
String · Yes
Country of origin for the item.
{
  "shipping_account_name": null,
  "dimension_unit": "in",
  "weight_unit": "lb",
  "from": {
    "name": "Sender",
    "street1": "100 Example St",
    "city": "Los Angeles",
    "state": "CA",
    "zip": "90001",
    "country": "US"
  },
  "to": {
    "name": "Recipient",
    "street1": "200 Example Ave",
    "city": "San Diego",
    "state": "CA",
    "zip": "92101",
    "country": "US",
    "residential": true
  },
  "packages": [
    {
      "length": 10,
      "width": 8,
      "height": 6,
      "weight": 2
    }
  ]
}

Response

Rates ArrayRates Array
shipping_account_name
String
Name of the shipping account.
carrier_type
String
Type of shipping carrier (e.g., 'usps').
service_type
String
Type of shipping service (e.g., 'usps_priority_mail').
package_type
String
Type of package.
delivery_days
Integer
Estimated number of days for delivery.
delivery_date
String
Estimated delivery date (format: 'YYYY-MM-DD HH:MM:SS').
currency
String
Currency code (e.g., 'usd').
list_rate
Number
Original list rate before discounts.
rate
Number
Final rate after discounts.
insurance
Number
Insurance cost.
surcharges
Number or Null
Additional surcharges, if any.
rate_id
String or Null
Unique identifier for the rate quote, if available.
Alerts ArrayAlerts Array
shipping_account_name
String
Name of the shipping account related to the alert.
message
String
Alert message description.

V1 responses use the original endpoint-specific JSON structure. Do not wrap them in the V2 code/message/data envelope.

Integration notes

Send the complete origin, destination and packages. Response has rates and alerts, either of which may be null. Rate identifiers are opaque: use the value returned for the same shipment plan. Available carriers/services depend on your existing V1 account.