Download OpenAPI specification:Download
Sky Ledge is the world's simplest API for displaying insights (or anything) on a map.
But Sky Ledge is more than just seeing stuff on a map or graph. Sky Ledge enables you to track, predict and respond to alerts.
You can receive notifications based on Event Types you define. You can also allow users to take actions based on the Event Types.
Control Rooms are “containers of insights”.
Control Rooms can be created to organise insights geographically (e.g. Control Rooms for different regions, New York, Boston, San Fran).
They can also be used to organise insights by themes or types of insights (for example, different Control Rooms for the regulator, marketing team and logistics).
Returns a list of Control Rooms within your Organization.
sort | string Example: sort=name&sort=createdAt,asc&sort=temperature,desc Sorts by the specified parameter |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "controlRooms": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Vehicle Tracking",
- "description": "Vehicle Tracking of Melbourne Fleet",
- "collaborators": [
- {
- "email": "john.smith@skyledge.com",
- "firstName": "John",
- "lastName": "Smith",
- "role": "operator"
}
], - "filter": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}, - "icon": "string"
}
]
}
Create a new Control Room within the Organization.
This request returns the newly created Control Room.
A filter
can be added to limit which assets and events are displayed in the Control Room.
name required | string |
description required | string |
object (AttributeFilters) A map of "event attribute" to AttributeFilters |
{- "name": "Vehicle Tracking",
- "description": "Vehicle Tracking of Melbourne Fleet",
- "filter": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Vehicle Tracking",
- "description": "Vehicle Tracking of Melbourne Fleet",
- "collaborators": [
- {
- "email": "john.smith@skyledge.com",
- "firstName": "John",
- "lastName": "Smith",
- "role": "operator"
}
], - "filter": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}, - "icon": "string"
}
Retrieve a Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Vehicle Tracking",
- "description": "Vehicle Tracking of Melbourne Fleet",
- "collaborators": [
- {
- "email": "john.smith@skyledge.com",
- "firstName": "John",
- "lastName": "Smith",
- "role": "operator"
}
], - "filter": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}, - "icon": "string"
}
Update an existing Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
name | string |
description | string |
object (AttributeFilters) A map of "event attribute" to AttributeFilters |
{- "name": "Vehicle Tracking",
- "description": "Vehicle Tracking of Melbourne Fleet",
- "filter": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}
}
Retrieve the Config for the specified Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "controlRoomPageVisible": true
}
Update the Config for the specified Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
controlRoomPageVisible | boolean If false, the Control Room Map page is not displayed. |
{- "controlRoomPageVisible": false
}
Event Types describe the types of information or insights you'd like to see in your Control Room.
Retrieve a list of Event Types assigned to this Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "eventTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "allowedStates": [
- [
- "UNPUBLISHED",
- "PUBLISHED"
]
], - "category": "DISCRETE",
- "defaultImportanceLevel": {
- "name": "Critical",
- "level": 3
}, - "identifier": "battery-level-low",
- "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
]
}
Create an Event Type.
Note that the title
and description
fields support placeholders within curly braces. These are placeholder
values that will be specified by each Event created against this Asset Type.
For example, an Event Type might have the title {{vehicleRegistration}} broken down at {{locationName}}
.
A specific instance of this Event might be YAS232 broken down at corner of North Road and McKenzie Ave
.
The eventDisplay
field can be used to specify the type and options for displaying the event, providing visual representation around the event occurrence.
name | string |
title | string |
description | string |
locationType | string |
state | string Enum: "UNPUBLISHED" "PUBLISHED" "ARCHIVED" |
category | string (EventTypeCategory) Enum: "DISCRETE" "ONGOING" The category of the event type. Discrete event types generate Complete events, whereas Ongoing event types generate Active events. |
defaultImportanceLevel | integer |
controlRooms | Array of strings <uuid> (IdList) |
object (EventDisplay) Optional event display configuration. If provided, it can specify the type and options for displaying the event. |
{- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "category": "DISCRETE",
- "defaultImportanceLevel": 0,
- "controlRooms": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "allowedStates": [
- [
- "UNPUBLISHED",
- "PUBLISHED"
]
], - "category": "DISCRETE",
- "defaultImportanceLevel": {
- "name": "Critical",
- "level": 3
}, - "identifier": "battery-level-low",
- "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
Retrieve a list of Event Types that exist within the Organization.
{- "eventTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "allowedStates": [
- [
- "UNPUBLISHED",
- "PUBLISHED"
]
], - "category": "DISCRETE",
- "defaultImportanceLevel": {
- "name": "Critical",
- "level": 3
}, - "identifier": "battery-level-low",
- "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
]
}
Retrieve a single Event Type.
eventTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Event Type Id |
include | string Example: include=controlRooms If include=controlRooms is specified, an array of controlRooms this events lives under is returned as part of the response. |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "allowedStates": [
- [
- "UNPUBLISHED",
- "PUBLISHED"
]
], - "category": "DISCRETE",
- "defaultImportanceLevel": {
- "name": "Critical",
- "level": 3
}, - "identifier": "battery-level-low",
- "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
Update an Event Type.
eventTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Event Type Id |
name | string |
title | string |
description | string |
locationType | string |
state | string Enum: "UNPUBLISHED" "PUBLISHED" "ARCHIVED" |
category | string (EventTypeCategory) Enum: "DISCRETE" "ONGOING" The category of the event type. Discrete event types generate Complete events, whereas Ongoing event types generate Active events. |
defaultImportanceLevel | integer |
object (EventDisplay) Optional event display configuration. If provided, it can specify the type and options for displaying the event. |
{- "name": "Battery level low",
- "title": "Battery level low for {{deviceId}}",
- "description": "Battery level low for {{deviceId}}",
- "locationType": "Point",
- "state": "UNPUBLISHED",
- "category": "DISCRETE",
- "defaultImportanceLevel": 0,
- "eventDisplay": {
- "type": "timeSeries",
- "options": {
- "metric": "fuelDelta",
- "chartTitle": "Fuel Chart",
- "metricLabel": "Fuel Reading",
- "before": 5,
- "after": 10
}
}
}
Retrieve Events within a Control Room.
By default, this will return the 30 latest Events within a Control Room.
You can use the query parameters before
or after
to retrieve older Events.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
before | string <date-time> (DateTime) Example: before=2019-02-05T09:32:08.080Z Request items before this time |
after | string <date-time> (DateTime) Example: after=2019-02-05T09:32:08.080Z Request items after this time |
{- "totalCount": 0,
- "events": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "state": "ACTIVE",
- "qualifier": "ref-1234",
- "externalUrls": {
}, - "dynamicAttributes": {
- "property1": "string",
- "property2": "string"
}, - "cleared": true
}
]
}
Clear or unclear Events.
Cleared Events will not show up when performing GET /controlrooms/{controlRoomId}/events
,
however they can still be retrieved when searching for Events (POST /controlrooms/{controlRoomId}/events/search
).
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
eventIds | Array of strings <uuid> (IdList) |
cleared | boolean |
{- "eventIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "cleared": true
}
Search for Events.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
before | string <date-time> (DateTime) Example: before=2019-02-05T09:32:08.080Z Request items before this time |
after | string <date-time> (DateTime) Example: after=2019-02-05T09:32:08.080Z Request items after this time |
count | boolean If true, returns the total number of matching events, ignoring before/after timestamps |
startDate | string <date-time> (DateTime) |
endDate | string <date-time> (DateTime) |
before | string <date-time> (DateTime) |
after | string <date-time> (DateTime) |
eventIds | Array of strings <uuid> (IdList) |
eventTypeIds | Array of strings <uuid> (IdList) |
assetIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
importanceLevels | Array of integers |
bounds | string The bounds within to search for events. Must be a csv string as follows - 'lat,lng;lat,lng' |
object A map of Event Type UUIDs to a Map of attributes and filter values. Also, The API supports the "all" keyword to apply a filter to all event types. As an Example, in the case of "task.severity": { "gt": 1 } which should filter all tasks with a severity greater than 1. | |
cleared | boolean |
state | string (EventState) Enum: "ACTIVE" "COMPLETE" "RESOLVED" The different states an event can be in. |
{- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z",
- "before": "2019-02-05T09:32:08.080Z",
- "after": "2019-02-05T09:32:08.080Z",
- "eventIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "importanceLevels": [
- 0
], - "bounds": "30,144;32,146",
- "eventTypeAttributes": {
- "58296792-3111-4a2b-ab20-9320fabeb3ab": {
- "task.date": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "task.severity": {
- "gt": 6,
- "lt": 10
}
}
}, - "cleared": true,
- "state": "ACTIVE"
}
{- "totalCount": 0,
- "events": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "state": "ACTIVE",
- "qualifier": "ref-1234",
- "externalUrls": {
}, - "dynamicAttributes": {
- "property1": "string",
- "property2": "string"
}, - "cleared": true
}
]
}
Summary of events within a control room. This will retrieve a count of all active / non-cleared events grouped by importance or event type.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
groupBy | string Example: groupBy=importance,eventType If groupBy=importance is specified or groupBy param is not provided, event summary is created for Importance Level If groupBy=eventType is specified, event summary is created for event types |
eventTypeId | string <uuid> Example: eventTypeId=666bf2b9-d78c-45d1-9cb9-c8828f595852 Limit the results to only the specified event type. If not specified, all event types assigned to the control room are included. |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
{- "eventTypeSummary": [
- {
- "defaultImportanceLevel": {
- "name": "Critical",
- "level": 3
}, - "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeName": "string",
- "numberOfEvents": 0
}
], - "importanceSummary": [
- {
- "level": 1,
- "name": "Information",
- "numberOfEvents": 12
}, - {
- "level": 3,
- "name": "Critical",
- "numberOfEvents": 4
}
]
}
Creates an Event.
The elements in the dynamicAttributes
map will replace any {{}}
placeholders specified in the
Event Type title
and description
.
Only the EventId is returned as part of this request.
Note: Events are read-only, they cannot be changed once created (with the exception of ongoing events). However, Events can be cleared and hidden from view.
eventTypeIdentifier required | string (UUIDIdentifier) Example: identifier-09785f00-9a2f-4d43-9681-ca6e4c8467a9 Event Type Identifier. Last 36 characters must be valid UUID. |
object (Attributes) | |
importanceLevel | integer |
qualifier | string (Qualifier) The qualifier differentiates ongoing events linked to an asset of the same event type, based on a sub-type, category, or unique reference number. Unique qualifiers allow multiple active events of the same type for a single asset, each differing by its qualifier. |
timestamp | string <date-time> (DateTime) |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
object | |
assetId | string <uuid> (Id) |
assetIdentifier | string (Identifier) |
{- "dynamicAttributes": {
- "property1": "string",
- "property2": "string"
}, - "importanceLevel": 0,
- "qualifier": "ref-1234",
- "timestamp": "2019-02-05T09:32:08.080Z",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "externalUrls": {
}, - "assetId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetIdentifier": "identifier"
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852"
}
Update an Event using the Event Id.
Currently, only the state of the event can be updated:
Active
events can transition to Complete
or Resolved
.Complete
events can transition to Resolved
.Resolved
events cannot be transitioned.eventId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Event Id |
state | string (EventState) Enum: "ACTIVE" "COMPLETE" "RESOLVED" The different states an event can be in. |
{- "state": "ACTIVE"
}
Get Event using the Event Id.
eventId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Event Id |
include | string Example: include=controlRooms If include=controlRooms is specified, an array of controlRooms this events lives under is returned as part of the response. |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "title": "Battery level low for {{deviceId}}",
- "description": "Indicated battery level info",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "state": "ACTIVE",
- "qualifier": "ref-1234",
- "externalUrls": {
}, - "dynamicAttributes": {
- "property1": "string",
- "property2": "string"
}, - "controlRooms": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "cleared": false
}
]
}
Search for Events across the organization.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
before | string <date-time> (DateTime) Example: before=2019-02-05T09:32:08.080Z Request items before this time |
after | string <date-time> (DateTime) Example: after=2019-02-05T09:32:08.080Z Request items after this time |
count | boolean If true, returns the total number of matching events, ignoring before/after timestamps |
startDate | string <date-time> (DateTime) |
endDate | string <date-time> (DateTime) |
before | string <date-time> (DateTime) |
after | string <date-time> (DateTime) |
eventIds | Array of strings <uuid> (IdList) |
eventTypeIds | Array of strings <uuid> (IdList) |
assetIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
importanceLevels | Array of integers |
bounds | string The bounds within to search for events. Must be a csv string as follows - 'lat,lng;lat,lng' |
object A map of Event Type UUIDs to a Map of attributes and filter values. Also, The API supports the "all" keyword to apply a filter to all event types. As an Example, in the case of "task.severity": { "gt": 1 } which should filter all tasks with a severity greater than 1. | |
state | string (EventState) Enum: "ACTIVE" "COMPLETE" "RESOLVED" The different states an event can be in. |
{- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z",
- "before": "2019-02-05T09:32:08.080Z",
- "after": "2019-02-05T09:32:08.080Z",
- "eventIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "importanceLevels": [
- 0
], - "bounds": "30,144;32,146",
- "eventTypeAttributes": {
- "58296792-3111-4a2b-ab20-9320fabeb3ab": {
- "task.date": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "task.severity": {
- "gt": 6,
- "lt": 10
}
}
}, - "state": "ACTIVE"
}
{- "totalCount": 0,
- "events": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "title": "Battery level low for {{deviceId}}",
- "description": "Indicated battery level info",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "state": "ACTIVE",
- "qualifier": "ref-1234",
- "externalUrls": {
}, - "dynamicAttributes": {
- "property1": "string",
- "property2": "string"
}, - "controlRooms": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "cleared": false
}
]
}
]
}
Retrieve a list of Asset Types that have been assigned to this Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "assetTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "identifier": "cargo-truck",
- "icon": "vehicle-truck"
}
]
}
Assigns an Asset Type to a Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
Array of AppView (object) or PopupView (object) or MapView (object) or ReportView (object) or UpdateView (object) |
{- "views": [
- {
- "viewName": "APP",
- "widgets": [
- {
- "tagName": "string"
}
], - "viewSettings": {
- "appIdentifier": "string",
- "appName": "string",
- "dockMode": "fill"
}
}
]
}
Get an Assigned Asset Type of a Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
{- "views": [
- {
- "viewName": "APP",
- "widgets": [
- {
- "tagName": "string"
}
], - "viewSettings": {
- "appIdentifier": "string",
- "appName": "string",
- "dockMode": "fill"
}
}
]
}
Creates an Asset Type.
identifier | string A unique identifier for this Asset Types. No two Asset Types can share an identifier. Identifiers starting with _ are reserved. |
name | string |
description | string |
icon | string |
{- "identifier": "truck",
- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "icon": "vehicle-truck"
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "identifier": "cargo-truck",
- "icon": "vehicle-truck"
}
Retrieve a list of Asset Types that exist within the Organization.
{- "assetTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "identifier": "cargo-truck",
- "icon": "vehicle-truck"
}
]
}
Retrieve a single Asset Type.
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "identifier": "cargo-truck",
- "icon": "vehicle-truck"
}
Update an Asset Type.
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
name | string |
description | string |
icon | string |
{- "name": "Cargo Truck",
- "description": "A Cargo Truck",
- "icon": "vehicle-truck"
}
Creates an Aggregation.
An Aggregation returns aggregated data grouped by a specific asset.
Currently, the following aggregations are supported:
The aggregation can be limited to a date range by specifying start and end date as query parameters.
The results can be grouped by a date period by specifying the dateGrouping. Both period and timezone are required.
You can optionally retrieve the Assets returned in the results by passing embed=asset
. This will
add an array of assets to the results.
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
sort | string Example: sort=cycle.sumDuration,asc Sorts by the specified parameter. To sort by a cycle parameter, append "cycle." |
embed | string Example: embed=assets If specified, assets are embedded in the response |
include | string Example: include=totalCount If include=totalCount is specified, the total count is returned as part of the request. |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
Array of objects The parameters for the aggregation report. | |
Array of CycleDurationAggregationParameter (object) or CycleAttributeAggregationParameter (object) The parameters for the aggregation report. | |
assetIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
object If date grouping is specified, the results are grouped by that period |
{- "parameters": [
- {
- "alias": "string",
- "metric": "string",
- "function": "sum"
}
], - "cycleParameters": [
- {
- "cycleTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "type": "attribute",
- "metric": "speed",
- "function": "average"
}, - {
- "identifier": "shifts",
- "type": "duration",
- "function": "sum",
- "filters": [
- {
- "period": "night"
}
]
}
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "dateGrouping": {
- "period": "week",
- "timezone": "Australia/Melbourne"
}
}
{- "results": [
- {
- "assetId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "values": {
- "averageSpeed": 32,
- "sumDistance": 1200
}, - "cycleValues": [
- {
- "666bf2b9-d78c-45d1-9cb9-c8828f595852": {
- "sumDuration": 14400,
- "sumDistance": 1000
}
}
], - "date": "2021-01-01T00:00+10:00"
}
]
}
Creates a Period Aggregation for a single Asset.
This returns an Aggregation grouped by a specified time period. The only supported period is day. A timezone must be specified.
The maximum allowed date range is 1 year.
If no start and end date is specified, results for the last seven days are shown.
If a start date OR an end date is specified, results for 30 days are returned.
assetId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Id |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
Array of objects The parameters for the aggregation report. |
{- "parameters": [
- {
- "alias": "string",
- "metric": "string",
- "function": "sum"
}
]
}
Creates a Period Aggregation for a single Asset.
This returns an Aggregation grouped by a specified time period. The only supported period is day. A timezone must be specified.
The maximum allowed date range is 1 year.
If no start and end date is specified, results for the last seven days are shown.
If a start date OR an end date is specified, results for 30 days are returned.
assetIdentifier required | string (Identifier) Example: identifier Asset Identifier. Last 36 characters must be valid UUID. |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
Array of objects The parameters for the aggregation report. |
{- "parameters": [
- {
- "alias": "string",
- "metric": "string",
- "function": "sum"
}
]
}
Retrieve a list of Assets that exist in this Control Room.
For an Asset to exist in a Control Room, it's Asset Type must be assigned to the Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
recordedAfter | string <date-time> (DateTime) Example: recordedAfter=2019-02-05T09:32:08.080Z Request items after this time |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "totalCount": 0,
- "assets": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetIdentifier": "tracker-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Tracker",
- "description": "Tracker",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "externalUrls": {
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}
}
]
}
Create an Asset.
Each Asset must have a unique Asset Identifier. In practice, an Asset Identifier is a way to track Assets from your internal systems in Sky Ledge. For example, an Asset Identifier might map to a device id or an employee id in your database.
An Asset Type has both attributes
and metrics
.
attributes
can be thought as properties of an Asset that change infrequently or not at all. These can be
properties such as name, model number, age, etc.
metrics
are numeric values that change over time. These can be properties such as speed, temperature,
rotations per minute, etc. Metrics can be queried historically.
assetTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Type Id |
assetIdentifier | string A unique identifier for this asset. No two Assets can share an identifier. |
name | string |
description | string |
object (Attributes) | |
object | |
timestamp | string <date-time> Timestamp of the update. If not provided, the current time is used. Time cannot be more than 5 minutes before lastModifiedAt or more than 5 minutes in future |
object | |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) |
{- "assetIdentifier": "ct_au383",
- "name": "Cargo Truck AU383",
- "description": "Truck for transporting equipment to the site.",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}, - "timestamp": "2019-02-05T09:32:08.080Z",
- "externalUrls": {
}, - "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
}
Create an Asset by Asset Type Identifier.
Each Asset must have a unique Asset Identifier. In practice, an Asset Identifier is a way to track Assets from your internal systems in Sky Ledge. For example, an Asset Identifier might map to a device id or an employee id in your database.
An Asset Type has both attributes
and metrics
.
attributes
can be thought as properties of an Asset that change infrequently or not at all. These can be
properties such as name, model number, age, etc.
metrics
are numeric values that change over time. These can be properties such as speed, temperature,
rotations per minute, etc. Metrics can be queried historically.
assetTypeIdentifier required | string (Identifier) Example: identifier Asset Type Identifier. |
assetIdentifier | string A unique identifier for this asset. No two Assets can share an identifier. |
name | string |
description | string |
object (Attributes) | |
object | |
timestamp | string <date-time> Timestamp of the update. If not provided, the current time is used. Time cannot be more than 5 minutes before lastModifiedAt or more than 5 minutes in future |
object | |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) |
{- "assetIdentifier": "ct_au383",
- "name": "Cargo Truck AU383",
- "description": "Truck for transporting equipment to the site.",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}, - "timestamp": "2019-02-05T09:32:08.080Z",
- "externalUrls": {
}, - "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
}
Retrieves a list of Assets within the Organization.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "totalCount": 0,
- "assets": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetIdentifier": "tracker-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Tracker",
- "description": "Tracker",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "externalUrls": {
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}
}
]
}
Search for Assets.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
assetTypeIds | Array of strings <uuid> (IdList) |
assetIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
bounds | string The bounds within to search for assets. Must be a csv string as follows - 'lat,lng;lat,lng' |
object | |
recordedAfter | string <date-time> (DateTime) |
{- "assetTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "bounds": "30,144;32,146",
- "attributes": {
- "property1": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}, - "property2": {
- "property1": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "property2": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}
}
}, - "recordedAfter": "2019-02-05T09:32:08.080Z"
}
{- "totalCount": 0,
- "assets": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetIdentifier": "tracker-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Tracker",
- "description": "Tracker",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "externalUrls": {
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}
}
]
}
List of distinct sorted asset attribute values for given attribute
attributeKey required | string (AttributeName) Example: companyPath.name.last Attribute Key |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
assetTypeIds | Array of strings <uuid> (IdList) |
{- "assetTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
]
}
{- "totalCount": 0,
- "values": [
- "string"
]
}
Update an Asset using the Asset Id.
This is a PATCH request. As such, you only need to specify properties that have changed. They will be merged into the existing Asset.
This also applies to attributes
and metrics
. For example, if your Asset is tracking both speed and
temperature, you can update only the speed (without affecting temperature) as follows:
{ "metrics" { "speed": 40 } }
By default, the current UTC time is used. This can be overwritten by specifying timestamp
in the request.
timestamp
cannot be:
assetId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Id |
name | string |
description | string |
object (Attributes) | |
object | |
object | |
timestamp | string Timestamp of the update. If not provided, the current time is used. Time cannot be more than 5 minutes before lastModifiedAt or more than 5 minutes in future |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) |
{- "name": "Cargo Truck AU383",
- "description": "Truck for transporting equipment to the site.",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}, - "externalUrls": {
}, - "timestamp": "string",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
}
Update an Asset using the Asset Identifier.
This is a PATCH request. As such, you only need to specify properties that have changed. They will be merged into the existing Asset.
This also applies to attributes
and metrics
. For example, if your Asset is tracking both speed`and
temperature, you can update only the speed (without affecting temperature) as follows:
{ "metrics" { "speed": 40 } }
By default, the current UTC time is used. This can be overwritten by specifying timestamp
in the request.
timestamp
cannot be:
assetIdentifier required | string (Identifier) Example: identifier Asset Identifier. Last 36 characters must be valid UUID. |
name | string |
description | string |
object (Attributes) | |
object | |
object | |
timestamp | string Timestamp of the update. If not provided, the current time is used. Time cannot be more than 5 minutes before lastModifiedAt or more than 5 minutes in future |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) |
{- "name": "Cargo Truck AU383",
- "description": "Truck for transporting equipment to the site.",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "metrics": {
- "temperature": 32,
- "battery": 0.5
}, - "externalUrls": {
}, - "timestamp": "string",
- "location": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
}
History for a single metric.
This returns two equal-length arrays - one containing timestamps and one containing metric values. `
assetId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Id |
metric required | string Example: speed Asset Metric. |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
{- "times": [
- "2019-02-05T09:32:08.080Z"
], - "locations": [
- 0
]
}
History for a single metric.
This returns two equal-length arrays - one containing timestamps and one containing metric values. `
assetIdentifier required | string (Identifier) Example: identifier Asset Identifier. Last 36 characters must be valid UUID. |
metric required | string Example: speed Asset Metric. |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
{- "times": [
- "2019-02-05T09:32:08.080Z"
], - "locations": [
- 0
]
}
Location history for an asset.
This returns two equal-length arrays - one containing timestamps and one containing geojson locations. `
assetId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Asset Id |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
{- "times": [
- "2019-02-05T09:32:08.080Z"
], - "locations": [
- {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
]
}
Location history for an asset.
This returns two equal-length arrays - one containing timestamps and one containing geojson locations. `
assetIdentifier required | string (Identifier) Example: identifier Asset Identifier. Last 36 characters must be valid UUID. |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
startDate | string <date-time> (DateTime) Example: startDate=2019-02-05T09:32:08.080Z |
endDate | string <date-time> (DateTime) Example: endDate=2019-02-05T09:32:08.080Z |
{- "times": [
- "2019-02-05T09:32:08.080Z"
], - "locations": [
- {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}
]
}
Retrieve a list of Place Types that have been assigned to this Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "placeTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Customer",
- "description": "Customer Sites",
- "identifier": "customer"
}
]
}
Assigns a Place Type to a Control Room. When a Place Type is assigned to a Control Room, any Places of that type will appear within the Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
placeTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Place Type Id |
Creates a Place Type.
name | string |
identifier | string A unique identifier for this place type. No two Place Types can share an identifier. |
description | string |
controlRooms | Array of strings <uuid> (IdList) |
{- "name": "Customer sites",
- "identifier": "ct_au383",
- "description": "Customer sites",
- "controlRooms": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
]
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Customer",
- "description": "Customer Sites",
- "identifier": "customer"
}
Retrieve a list of Place Types that exist within the Organization.
{- "placeTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Customer",
- "description": "Customer Sites",
- "identifier": "customer"
}
]
}
Retrieve a single Place Type.
placeTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Place Type Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Customer",
- "description": "Customer Sites",
- "identifier": "customer"
}
Update a Place Type.
placeTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Place Type Id |
name | string |
description | string |
{- "name": "Customer sites",
- "description": "Customer sites"
}
Retrieve a list of Places that exist in this Control Room.
For an Place to exist in a Control Room, it's Place Type must be assigned to the Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "places": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeIdentifier": "place-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
]
}
Create a Place.
Each Place must have a unique Place Identifier. For example, an Place Identifier might map to an address or entry in your database.
placeTypeIdentifier required | string (Identifier) Example: identifier The Place Type Identifier. |
name | string |
description | string |
{- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
List Places within the organization.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "places": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeIdentifier": "place-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
]
}
Retrieves a Single Place by Id.
placeId required | string (Identifier) Example: identifier The Place Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeIdentifier": "place-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
Update a Place using the Place Id.
This is a PATCH request. As such, you only need to specify properties that have changed. They will be merged into the existing Place.
placeId required | string (Identifier) Example: identifier The Place Id |
name | string |
description | string |
{- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
Retrieves a Single Place by Identifier.
placeIdentifier required | string (Identifier) Example: identifier The Place Identifier. Last 36 characters must be valid UUID. |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "placeIdentifier": "place-123",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
Update an Place using the Place Identifier.
This is a PATCH request. As such, you only need to specify properties that have changed. They will be merged into the existing Place.
placeIdentifier required | string (Identifier) Example: identifier The Place Identifier. Last 36 characters must be valid UUID. |
name | string |
description | string |
{- "name": "Sky Ledge Headquarters",
- "description": "The super-secret, ultra official Sky Ledge Headquarters",
- "location": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 145,
- -32
], - [
- 144,
- -32
], - [
- 144,
- -33
], - [
- 145,
- -32
]
]
]
}
}
List Collaborators with access to a Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "name": "Jessica Smith",
- "role": "operator",
- "pending": true
}
Invite Collaborators to a Control Room.
If a Collaborator is already part of the Organization, they will be added automatically.
If the Collaborator doesn't have an account, they will be invited to join Sky Ledge and will be added upon creating an account.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
Array of objects (ControlRoomCollaboratorRequest) |
{- "collaborators": [
- {
- "email": "john.smith@skyledge.com",
- "firstName": "John",
- "lastName": "Smith",
- "role": "operator"
}
]
}
Retrieve a list of Users that exist within the Organization.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
{- "users": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "email": "john.smith@skyledge.com",
- "firstName": "John",
- "lastName": "Smith",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "state": "string",
- "country": "string"
}
]
}
Installs an App within a Control Room. The appIdentifier
must be a pre-defined App for this to work correctly.
weight
is used to control where the App appears in the Control Room sidenav. The higher the
weight, the lower the app will appear in the sidenav menu.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
weight | number |
object |
{- "weight": 30,
- "appConfig": {
- "assetTypeIds": "id1, id2",
- "units": "metric"
}
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "appIdentifier": "fleets/maintenance",
- "weight": 30,
- "appConfig": {
- "assetTypeIds": "id1, id2",
- "units": "metric"
}
}
Retrieve a list of Apps that have been installed in this Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
{- "placeTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "appIdentifier": "fleets/maintenance",
- "weight": 30,
- "appConfig": {
- "assetTypeIds": "id1, id2",
- "units": "metric"
}
}
]
}
Retrieves a single Control Room App.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
appInstanceId required | string (Identifier) Example: identifier The App Instance Id. This is an id to uniquely identify an instance of an app within a Control Room. |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "appIdentifier": "fleets/maintenance",
- "weight": 30,
- "appConfig": {
- "assetTypeIds": "id1, id2",
- "units": "metric"
}
}
Updates an installed App. This primarily lets you update the configuaration of the App as well as the weight of the App (where it appears in the Control Room sidenav).
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
appInstanceId required | string (Identifier) Example: identifier The App Instance Id. This is an id to uniquely identify an instance of an app within a Control Room. |
weight | number |
object |
{- "weight": 30,
- "appConfig": {
- "assetTypeIds": "id1, id2",
- "units": "metric"
}
}
Uninstall an App from a Control Room. The App will no longer be accessible from the Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
appInstanceId required | string (Identifier) Example: identifier The App Instance Id. This is an id to uniquely identify an instance of an app within a Control Room. |
Creates a Task.
taskTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Type Id |
eventId required | string <uuid> (Id) |
qualifier required | string A unique identifier for this task. No two Tasks can share an identifier. |
object (Attributes) | |
status | string Enum: "OPEN" "PROCESSED" "COMPLETED" |
dueDate | string <date-time> (DateTime) |
notes | string |
{- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes"
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "title": "Task Title",
- "description": "Task Description",
- "event": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "2019-02-05T09:32:08.080Z"
}, - "asset": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "asset-identifier",
- "name": "Asset Name"
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "changeLogs": [
- {
- "label": "Proproty Level",
- "value": "medium"
}
]
}
Retrieve a list of Tasks that exist within the Organization.
taskTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Type Id |
{- "tasks": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "title": "Task Title",
- "description": "Task Description",
- "event": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "2019-02-05T09:32:08.080Z"
}, - "asset": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "asset-identifier",
- "name": "Asset Name"
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "changeLogs": [
- {
- "label": "Proproty Level",
- "value": "medium"
}
]
}
]
}
Search for Tasks across the organization.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
object (DateRange) | |
object (DateRange) | |
taskIds | Array of strings <uuid> (IdList) |
taskTypeIds | Array of strings <uuid> (IdList) |
eventIds | Array of strings <uuid> (IdList) |
eventTypeIds | Array of strings <uuid> (IdList) |
assetIds | Array of strings <uuid> (IdList) |
assetTypeIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
object A map of Task Type UUIDs to a Map of attributes and filter values. Also, The API supports the "all" keyword to apply a filter to all task types. As an Example, in the case of "task.severity": { "gt": 1 } which should filter all tasks with a severity greater than 1. | |
status | Array of strings Items Enum: "OPEN" "PROCESSED" "COMPLETED" |
{- "createdAt": {
- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}, - "dueAt": {
- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}, - "taskIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "taskTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "taskAttributes": {
- "58296792-3111-4a2b-ab20-9320fabeb3ab": {
- "task.date": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "task.severity": {
- "gt": 6,
- "lt": 10
}
}
}, - "status": [
- "OPEN"
]
}
{- "tasks": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "title": "Task Title",
- "description": "Task Description",
- "event": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "2019-02-05T09:32:08.080Z"
}, - "asset": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "asset-identifier",
- "name": "Asset Name"
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "changeLogs": [
- {
- "label": "Proproty Level",
- "value": "medium"
}
]
}
]
}
Search for Tasks in a Control Room.
controlRoomId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Control Room Id |
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
object (DateRange) | |
object (DateRange) | |
taskIds | Array of strings <uuid> (IdList) |
taskTypeIds | Array of strings <uuid> (IdList) |
eventIds | Array of strings <uuid> (IdList) |
eventTypeIds | Array of strings <uuid> (IdList) |
assetIds | Array of strings <uuid> (IdList) |
assetTypeIds | Array of strings <uuid> (IdList) |
assetIdentifiers | Array of strings |
object A map of Task Type UUIDs to a Map of attributes and filter values. Also, The API supports the "all" keyword to apply a filter to all task types. As an Example, in the case of "task.severity": { "gt": 1 } which should filter all tasks with a severity greater than 1. | |
status | Array of strings Items Enum: "OPEN" "PROCESSED" "COMPLETED" |
{- "createdAt": {
- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}, - "dueAt": {
- "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}, - "taskIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "taskTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "eventTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "assetIdentifiers": [
- "string"
], - "taskAttributes": {
- "58296792-3111-4a2b-ab20-9320fabeb3ab": {
- "task.date": {
- "gte": "2023-05-01T00:00:00.000Z",
- "lt": "2023-06-01:00:00:00.000Z"
}, - "task.severity": {
- "gt": 6,
- "lt": 10
}
}
}, - "status": [
- "OPEN"
]
}
{- "tasks": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "title": "Task Title",
- "description": "Task Description",
- "event": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "2019-02-05T09:32:08.080Z"
}, - "asset": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "asset-identifier",
- "name": "Asset Name"
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "changeLogs": [
- {
- "label": "Proproty Level",
- "value": "medium"
}
]
}
]
}
Retrieve a single Task.
taskId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "qualifier": "ct_au383",
- "title": "Task Title",
- "description": "Task Description",
- "event": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": "2019-02-05T09:32:08.080Z"
}, - "asset": {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "assetTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "asset-identifier",
- "name": "Asset Name"
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN",
- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "changeLogs": [
- {
- "label": "Proproty Level",
- "value": "medium"
}
]
}
Update a single Task.
taskId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Id |
dueDate | string <date-time> (DateTime) |
notes | string |
object (Attributes) | |
status | string Enum: "OPEN" "PROCESSED" "COMPLETED" |
{- "dueDate": "2019-02-05T09:32:08.080Z",
- "notes": "Task notes",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "status": "OPEN"
}
Creates a Task Type.
identifier required | string A unique identifier for this task type. No two task Types can share an identifier. |
icon | string |
name | string |
title | string |
description | string |
object (Attributes) | |
Array of objects (TaskTypeProperty) | |
Array of objects (TaskTypeCustomFilter) |
{- "identifier": "ct_au383",
- "icon": "taskType",
- "name": "Customer sites",
- "title": "Task Type Title",
- "description": "Task Type Description",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "customFilters": [
- {
- "type": "dropdown",
- "name": "documentKey",
- "label": "Document Type",
- "path": "document.key",
- "settings": [
- {
- "dropDownValues": [
- "insurance",
- "dvla"
]
}
]
}
]
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "ct_au383",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "icon": "taskType",
- "name": "Customer sites",
- "title": "Task Type Title",
- "description": "Task Type Description",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "customFilters": [
- {
- "type": "dropdown",
- "name": "documentKey",
- "label": "Document Type",
- "path": "document.key",
- "settings": [
- {
- "dropDownValues": [
- "insurance",
- "dvla"
]
}
]
}
]
}
Retrieve a list of Task Types that exist within the Organization.
{- "taskTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "ct_au383",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "icon": "taskType",
- "name": "Customer sites",
- "title": "Task Type Title",
- "description": "Task Type Description",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "customFilters": [
- {
- "type": "dropdown",
- "name": "documentKey",
- "label": "Document Type",
- "path": "document.key",
- "settings": [
- {
- "dropDownValues": [
- "insurance",
- "dvla"
]
}
]
}
]
}
]
}
Retrieve a single Task Type.
taskTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Type Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "identifier": "ct_au383",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "icon": "taskType",
- "name": "Customer sites",
- "title": "Task Type Title",
- "description": "Task Type Description",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "customFilters": [
- {
- "type": "dropdown",
- "name": "documentKey",
- "label": "Document Type",
- "path": "document.key",
- "settings": [
- {
- "dropDownValues": [
- "insurance",
- "dvla"
]
}
]
}
]
}
Update a single Task Type.
taskTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Task Type Id |
name | string |
title | string |
description | string |
object (Attributes) | |
Array of objects (TaskTypeProperty) | |
Array of objects (TaskTypeCustomFilter) |
{- "name": "Customer sites",
- "title": "Task Type Title",
- "description": "Task Type Description",
- "attributes": {
- "property1": "string",
- "property2": "string"
}, - "properties": [
- {
- "label": "Odometer",
- "value": 7880659
}
], - "customFilters": [
- {
- "type": "dropdown",
- "name": "documentKey",
- "label": "Document Type",
- "path": "document.key",
- "settings": [
- {
- "dropDownValues": [
- "insurance",
- "dvla"
]
}
]
}
]
}
{- "totalCount": 0,
- "forms": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "version": 1
}
]
}
Creates a Form.
formIdentifier required | string |
name required | string |
description | string |
required | Array of objects (Form Definition) |
Array of Create Event Action (object) or Send Email Action (object) or Send Webhook Action (object) (FormAction) |
{- "formIdentifier": "incidentForm",
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "formDefinition": [
- {
- "fields": [
- {
- "key": "reason",
- "type": "input",
- "title": "Reason for Enquiry",
- "description": "What prompted you are enquiring?",
- "placeholder": "Reason",
- "required": true
}
]
}
], - "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "version": 1,
- "formDefinition": null,
- "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
Retrieves a Single form by Id.
formId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "version": 1,
- "formDefinition": null,
- "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
Updates a Form.
You are only able to update the latest version of a form. You must specify expectedVersion as part of the body. This is to ensure that only the latest version can be updated.
formId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Id |
expectedVersion required | integer The version of the form you are updating. This must be the most current version or else the request will fail. |
name required | string |
description required | string |
Array of objects (Form Definition) | |
Array of Create Event Action (object) or Send Email Action (object) or Send Webhook Action (object) (FormAction) |
{- "expectedVersion": 1,
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "formDefinition": [
- {
- "fields": [
- {
- "key": "reason",
- "type": "input",
- "title": "Reason for Enquiry",
- "description": "What prompted you are enquiring?",
- "placeholder": "Reason",
- "required": true
}
]
}
], - "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
Retrieves a Single form by Identifier.
formIdentifier required | string (Identifier) Example: identifier Form Identifier |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "version": 1,
- "formDefinition": null,
- "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
Updates a Form.
You are only able to update the latest version of a form. You must specify expectedVersion as part of the body. This is to ensure that only the latest version can be updated.
formIdentifier required | string (Identifier) Example: identifier Form Identifier |
expectedVersion required | integer The version of the form you are updating. This must be the most current version or else the request will fail. |
name required | string |
description required | string |
Array of objects (Form Definition) | |
Array of Create Event Action (object) or Send Email Action (object) or Send Webhook Action (object) (FormAction) |
{- "expectedVersion": 1,
- "name": "Incident Form",
- "description": "Form to submit incidents",
- "formDefinition": [
- {
- "fields": [
- {
- "key": "reason",
- "type": "input",
- "title": "Reason for Enquiry",
- "description": "What prompted you are enquiring?",
- "placeholder": "Reason",
- "required": true
}
]
}
], - "actions": [
- {
- "type": "CREATE_EVENT",
- "eventTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "dynamicAttributes": {
- "person": {
- "name": {
- "@path": "response.name"
}, - "age": "{{response.age}} yrs",
- "suburb": {
- "@template": "{{response.address.suburb}}"
}
}
}, - "location": {
- "@path": "response.name"
}, - "externalUrls": {
- "stringUrl": "test.com",
- "pathUrl": {
- "@path": "response.website"
}, - "templateUrl": {
- "@template": "{{response.name}}.test.com"
}
}
}
]
}
Retrieves a list of Responses for the Form
formId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Id |
{- "totalCount": 0,
- "responses": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z"
}
]
}
Creates a Form Response.
formId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Id |
response | object |
{- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z",
- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
Retrieves a list of Responses for the Form
formIdentifier required | string (Identifier) Example: identifier Form Identifier |
{- "totalCount": 0,
- "responses": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z"
}
]
}
Creates a Form Response.
formIdentifier required | string (Identifier) Example: identifier Form Identifier |
response | object |
{- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z",
- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
Retrieve an individual Form Response
formId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Id |
formResponseId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Response Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z",
- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
Retrieve an individual Form Response
formIdentifier required | string (Identifier) Example: identifier Form Identifier |
formResponseId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Form Response Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "formIdentifier": "incidentForm",
- "version": 1,
- "createdAt": "2019-02-05T09:32:08.080Z",
- "response": {
- "name": "John Doe",
- "age": 30,
- "interests": [
- "movies",
- "camping"
]
}
}
Creates a Cycle Type. Cycle Type identifier cannot start with _, as these are reserved cycle type ids.
name | string |
identifier | string A unique identifier for this Cycle Type. No two Cycle Types can share an identifier. Cycle Type Identifiers starting with _ are reserved. |
description | string |
{- "name": "Jobs",
- "identifier": "jobs",
- "description": "Jobs"
}
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Jobs",
- "description": "Job cycles",
- "identifier": "jobs"
}
Retrieve a list of Cycle Types that exist within the Organization.
{- "placeTypes": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Jobs",
- "description": "Job cycles",
- "identifier": "jobs"
}
]
}
Retrieve a single Cycle Type.
cycleTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Cycle Type Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "ownerId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "name": "Jobs",
- "description": "Job cycles",
- "identifier": "jobs"
}
Update a Cycle Type.
cycleTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Cycle Type Id |
name | string |
description | string |
{- "name": "Jobs",
- "description": "Jobs"
}
Create a Cycle.
Cycles have a start and end time. If the startTime
is not specified, it will default to the createdAt
time.
If the endTime
is not set, the cycle is assumed to be currently active.
startLocation
and endLocation
are option. The request will fail if endLocation
is set without endTime
.
cycleTypeId required | string <uuid> (Id) Example: 666bf2b9-d78c-45d1-9cb9-c8828f595852 The Cycle Type Id |
assetId required | string <uuid> (Id) |
name | string Cycle name |
description | string |
startTime | string <date-time> (DateTime) |
endTime | string <date-time> (DateTime) |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
object (Attributes) |
{- "assetId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "startTime": "2019-02-05T09:32:08.080Z",
- "endTime": "2019-02-05T09:32:08.080Z",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}
}
Create a Cycle by identifier.
Cycles have a start and end time. If the startTime
is not specified, it will default to the createdAt
time.
If the endTime
is not set, the cycle is assumed to be currently active.
startLocation
and endLocation
are option. The request will fail if endLocation
is set without endTime
.
cycleTypeIdentifier required | string (Identifier) Example: identifier The Cycle Type Identifier |
assetId required | string <uuid> (Id) |
name | string Cycle name |
description | string |
startTime | string <date-time> (DateTime) |
endTime | string <date-time> (DateTime) |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
object (Attributes) |
{- "assetId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "startTime": "2019-02-05T09:32:08.080Z",
- "endTime": "2019-02-05T09:32:08.080Z",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}
}
Retrieve a list of Cycles that exist in this Organization.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
include | string Example: include=attributes If include=attributes is specified, the cycle attributes are returned as part of the request. |
{- "totalCount": 0,
- "cycles": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "cycleTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "startTime": "2019-02-05T09:32:08.080Z",
- "endTime": "2019-02-05T09:32:08.080Z",
- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "isActive": true
}
]
}
Retrieves a Single Cycle.
cycleId required | string (Identifier) Example: identifier The Cycle Id |
{- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "cycleTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "startTime": "2019-02-05T09:32:08.080Z",
- "endTime": "2019-02-05T09:32:08.080Z",
- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "isActive": true
}
Update a Cycle.
This is a PATCH request. As such, you only need to specify properties that have changed. They will be merged into the existing Cycle.
cycleId required | string (Identifier) Example: identifier The Cycle Id |
name | string Cycle name |
description | string |
endTime | string <date-time> (DateTime) |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
Point (object) or LineString (object) or Polygon (object) or MultiPolygon (object) or MultiPoint (object) or MultiLineString (object) (ValidLocation) | |
object (Attributes) |
{- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "endTime": "2019-02-05T09:32:08.080Z",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "attributes": {
- "property1": "string",
- "property2": "string"
}
}
Search for Cycles.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
active | boolean If true, returns only active cycles. If false, returns only inactive cycles. Returns all cycles if not set |
assetIds | Array of strings <uuid> (IdList) |
placeIds | Array of strings <uuid> (IdList) |
cycleTypeIds | Array of strings <uuid> (IdList) |
cycleIdentifiers | Array of strings |
startDate | string <date-time> (DateTime) |
endDate | string <date-time> (DateTime) |
{- "active": true,
- "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "placeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "cycleTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "cycleIdentifiers": [
- "string"
], - "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}
{- "totalCount": 0,
- "cycles": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "cycleTypeId": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "createdAt": "2019-02-05T09:32:08.080Z",
- "lastModifiedAt": "2019-02-05T09:32:08.080Z",
- "startTime": "2019-02-05T09:32:08.080Z",
- "endTime": "2019-02-05T09:32:08.080Z",
- "name": "Job - Sky Ledge Headquarters",
- "description": "Building the Sky Ledge Headquarters",
- "startLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "endLocation": {
- "type": "Point",
- "coordinates": [
- 145,
- -32
]
}, - "isActive": true
}
]
}
Summarise Cycles.
page | integer >= 0 Default: 0 The current page (starts at 0) |
size | integer [ 10 .. 100 ] Default: 20 The size of the returned page |
entityType | string Enum: "PLACE" "ASSET" The entity type to summarise by |
object (CycleSearchRequest) |
{- "entityType": "PLACE",
- "filter": {
- "active": true,
- "assetIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "placeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "cycleTypeIds": [
- "666bf2b9-d78c-45d1-9cb9-c8828f595852"
], - "cycleIdentifiers": [
- "string"
], - "startDate": "2019-02-05T09:32:08.080Z",
- "endDate": "2019-02-05T09:32:08.080Z"
}
}
{- "places": [
- {
- "id": "666bf2b9-d78c-45d1-9cb9-c8828f595852",
- "countActive": 0,
- "averageDuration": 0,
- "total": 0
}
]
}