Skip to content

Partially updates geofence information
Legacy

Request

⚠️ 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.

Partially updates one or more fields on an existing legacy geofence record. Only the fields included in the request body are modified; all other fields retain their current values. Returns the full updated Geofence object on success.

About Update Geofence — Partial (Legacy)

This PATCH endpoint applies partial updates to a legacy geofence definition using the GeofenceUpdate schema, which accepts name, description, latitude, longitude, radius, radius_unit, and device_actions. Unlike PUT, omitted fields are preserved. Changes made here do not affect blueprint-managed geofence behavior; use /api/v2/blueprints/ for all active configuration management.

Security
esper_cloud_api_apiKey
Path
geofence_idstring, (uuid)required

A UUID string identifying the geofence.

enterprise_idstring, (uuid)required

A UUID string identifying the enterprise.

Body*/*required
namestring(Geofence name)

Name of the geofence

descriptionstring(Geofence description)

A description about the geofence

latitudestring, (decimal)(Geofence latitude)

Latitude corresponding to the geofence

longitudestring, (decimal)(Geofence longitude)

Longitude corresponding to the geofence

radiusinteger(Geofence radius)

The radius within which the geofence should be applied

radius_unitstring(Unit of radius)

The unit in which the radius is taken, eg - kilometers, meters etc

Enum:"KILOMETERS""METERS""MILES"
device_actionsArray of strings(Device Actions)

The actions to be performed on the device

Items Enum:"LOCK_DOWN""BEEP"
cURL
curl -i -X PATCH \
  'https://api.esper.io/_mock/openapi/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: */*' \
  -d '{
    "name": "string",
    "description": "string",
    "latitude": "string",
    "longitude": "string",
    "radius": 0,
    "radius_unit": "KILOMETERS",
    "device_actions": [
      "LOCK_DOWN"
    ]
  }'

Responses

successful operation

Bodyapplication/json
idstring, (uuid)(Geofence id)read-only

id of the geofence

namestring(Geofence name)required

Name of the geofence

descriptionstring(Geofence description)

A description about the geofence

enterprisestring, (uuid)(Enterprise id)read-only

id of the enterprise resource

latitudestring, (decimal)(Geofence latitude)required

Latitude corresponding to the geofence

longitudestring, (decimal)(Geofence longitude)required

Longitude corresponding to the geofence

radiusinteger(Geofence radius)

The radius within which the geofence should be applied

radius_unitstring(Unit of radius)

The unit in which the radius is taken, eg - kilometers, meters etc

Enum:"KILOMETERS""METERS""MILES"
device_actionsArray of strings(Device Actions)

The actions to be performed on the device

Items Enum:"LOCK_DOWN""BEEP"
device_countinteger(Device count)read-only

Number of devices

created_bystring(Created by)read-only

The user who created the geofence

created_onstring, (date-time)(Creation date and time)read-only

Date and time of when the geofence was created

updated_onstring, (date-time)(Updation date and time)read-only

Date and time of when the geofence was updated

Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "enterprise": "796caaf9-a7de-4817-9ffa-39d04bf83de9", "latitude": "string", "longitude": "string", "radius": 0, "radius_unit": "KILOMETERS", "device_actions": [ "LOCK_DOWN" ], "device_count": 0, "created_by": "string", "created_on": "2019-08-24T14:15:22Z", "updated_on": "2019-08-24T14:15:22Z" }