# 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", "adult_signature_restricted_delivery", "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", "quick"

  - `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

  - `insurance_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

  - `insurance_amount.amount` (number, required)
    The monetary amount, in the specified currency.

  - `confirmation_amount` (object, required)
    The confirmation amount

  - `confirmation_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

  - `confirmation_amount.amount` (number, required)
    The monetary amount, in the specified currency.

  - `other_amount` (object, required)
    Any other charges associated with this rate

  - `other_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

  - `other_amount.amount` (number, required)
    The monetary amount, in the specified currency.

  - `tax_amount` (object)
    Tariff and additional taxes associated with an international shipment.

  - `tax_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

  - `tax_amount.amount` (number, required)
    The monetary amount, in the specified currency.

  - `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,null)
    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,null)
    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,null)
    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
    Enum: "best_value", "cheapest", "fastest"

## 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", "freight_connection_inactive", "freight_provider_id_required", "freight_provider_already_connected", "freight_shipment_not_found", "freight_tracking_not_available", "freight_tracking_not_found", "freight_shipment_not_batchable"

  - `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"


