---
title: "Create a geofence"
method: POST
path: "/v0/enterprise/{enterprise_id}/create-apply-geo-fence/"
tags: ["esper_cloud_api_Geofence"]
---

# Create a geofence

`POST /v0/enterprise/{enterprise_id}/create-apply-geo-fence/`

## Request

- Base URL: `https://develop-api.esper.cloud/api`
- URL: `https://develop-api.esper.cloud/api/v0/enterprise/{enterprise_id}/create-apply-geo-fence/`
- Auth: HTTP bearer

⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward.

Creates a new geofence and optionally applies it to a list of devices in a single request. Returns the newly created Geofence object (HTTP 201) with the assigned UUID; the devices field allows immediate application to specific devices at creation time, a capability not available through the separate /geofence/ path endpoints.

## Path parameters

- `enterprise_id` string, uuid, required

## Request body `*/*`

- EsperCloudApiGeofenceCreate
  - `name` string: Name of the geofence
  - `description` string: A description about the geofence
  - `latitude` string, decimal: Latitude corresponding to the geofence
  - `longitude` string, decimal: Longitude corresponding to the geofence
  - `radius` integer: The radius within which the geofence should be applied
  - `radius_unit` 'KILOMETERS' | 'METERS' | 'MILES': The unit in which the radius is taken, eg - kilometers, meters etc
  - `device_actions` string[]: The actions to be performed on the device
  - `devices` string[]: List of ids of devices on which the geofence is to be applied

## Response `201`

successful operation

- EsperCloudApiGeofence
  - `id` string, uuid: id of the geofence
  - `name` string, required: Name of the geofence
  - `description` string: A description about the geofence
  - `enterprise` string, uuid: id of the enterprise resource
  - `latitude` string, decimal, required: Latitude corresponding to the geofence
  - `longitude` string, decimal, required: Longitude corresponding to the geofence
  - `radius` integer: The radius within which the geofence should be applied
  - `radius_unit` 'KILOMETERS' | 'METERS' | 'MILES': The unit in which the radius is taken, eg - kilometers, meters etc
  - `device_actions` string[]: The actions to be performed on the device
  - `device_count` integer: Number of devices
  - `created_by` string: The user who created the geofence
  - `created_on` string, date-time: Date and time of when the geofence was created
  - `updated_on` string, date-time: Date and time of when the geofence was updated

## Other responses

- `400`: Bad Request
- `401`: Authorization information is missing or invalid.
- `500`: Internal server error

---

[API](https://skmtc.dev/esper/apis/esper-api-reference.md) - [All operations](https://skmtc.dev/esper/apis/esper-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/esper/apis/esper-api-reference/revisions/fa7b9b652fb2?raw)
