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

# Create a zone

> Create a zone and link it to your tenant.

```http theme={null}
POST /v1/tenant/zones
```

## Authentication

Session token (`Authorization: Bearer <token>`) with the `zones:manage` permission: `company_admin`, `company_tech` or `country_admin`. The integration API key and other roles receive `403 forbidden`.

The zone is created and linked to your tenant with connectivity state `online`.

## Body

**zone\_code** `string` *required*

Zone code, for example `zone_london_central`. Zone codes are unique across wede: choose one that is not in use.

**name** `string` *required*

Display name.

**country** `string` *required*

ISO 3166-1 alpha-2 country code, for example `GB`.

**region** `string`

Region or district.

**lat\_center** `number`

Latitude of the zone centre. New members of teams based in this zone start here when you add them without coordinates.

**lng\_center** `number`

Longitude of the zone centre.

**verticals\_active** `string[]`

Verticals your tenant runs in this zone. Each must be a vertical registered in wede (`GET /v1/verticals`).

A tenant can only create new zones. If a zone with this `zone_code` already exists (yours, another tenant's, or one prepared by wede), wede returns `409 zone_code_taken` and changes nothing. To have an existing zone linked to your tenant, contact wede.

## Example

```bash theme={null}
curl -X POST https://api.wede.pt/v1/tenant/zones \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "zone_code": "zone_london_central",
    "name": "London Central",
    "country": "GB",
    "region": "London",
    "lat_center": 51.5074,
    "lng_center": -0.1278,
    "verticals_active": ["healthcare"]
  }'
```

## Response `201`

The zone object, with the same fields as in [List zones](/api-reference/zones/list.md#response-200).

## Errors

| Status | `error` | When |
| - | - | - |
| `400` | `validation_error` | `zone_code`, `name` or `country` is missing. |
| `401` | `unauthorized` | Missing, invalid or revoked credentials. |
| `403` | `forbidden` | The credential lacks `zones:manage` (including every API key). |
| `409` | `zone_code_taken` | A zone with this `zone_code` already exists. |
| `500` | `internal_error` | Unexpected server error, including a `country` that is not two letters or an unknown vertical in `verticals_active`. |


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