---
title: "Create geofence zone"
method: POST
path: "/zones"
tags: ["zones"]
---

# Create geofence zone

`POST /zones`

## Request

- Base URL: `https://app.tascan.io/api/v1`
- URL: `https://app.tascan.io/api/v1/zones`
- Auth: HTTP bearer

Circle zone with per-zone behavior toggles: zone-lock, manager alerts on enter/exit, auto clock-in/out.

## Request body

- Zone
  - `name` string, required
  - `lat` number, required
  - `lng` number, required
  - `radius_m` integer
  - `project_id` string, uuid
  - `task_list_id` string, uuid: List the Site Gate routes workers to inside this zone
  - `enforce_on_list` boolean: Zone-lock: the list cannot be started outside the radius
  - `notify_on_enter` boolean: Email the manager when a worker enters (danger areas)
  - `notify_on_exit` boolean: Email the manager when a worker leaves (accountability)
  - `auto_clock_in` boolean: Entering writes a shift_start event
  - `auto_clock_out` boolean: Leaving writes a shift_end event
  - `notify_email` string: Alert recipient override; defaults to all org admins

## Response `201`

Created — includes Site Gate URL

---

[API](https://skmtc.dev/tascan/apis/tascan-api.md) · [All operations](https://skmtc.dev/tascan/apis/tascan-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tascan/apis/tascan-api/revisions/56fcd2861498?raw)
