8 Service APIs

This section provides a reference for APIs that should be implemented by this Building Block.

This section provides a reference for the APIs implemented by the GIS Building Block. The APIs defined here establish a blueprint for how the Building Block will interact with other Building Blocks. Additional APIs may be implemented by the Building Block, but the listed APIs define a minimal set of functionality that should be provided by any implementation of this Building Block.

The GIS BB APIs conform with the OGC web API principles and guidelines and should be deployed as a set of microservices to provide clients consistent access to the key digital functionalities and geographic data in different representations. Microservices are defined to receive requests with relevant inputs and return processed results from key digital functionalities of this Building Block. Microservices are small, independent, and loosely coupled services that perform specific functions within the larger GIS BB key digital functionalities. Each microservice is kept simple and intuitive by focusing on one particular task, and together they form a cohesive and scalable GIS architecture. Each microservice can be developed, deployed, and maintained independently, making it easier to manage and scale the system as needed.

This section provides a reference for APIs that this Building Block should implement. The APIs defined here establish a blueprint for how the Building Block will interact with other Building Blocks. The Building Block may implement additional APIs, but the listed APIs define a minimal set of functionality that any implementation of this Building Block should provide.

The GovStack non-functional requirements document provides additional information on how 'adaptors' may be used to translate an existing API to the patterns described here.

8.1 Map Display

Retrieve the data viewer type

get

Retrieve the type of the data viewer. This endpoint provides information about whether the client data viewer is desktop, mobile, web browser, or unknown.

Query parameters
supportedBrowserstring · enumOptional

Specifies the type of supported browser for the data viewer.

Default: desktopPossible values:
Responses
200
Successful retrieval of the data viewer type
application/json
Responsestring · enumDefault: desktopPossible values:
get
GET /v1/gisBb/mapDisplay/type HTTP/1.1
Host: host
Accept: */*
desktop

Retrieve GIS map display details

get

Retrieve GIS map display details. This endpoint provides access to GIS data through a data viewer, allowing users to view and query geographic or spatial information presented as graphic representations (points, polygons, lines, or raster grids) through thematic GIS layers or attribute tables. The response will include the symbology (pre-defined styles) for each map layer, displayed as a legend alongside a table of contents listing all layers provided by the service.

Responses
200
Successful retrieval of GIS map display details
application/json
get
GET /v1/gisBb/mapDisplay/details HTTP/1.1
Host: host
Accept: */*
{
  "title": "Map Display Title",
  "description": "A summary description of the map display purpose and contents.",
  "attribution": "GIS Data Viewer Attribution",
  "accessControl": true,
  "endPoint": "/r1/eGovStack/COM/11222456/SchedulerBB/creg/event/new",
  "crs": "EPSG:4326",
  "centerX": 12.3456,
  "centerY": 34.5678,
  "boundsMinX": 12.3456,
  "boundsMinY": 34.5678,
  "boundsMaxX": 12.789,
  "boundsMaxY": 34.9012
}

Add or update spatial bookmarks

post

Add or update spatial bookmarks. This endpoint allows users to capture the spatial extent of a given location as a spatial bookmark in a GIS data viewer. Users can name the bookmark and zoom to the exact extent whenever needed by selecting the bookmark's name. Users can also add, rename, and remove spatial bookmarks as necessary.

Body
namestringOptionalExample: Bookmark A
createintegerOptionalExample: 1
removebooleanOptionalExample: true
renamebooleanOptionalExample: true
zoomTobooleanOptionalExample: true
minXnumber · doubleOptionalExample: 12.3456
minYnumber · doubleOptionalExample: 34.5678
maxXnumber · doubleOptionalExample: 12.789
maxYnumber · doubleOptionalExample: 34.9012
Responses
200
Successful bookmark creation or update
application/json
post
POST /v1/gisBb/mapDisplay/bookmarks HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 133

{
  "name": "Bookmark A",
  "create": 1,
  "remove": true,
  "rename": true,
  "zoomTo": true,
  "minX": 12.3456,
  "minY": 34.5678,
  "maxX": 12.789,
  "maxY": 34.9012
}
{
  "name": "Bookmark A",
  "create": 1,
  "remove": true,
  "rename": true,
  "zoomTo": true,
  "minX": 12.3456,
  "minY": 34.5678,
  "maxX": 12.789,
  "maxY": 34.9012
}

Set minimum and maximum scale limits for each layer

put

