---
title: "Calculate checkout rates"
method: POST
path: "/v2/checkout_rates/{config_id}/quotes"
tags: ["checkout_rates"]
---

# Calculate checkout rates

`POST /v2/checkout_rates/{config_id}/quotes`

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

Calculate the shipping rates a buyer should see at checkout for the given destination and cart, using the delivery options defined on the configuration. The response contains one rate per delivery option that produced a price, and each rate carries its own `quote_id` that can be retrieved later with [Get a checkout rate quote](#operation/get_checkout_rates_quote).

## Request body

- CalculateCheckoutRatesRequestBody — The destination and cart contents to calculate checkout rates for.
  - `ship_to` CheckoutRatesShipTo, required — The destination address to calculate rates for.
    - `address_type` string — The kind of address, when known (for example, `residential` or `commercial`).
    - `address_line1` string — The first line of the street address.
    - `address_line2` string — The second line of the street address, when applicable.
    - `city_locality` string — The city or locality.
    - `state_province` string — The state or province.
    - `postal_code` string — The postal code.
    - `country_code` string — The ISO 3166-1 alpha-2 country code.
  - `items` CheckoutRatesItem[], required — The items in the cart.
    - `name` string — The name of the item.
    - `quantity` integer — The number of units of the item in the cart.
    - `sku` string — The stock keeping unit (SKU) of the item.
    - `price` number — The unit price of the item.
    - `weight` Weight — The weight of a package
      - `value` number, required — The weight, in the specified unit
      - `unit` 'pound' | 'ounce' | 'gram' | 'kilogram', required — The possible weight unit values
    - `dimensions` Dimensions — The dimensions of a package
      - `unit` 'inch' | 'centimeter', required — The dimension units that are supported by ShipStation .
      - `length` number, required — The length of the package, in the specified unit
      - `width` number, required — The width of the package, in the specified unit
      - `height` number, required — The height of the package, in the specified unit
  - `currency` string — The currency to return rates in.

## Response `200`

The calculated rates for the cart.

- CalculateCheckoutRatesResponseBody — The rates calculated for a cart. Each rate carries its own `quote_id`.
  - `config_id` string — The configuration the rates were calculated against.
  - `rates` CheckoutRatesRateOption[] — The rates to display at checkout, one entry per delivery option that produced a rate. Each entry has its own `quote_id`.
    - `quote_id` string — The unique identifier of this rate's quote. Use it to retrieve the quote later with [Get a checkout rate quote](#operation/get_checkout_rates_quote).
    - `option_id` integer — The identifier of the delivery option this rate was produced for.
    - `option_name` string — The display name of the delivery option.
    - `type` 'live_rate' | 'flat_rate' | 'free' | 'local_delivery' — The delivery option type this rate corresponds to (for example, `live_rate` or `free`).
    - `carrier_id` string, nullable — The carrier this rate is for. `null` for options without a carrier (for example, `free`).
    - `service_code` string, nullable — The carrier service this rate is for. `null` for options without a carrier service.
    - `final_amount` number — The price shown to the buyer after fees or fallbacks are applied.
    - `currency` string — The currency of `final_amount`.
    - `estimated_delivery_days` integer, nullable — The estimated number of days in transit, when available.
    - `estimated_delivery_date` string, date-time, nullable — The estimated delivery date, when available.
  - `created_at` string, date-time — When the quote was calculated.

## Other responses

- `400` — The request contained errors.
- `404` — The specified resource does not exist.
- `500` — The request was successful.

---

[API](https://skmtc.net/shipstation/apis/shipstation-api-v2.md) · [All operations](https://skmtc.net/shipstation/apis/shipstation-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shipstation/shipstation-api-v2/revisions/d3d8c21cd227/schema)
