checkout_rates
Update a delivery option
<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>Replace the configuration of an existing delivery option. Option names must remain unique within a configuration; renaming an option to a name already in use returns a 409 Conflict.
put/v2/checkout_rates/{config_id}/options/{option_id}
Request body
Example request
{
"name": "Standard Shipping",
"type": "live_rate",
"services": [
{
"carrier_id": "se-1234567",
"service_code": "usps_priority_mail"
}
],
"fee_mode": "add",
"fee_percentage": 10,
"fallback_mode": "flat_rate",
"fallback_rate_amount": 5,
"fallback_rate_currency": "USD",
"fallback_percentage": 5,
"amount": 4.99,
"currency": "USD"
}Response
The delivery option was updated.
Example response
{
"option_id": 100001,
"config_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Standard Shipping",
"type": "live_rate",
"services": [
{
"carrier_id": "se-1234567",
"service_code": "usps_priority_mail"
}
],
"fee_mode": "add",
"fee_percentage": 10,
"fallback_mode": "flat_rate",
"fallback_rate_amount": 5,
"fallback_rate_currency": "USD",
"fallback_percentage": 5,
"currency": "USD",
"is_active": true,
"created_at": "2026-05-15T18:30:00Z"
}