# Get shipping rates It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options! Endpoint: POST /v1/rates Version: 1.1.202604070904 Security: api_key ## Request fields (application/json): - `ship_to_service_point_id` (string,null) A unique identifier for a carrier service point where the shipment will be delivered by the carrier. This will take precedence over a shipment's ship to address. Example: "614940" - `ship_from_service_point_id` (string,null) A unique identifier for a carrier drop off point where a merchant plans to deliver packages. This will take precedence over a shipment's ship from address. Example: "614940" - `rate_options` (object) The rate options - `rate_options.carrier_ids` (array, required) Array of carrier ids to get rates for - `rate_options.package_types` (array) - `rate_options.service_codes` (array) - `rate_options.calculate_tax_amount` (boolean) Calculate the duties and tariffs for cross border shipments. - `rate_options.preferred_currency` (string) The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html - `rate_options.is_return` (boolean) Indicate if it's a return shipment - `rate_options.rate_type` (string) Indicates what type of rating to perform Enum: "check", "shipment", "quick" ## Response 200 fields (application/json): - `shipment_id` (string, required) A string that uniquely identifies the shipment Example: "se-28529731" - `carrier_id` (string) The carrier account that is billed for the shipping charges Example: "se-28529731" - `service_code` (string) The carrier service used to ship the package, such as fedex_ground, usps_first_class_mail, flat_rate_envelope, etc. Example: "usps_first_class_mail" - `shipping_rule_id` (string) ID of the shipping rule, which you want to use to automate carrier/carrier service selection for the shipment Example: "se-28529731" - `external_order_id` (string,null) ID that the Order Source assignedd - `items` (array) Describe the packages included in this shipment as related to potential metadata that was imported from external order sources - `items.name` (string) item name - `items.sales_order_id` (string,null) sales order id - `items.sales_order_item_id` (string,null) sales order item id - `items.quantity` (integer) The quantity of this item included in the shipment - `items.sku` (string,null) Item Stock Keeping Unit - `items.bundle_sku` (string,null) Item Stock Keeping Unit of the product bundle - `items.external_order_id` (string,null) external order id - `items.external_order_item_id` (string,null) external order item id - `items.asin` (string,null) Amazon Standard Identification Number Example: "B00005N5PF" - `items.order_source_code` (string) The order sources that are supported by ShipEngine Enum: "amazon_ca", "amazon_us", "brightpearl", "channel_advisor", "cratejoy", "ebay", "etsy", "jane", "groupon_goods", "magento", "paypal", "seller_active", "shopify", "stitch_labs", "squarespace", "three_dcart", "tophatter", "walmart", "woo_commerce", "volusion" - `tax_identifiers` (array,null) - `tax_identifiers.taxable_entity_type` (string, required) The taxable entity type for this tax item. Valid values include the following |Value |Description |:--------- |:----------------------------------------------------- |shipper | The shipper is responsible for this tax. |recipient | The recipient of the shipment is responsible for this tax. |ior | The importer of records is responsible for tax. Enum: "shipper", "recipient", "ior" - `tax_identifiers.identifier_type` (string, required) Tax identifier type for customs declaration |Pickup Type | Description |---------------|----------------------------------------- |vat | The tax identifier is a Value Added Tax. |eori | The tax identifier is an Economic Operators Registration and Identification Number (EORI). |ssn | The tax identifier is a Social Security Number. |ein | The tax identifier is an Employer Identification Number (EIN). |tin | The tax identifier is a Tax Identification Number (TIN). |ioss | The tax identifier is an Import One-Stop Shop (IOSS). |pan | The tax identifier is a Permanent Account Number (PAN). |voec | The tax identifier is a Norwegian VAT On E-Commerce(VOEC). |pccc | The tax identifier is a Personal Customs Clearance Code (PCCC). |oss | The tax identifier is an One-Stop Shop (OSS). |passport | The tax identifier is a Passport Number. |abn | The tax identifier is an Australian Business Number. |ukims | The tax identifier is an UK Internal Market Scheme number. Enum: "vat", "eori", "ssn", "ein", "tin", "ioss", "pan", "voec", "pccc", "oss", "passport", "abn", "ukims" - `tax_identifiers.issuing_authority` (string, required) The authority that issued this tax. This must be a valid 2 character ISO 3166 Alpha 2 country code. - `tax_identifiers.value` (string, required) The value of the identifier - `external_shipment_id` (string,null) 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. - `shipment_number` (string,null) 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. - `ship_date` (string, required) The date that the shipment was (or will be) shipped. ShipEngine will take the day of week into consideration. For example, if the carrier does not operate on Sundays, then a package that would have shipped on Sunday will ship on Monday instead. Example: "2018-09-23T00:00:00.000Z" - `created_at` (string, required) The date and time that the shipment was created in ShipEngine. Example: "2018-09-23T15:00:00.000Z" - `modified_at` (string, required) The date and time that the shipment was created or last modified. Example: "2018-09-23T15:00:00.000Z" - `shipment_status` (string, required) The current status of the shipment Enum: "pending", "processing", "label_purchased", "cancelled" - `ship_to` (object) The recipient's mailing address - `ship_to.name` (string, required) The name of a contact person at this address. This field may be set instead of - or in addition to - the company_name field. Example: "John Doe" - `ship_to.phone` (string) The phone number of a contact person at this address. The format of this phone number varies depending on the country. Example: "+1 204-253-9411 ext. 123" - `ship_to.email` (string,null) Email for the address owner. Example: "example@example.com" - `ship_to.company_name` (string,null) If this is a business address, then the company name should be specified here. Example: "The Home Depot" - `ship_to.address_line1` (string, required) The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines. Example: "1999 Bishop Grandin Blvd." - `ship_to.address_line2` (string,null) The second line of the street address. For some addresses, this line may not be needed. Example: "Unit 408" - `ship_to.address_line3` (string,null) The third line of the street address. For some addresses, this line may not be needed. Example: "Building #7" - `ship_to.city_locality` (string, required) The name of the city or locality Example: "Winnipeg" - `ship_to.state_province` (string, required) The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation. Example: "Manitoba" - `ship_to.postal_code` (string, required) postal code Example: "78756-3717" - `ship_to.country_code` (string) The two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) Example: "CA" - `ship_to.address_residential_indicator` (string) Indicates whether this is a residential address. Enum: "unknown", "yes", "no" - `ship_to.instructions` (string,null) Additional text about how to handle the shipment at this address. - `ship_to.geolocation` (array) - `ship_to.geolocation.type` (string) Enum of available type of geolocation items: - 'what3words' functionality allows to specify a location by providing 3 words that have been assign to the specific location see [link](https://what3words.com/business) for more details. Enum: "what3words" - `ship_to.geolocation.value` (string) value of the geolocation item Example: "cats.with.thumbs" - `ship_from` (object) The shipment's origin address. If you frequently ship from the same location, consider creating a warehouse. Then you can simply specify the warehouse_id rather than the complete address each time. - `warehouse_id` (string,null) The warehouse that the shipment is being shipped from. Either warehouse_id or ship_from must be specified. Example: "se-28529731" - `return_to` (object, required) The return address for this shipment. Defaults to the ship_from address. - `is_return` (boolean,null) An optional indicator if the shipment is intended to be a return. Defaults to false if not provided. - `confirmation` (string, required) The type of delivery confirmation that is required for this shipment. Enum: "none", "delivery", "signature", "adult_signature", "direct_signature", "delivery_mailed", "verbal_confirmation", "delivery_code", "age_verification_16_plus" - `customs` (object,null, required) Customs information. This is usually only needed for international shipments. - `customs.contents` (string, required) The type of contents in this shipment. This may impact import duties or customs treatment. Enum: "merchandise", "documents", "gift", "returned_goods", "sample", "other" - `customs.contents_explanation` (string) Explanation for contents (required if the contents is provided as other) - `customs.non_delivery` (string, required) Indicates what to do if a package is unable to be delivered. Enum: "return_to_sender", "treat_as_abandoned" - `customs.terms_of_trade_code` (string) Specifies the supported terms of trade code (incoterms) Enum: "exw", "fca", "cpt", "cip", "dpu", "dap", "ddp", "fas", "fob", "cfr", "cif", "ddu", "daf", "deq", "des" - `customs.declaration` (string) Declaration statement to be placed on the commercial invoice - `customs.invoice_additional_details` (object) The additional information to put on commercial invoice - `customs.invoice_additional_details.freight_charge` (object) Freight Charge for shipment. - `customs.invoice_additional_details.freight_charge.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 - `customs.invoice_additional_details.freight_charge.amount` (number, required) The monetary amount, in the specified currency. - `customs.invoice_additional_details.insurance_charge` (object) Insurance Charge for shipment. - `customs.invoice_additional_details.discount` (object) Discount for shipment. - `customs.invoice_additional_details.estimated_import_charges` (object) Estimated import charges for commercial invoices for international shipments. - `customs.invoice_additional_details.estimated_import_charges.taxes` (object) Estimated import taxes. - `customs.invoice_additional_details.estimated_import_charges.duties` (object) Estimated import duties. - `customs.invoice_additional_details.other_charge` (object) Other charge for shipment. - `customs.invoice_additional_details.other_charge_description` (string) Description for the other charge (if provided). - `customs.invoice_additional_details.invoice_number` (string) The invoice number to be used in the customs. - `customs.importer_of_record` (object) importer of records address, anywhere in the world. - `customs.importer_of_record.name` (string, required) The name of a contact person at this address. Either name or the company_name field should always be set. Example: "John Doe" - `customs.importer_of_record.company_name` (string,null) If this is a business address, then the company name should be specified here. Either name or the company_name field should always be set. Example: "The Home Depot" - `customs.license_number` (string) The license number to be used in the customs. - `customs.certificate_number` (string) The certificate number to be used in the customs. - `customs.customs_items` (array) Customs declarations for each item in the shipment. (Please provide this information under products inside packages) - `customs.customs_items.customs_item_id` (string, required) A string that uniquely identifies the customs item Example: "se-28529731" - `customs.customs_items.description` (string,null) A description of the item - `customs.customs_items.quantity` (integer) The quantity of this item in the shipment. - `customs.customs_items.value` (number) The monetary amount, in the specified currency. - `customs.customs_items.value_currency` (string) The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html - `customs.customs_items.weight` (object) The item weight - `customs.customs_items.weight.value` (number, required) The weight, in the specified unit - `customs.customs_items.weight.unit` (string, required) The possible weight unit values Enum: "pound", "ounce", "gram", "kilogram" - `customs.customs_items.harmonized_tariff_code` (string,null) The [Harmonized Tariff Code](https://en.wikipedia.org/wiki/Harmonized_System) of this item. Example: "3926.1" - `customs.customs_items.country_of_origin` (string,null) The two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) where this item originated Example: "CA" - `customs.customs_items.unit_of_measure` (string,null) - `customs.customs_items.sku` (string,null) The SKU (Stock Keeping Unit) of the customs item - `customs.customs_items.sku_description` (string,null) Description of the Custom Item's SKU - `advanced_options` (object, required) Advanced shipment options. These are entirely optional. - `advanced_options.bill_to_account` (string,null) 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. - `advanced_options.bill_to_country_code` (string,null) The two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) of the third-party that is responsible for shipping costs. Example: "CA" - `advanced_options.bill_to_party` (string,null) Indicates whether to bill shipping costs to the recipient or to a third-party. When billing to a third-party, the bill_to_account, bill_to_country_code, and bill_to_postal_code fields must also be set. Enum: "recipient", "third_party" - `advanced_options.bill_to_postal_code` (string,null) The postal code of the third-party that is responsible for shipping costs. - `advanced_options.contains_alcohol` (boolean) Indicates that the shipment contains alcohol. - `advanced_options.delivered_duty_paid` (boolean) Indicates that the shipper is paying the international delivery duties for this shipment. This option is supported by UPS, FedEx, and DHL Express. - `advanced_options.dry_ice` (boolean) Indicates if the shipment contain dry ice - `advanced_options.dry_ice_weight` (object,null) The weight of the dry ice in the shipment - `advanced_options.non_machinable` (boolean) 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](https://pe.usps.com/text/dmm300/101.htm#ep1047495) for details. - `advanced_options.saturday_delivery` (boolean) Enables Saturday delivery, if supported by the carrier. - `advanced_options.fedex_freight` (object) Provide details for the Fedex freight service - `advanced_options.fedex_freight.shipper_load_and_count` (string) - `advanced_options.fedex_freight.booking_confirmation` (string) - `advanced_options.use_ups_ground_freight_pricing` (boolean,null) Whether to use UPS Ground Freight pricing. If enabled, then a freight_class must also be specified. - `advanced_options.freight_class` (string,null) The National Motor Freight Traffic Association [freight class](http://www.nmfta.org/pages/nmfc?AspxAutoDetectCookieSupport=1), such as "77.5", "110", or "250". Example: "77.5" - `advanced_options.custom_field1` (string,null) An arbitrary field that can be used to store information about the shipment. - `advanced_options.custom_field2` (string,null) An arbitrary field that can be used to store information about the shipment. - `advanced_options.custom_field3` (string,null) An arbitrary field that can be used to store information about the shipment. - `advanced_options.origin_type` (string,null) Indicates if the package will be picked up or dropped off by the carrier Enum: "pickup", "drop_off" - `advanced_options.additional_handling` (boolean,null) Indicate to the carrier that this shipment requires additional handling. - `advanced_options.shipper_release` (boolean,null) - `advanced_options.collect_on_delivery` (object) Defer payment until package is delivered, instead of when it is ordered. - `advanced_options.collect_on_delivery.payment_type` (string) Types of payment that are supported Enum: "any", "cash", "cash_equivalent", "none" - `advanced_options.collect_on_delivery.payment_amount` (object) - `advanced_options.collect_on_delivery.payment_amount.amount` (number) - `advanced_options.third_party_consignee` (boolean) Third Party Consignee option is a value-added service that allows the shipper to supply goods without commercial invoices being attached - `advanced_options.dangerous_goods` (boolean) Indicates if the Dangerous goods are present in the shipment - `advanced_options.dangerous_goods_contact` (object) Contact information for Dangerous goods - `advanced_options.dangerous_goods_contact.name` (string) Name of the contact - `advanced_options.dangerous_goods_contact.phone` (string) Phone number of the contact - `advanced_options.windsor_framework_details` (object) The Windsor framework is a new regulation in the UK that simplifies customs procedures for goods moved from the UK mainland to Northern Ireland. - `advanced_options.windsor_framework_details.movement_indicator` (string) An indicator that will tell the carrier and HMRC the type of movement for the shipment. Enum: "c2c", "b2c", "c2b", "b2b" - `advanced_options.windsor_framework_details.not_at_risk` (boolean) An indicator that allows a shipper to declare the shipment as not-at-risk. - `advanced_options.license_number` (string,null) license_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object. Example: "514785" - `advanced_options.invoice_number` (string,null) invoice_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object. Example: "IOC56888" - `advanced_options.certificate_number` (string,null) certificate_number - This field was part of a historical implementation for passing customs-related data. For new integrations, please use the corresponding parameters within the shipment.customs object. Example: "784515" - `advanced_options.fragile` (boolean) Indicates that the contents of the package are fragile and should be handled with care. Example: true - `advanced_options.delivery-as-addressed` (boolean) Instructs the carrier to deliver the package only to the exact address provided. - `advanced_options.return-after-first-attempt` (boolean) Ensures the shipment is immediately flagged for return to the sender if the initial delivery attempt fails. - `advanced_options.regulated_content_type` (string,null) Indicates the category of goods in the shipment that is subject to special regulatory or compliance requirements. Enum: "day_old_poultry", "other_live_animal" - `insurance_provider` (string, required) The insurance provider to use for any insured packages in the shipment. Enum: "none", "shipsurance", "carrier", "third_party" - `tags` (array, required) Arbitrary tags associated with this shipment. Tags can be used to categorize shipments, and shipments can be queried by their tags. - `tags.tag_id` (integer) An integer uniquely identifying a tag. Example: 8712 - `tags.name` (string, required) The tag name. Example: "Fragile" - `tags.color` (string) A hex-coded string identifying the color of the tag. Example: "#FF0000" - `packages` (array, required) 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. - `packages.shipment_package_id` (string) A string that uniquely identifies this shipment package Example: "se-28529731" - `packages.package_id` (string) A string that uniquely identifies this package type Example: "se-28529731" - `packages.package_code` (string) The package type, such as thick_envelope, small_flat_rate_box, large_package, etc. The code package indicates a custom or unknown package type. Example: "small_flat_rate_box" - `packages.package_name` (string) The name of the of the package type - `packages.weight` (object, required) The package weight - `packages.dimensions` (object) The package dimensions - `packages.dimensions.unit` (string, required) The dimension units that are supported by ShipEngine. Enum: "inch", "centimeter" - `packages.dimensions.length` (number, required) The length of the package, in the specified unit - `packages.dimensions.width` (number, required) The width of the package, in the specified unit - `packages.dimensions.height` (number, required) The height of the package, in the specified unit - `packages.insured_value` (object) The insured value of the package. Requires the insurance_provider field of the shipment to be set. - `packages.label_messages` (object) 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 - `packages.label_messages.reference1` (string,null, required) The first line of the custom label message. Some carriers may prefix this line with something like "REF", "Reference", "Trx Ref No.", etc. - `packages.label_messages.reference2` (string,null, required) The second line of the custom label message. Some carriers may prefix this line with something like "INV", "Reference 2", "Trx Ref No.", etc. - `packages.label_messages.reference3` (string,null, required) The third line of the custom label message. Some carriers may prefix this line with something like "PO", "Reference 3", etc. - `packages.external_package_id` (string) An external package id. - `packages.tracking_number` (string) The tracking number for the package. The format depends on the carrier. Example: "1Z932R800392060079" - `packages.content_description` (string,null) A short description of the package content. Required for shipments moving to, from, and through Mexico. Example: "Hand knitted wool socks" - `packages.products` (array) Details about products inside packages (Information provided would be used on custom documentation) - `packages.products.value` (object) The declared value of each item - `packages.products.sku` (string,null) The SKU (Stock Keeping Unit) of the item - `packages.products.mid_code` (string,null) Manufacturers Identification code - `packages.products.product_url` (string,null) link to the item on the seller website - `packages.products.vat_rate` (number,null) VAT rate applicable to the item Example: 0.2 - `packages.products.dangerous_goods` (array) Details about dangerous goods inside products - `packages.products.dangerous_goods.id_number` (string,null) UN number to identify the dangerous goods. - `packages.products.dangerous_goods.shipping_name` (string,null) Trade description of the dangerous goods. - `packages.products.dangerous_goods.technical_name` (string,null) Recognized Technical or chemical name of dangerous goods. - `packages.products.dangerous_goods.product_class` (string,null) Dangerous goods product class based on regulation. - `packages.products.dangerous_goods.product_class_subsidiary` (string,null) A secondary of product class for substances presenting more than one particular hazard - `packages.products.dangerous_goods.packaging_group` (string) Enum: "i", "ii", "iii" - `packages.products.dangerous_goods.dangerous_amount` (object) This model represents the amount of the dangerous goods. - `packages.products.dangerous_goods.dangerous_amount.amount` (number) The amount of dangerous goods. - `packages.products.dangerous_goods.dangerous_amount.unit` (string,null) The unit of dangerous goods. - `packages.products.dangerous_goods.quantity` (integer) Quantity of dangerous goods. - `packages.products.dangerous_goods.packaging_instruction` (string,null) The specific standardized packaging instructions from the relevant regulatory agency that have been applied to the parcel/container. - `packages.products.dangerous_goods.packaging_instruction_section` (string) Enum: "section_1", "section_2", "section_1a", "section_1b" - `packages.products.dangerous_goods.packaging_type` (string,null) The type of exterior packaging used to contain the dangerous good. - `packages.products.dangerous_goods.transport_mean` (string) Enum: "ground", "water", "cargo_aircraft_only", "passenger_aircraft" - `packages.products.dangerous_goods.transport_category` (string,null) Transport category assign to dangerous goods for the transport purpose. - `packages.products.dangerous_goods.regulation_authority` (string,null) Name of the regulatory authority. - `packages.products.dangerous_goods.regulation_level` (string) Enum: "lightly_regulated", "fully_regulated", "limited_quantities", "excepted_quantity" - `packages.products.dangerous_goods.radioactive` (boolean,null) Indication if the substance is radioactive. - `packages.products.dangerous_goods.reportable_quantity` (boolean,null) Indication if the substance needs to be reported to regulatory authority based on the quantity. - `packages.products.dangerous_goods.tunnel_code` (string,null) Defines which types of tunnels the shipment is allowed to go through - `packages.products.dangerous_goods.additional_description` (string,null) Provider additonal description regarding the dangerous goods. This is used as a placed holder to provider additional context and varies by carrier - `packages.products.extended_details` (object) Additional details about products - `total_weight` (object, required) The combined weight of all packages in the shipment - `comparison_rate_type` (string,null) Calculate a rate for this shipment with the requested carrier using a ratecard that differs from the default. Only supported for UPS and USPS. Example: "retail" - `zone` (integer,null) 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 - `rate_response` (object, required) The rates response - `rate_response.rates` (array) An array of shipment rates - `rate_response.rates.rate_id` (string, required) A string that uniquely identifies the rate Example: "se-28529731" - `rate_response.rates.rate_type` (string, required) The possible rate type values Enum: "check", "shipment" - `rate_response.rates.carrier_id` (string, required) A string that uniquely identifies the carrier Example: "se-28529731" - `rate_response.rates.shipping_amount` (object, required) The shipping amount. Should be added with confirmation_amount, insurance_amount and other_amount to calculate the total purchase price. - `rate_response.rates.insurance_amount` (object, required) The insurance amount. Should be added with shipping_amount, confirmation_amount and other_amount to calculate the total purchase price. - `rate_response.rates.confirmation_amount` (object, required) The confirmation amount. Should be added with shipping_amount, insurance_amount and other_amount to calculate the total purchase price. - `rate_response.rates.other_amount` (object, required) Any other charges associated with this rate. Should be added with shipping_amount, insurance_amount and confirmation_amount to calculate the total purchase price. - `rate_response.rates.requested_comparison_amount` (object) The total shipping cost for the specified comparison_rate_type. - `rate_response.rates.tax_amount` (object) Tariff and additional taxes associated with an international shipment. - `rate_response.rates.rate_details` (array) A list of rate details that are associated with this rate. This is useful for displaying a breakdown of the rate to the user. - `rate_response.rates.rate_details.rate_detail_type` (string) The possible rate detail type values Enum: "uncategorized", "shipping", "insurance", "confirmation", "discount", "fuel_charge", "additional_fees", "tariff", "tax", "delivery", "handling", "special_goods", "pickup", "location_fee", "oversize", "returns", "notifications", "tip", "duties_and_taxes", "brokerage_fee", "admin_fee", "adjustment" - `rate_response.rates.rate_details.carrier_description` (string) A rate detail description defined by a carrier - `rate_response.rates.rate_details.carrier_billing_code` (string) A rate detail code defined by a carrier - `rate_response.rates.rate_details.carrier_memo` (string) Contains any additional information - `rate_response.rates.rate_details.amount` (object) A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance. - `rate_response.rates.rate_details.rate_detail_attributes` (object) If applicable, contains additional data about a rate detail of a specific type, e.g. VAT - `rate_response.rates.rate_details.rate_detail_attributes.tax_type` (string) Type of a tax added to shipping cost Enum: "vat" - `rate_response.rates.rate_details.rate_detail_attributes.tax_percentage` (number) Tax percentage, e.g. 20 for 20%, added to the shipping cost - `rate_response.rates.rate_details.billing_source` (string) The source of the billing information. This is typically the carrier, but could be a third party, e.g insurance - `rate_response.rates.package_type` (string,null, required) package type that this rate was estimated for Example: "package" - `rate_response.rates.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 - `rate_response.rates.guaranteed_service` (boolean, required) Indicates if the rate is guaranteed. - `rate_response.rates.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" - `rate_response.rates.carrier_delivery_days` (string) The carrier delivery days - `rate_response.rates.ship_date` (string) ship date - `rate_response.rates.negotiated_rate` (boolean, required) Indicates if the rates been negotiated - `rate_response.rates.service_type` (string, required) service type - `rate_response.rates.service_code` (string, required) service code for the rate - `rate_response.rates.trackable` (boolean, required) Indicates if rate is trackable - `rate_response.rates.carrier_code` (string, required) carrier code - `rate_response.rates.carrier_nickname` (string, required) carrier nickname - `rate_response.rates.carrier_friendly_name` (string, required) carrier friendly name - `rate_response.rates.validation_status` (string, required) The possible validation status values Enum: "valid", "invalid", "has_warnings", "unknown" - `rate_response.rates.warning_messages` (array, required) The warning messages - `rate_response.rates.error_messages` (array, required) The error messages - `rate_response.rates.rate_attributes` (array) Optional attributes that indicate the most profitable rates - `rate_response.invalid_rates` (array) An array of invalid shipment rates - `rate_response.rate_request_id` (string) A string that uniquely identifies the rate request Example: "se-28529731" - `rate_response.created_at` (string) When the rate was created Example: "se-28529731" - `rate_response.status` (string) The possible rate response status values Enum: "working", "completed", "partial", "error" - `rate_response.errors` (array) - `rate_response.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" - `rate_response.errors.error_type` (string, required) The type of error Enum: "account_status", "business_rules", "validation", "security", "system", "integrations" - `rate_response.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" - `rate_response.errors.message` (string, required) An error message associated with the failed API call Example: "Body of request cannot be null." - `rate_response.errors.carrier_id` (string) A string that uniquely identifies the carrier that generated the error. Example: "se-28529731" - `rate_response.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" - `rate_response.errors.field_name` (string) The name of the field that caused the error Example: "shipment.ship_to.phone_number" ## 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"