geoKatcher monitors geofences between two layers of geospatial data. It exposes a monitor service to create, read, update and delete monitors, and a healthcheck endpoint. Layers and features are retrieved from a Kano instance discovered over feathers-distributed.
Service health check
Returns the service name and its version. The version can be overridden at build time with the VERSION environment variable, and a buildNumber is added when BUILD_NUMBER is set.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Responses
Service is up
List monitors
Returns the stored monitors. Feathers query parameters are supported through the query string (e.g. ?monitor.name=my-monitor). Pagination is disabled, so the response is a plain array.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Responses
The matching monitors
Create a monitor
Validates the monitor structure, then runs the evaluation once before saving. If either fails, nothing is persisted and the error is returned.
Set monitor.type to dryRun to test a monitor without persisting it, running its action or emitting events: name and trigger are then optional and the response is a DryRunResult instead of a stored monitor.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Request Body
Responses
The created monitor, or a dry-run result when monitor.type is dryRun
Get a monitor by id
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Responses
The monitor
Replace a monitor
Full update: the whole monitor is replaced, so nothing is inherited. monitor.name and monitor.enabled must be provided explicitly, and monitor.type may only be cron or event (not dryRun). The structure is validated and re-evaluated before saving.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Request Body
Responses
The updated monitor
Delete a monitor
Stops the monitor's schedule/listeners and removes it from the database.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Responses
The deleted monitor
Partially update a monitor
Partial update: only the supplied fields change, the rest are inherited from the stored monitor. Two exceptions, because a section that is supplied only inherits its name:
- when updating a layer element (
targetorzone), itsfiltermust be provided again to be kept, otherwise it is dropped; - when updating
monitor.action, itsadditionalPropertiesmust be provided again to be kept, otherwise it is dropped.
These constraints only apply to the part actually being updated.
Authorizations
Paste a Kalisio JWT access token to authorize requests sent through the API gateway.
Request Body
Responses
The patched monitor