Set minimum and maximum scale limits for each layer. This endpoint allows users to specify whether a layer is identifiable and/or selectable on the data viewer. These settings are saved as a cache by the data viewer app and are reserved for future data viewer displays. The settings are reset to default when the cache is cleared.

Query parameters
layerTitlestringRequired

The name of the GIS layer

minScaleintegerOptional

The minimum scale to show the layer's feature on the map display

maxScaleintegerOptional

The maximum scale to show the layer's feature on the map display

Responses
204
Successful setting of layer scale limits
put
PUT /v1/gisBb/mapDisplay/scale HTTP/1.1
Host: host
Accept: */*

No content

Enable basic navigation capabilities on the GIS data viewer

put

Enable basic navigation capabilities on the GIS data viewer. This endpoint allows users to perform basic navigation actions such as zooming in and out of a map, and panning to explore the displayed GIS data.

Query parameters
zoombooleanRequired

Specifies if zooming is supported

zoomLevelintegerRequired

The available zoom levels for the map

panbooleanRequired

Specifies if panning is supported

Responses
204
Successful enabling of basic navigation capabilities
put
PUT /v1/gisBb/mapDisplay/navigation HTTP/1.1
Host: host
Accept: */*

No content

Add, view, delete, and mark map notes on the GIS data viewer

post

Add, view, delete, and mark map notes on the GIS data viewer. This endpoint allows GIS users to add and share brief notes on the GIS data viewer. Other users can view and comment on these notes. Notes can only be deleted by the creator of the note. Notes are saved and served as a web feature service.

Body
creatorstringOptionalExample: John Doe
contentstringOptionalExample: This is a map note.
timeStampstringOptionalExample: 2023-08-01T12:34:56Z
addbooleanOptionalExample: true
deletebooleanOptionalExample: true
viewbooleanOptionalExample: true
visiblebooleanOptionalExample: true
xnumber · doubleOptionalExample: 12.3456
ynumber · doubleOptionalExample: 34.5678
Responses
200
Successful note creation or update
application/json
post
POST /v1/gisBb/mapDisplay/notes HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 165

{
  "creator": "John Doe",
  "content": "This is a map note.",
  "timeStamp": "2023-08-01T12:34:56Z",
  "add": true,
  "delete": true,
  "view": true,
  "visible": true,
  "x": 12.3456,
  "y": 34.5678
}
{
  "creator": "John Doe",
  "content": "This is a map note.",
  "timeStamp": "2023-08-01T12:34:56Z",
  "add": true,
  "delete": true,
  "view": true,
  "visible": true,
  "x": 12.3456,
  "y": 34.5678
}

Perform measuring actions on the GIS data viewer

post

Perform measuring actions on the GIS data viewer. This endpoint allows users to measure distances and areas on the displayed map.

Body
distancebooleanOptionalExample: true
areabooleanOptionalExample: true
Responses
204
Successful measuring action
post
POST /v1/gisBb/mapDisplay/measuring HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 29

{
  "distance": true,
  "area": true
}

No content

Retrieve the style applied to the data viewer

get

Retrieve the style applied to the data viewer. This endpoint provides information about the style used to portray the geographic features of each layer on the data viewer.

Responses
200
Successful retrieval of data viewer style
application/json
get
GET /v1/gisBb/mapDisplay/style HTTP/1.1
Host: host
Accept: */*
200

Successful retrieval of data viewer style

{
  "name": "DefaultStyle",
  "description": "Default style for GIS layers",
  "type": "CodedStyle"
}

8.2 GIS Query

Retrieve GIS layer metadata

get

Retrieve GIS layer metadata and feature type definitions.

Responses
200
Successful response
application/json
get
GET /v1/gisBB/query/layerMetadata HTTP/1.1
Host: host
Accept: */*
[
  {
    "name": "Sample Layer",
    "abstract": "A sample GIS layer",
    "author": "John Doe",
    "geometry": "point",
    "keywords": "sample, layer",
    "snippet": "This is a sample layer.",
    "spatialExtent": [
      [
        0,
        0
      ],
      [
        1,
        1
      ]
    ],
    "lastUpdated": "2023-08-08T12:00:00Z"
  }
]

Retrieve non-spatial table metadata

get

Retrieve non-spatial table metadata.

