# Get a checkout rates configuration

Products
            Plans
          
        
        
          
            
              
              Formerly ShipEngine
            
            
              Free
              Advanced
              Enterprise
            
          
          
            
              
            
            
              Free
              Starter
              Standard
              Premium
            
          
        
      
      
        
          Learn about products and plans
          
        
      
    

Retrieve a single checkout rates configuration, including all of its delivery options and shared settings.

Endpoint: GET /v2/checkout_rates/{config_id}
Version: 2.0.0
Security: api_keys

## Path parameters:

  - `config_id` (string, required)
    The unique identifier of the checkout rates configuration.
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

## Response 200 fields (application/json):

  - `config_id` (string)
    The unique identifier of the configuration.
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `options` (array)
    The delivery options in the configuration.

  - `options.option_id` (integer)
    The unique identifier of the delivery option.
    Example: 100001

  - `options.config_id` (string)
    The identifier of the configuration this option belongs to.
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `options.name` (string)
    The display name of the delivery option.
    Example: "Standard Shipping"

  - `options.type` (string)
    The kind of delivery option.
    Enum: "live_rate", "flat_rate", "free", "local_delivery"

  - `options.services` (array)
    The carrier/service pairings rated by this option, when applicable.

  - `options.services.carrier_id` (string, required)
    The ID of a carrier connected to your account, in the format se- followed by digits (for example, se-1234567). A value that does not match this format is rejected with a validation error, and a well-formed ID that is not connected to your account is rejected as an invalid identifier.
    Example: "se-1234567"

  - `options.services.service_code` (string, required)
    The service code of the carrier service to rate (for example, usps_priority_mail). Required for each service; a service code that is not available for the carrier is rejected as an invalid identifier.
    Example: "usps_priority_mail"

  - `options.fee_mode` (string)
    Whether fee_percentage is added to or subtracted from the carrier rate.
    Enum: "add", "subtract"

  - `options.fee_percentage` (number)
    The percentage of the carrier rate added or subtracted, according to fee_mode.
    Example: 10

  - `options.sort_index` (integer)
    The position of this option relative to the others in the configuration, ascending.

  - `options.fallback_mode` (string)
    What is shown when live rates cannot be retrieved.
    Enum: "dont_show", "flat_rate", "cart_percentage"

  - `options.fallback_rate_amount` (number)
    The fixed fallback price, when fallback_mode is flat_rate.
    Example: 5

  - `options.fallback_rate_currency` (string)
    The currency of fallback_rate_amount.
    Example: "USD"

  - `options.fallback_percentage` (number)
    The percentage of the cart total charged, when fallback_mode is cart_percentage.
    Example: 5

  - `options.amount` (number)
    The fixed price for a flat_rate option.

  - `options.currency` (string)
    The currency of amount.
    Example: "USD"

  - `options.is_active` (boolean)
    Whether the option is active and shown at checkout.
    Example: true

  - `options.created_at` (string)
    When the option was created.
    Example: "2026-05-15T18:30:00Z"

  - `shared_settings` (object)
    Settings shared by every option in the configuration.

  - `shared_settings.calculation_method` (string)
    How package dimensions are determined when calculating live rates. by_volume derives a package size from the cart; skip_dimensions rates without dimensions.
    Enum: "by_volume", "skip_dimensions"

  - `shared_settings.dimensions_by_weight` (array)
    Default package dimensions applied to carts by weight bound.

  - `shared_settings.dimensions_by_weight.max_weight` (object)
    The upper weight bound this default package applies to.

  - `shared_settings.dimensions_by_weight.max_weight.value` (number, required)
    The weight, in the specified unit
    Example: 23

  - `shared_settings.dimensions_by_weight.max_weight.unit` (string, required)
    Weight unit
    Enum: "pound", "ounce", "gram", "kilogram"

  - `shared_settings.dimensions_by_weight.default_dimensions` (object)
    The default package dimensions to use for carts within this weight bound.

  - `shared_settings.dimensions_by_weight.default_dimensions.unit` (string, required)
    Dimension unit
    Enum: "inch", "centimeter"

  - `shared_settings.dimensions_by_weight.default_dimensions.length` (number, required)
    The length of the package, in the specified unit
    Example: 2

  - `shared_settings.dimensions_by_weight.default_dimensions.width` (number, required)
    The width of the package, in the specified unit
    Example: 2

  - `shared_settings.dimensions_by_weight.default_dimensions.height` (number, required)
    The height of the package, in the specified unit
    Example: 1

  - `created_at` (string)
    When the configuration was created.
    Example: "2026-05-15T18:30:00Z"

## Response 404 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, the ShipStation API itself, or the underlying ShipEngine platform.
    Enum: "carrier", "order_source", "ShipStation", "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", "freight_connection_inactive", "freight_provider_id_required", "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.field_name` (string)
    The name of the field that caused the error (only present for validation errors)
    Example: "inventory_warehouse_id"

  - `errors.field_value` (string)
    The invalid value that was provided for the field (only present for validation errors)
    Example: "invalid-id"


