Set up shipping zones and rates
configure_shippingCreate, change or delete a store's shipping zones (which countries/regions it ships to) and the rates buyers choose from in each zone. One change per call. create_zone (name + countries) can carry its rate in the same call (price, plus free_over for free delivery from an amount) — prefer that. Otherwise create_rate in the zone (by zone_id or zone_name) with kind (inferred from price / free_over when omitted) — flat (price, optionally only between min_order and max_order), weight_bands or price_bands (bands of from/up_to/price), or free_over (price below the free_over amount, free from it up). Amounts are major currency units, weights grams; rates default to the store currency. A store with no zones charges no shipping; buyers outside every zone get no shipping option. Zone and rate ids are in get_store_settings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Rate pricing: flat (one price, optionally only for orders between min_order and max_order), weight_bands / price_bands (`bands`), free_over (`price` below `free_over`, free from it up) | |
| name | No | Zone name ("India", "Rest of world") or rate name shown to buyers ("Standard delivery") | |
| bands | No | weight_bands (grams) or price_bands (order amount) — first matching band wins | |
| price | No | flat: the charge. free_over: the charge below the threshold. Major units. | |
| action | Yes | ||
| active | No | Rate offered at checkout (default true) | |
| rate_id | No | For update_rate / delete_rate | |
| regions | No | Optional zone regions/states ("IN-MH"); null clears | |
| site_id | Yes | The site, from list_sites | |
| zone_id | No | For update_zone / delete_zone / create_rate (from get_store_settings or create_zone) | |
| currency | No | Rate currency; defaults to the store currency | |
| countries | No | Zone countries, ISO 3166-1 alpha-2 ("IN", "US") | |
| free_over | No | free_over: order amount (major units) from which shipping is free | |
| max_order | No | flat only: offer this rate only up to this order amount | |
| min_order | No | flat only: offer this rate only from this order amount | |
| rate_name | No | create_zone with a price: the name buyers see for the rate (default "Standard delivery") | |
| user_goal | No | Optional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details. | |
| zone_name | No | create_rate: the zone by its name, when you do not have its id |