Responses
200
Successful response
application/json
get
GET /v1/gisBB/query/nonSpatialTableMetadata HTTP/1.1
Host: host
Accept: */*
[
  {
    "name": "Sample Table",
    "abstract": "A sample non-spatial table",
    "author": "Jane Smith",
    "keywords": "sample, table",
    "lastUpdated": "2023-08-08T12:00:00Z"
  }
]

Execute a GIS Query

post

Execute GIS feature or attribute query operations interactively or through predefined expressions.

Body
typestringOptional
queryFormatstringOptional
queryStringstringOptional
timeStampstring · date-timeOptional
Responses
200
Successful response
application/json
post
POST /v1/gisBB/query/gisQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 96

{
  "type": "text",
  "queryFormat": "text",
  "queryString": "text",
  "timeStamp": "2025-06-23T02:41:20.033Z"
}
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute a Locational Query

post

Execute a spatial query based on location.

Body
layerTypestringOptional
spatialRelationstringOptional
longitudenumberOptional
latitudenumberOptional
distancenumberOptional
Responses
200
Successful response
application/json
post
POST /v1/gisBB/query/locationalQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 85

{
  "layerType": "text",
  "spatialRelation": "text",
  "longitude": 1,
  "latitude": 1,
  "distance": 1
}
[
  {
    "queryType": "Locational Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute an Attribute Query

post

Execute an attribute-based query.

Body
attributeNamestringOptional
operatorstringOptional
valuestringOptional
Responses
200
Successful response
application/json
post
POST /v1/gisBB/query/attributeQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "attributeName": "text",
  "operator": "text",
  "value": "text"
}
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute a Discovery Query

post

Execute a metadata discovery query.

Body
attributeNamestringOptional
Responses
200
Successful response
application/json
post
POST /v1/gisBB/query/discoveryQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "attributeName": "text"
}
[
  {
    "queryType": "Metadata Discovery Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Retrieve Query Results

get

Retrieve the results of a previously executed query.

Responses
200
Successful response
application/json
get
GET /v1/gisBB/query/queryResult HTTP/1.1
Host: host
Accept: */*
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

8.3 GIS Data Management

Create a GIS Data Store

post

Create a new GIS data store.

Body
namestringOptional
descriptionstringOptional
providerstringOptional
connectionStringstringOptional
accessRestrictionsbooleanOptional
updateFrequencystringOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/dataStore HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 131

{
  "name": "text",
  "description": "text",
  "provider": "text",
  "connectionString": "text",
  "accessRestrictions": true,
  "updateFrequency": "text"
}

No content

Retrieve Data Store by ID

get

Retrieve details of a specific GIS data store.

Path parameters
dataStoreIdstringRequired

ID of the GIS data store to retrieve

