> ## Documentation Index
> Fetch the complete documentation index at: https://exsited.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Shipping rules

> List, read, create, update and delete shipping rules, and set the zones and rate each rule charges.

A shipping rule sets how shipping is charged: the zones it applies to and the rate it charges there. These endpoints list, read, create, update and delete rules, and set a rule's configuration. This area has 6 endpoints, each available in all seven SDKs.

## At a glance

| Endpoint | Method | Path | What it does |
| - | - | - | - |
| [List shipping rules](https://exsited.mintlify.site/api-reference/shipping-rules/list-shipping-rules.md) | GET | `/settings/shipping_rules` | Returns a page of shipping rules. |
| [Create a shipping rule](https://exsited.mintlify.site/api-reference/shipping-rules/create-a-shipping-rule.md) | POST | `/settings/shipping_rules` | Creates a shipping rule and returns it under `shipping_rule`. |
| [Retrieve a shipping rule](https://exsited.mintlify.site/api-reference/shipping-rules/retrieve-a-shipping-rule.md) | GET | `/settings/shipping_rules/{shipping_rule_id}` | Returns one shipping rule by its `id`, with its configuration. |
| [Delete a shipping rule](https://exsited.mintlify.site/api-reference/shipping-rules/delete-a-shipping-rule.md) | DELETE | `/settings/shipping_rules/{shipping_rule_id}` | Deletes a shipping rule. A successful call returns `204` with no body. |
| [Update a shipping rule](https://exsited.mintlify.site/api-reference/shipping-rules/update-a-shipping-rule.md) | PATCH | `/settings/shipping_rules/{shipping_rule_id}` | Changes a shipping rule's name or description and returns the rule. |
| [Set a shipping rule's configuration](https://exsited.mintlify.site/api-reference/shipping-rules/set-a-shipping-rules-configuration.md) | POST | `/settings/shipping_rules/{shipping_rule_id}/configuration` | Sets the zones and rate of a shipping rule and returns the rule. |

## Before you call

Register your API credentials once when your app starts, as shown in
[Authentication](https://exsited.mintlify.site/authentication.md). Every SDK sample on these pages then gets its client in one line.
With cURL, send the access token in an `Authorization` header: `Authorization: Bearer $ACCESS_TOKEN`.

## Things to know

* **Writes are wrapped in `shipping_rule`, and one rule comes back under `shipping_rule`.** A create can send just a `name`.
* **A rule's zones and rate are set through the configuration endpoint.** That body sits under `configuration`, not `shipping_rule`.
* **The configuration names each zone by its UUID with dashes.** Take the 32 hex digits after `zn_` in the zone's `id` and group them 8-4-4-4-12.
* **The listing pages by cursor.** Pass `limit`, then send the `next_cursor` from `pagination` as `cursor` until `has_more` is `false`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.