Edit fence

Service version: 1
Last edit: 2022.09.01

Purpose

The Edit fence endpoint provides new values for fence attributes. An Admin may only send the values that need to be updated.

Request data

HTTP method: PUT

  • Constants and parameters enclosed in curly brackets { } must be replaced with their values.
  • Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.

URL request format

put
URL request format
https://{baseURL}/geofencing/{versionNumber}/fences/{fenceId}?key={Your_API_Key}&adminKey={Your_Admin_Key}

curl command request format

put
curl command request format
1curl -XPUT -H "Content-type: application/json" -d '{
2 "name": "fence_name","type": "Feature",
3 "projects": ["project_1_id", ... , "project_N_id"],
4 "geometry": {
5 "radius": radius_in_meters,
6 "type": "Point",
7 "shapeType": "shape_type",
8 "coordinates": [longitude, latitude]
9 },
10 "properties": {
11 "key": "value"
12 }
13}'
14'https://{baseURL}/geofencing/{versionNumber}/fences/{fenceId}?key={Your_API_Key}&adminKey={Your_Admin_Key}'

PUT request body format

put
PUT request body format - JSON
1{
2 "name": "fence_name","type": "Feature",
3 "projects": ["project_1_id", ... , "project_N_id"],
4 "geometry": {
5 "radius": radius_in_meters,
6 "type": "Point",
7 "shapeType": "shape_type",
8 "coordinates": [longitude, latitude]
9 },
10 "properties": {
11 "key": "value"
12 }
13}

PUT body request fields

Field name

Description

name
string

Unique name
Value: A unique name.

projects
array

A list of projects (array), it has to contain at least one entry.
Editing the list (array) of projects works like this:

  • Projects that were not linked before are linked.
  • Projects that were linked before are not changed.
  • projects that are not listed and were linked before are unlinked.


Value: A list (array) of projects containing at least one entry.

geometry
object

Fence geometry: An Admin has to provide the whole block, not only the edited attributes.
Value: The whole block with the edited attributes.

properties
object

All properties are updated.

  • An Admin has to provide all properties.
  • Any properties that already exist but are not listed are deleted.


Value: All properties.

Request parameters

The following table describes the parameters that can be used in a request.

  • Required parameters must be used or the call will fail.
  • Optional parameters may be used.
  • The order of request parameters is not important.

Required parameters

Description

baseURL
string

The base URL for calling the API.
Value: api.tomtom.com

versionNumber
string

Service version number.
Value: 1

fenceId
string

The Id of the fence to edit.
Value: UUID

key
string

An API Key valid for the requested service.
Value: Your valid API Key.

adminKey
string

An Admin key valid for the provided API key.
Value: Your valid Admin Key.

Optional parameters

Description

showGeoJson
boolean

If set to true, the output contains a representation of a custom fence shape.
For fences that are defined as GeoJSON, this parameter changes nothing.
Default value: false
Other value: true

Response data

Response body

Response body format - JSON
1{
2 "name": "fence_name",
3 "id": "fence_id",
4 "type": "Feature",
5 "projects":
6 [
7 {
8 "project_1_id",
9 "project_1_name"
10 },
11 {
12 "project_N_id",
13 "project_N_name"
14 }
15 ],
16 "geometry": {
17 "radius": radius_in_meters,
18 "type": "Point",
19 "shapeType": "shape_type",
20 "coordinates": [longitude, latitude]
21 },
22 "properties": {
23 "key": "value"
24 }
25}

Response fields

The following table describes all of the response fields.

Primary fields

Field

Description

name
string

Name of the fence.

id
string

UUID of the fence.

type
string

In the current version it is always "Feature".

projects
array

The list of projects the fence is assigned to.

geometry
object

An object that describes fence geometry. See the Custom fence shapes section.

properties
object

(Optional) An object containing user-defined properties of the fence. It's content varies between fences.

projects array

Field

Description

id
string

UUID of a project.

name
string

Name of a project.

Response codes

Code

Meaning & possible causes

200

OK

400

Bad request:

  • Fence with the given name already exists.
  • Fence geometry is invalid or not supported.
  • At least one project has to be defined for a fence.
  • No such project.
  • Invalid geometry.

403

Forbidden:

  • Provided Admin Key is invalid.
  • Admin Key is missing.

404

Not found:

  • Fence with the specified id does not exist.
  • Project with the specified id does not exist.

Example

Edit a fence

URL request example

put
URL request example
https://api.tomtom.com/geofencing/1/fences/aaab6d78-1738-45bd-a78b-ff3a7ba839f3?key={Your_API_Key}&adminKey={Your_Admin_Key}

PUT request body example

put
PUT request body example - JSON
1{
2 "name": "No-fly zone",
3 "properties": {
4 "maxAmountOfCars": 10
5 }
6}

Response body example

Response body example - JSON
1{
2 "name": "No-fly zone",
3 "id": "aaab6d78-1738-45bd-a78b-ff3a7ba839f3",
4 "type": "Feature",
5 "projects":
6 [
7 {
8 "131db271-752e-4462-bd7a-ac948864110e",
9 "No-fly zone project"
10 },
11 {
12 "00220d17-eef6-4554-8e59-ec778eddc552",
13 "No-fly zone project #2"
14 }
15 ],
16 "geometry": {
17 "radius": 75,
18 "type": "Point",
19 "shapeType": "Circle",
20 "coordinates": [-67.137343, 45.137451]
21 },
22 "properties": {
23 "maxAmountOfCars": 10
24 }
25}