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

# Create Shipping Zone

> Create a new shipping zone

## Body Parameters

A shipping zone has a single flat shipping price plus optional weight- or
price-based thresholds. There is no per-zone collection of named rates.

<ParamField body="name" type="string" required>
  Zone name (e.g., "Domestic", "Europe", "Rest of World"). Stored as
  `shippingName`. You may send `shippingName` directly instead of `name`.
</ParamField>

<ParamField body="countries" type="array">
  Array of ISO 3166-1 alpha-2 country codes for this zone. Stored as `zone`.
  You may send `zone` (an array of country codes) directly instead.
</ParamField>

<ParamField body="description" type="string">
  Optional zone description.
</ParamField>

<ParamField body="price" type="number">
  Flat shipping price for this zone.
</ParamField>

<ParamField body="type" type="string">
  Rate model: `Simple` (flat price), `Weight` (weight-based thresholds), or
  `Price` (order-total thresholds). Defaults to `Simple`.
</ParamField>

<ParamField body="digitalProd" type="boolean">
  Whether the zone applies to digital products. Defaults to `true`.
</ParamField>

<ParamField body="minWeight" type="number">
  Minimum order weight (used when `type` is `Weight`).
</ParamField>

<ParamField body="maxWeight" type="number">
  Maximum order weight (used when `type` is `Weight`).
</ParamField>

<ParamField body="minPrice" type="number">
  Minimum order subtotal (used when `type` is `Price`).
</ParamField>

<ParamField body="maxPrice" type="number">
  Maximum order subtotal (used when `type` is `Price`).
</ParamField>

## Response

Returns the standard response envelope with the created zone under
`data.shipping_zone`.

<ResponseExample>
  ```json theme={null}
  {
    "status": 201,
    "state": "success",
    "message": null,
    "data": {
      "shipping_zone": {
        "shippingZoneId": "f3b9c1a2-7d44-4e2b-9a10-5c8e6f2d1b3a",
        "shippingName": "Asia Pacific",
        "zone": ["JP", "KR", "SG", "AU", "NZ"],
        "description": "Standard international delivery",
        "price": "19.99",
        "type": "Simple",
        "digitalProd": true,
        "minWeight": null,
        "maxWeight": null,
        "minPrice": null,
        "maxPrice": null,
        "storeId": "2a7c9e10-1f3b-4d62-8a51-9b0c7e4f2d8a",
        "createdAt": "2024-01-20T14:30:00Z",
        "updatedAt": "2024-01-20T14:30:00Z"
      }
    },
    "count": null,
    "pagination": null
  }
  ```
</ResponseExample>

## Error Response

```json theme={null}
{
  "status": 400,
  "state": "error",
  "message": "Missing required field: shippingName",
  "data": null
}
```