Responses
200
Successful response
get
GET /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
Host: host
Accept: */*

No content

Update Data Store by ID

patch

Update details of a specific GIS data store.

Path parameters
dataStoreIdstringRequired

ID of the GIS data store to update

Body
namestringOptional
descriptionstringOptional
providerstringOptional
connectionStringstringOptional
accessRestrictionsbooleanOptional
updateFrequencystringOptional
Responses
200
Updated
patch
PATCH /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 131

{
  "name": "text",
  "description": "text",
  "provider": "text",
  "connectionString": "text",
  "accessRestrictions": true,
  "updateFrequency": "text"
}

No content

Publish Data Store Metadata

post

Publish metadata descriptions of a GIS database schema and its contents.

Body
namestringOptional
sourcestringOptional
descriptionstringOptional
keywordsstringOptional
lastUpdatedstring · date-timeOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/dataStoreMetadata HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "name": "text",
  "source": "text",
  "description": "text",
  "keywords": "text",
  "lastUpdated": "2025-06-23T02:41:20.033Z"
}

No content

Create User Control

post

Create user control for authentication and access permissions.

Body
usernamestringOptional
passwordstringOptional
editorPermissionsstringOptional
editorTrackingbooleanOptional
ownerControlbooleanOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/userControl HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "username": "text",
  "password": "text",
  "editorPermissions": "text",
  "editorTracking": true,
  "ownerControl": true
}

No content

Record Editor Tracking

post

Record editor tracking information for feature editing.

Body
editTypestringOptional
timeStampstring · date-timeOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/editorTracking HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "editType": "text",
  "timeStamp": "2025-06-23T02:41:20.033Z"
}

No content

Replicate GIS Data Store

post

Replicate a remote GIS database schema.

Body
sourceDataStorestringOptional
targetDataStorestringOptional
replicaTypestringOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/replicate HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 72

{
  "sourceDataStore": "text",
  "targetDataStore": "text",
  "replicaType": "text"
}

No content

Extract and Transfer GIS Data

post

Extract and transfer GIS data layers or features from a remote GIS database.

Body
sourceDataStorestringOptional
targetDataStorestringOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/extractTransfer HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "sourceDataStore": "text",
  "targetDataStore": "text"
}

No content

Edit Geographic Features

post

Create, edit, modify, or delete geographic features on the extracted GIS data layers.

Body
layerTypestringOptional
featureIDstringOptional
operationstringOptional
Responses
201
Created
post
POST /v1/gisBB/dataManagement/editFeature HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "layerType": "text",
  "featureID": "text",
  "operation": "text"
}

No content

8.4 Geocoding and Reverse Geocoding

Geocode an Address

post

Geocode an address to obtain geographic coordinates.

Body
addressstringOptional
longitudenumber · doubleOptional
latitudenumber · doubleOptional
Responses
200
Successful response
post
POST /v1/gisBB/geocodingReverseGeocoding/geocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "address": "text",
  "longitude": 1,
  "latitude": 1
}

No content

Reverse Geocode Coordinates

post

Reverse geocode geographic coordinates to obtain an address.

Body
longitudenumber · doubleOptional
latitudenumber · doubleOptional
Responses
200
Successful response
post
POST /v1/gisBB/geocodingReverseGeocoding/reverseGeocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "longitude": 1,
  "latitude": 1
}

No content

Batch Geocode

post

Perform batch geocoding or reverse geocoding using a table file with multiple addresses or coordinates.

Body
batchTypestringOptional
batchNamestringOptional
statusstringOptional
timeStampstring · date-timeOptional
Responses
201
Created
post
POST /v1/gisBB/geocodingReverseGeocoding/batchGeocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 94

{
  "batchType": "text",
  "batchName": "text",
  "status": "text",
  "timeStamp": "2025-06-23T02:41:20.033Z"
}

No content

Retrieve Geocode Result by ID

get

Retrieve the geocoding result for a specific ID.

Path parameters
resultIdstringRequired

ID of the geocoding result to retrieve

Responses
200
Successful response
get
GET /v1/gisBB/geocodingReverseGeocoding/geocodeResult/{resultId} HTTP/1.1
Host: host
Accept: */*

No content

Retrieve Reverse Geocode Result by ID

get

Retrieve the reverse geocoding result for a specific ID.

Path parameters
resultIdstringRequired

ID of the reverse geocoding result to retrieve

Responses
200
Successful response
get
GET /v1/gisBB/geocodingReverseGeocoding/reverseGeocodeResult/{resultId} HTTP/1.1
Host: host
Accept: */*

No content

8.5 Spatial Awareness and Analysis

Get Metadata

get

Retrieve metadata that describes the purpose and functionality of geospatial analysis tasks or processes.

Responses
200
Successful response with metadata
get
GET /v1/gisBB/spatialAwarenessAnalysis/metadata HTTP/1.1
Host: host
Accept: */*

No content

Get Available Processes

get

Retrieve detailed information that describes the processes that can be run on the service.

Responses
200
Successful response with available processes
get
GET /v1/gisBB/spatialAwarenessAnalysis/processes HTTP/1.1
Host: host
Accept: */*

No content

Execute Geoprocessing Task

post

Execute a geoprocessing task to perform basic spatial analysis operations.

Body
processingNamestringOptional
descriptionstringOptional
Responses
200
Successful response with geoprocessing result
post
POST /v1/gisBB/spatialAwarenessAnalysis/executeTask HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 137

{
  "processingName": "text",
  "description": "text",
  "parameters": [
    {
      "parameterName": "text",
      "value": "text",
      "code": "text",
      "defaultValue": "text"
    }
  ]
}

No content

Get Task Status

get

Get the status of an asynchronously executed geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Successful response with task status
get
GET /v1/gisBB/spatialAwarenessAnalysis/taskStatus/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

Get Task Result

get

Get the result of a finished geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Successful response with task result
get
GET /v1/gisBB/spatialAwarenessAnalysis/taskResult/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

Terminate Task

post

Terminate an asynchronously executed geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Task termination request received
post
POST /v1/gisBB/spatialAwarenessAnalysis/terminateTask/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

8.6 Reporting

Get Templates

get

Retrieve templates and resources for creating map layouts and cartographic reports.

Responses
200
Successful response with templates
get
GET /v1/gisBB/reporting/templates HTTP/1.1
Host: host
Accept: */*

