# Estimate rates Get Rate Estimates Endpoint: POST /v1/rates/estimate Version: 1.1.202604070904 Security: api_key ## Request fields (application/json): - `from_country_code` (string, required) A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) Example: "CA" - `from_postal_code` (string, required) postal code Example: "78756-3717" - `from_city_locality` (string, required) from postal code Example: "Austin" - `from_state_province` (string, required) From state province Example: "Austin" - `to_country_code` (string, required) A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) Example: "CA" - `to_postal_code` (string, required) postal code Example: "78756-3717" - `to_city_locality` (string, required) The city locality the package is being shipped to Example: "Austin" - `to_state_province` (string, required) To state province Example: "Houston" - `weight` (object, required) The weight of the package - `weight.value` (number, required) The weight, in the specified unit - `weight.unit` (string, required) The possible weight unit values Enum: "pound", "ounce", "gram", "kilogram" - `dimensions` (object) The dimensions of the package - `dimensions.unit` (string, required) The dimension units that are supported by ShipEngine. Enum: "inch", "centimeter" - `dimensions.length` (number, required) The length of the package, in the specified unit - `dimensions.width` (number, required) The width of the package, in the specified unit - `dimensions.height` (number, required) The height of the package, in the specified unit - `confirmation` (string) The possible delivery confirmation values Enum: "none", "delivery", "signature", "adult_signature", "direct_signature", "delivery_mailed", "verbal_confirmation", "delivery_code", "age_verification_16_plus" - `address_residential_indicator` (string) Indicates whether an address is residential. Enum: "unknown", "yes", "no" - `ship_date` (string, required) ship date Example: "2018-09-23T15:00:00.000Z" ## Response 200 fields (application/json): - `rate_type` (string, required) The possible rate type values Enum: "check", "shipment" - `carrier_id` (string, required) A string that uniquely identifies the carrier Example: "se-28529731" - `shipping_amount` (object, required) The shipping amount - `shipping_amount.currency` (string, required) The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html - `shipping_amount.amount` (number, required) The monetary amount, in the specified currency. - `insurance_amount` (object, required) The insurance amount - `confirmation_amount` (object, required) The confirmation amount - `other_amount` (object, required) Any other charges associated with this rate - `tax_amount` (object) Tariff and additional taxes associated with an international shipment. - `zone` (integer,null, required) Certain carriers base [their rates](https://blog.stamps.com/2017/09/08/usps-postal-zones/) off of custom zones that vary depending upon the ship_to and ship_from location Example: 6 - `package_type` (string,null, required) package type that this rate was estimated for Example: "package" - `delivery_days` (integer) 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 - `guaranteed_service` (boolean, required) Indicates if the rate is guaranteed. - `estimated_delivery_date` (string) An [ISO 8601](https://en.wikipedia.org/wiki/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 ShipEngine. Example: "2018-09-23T00:00:00.000Z" - `carrier_delivery_days` (string) The carrier delivery days - `ship_date` (string) ship date - `negotiated_rate` (boolean, required) Indicates if the rates been negotiated - `service_type` (string, required) service type - `service_code` (string, required) service code for the rate - `trackable` (boolean, required) Indicates if rate is trackable - `carrier_code` (string, required) A shipping carrier, such as fedex, dhl_express, stamps_com, etc. - `carrier_nickname` (string, required) carrier nickname - `carrier_friendly_name` (string, required) carrier friendly name - `validation_status` (string, required) The possible validation status values Enum: "valid", "invalid", "has_warnings", "unknown" - `warning_messages` (array, required) The warning messages - `error_messages` (array, required) The error messages - `rate_attributes` (array) Optional attributes that indicate the most profitable rates ## Response 400 fields (application/json): - `request_id` (string, required) A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009" - `errors` (array, required) The errors associated with the failed API call - `errors.error_source` (string, 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 ShipEngine API itself. Enum: "carrier", "order_source", "shipengine" - `errors.error_type` (string, required) The type of error Enum: "account_status", "business_rules", "validation", "security", "system", "integrations" - `errors.error_code` (string, 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", "forbidden", "identifier_conflict", "identifiers_must_match", "insufficient_funds", "invalid_address", "invalid_billing_plan", "invalid_field_value", "invalid_identifier", "invalid_status", "invalid_string_length", "label_images_not_supported", "meter_failure", "order_source_not_active", "rate_limit_exceeded", "refresh_not_supported", "request_body_required", "return_label_not_supported", "settings_not_supported", "subscription_inactive", "terms_not_accepted", "tracking_not_supported", "trial_expired", "unauthorized", "unknown", "unspecified", "verification_failure", "warehouse_conflict", "webhook_event_type_conflict", "customs_items_required", "incompatible_paired_labels", "invalid_charge_event", "invalid_object", "no_rates_returned", "file_not_found", "shipping_rule_not_found", "service_not_determined", "no_rates_returned", "funding_source_registration_in_progress", "insurance_failure", "funding_source_missing_configuration", "funding_source_error" - `errors.message` (string, required) An error message associated with the failed API call Example: "Body of request cannot be null." - `errors.carrier_id` (string) A string that uniquely identifies the carrier that generated the error. Example: "se-28529731" - `errors.carrier_code` (string) The name of the shipping carrier that generated the error, such as fedex, dhl_express, stamps_com, etc. Example: "dhl_express" - `errors.field_name` (string) The name of the field that caused the error Example: "shipment.ship_to.phone_number" ## Response 500 fields (application/json): - `request_id` (string, required) A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009" - `errors` (array, required) The errors associated with the failed API call - `errors.error_source` (string, 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 ShipEngine API itself. Enum: "carrier", "order_source", "shipengine" - `errors.error_type` (string, required) The type of error Enum: "account_status", "business_rules", "validation", "security", "system", "integrations" - `errors.error_code` (string, 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", "forbidden", "identifier_conflict", "identifiers_must_match", "insufficient_funds", "invalid_address", "invalid_billing_plan", "invalid_field_value", "invalid_identifier", "invalid_status", "invalid_string_length", "label_images_not_supported", "meter_failure", "order_source_not_active", "rate_limit_exceeded", "refresh_not_supported", "request_body_required", "return_label_not_supported", "settings_not_supported", "subscription_inactive", "terms_not_accepted", "tracking_not_supported", "trial_expired", "unauthorized", "unknown", "unspecified", "verification_failure", "warehouse_conflict", "webhook_event_type_conflict", "customs_items_required", "incompatible_paired_labels", "invalid_charge_event", "invalid_object", "no_rates_returned", "file_not_found", "shipping_rule_not_found", "service_not_determined", "no_rates_returned", "funding_source_registration_in_progress", "insurance_failure", "funding_source_missing_configuration", "funding_source_error" - `errors.message` (string, required) An error message associated with the failed API call Example: "Body of request cannot be null." - `errors.carrier_id` (string) A string that uniquely identifies the carrier that generated the error. Example: "se-28529731" - `errors.carrier_code` (string) The name of the shipping carrier that generated the error, such as fedex, dhl_express, stamps_com, etc. Example: "dhl_express" - `errors.field_name` (string) The name of the field that caused the error Example: "shipment.ship_to.phone_number"