No content

Add Dynamic GIS Layer

post

Add a dynamic GIS layer to a map layout or report.

Body
titlestringOptional
abstractstringOptional
authorstringOptional
keywordsstringOptional
lastUpdatedstring · date-timeOptional
Responses
200
Successful response after adding dynamic GIS layer
post
POST /v1/gisBB/reporting/dynamicLayers HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "title": "text",
  "abstract": "text",
  "author": "text",
  "keywords": "text",
  "lastUpdated": "2025-06-23T02:41:20.033Z"
}

No content

Remove Dynamic GIS Layer

delete

Remove a dynamic GIS layer from a map layout or report.

Path parameters
layerIdstringRequired

ID of the dynamic GIS layer to be removed

Responses
200
Successful response after removing dynamic GIS layer
delete
DELETE /v1/gisBB/reporting/dynamicLayers/{layerId} HTTP/1.1
Host: host
Accept: */*

No content

Add Label

post

Add a label to a map layout or report.

Body
labelTextstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding label
post
POST /v1/gisBB/reporting/labels HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 86

{
  "labelText": "text",
  "positionX": 1,
  "positionY": 1,
  "font": "text",
  "size": 1,
  "color": "text"
}

No content

Remove Label

delete

Remove a label from a map layout or report.

Path parameters
labelIdstringRequired

ID of the label to be removed

Responses
200
Successful response after removing label
delete
DELETE /v1/gisBB/reporting/labels/{labelId} HTTP/1.1
Host: host
Accept: */*

No content

Add Chart

post

Add a chart to a map layout or report.

Body
titlestringOptional
typestringOptional
datastringOptional
Responses
200
Successful response after adding chart
post
POST /v1/gisBB/reporting/charts HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "title": "text",
  "type": "text",
  "data": "text"
}

No content

Remove Chart

delete

Remove a chart from a map layout or report.

Path parameters
chartIdstringRequired

ID of the chart to be removed

Responses
200
Successful response after removing chart
delete
DELETE /v1/gisBB/reporting/charts/{chartId} HTTP/1.1
Host: host
Accept: */*

No content

Add Legend

post

Add a legend to a map layout or report.

Body
labelTextstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding legend
post
POST /v1/gisBB/reporting/legends HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 86

{
  "labelText": "text",
  "positionX": 1,
  "positionY": 1,
  "font": "text",
  "size": 1,
  "color": "text"
}

No content

Remove Legend

delete

Remove a legend from a map layout or report.

Path parameters
legendIdstringRequired

ID of the legend to be removed

Responses
200
Successful response after removing legend
delete
DELETE /v1/gisBB/reporting/legends/{legendId} HTTP/1.1
Host: host
Accept: */*

No content

Add Scale Bar

post

Add a scale bar to a map layout or report.

Body
titlestringOptional
stylestringOptional
lengthnumber · floatOptional
unitsstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding scale bar
post
POST /v1/gisBB/reporting/scaleBars HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 123

{
  "title": "text",
  "style": "text",
  "length": 1,
  "units": "text",
  "positionX": 1,
  "positionY": 1,
  "font": "text",
  "size": 1,
  "color": "text"
}

No content

Remove Scale Bar

delete

Remove a scale bar from a map layout or report.

Path parameters
scaleBarIdstringRequired

ID of the scale bar to be removed

Responses
200
Successful response after removing scale bar
delete
DELETE /v1/gisBB/reporting/scaleBars/{scaleBarId} HTTP/1.1
Host: host
Accept: */*

No content

Add North Arrow

post

Add a north arrow to a map layout or report.

Body
titlestringOptional
stylestringOptional
lengthnumber · floatOptional
unitsstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding north arrow
post
POST /v1/gisBB/reporting/northArrows HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 123

{
  "title": "text",
  "style": "text",
  "length": 1,
  "units": "text",
  "positionX": 1,
  "positionY": 1,
  "font": "text",
  "size": 1,
  "color": "text"
}

No content

Remove North Arrow

delete

Remove a north arrow from a map layout or report.

Path parameters
northArrowIdstringRequired

ID of the north arrow to be removed

Responses
200
Successful response after removing north arrow
delete
DELETE /v1/gisBB/reporting/northArrows/{northArrowId} HTTP/1.1
Host: host
Accept: */*

No content

8.7 Geofencing

List Geofences

get
Responses
200
Successful response with a list of geofences
get
GET /v1/gisBB/geofencing/geofences HTTP/1.1
Host: host
Accept: */*
200

Successful response with a list of geofences

No content

Create Geofence

post
Body
namestringOptional
shapestringOptional
sizenumber · doubleOptional
statusbooleanOptional
Responses
201
Successful response after creating geofence
post
POST /v1/gisBB/geofencing/geofences HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "name": "text",
  "shape": "text",
  "size": 1,
  "status": true
}
201

Successful response after creating geofence

No content

Get Geofence by ID

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with geofence details
get
GET /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*

No content

Update Geofence

put
Path parameters
geofenceIdstringRequired
Body
namestringOptional
shapestringOptional
sizenumber · doubleOptional
statusbooleanOptional
Responses
204
Successful response after updating geofence
put
PUT /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "name": "text",
  "shape": "text",
  "size": 1,
  "status": true
}

No content

Delete Geofence

delete
Path parameters
geofenceIdstringRequired
Responses
204
Successful response after deleting geofence
delete
DELETE /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*

No content

Get Geofence Status

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with geofence status
get
GET /v1/gisBB/geofencing/geofences/{geofenceId}/status HTTP/1.1
Host: host
Accept: */*

No content

Activate Geofence

post
Path parameters
geofenceIdstringRequired
Responses
200
Successful response after activating geofence
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/activate HTTP/1.1
Host: host
Accept: */*

No content

Deactivate Geofence

post
Path parameters
geofenceIdstringRequired
Responses
200
Successful response after deactivating geofence
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/deactivate HTTP/1.1
Host: host
Accept: */*

No content

List Geofence Elements

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with a list of geofence elements
get
GET /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Accept: */*

No content

Add Geofence Element

post
Path parameters
geofenceIdstringRequired
Body
elementTypestringOptional
trackingMethodstringOptional
Responses
201
Successful response after adding geofence element
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "elementType": "text",
  "trackingMethod": "text"
}

No content

Remove Geofence Element

delete
Path parameters
geofenceIdstringRequired
elementIdstringRequired
Responses
204
Successful response after removing geofence element
delete
DELETE /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId} HTTP/1.1
Host: host
Accept: */*

No content

Create Action Rule for Geofence

post
Path parameters
geofenceIdstringRequired
Body
actionTypestringOptional
actionstringOptional
Responses
201
Successful response after creating action rule
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/rules HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "actionType": "text",
  "action": "text"
}

No content

Create Element Action Rule for Geofence

post
Path parameters
geofenceIdstringRequired
elementIdstringRequired
Body
notificationTypestringOptional
recipientstringOptional
recipientTypestringOptional
Responses
201
Successful response after creating element action rule
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId}/actions HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 69

{
  "notificationType": "text",
  "recipient": "text",
  "recipientType": "text"
}

No content

8.8 Routing

Create Route

post
Body
startNodeobjectOptional
endNodeobjectOptional
passThroughbooleanOptional
restrictionsstringOptional
additionalParametersstringOptional
Responses
201
Successful response after creating a route
post
POST /v1/gisBB/routing/routes HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "startNode": {},
  "endNode": {},
  "passThrough": true,
  "restrictions": "text",
  "additionalParameters": "text"
}
201

Successful response after creating a route

No content

Get Route by ID

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with route details
get
GET /v1/gisBB/routing/routes/{routeId} HTTP/1.1
Host: host
Accept: */*

No content

Delete Route

delete
Path parameters
routeIdstringRequired
Responses
204
Successful response after deleting route
delete
DELETE /v1/gisBB/routing/routes/{routeId} HTTP/1.1
Host: host
Accept: */*

No content

Generate Direction Report for Route

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with direction report
get
GET /v1/gisBB/routing/routes/{routeId}/directions HTTP/1.1
Host: host
Accept: */*

No content

List Route Segments

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with a list of route segments
get
GET /v1/gisBB/routing/routes/{routeId}/segments HTTP/1.1
Host: host
Accept: */*

No content

List Service Areas

get
Responses
200
Successful response with a list of service areas
get
GET /v1/gisBB/routing/service-areas HTTP/1.1
Host: host
Accept: */*
200

Successful response with a list of service areas

No content

Last updated

Was this helpful?