Worlds API Documentation
Description goes here
Version
1.53.0
Queries
activityChronicle
Description
Look up an activity by its unique identifier.
Response
Returns an ActivityChronicle
Arguments
Name | Description |
---|---|
id - ID!
|
The activity's unique identifier. |
Example
Query
query activityChronicle($id: ID!) {
activityChronicle(id: $id) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
images {
...ImageFragment
}
dataSourceClips {
...DataSourceClipFragment
}
tracks {
...TrackFragment
}
sites {
...SiteFragment
}
dataSources {
...DataSourceFragment
}
tags {
...TagFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
createdAt
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"activityChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "abc123",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["abc123"],
"images": [Image],
"dataSourceClips": [DataSourceClip],
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
activityChronicles
Description
Search for activities based on a set of filters.
Response
Returns an ActivityChronicleConnection
Arguments
Name | Description |
---|---|
filter - FilterActivityChronicleInput
|
Filter activities by unique identifier, type, time, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [ActivityChronicleSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query activityChronicles(
$filter: FilterActivityChronicleInput,
$first: Int!,
$after: String,
$sort: [ActivityChronicleSort!]!
) {
activityChronicles(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
edges {
...ActivityChronicleEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"filter": FilterActivityChronicleInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"activityChronicles": {
"edges": [ActivityChronicleEdge],
"pageInfo": PageInfo
}
}
}
chronicleProducer
Description
Look up an chronicle producer by its unique identifier.
Response
Returns a ChronicleProducer
Arguments
Name | Description |
---|---|
id - ID!
|
The chronicle producer's unique identifier. |
Example
Query
query chronicleProducer($id: ID!) {
chronicleProducer(id: $id) {
id
name
description
timezone
active
validationReasons
metadata
}
}
Variables
{"id": "4"}
Response
{
"data": {
"chronicleProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "abc123",
"timezone": "abc123",
"active": false,
"validationReasons": ["xyz789"],
"metadata": {}
}
}
}
chronicleProducers
Description
Search for chronicle producers based on a set of filters.
Response
Returns a ChronicleProducerConnection
Arguments
Name | Description |
---|---|
filter - FilterChronicleProducerInput
|
Filter chronicle producers by unique identifier or name |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [ChronicleProducersSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query chronicleProducers(
$filter: FilterChronicleProducerInput,
$first: Int!,
$after: String,
$sort: [ChronicleProducersSort!]!
) {
chronicleProducers(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
edges {
...ChronicleProducerEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"filter": FilterChronicleProducerInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"chronicleProducers": {
"edges": [ChronicleProducerEdge],
"pageInfo": PageInfo
}
}
}
dataSource
Description
Look up a data source's information by its unique identifier.
Response
Returns a DataSource
Arguments
Name | Description |
---|---|
id - ID!
|
The data source's unique numeric ID or UUID. |
Example
Query
query dataSource($id: ID!) {
dataSource(id: $id) {
id
name
type
device {
...DeviceFragment
}
zones {
...ZoneFragment
}
labels
}
}
Variables
{"id": 4}
Response
{
"data": {
"dataSource": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"type": "FOLDER",
"device": Device,
"zones": [Zone],
"labels": ["xyz789"]
}
}
}
dataSources
Description
Search for data sources based on a set of filters.
Response
Returns a DataSourceConnection
Arguments
Name | Description |
---|---|
filter - FilterDataSourceInput
|
Filter data sources by type and/or position. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [DataSourceSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query dataSources(
$filter: FilterDataSourceInput,
$first: Int!,
$after: String,
$sort: [DataSourceSort!]!
) {
dataSources(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...DataSourceEdgeFragment
}
}
}
Variables
{
"filter": FilterDataSourceInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"dataSources": {
"pageInfo": PageInfo,
"edges": [DataSourceEdge]
}
}
}
detections
Description
Finds detections, which are objects detected by the Worlds system, based on a set of filters.
Response
Returns a DetectionConnection
Arguments
Name | Description |
---|---|
filter - FilterDetectionInput!
|
Filter detections based on the originating device, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [DetectionsSort!]!
|
The field and direction by which to sort the results. Default = [{field: DETECTION_TIME, direction: ASC}, {field: GLOBAL_TRACK_ID, direction: ASC}] |
Example
Query
query detections(
$filter: FilterDetectionInput!,
$first: Int!,
$after: String,
$sort: [DetectionsSort!]!
) {
detections(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...DetectionEdgeFragment
}
}
}
Variables
{
"filter": FilterDetectionInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "DETECTION_TIME", "direction": "ASC"},
{"field": "GLOBAL_TRACK_ID", "direction": "ASC"}
]
}
Response
{
"data": {
"detections": {
"pageInfo": PageInfo,
"edges": [DetectionEdge]
}
}
}
device
Description
Look up a device's information by its unique identifier.
Response
Returns a Device
Arguments
Name | Description |
---|---|
id - ID!
|
The sensor's unique numeric ID or UUID. |
Example
Query
query device($id: ID!) {
device(id: $id) {
id
uuid
externalId
name
enabled
address
frameRate
position {
...GeoJSONPointFragment
}
dataSource {
...DataSourceFragment
}
site {
...SiteFragment
}
calibrations {
...DeviceCalibrationFragment
}
pointOfInterest {
...PointOfInterestFragment
}
lastHeartbeat
}
}
Variables
{"id": 4}
Response
{
"data": {
"device": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"externalId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"enabled": true,
"address": "xyz789",
"frameRate": 987.65,
"position": GeoJSONPoint,
"dataSource": DataSource,
"site": Site,
"calibrations": [DeviceCalibration],
"pointOfInterest": PointOfInterest,
"lastHeartbeat": "2025-01-01T00:00:00.000+00"
}
}
}
devices
Description
Search for devices based on a set of filters.
Response
Returns a DeviceConnection
Arguments
Name | Description |
---|---|
filter - FilterDeviceInput
|
Filter devices by id, uuid and/or name. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [DevicesSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query devices(
$filter: FilterDeviceInput,
$first: Int!,
$after: String,
$sort: [DevicesSort!]!
) {
devices(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...DeviceEdgeFragment
}
}
}
Variables
{
"filter": FilterDeviceInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"devices": {
"pageInfo": PageInfo,
"edges": [DeviceEdge]
}
}
}
embeddingForDataSource
Description
Generate an embedding vector of a data source's asset at a specified timestamp
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
dataSourceId - ID!
|
The ID of the data source |
timestamp - DateTimeOffset!
|
The time at which the embedding vector will be generated |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForDataSource(
$dataSourceId: ID!,
$timestamp: DateTimeOffset!,
$options: EmbeddingOptionsInput
) {
embeddingForDataSource(
dataSourceId: $dataSourceId,
timestamp: $timestamp,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{
"dataSourceId": 4,
"timestamp": DateTimeOffset,
"options": EmbeddingOptionsInput
}
Response
{
"data": {
"embeddingForDataSource": {
"results": [EmbeddingResult]
}
}
}
embeddingForFrame
Description
Generate an embedding vector of a frame
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
frameId - ID!
|
The ID of the frame |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForFrame(
$frameId: ID!,
$options: EmbeddingOptionsInput
) {
embeddingForFrame(
frameId: $frameId,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{"frameId": 4, "options": EmbeddingOptionsInput}
Response
{
"data": {
"embeddingForFrame": {"results": [EmbeddingResult]}
}
}
embeddingForImage
Description
Generate an embedding vector of an image
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
imageId - ID!
|
The ID of the image |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForImage(
$imageId: ID!,
$options: EmbeddingOptionsInput
) {
embeddingForImage(
imageId: $imageId,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{
"imageId": "4",
"options": EmbeddingOptionsInput
}
Response
{
"data": {
"embeddingForImage": {"results": [EmbeddingResult]}
}
}
embeddingForTrack
Description
Generate an embedding vector for the detection described by the provided track ID and timestamp.
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
trackId - ID!
|
The ID of the track |
timestamp - DateTimeOffset!
|
A timestamp within the lifetime of the track. An embedding will be generated for the detection closest to this timestamp for the specified track. |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForTrack(
$trackId: ID!,
$timestamp: DateTimeOffset!,
$options: EmbeddingOptionsInput
) {
embeddingForTrack(
trackId: $trackId,
timestamp: $timestamp,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{
"trackId": 4,
"timestamp": DateTimeOffset,
"options": EmbeddingOptionsInput
}
Response
{
"data": {
"embeddingForTrack": {"results": [EmbeddingResult]}
}
}
embeddingForUrl
Description
Generate an embedding vector of the image at the specified URL
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
url - String!
|
The URL of the image |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForUrl(
$url: String!,
$options: EmbeddingOptionsInput
) {
embeddingForUrl(
url: $url,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{
"url": "abc123",
"options": EmbeddingOptionsInput
}
Response
{
"data": {
"embeddingForUrl": {"results": [EmbeddingResult]}
}
}
embeddingForVideo
Description
Generate an embedding vector of a video at the specified timestamp
Response
Returns an EmbeddingResponse
Arguments
Name | Description |
---|---|
videoId - ID!
|
The ID of the video |
timestamp - DateTimeOffset!
|
The time at which the embedding vector will be generated |
options - EmbeddingOptionsInput
|
Optional embedding parameters. |
Example
Query
query embeddingForVideo(
$videoId: ID!,
$timestamp: DateTimeOffset!,
$options: EmbeddingOptionsInput
) {
embeddingForVideo(
videoId: $videoId,
timestamp: $timestamp,
options: $options
) {
results {
...EmbeddingResultFragment
}
}
}
Variables
{
"videoId": 4,
"timestamp": DateTimeOffset,
"options": EmbeddingOptionsInput
}
Response
{
"data": {
"embeddingForVideo": {"results": [EmbeddingResult]}
}
}
event
Description
Look up an event by its unique identifier.
Example
Query
query event($id: ID!) {
event(id: $id) {
id
eventProducer {
...EventProducerFragment
}
type
subType
startTime
endTime
position {
...GeoJSONPointFragment
}
timezone
metadata
images {
...ImageFragment
}
videos {
...VideoFragment
}
dataSourceClips {
...DataSourceClipFragment
}
properties {
...EventPropertiesFragment
}
draft
validation {
...EventValidationFragment
}
priority
}
}
Variables
{"id": "4"}
Response
{
"data": {
"event": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"eventProducer": EventProducer,
"type": "xyz789",
"subType": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"position": GeoJSONPoint,
"timezone": "xyz789",
"metadata": {},
"images": [Image],
"videos": [Video],
"dataSourceClips": [DataSourceClip],
"properties": EventProperties,
"draft": true,
"validation": EventValidation,
"priority": "abc123"
}
}
}
eventChronicle
Description
Look up an event by its unique identifier.
Response
Returns an EventChronicle
Arguments
Name | Description |
---|---|
id - ID!
|
The event's unique identifier. |
Example
Query
query eventChronicle($id: ID!) {
eventChronicle(id: $id) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
timestamp
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"eventChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "abc123",
"timestamp": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "xyz789",
"labels": ["xyz789"],
"locations": ["abc123"],
"activityChronicles": [ActivityChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
eventChronicles
Description
Search for events based on a set of filters.
Response
Returns an EventChronicleConnection
Arguments
Name | Description |
---|---|
filter - FilterEventChronicleInput
|
Filter events by unique identifier, type, time, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [EventChronicleSort!]!
|
The field and direction by which to sort the results. Default = [{field: TIMESTAMP, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query eventChronicles(
$filter: FilterEventChronicleInput,
$first: Int!,
$after: String,
$sort: [EventChronicleSort!]!
) {
eventChronicles(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
edges {
...EventChronicleEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"filter": FilterEventChronicleInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "TIMESTAMP", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"eventChronicles": {
"edges": [EventChronicleEdge],
"pageInfo": PageInfo
}
}
}
eventProducer
Description
Look up an event producer by its unique identifier.
Response
Returns an EventProducer
Arguments
Name | Description |
---|---|
id - ID!
|
The event producer's unique identifier. |
Example
Query
query eventProducer($id: ID!) {
eventProducer(id: $id) {
id
name
description
timezone
active
invalidReasons
metadata
}
}
Variables
{"id": "4"}
Response
{
"data": {
"eventProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"description": "xyz789",
"timezone": "abc123",
"active": false,
"invalidReasons": ["xyz789"],
"metadata": {}
}
}
}
eventProducers
Description
Search for event producers based on a set of filters.
Response
Returns an EventProducerConnection
Arguments
Name | Description |
---|---|
filter - FilterEventProducerInput
|
Filter event producers by unique identifier or name |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [EventProducersSort!]!
|
The field and direction by which to sort the results. Default = [{field: EVENT_PRODUCER_NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query eventProducers(
$filter: FilterEventProducerInput,
$first: Int!,
$after: String,
$sort: [EventProducersSort!]!
) {
eventProducers(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...EventProducerEdgeFragment
}
}
}
Variables
{
"filter": FilterEventProducerInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "EVENT_PRODUCER_NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"eventProducers": {
"pageInfo": PageInfo,
"edges": [EventProducerEdge]
}
}
}
events
Description
Search for events based on a set of filters.
Response
Returns an EventConnection
Arguments
Name | Description |
---|---|
filter - FilterEventInput!
|
Filter events by unique identifier, type, time, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [EventsSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query events(
$filter: FilterEventInput!,
$first: Int!,
$after: String,
$sort: [EventsSort!]!
) {
events(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...EventEdgeFragment
}
}
}
Variables
{
"filter": FilterEventInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"events": {
"pageInfo": PageInfo,
"edges": [EventEdge]
}
}
}
eventsSummary
Description
Summarizes events over a time range.
Response
Returns an EventsSummary
Arguments
Name | Description |
---|---|
startTime - DateTimeOffset!
|
Start time for the summary. |
endTime - DateTimeOffset!
|
End time for the summary. |
bucket - SummaryBucketSize
|
If provided, return summary buckets of this size. |
Example
Query
query eventsSummary(
$startTime: DateTimeOffset!,
$endTime: DateTimeOffset!,
$bucket: SummaryBucketSize
) {
eventsSummary(
startTime: $startTime,
endTime: $endTime,
bucket: $bucket
) {
total
buckets {
...EventsSummaryBucketFragment
}
}
}
Variables
{
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"bucket": "MINUTES"
}
Response
{
"data": {
"eventsSummary": {
"total": 987,
"buckets": [EventsSummaryBucket]
}
}
}
geofence
Description
Look up a geofence, a real-world geographic area, by its unique identifier.
Example
Query
query geofence($id: ID!) {
geofence(id: $id) {
id
name
bounds {
...GeofenceBoundsFragment
}
active
}
}
Variables
{"id": 4}
Response
{
"data": {
"geofence": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"bounds": GeofenceBounds,
"active": false
}
}
}
geofenceEvents
geofenceEvents
is deprecated. Use geofenceIntersections
instead
Description
Find events for a geofence based on a set of filters.
Response
Returns a GeofenceEventConnection
Arguments
Name | Description |
---|---|
filter - FilterGeofenceEventInput!
|
Filter geofence events based on the geofence id, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [GeofenceEventsSort!]!
|
The field and direction by which to sort the results. Default = [{field: OCCURRED, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query geofenceEvents(
$filter: FilterGeofenceEventInput!,
$first: Int!,
$after: String,
$sort: [GeofenceEventsSort!]!
) {
geofenceEvents(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...GeofenceEventEdgeFragment
}
}
}
Variables
{
"filter": FilterGeofenceEventInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "OCCURRED", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"geofenceEvents": {
"pageInfo": PageInfo,
"edges": [GeofenceEventEdge]
}
}
}
geofenceIntersections
Description
Find events for a geofence based on a set of filters.
Response
Returns a GeofenceIntersectionConnection
Arguments
Name | Description |
---|---|
filter - FilterGeofenceIntersectionInput!
|
Filter geofence intersections based on the geofence id, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [GeofenceIntersectionsSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query geofenceIntersections(
$filter: FilterGeofenceIntersectionInput!,
$first: Int!,
$after: String,
$sort: [GeofenceIntersectionsSort!]!
) {
geofenceIntersections(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...GeofenceIntersectionEdgeFragment
}
}
}
Variables
{
"filter": FilterGeofenceIntersectionInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"geofenceIntersections": {
"pageInfo": PageInfo,
"edges": [GeofenceIntersectionEdge]
}
}
}
geofences
Description
Search for geofences based on a set of filters.
Response
Returns a GeofenceConnection
Arguments
Name | Description |
---|---|
filter - FilterGeofenceInput
|
Filter geofences by unique identifier, name, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [GeofencesSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query geofences(
$filter: FilterGeofenceInput,
$first: Int!,
$after: String,
$sort: [GeofencesSort!]!
) {
geofences(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...GeofenceEdgeFragment
}
}
}
Variables
{
"filter": FilterGeofenceInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"geofences": {
"pageInfo": PageInfo,
"edges": [GeofenceEdge]
}
}
}
imageUrl
imageUrl
is deprecated. Use snapshot
query instead
Description
Retrieve the URL for a screenshot from the given device at a particular timestamp.
Response
Returns a String
Arguments
Name | Description |
---|---|
deviceId - ID!
|
The unique identifier of the device from which to capture the image. |
timestamp - DateTimeOffset!
|
The time at which the given image should have been recorded by the device. |
Example
Query
query imageUrl(
$deviceId: ID!,
$timestamp: DateTimeOffset!
) {
imageUrl(
deviceId: $deviceId,
timestamp: $timestamp
)
}
Variables
{"deviceId": 4, "timestamp": DateTimeOffset}
Response
{"data": {"imageUrl": "abc123"}}
measurements
Description
Finds measurements of a sensor based on a set of filters.
Response
Returns a MeasurementConnection
Arguments
Name | Description |
---|---|
filter - FilterMeasurementInput!
|
Filter measurements based on the originating sensor, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [MeasurementsSort!]!
|
The field and direction by which to sort the results. Default = [{field: TIMESTAMP, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query measurements(
$filter: FilterMeasurementInput!,
$first: Int!,
$after: String,
$sort: [MeasurementsSort!]!
) {
measurements(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...MeasurementEdgeFragment
}
}
}
Variables
{
"filter": FilterMeasurementInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "TIMESTAMP", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"measurements": {
"pageInfo": PageInfo,
"edges": [MeasurementEdge]
}
}
}
pointOfInterest
Description
Look up a point of interest, such as its name, associated site, and devices.
Response
Returns a PointOfInterest
Arguments
Name | Description |
---|---|
id - ID!
|
The point of interest's unique identifier. |
Example
Query
query pointOfInterest($id: ID!) {
pointOfInterest(id: $id) {
id
site {
...SiteFragment
}
name
position {
...GeoJSONPointFragment
}
devices {
...DeviceFragment
}
geofences {
...GeofenceFragment
}
metadata
}
}
Variables
{"id": "4"}
Response
{
"data": {
"pointOfInterest": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"site": Site,
"name": "xyz789",
"position": GeoJSONPoint,
"devices": [Device],
"geofences": [Geofence],
"metadata": {}
}
}
}
pointsOfInterest
Description
Search for points of interest based on a set of filters.
Response
Returns a PointOfInterestConnection
Arguments
Name | Description |
---|---|
filter - FilterPointOfInterestInput
|
Filter points of interest by id or name. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [PointOfInterestSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query pointsOfInterest(
$filter: FilterPointOfInterestInput,
$first: Int!,
$after: String,
$sort: [PointOfInterestSort!]!
) {
pointsOfInterest(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...PointOfInterestEdgeFragment
}
}
}
Variables
{
"filter": FilterPointOfInterestInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"pointsOfInterest": {
"pageInfo": PageInfo,
"edges": [PointOfInterestEdge]
}
}
}
segmentationForDataSource
Description
Segment a data source's asset at a specified timestamp
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
dataSourceId - ID!
|
The ID of the data source |
timestamp - DateTimeOffset!
|
The time at which the data source will be segmented |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForDataSource(
$dataSourceId: ID!,
$timestamp: DateTimeOffset!,
$options: SegmentationOptionsInput
) {
segmentationForDataSource(
dataSourceId: $dataSourceId,
timestamp: $timestamp,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{
"dataSourceId": "4",
"timestamp": DateTimeOffset,
"options": SegmentationOptionsInput
}
Response
{
"data": {
"segmentationForDataSource": {
"results": [SegmentationResult]
}
}
}
segmentationForFrame
Description
Segment a frame
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
frameId - ID!
|
The ID of the frame |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForFrame(
$frameId: ID!,
$options: SegmentationOptionsInput
) {
segmentationForFrame(
frameId: $frameId,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{"frameId": 4, "options": SegmentationOptionsInput}
Response
{
"data": {
"segmentationForFrame": {
"results": [SegmentationResult]
}
}
}
segmentationForImage
Description
Segment an image
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
imageId - ID!
|
The ID of the image |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForImage(
$imageId: ID!,
$options: SegmentationOptionsInput
) {
segmentationForImage(
imageId: $imageId,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{
"imageId": "4",
"options": SegmentationOptionsInput
}
Response
{
"data": {
"segmentationForImage": {
"results": [SegmentationResult]
}
}
}
segmentationForTrack
Description
Segment an image within the polygon defined by a track's detection
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
trackId - ID!
|
The ID of the track |
timestamp - DateTimeOffset!
|
The time of the track's detection. Will use the nearest detection if there isn't one at this exact timestamp |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForTrack(
$trackId: ID!,
$timestamp: DateTimeOffset!,
$options: SegmentationOptionsInput
) {
segmentationForTrack(
trackId: $trackId,
timestamp: $timestamp,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{
"trackId": "4",
"timestamp": DateTimeOffset,
"options": SegmentationOptionsInput
}
Response
{
"data": {
"segmentationForTrack": {
"results": [SegmentationResult]
}
}
}
segmentationForUrl
Description
Segment the image at the specified URL
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
url - String!
|
The URL of the image |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForUrl(
$url: String!,
$options: SegmentationOptionsInput
) {
segmentationForUrl(
url: $url,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{
"url": "abc123",
"options": SegmentationOptionsInput
}
Response
{
"data": {
"segmentationForUrl": {
"results": [SegmentationResult]
}
}
}
segmentationForVideo
Description
Segment a video at the specified timestamp
Response
Returns a SegmentationResponse
Arguments
Name | Description |
---|---|
videoId - ID!
|
The ID of the video |
timestamp - DateTimeOffset!
|
The time at which the video will be segmented |
options - SegmentationOptionsInput
|
Optional segmentation parameters. |
Example
Query
query segmentationForVideo(
$videoId: ID!,
$timestamp: DateTimeOffset!,
$options: SegmentationOptionsInput
) {
segmentationForVideo(
videoId: $videoId,
timestamp: $timestamp,
options: $options
) {
results {
...SegmentationResultFragment
}
}
}
Variables
{
"videoId": 4,
"timestamp": DateTimeOffset,
"options": SegmentationOptionsInput
}
Response
{
"data": {
"segmentationForVideo": {
"results": [SegmentationResult]
}
}
}
sensor
Description
Look up a sensor's information, such as its name, description, and location, by its unique identifier.
Example
Query
query sensor($id: ID!) {
sensor(id: $id) {
id
name
description
type
position {
...GeoJSONPointFragment
}
address
metadata
}
}
Variables
{"id": "4"}
Response
{
"data": {
"sensor": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "xyz789",
"type": "NUMBER",
"position": GeoJSONPoint,
"address": "xyz789",
"metadata": {}
}
}
}
sensors
Description
Find sensors based on a set of filters.
Response
Returns a SensorConnection
Arguments
Name | Description |
---|---|
filter - FilterSensorInput
|
Filter sensors based on id, name, type, or position. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [SensorsSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query sensors(
$filter: FilterSensorInput,
$first: Int!,
$after: String,
$sort: [SensorsSort!]!
) {
sensors(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...SensorEdgeFragment
}
}
}
Variables
{
"filter": FilterSensorInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"sensors": {
"pageInfo": PageInfo,
"edges": [SensorEdge]
}
}
}
site
Description
Look up a site's information, such as its name, location and devices, by its unique identifier.
Example
Query
query site($id: ID!) {
site(id: $id) {
id
name
position {
...GeoJSONPointFragment
}
polygon {
...GeoJSONMultiPolygonFragment
}
devices {
...DeviceFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
geofences {
...GeofenceFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"site": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"position": GeoJSONPoint,
"polygon": GeoJSONMultiPolygon,
"devices": [Device],
"pointsOfInterest": [PointOfInterest],
"geofences": [Geofence]
}
}
}
sites
Description
Find sites based on a set of filters.
Response
Returns a SiteConnection
Arguments
Name | Description |
---|---|
filter - FilterSiteInput
|
Filter sites based on id. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [SitesSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query sites(
$filter: FilterSiteInput,
$first: Int!,
$after: String,
$sort: [SitesSort!]!
) {
sites(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...SiteEdgeFragment
}
}
}
Variables
{
"filter": FilterSiteInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"sites": {
"pageInfo": PageInfo,
"edges": [SiteEdge]
}
}
}
snapshot
Description
Retrieve an Image for the given data source at a particular timestamp.
Response
Returns an Image
Arguments
Name | Description |
---|---|
input - CreateSnapshotInput!
|
Arguments for retrieving an image (A Data Source ID and a Timestamp). |
Example
Query
query snapshot($input: CreateSnapshotInput!) {
snapshot(input: $input) {
id
dataSourceId
timestamp
url
thumbnailUrl
}
}
Variables
{"input": CreateSnapshotInput}
Response
{
"data": {
"snapshot": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSourceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"timestamp": "2025-01-01T00:00:00.000+00",
"url": "xyz789",
"thumbnailUrl": "abc123"
}
}
}
summaryChronicle
Description
Look up an summary by its unique identifier.
Response
Returns a SummaryChronicle
Arguments
Name | Description |
---|---|
id - ID!
|
The summary's unique identifier. |
Example
Query
query summaryChronicle($id: ID!) {
summaryChronicle(id: $id) {
id
name
chronicleProducer {
...ChronicleProducerFragment
}
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
eventChronicles {
...EventChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"summaryChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"chronicleProducer": ChronicleProducer,
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"activityChronicles": [ActivityChronicle],
"eventChronicles": [EventChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
summaryChronicles
Description
Search for summaries based on a set of filters.
Response
Returns a SummaryChronicleConnection
Arguments
Name | Description |
---|---|
filter - FilterSummaryChronicleInput
|
Filter summaries by unique identifier, type, time, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [SummaryChronicleSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query summaryChronicles(
$filter: FilterSummaryChronicleInput,
$first: Int!,
$after: String,
$sort: [SummaryChronicleSort!]!
) {
summaryChronicles(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
edges {
...SummaryChronicleEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
Variables
{
"filter": FilterSummaryChronicleInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"summaryChronicles": {
"edges": [SummaryChronicleEdge],
"pageInfo": PageInfo
}
}
}
tag
Description
Look up a tag's information by its unique identifier.
Response
Returns a Tag
Example
Query
query tag(
$id: ID,
$name: String
) {
tag(
id: $id,
name: $name
) {
id
name
color
}
}
Variables
{
"id": "4",
"name": "xyz789"
}
Response
{
"data": {
"tag": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"color": "abc123"
}
}
}
textReadingForImage
Description
Read text in an image. The image supplied should be a pre-cropped image containing text.
Response
Returns a TextReadingResponse
Arguments
Name | Description |
---|---|
imageId - ID!
|
The ID of the image |
Example
Query
query textReadingForImage($imageId: ID!) {
textReadingForImage(imageId: $imageId) {
text
textConfidence
}
}
Variables
{"imageId": "4"}
Response
{
"data": {
"textReadingForImage": {
"text": "abc123",
"textConfidence": 987.65
}
}
}
textReadingForUrl
Description
Read text in the image at the specified URL. The URL supplied should be a pre-cropped image containing text.
Response
Returns a TextReadingResponse
Arguments
Name | Description |
---|---|
url - String!
|
The URL of the image |
Example
Query
query textReadingForUrl($url: String!) {
textReadingForUrl(url: $url) {
text
textConfidence
}
}
Variables
{"url": "abc123"}
Response
{
"data": {
"textReadingForUrl": {
"text": "xyz789",
"textConfidence": 123.45
}
}
}
textRecognitionForDataSource
Description
Detect text in a data source's asset at a specified timestamp
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
dataSourceId - ID!
|
The ID of the data source |
timestamp - DateTimeOffset!
|
The time at which text will be detected |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForDataSource(
$dataSourceId: ID!,
$timestamp: DateTimeOffset!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForDataSource(
dataSourceId: $dataSourceId,
timestamp: $timestamp,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{
"dataSourceId": "4",
"timestamp": DateTimeOffset,
"options": TextRecognitionOptionsInput
}
Response
{
"data": {
"textRecognitionForDataSource": {
"results": [TextRecognitionResult]
}
}
}
textRecognitionForFrame
Description
Detect text in a frame
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
frameId - ID!
|
The ID of the frame |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForFrame(
$frameId: ID!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForFrame(
frameId: $frameId,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{"frameId": 4, "options": TextRecognitionOptionsInput}
Response
{
"data": {
"textRecognitionForFrame": {
"results": [TextRecognitionResult]
}
}
}
textRecognitionForImage
Description
Detect text in an image
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
imageId - ID!
|
The ID of the image |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForImage(
$imageId: ID!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForImage(
imageId: $imageId,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{
"imageId": "4",
"options": TextRecognitionOptionsInput
}
Response
{
"data": {
"textRecognitionForImage": {
"results": [TextRecognitionResult]
}
}
}
textRecognitionForTrack
Description
Detect text within the polygon defined by a track's detection
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
trackId - ID!
|
The ID of the track |
timestamp - DateTimeOffset!
|
The time of the track's detection. Will use the nearest detection if there isn't one at this exact timestamp |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForTrack(
$trackId: ID!,
$timestamp: DateTimeOffset!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForTrack(
trackId: $trackId,
timestamp: $timestamp,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{
"trackId": "4",
"timestamp": DateTimeOffset,
"options": TextRecognitionOptionsInput
}
Response
{
"data": {
"textRecognitionForTrack": {
"results": [TextRecognitionResult]
}
}
}
textRecognitionForUrl
Description
Detect text in the image at the specified URL
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
url - String!
|
The URL of the image |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForUrl(
$url: String!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForUrl(
url: $url,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{
"url": "xyz789",
"options": TextRecognitionOptionsInput
}
Response
{
"data": {
"textRecognitionForUrl": {
"results": [TextRecognitionResult]
}
}
}
textRecognitionForVideo
Description
Detect text in a video at the specified timestamp
Response
Returns a TextRecognitionResponse
Arguments
Name | Description |
---|---|
videoId - ID!
|
The ID of the video |
timestamp - DateTimeOffset!
|
The time at which text will be detected |
options - TextRecognitionOptionsInput
|
Optional text recognition parameters. |
Example
Query
query textRecognitionForVideo(
$videoId: ID!,
$timestamp: DateTimeOffset!,
$options: TextRecognitionOptionsInput
) {
textRecognitionForVideo(
videoId: $videoId,
timestamp: $timestamp,
options: $options
) {
results {
...TextRecognitionResultFragment
}
}
}
Variables
{
"videoId": 4,
"timestamp": DateTimeOffset,
"options": TextRecognitionOptionsInput
}
Response
{
"data": {
"textRecognitionForVideo": {
"results": [TextRecognitionResult]
}
}
}
track
Description
Look up a track, a record of the motion of a detected object, by its unique identifier.
Response
Returns a Track
Arguments
Name | Description |
---|---|
id - ID!
|
The track's unique identifier. |
timestamp - DateTimeOffset
|
If provided, locate the track within 24 hours of the given time. Otherwise, the track will only be identified if it is less than 24 hours since it was active. |
Example
Query
query track(
$id: ID!,
$timestamp: DateTimeOffset
) {
track(
id: $id,
timestamp: $timestamp
) {
id
dataSource {
...DataSourceFragment
}
video {
...VideoFragment
}
tag
startTime
endTime
detections {
...DetectionFragment
}
properties {
...TrackPropertiesFragment
}
metadata
zoneIntersections {
...ZoneIntersectionFragment
}
geofenceIntersections {
...GeofenceIntersectionFragment
}
deviceIds
}
}
Variables
{"id": 4, "timestamp": DateTimeOffset}
Response
{
"data": {
"track": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"video": Video,
"tag": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"detections": [Detection],
"properties": TrackProperties,
"metadata": {},
"zoneIntersections": [ZoneIntersection],
"geofenceIntersections": [GeofenceIntersection],
"deviceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
}
}
}
tracks
Description
Finds tracks, which are records of a detected object over time, based on a set of filters.
Response
Returns a TrackConnection
Arguments
Name | Description |
---|---|
filter - FilterTrackInput!
|
Filter tracks based on the originating device, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [TracksSort!]!
|
The field and direction by which to sort the results. Default = [{field: TRACK_START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query tracks(
$filter: FilterTrackInput!,
$first: Int!,
$after: String,
$sort: [TracksSort!]!
) {
tracks(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...TrackEdgeFragment
}
}
}
Variables
{
"filter": FilterTrackInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "TRACK_START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"tracks": {
"pageInfo": PageInfo,
"edges": [TrackEdge]
}
}
}
tracksSummary
Description
Summarizes tracks over a time range.
Response
Returns a TracksSummary
Arguments
Name | Description |
---|---|
startTime - DateTimeOffset!
|
Start time for the summary. |
endTime - DateTimeOffset!
|
End time for the summary. |
tags - FilterTagInput
|
Filter tracks based on their tags. |
bucket - SummaryBucketSize
|
If provided, return summary buckets of this size. |
Example
Query
query tracksSummary(
$startTime: DateTimeOffset!,
$endTime: DateTimeOffset!,
$tags: FilterTagInput,
$bucket: SummaryBucketSize
) {
tracksSummary(
startTime: $startTime,
endTime: $endTime,
tags: $tags,
bucket: $bucket
) {
total
totalsByTag {
...TracksCountByTagFragment
}
buckets {
...TracksSummaryBucketFragment
}
}
}
Variables
{
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"tags": FilterTagInput,
"bucket": "MINUTES"
}
Response
{
"data": {
"tracksSummary": {
"total": 987,
"totalsByTag": [TracksCountByTag],
"buckets": [TracksSummaryBucket]
}
}
}
video
Description
Look up a video by its unique identifier.
Example
Query
query video($id: ID!) {
video(id: $id) {
id
dataSource {
...DataSourceFragment
}
startTime
endTime
url
thumbnailUrl
displayName
resolutionHeight
resolutionWidth
frameRate
createdBy {
...UserFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"video": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"url": "abc123",
"thumbnailUrl": "abc123",
"displayName": "abc123",
"resolutionHeight": "xyz789",
"resolutionWidth": "xyz789",
"frameRate": 987.65,
"createdBy": User
}
}
}
videos
Description
Search for videos based on a set of filters.
Response
Returns a VideoConnection
Arguments
Name | Description |
---|---|
filter - FilterVideoInput!
|
Filter videos by Fields to filter videos |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [VideosSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query videos(
$filter: FilterVideoInput!,
$first: Int!,
$after: String,
$sort: [VideosSort!]!
) {
videos(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...VideoEdgeFragment
}
}
}
Variables
{
"filter": FilterVideoInput,
"first": 20,
"after": "xyz789",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"videos": {
"pageInfo": PageInfo,
"edges": [VideoEdge]
}
}
}
zone
Description
Look up a zone, a region on a camera, by its unique identifier.
Example
Query
query zone($id: ID!) {
zone(id: $id) {
id
dataSource {
...DataSourceFragment
}
name
polygon {
...GeoJSONPolygonFragment
}
active
createdAt
updatedAt
deviceId
}
}
Variables
{"id": 4}
Response
{
"data": {
"zone": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"name": "xyz789",
"polygon": GeoJSONPolygon,
"active": false,
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}
}
}
zoneEvents
zoneEvents
is deprecated. Use zoneIntersections
instead
Description
Find events for a zone based on a set of filters.
Response
Returns a ZoneEventConnection
Arguments
Name | Description |
---|---|
filter - FilterZoneEventInput!
|
Filter zone events based on the zone id, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [ZoneEventsSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query zoneEvents(
$filter: FilterZoneEventInput!,
$first: Int!,
$after: String,
$sort: [ZoneEventsSort!]!
) {
zoneEvents(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...ZoneEventEdgeFragment
}
}
}
Variables
{
"filter": FilterZoneEventInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"zoneEvents": {
"pageInfo": PageInfo,
"edges": [ZoneEventEdge]
}
}
}
zoneIntersections
Description
Find intersections for a zone based on a set of filters.
Response
Returns a ZoneIntersectionConnection
Arguments
Name | Description |
---|---|
filter - FilterZoneIntersectionInput!
|
Filter zone intersections based on the zone id, time period, etc. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [ZoneIntersectionsSort!]!
|
The field and direction by which to sort the results. Default = [{field: START_TIME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query zoneIntersections(
$filter: FilterZoneIntersectionInput!,
$first: Int!,
$after: String,
$sort: [ZoneIntersectionsSort!]!
) {
zoneIntersections(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...ZoneIntersectionEdgeFragment
}
}
}
Variables
{
"filter": FilterZoneIntersectionInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "START_TIME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"zoneIntersections": {
"pageInfo": PageInfo,
"edges": [ZoneIntersectionEdge]
}
}
}
zones
Description
Find zones based on a set of filters
Response
Returns a ZoneConnection
Arguments
Name | Description |
---|---|
filter - FilterZoneInput
|
Filter zones based on the specified filters. |
first - Int!
|
Returns the first n elements from the list. Default = 20 |
after - String
|
Returns the elements in the list that come after the specified cursor. |
sort - [ZonesSort!]!
|
The field and direction by which to sort the results. Default = [{field: NAME, direction: ASC}, {field: ID, direction: ASC}] |
Example
Query
query zones(
$filter: FilterZoneInput,
$first: Int!,
$after: String,
$sort: [ZonesSort!]!
) {
zones(
filter: $filter,
first: $first,
after: $after,
sort: $sort
) {
pageInfo {
...PageInfoFragment
}
edges {
...ZoneEdgeFragment
}
}
}
Variables
{
"filter": FilterZoneInput,
"first": 20,
"after": "abc123",
"sort": [
{"field": "NAME", "direction": "ASC"},
{"field": "ID", "direction": "ASC"}
]
}
Response
{
"data": {
"zones": {
"pageInfo": PageInfo,
"edges": [ZoneEdge]
}
}
}
Mutations
createActivityChronicle
Description
Creates a new Event Chronicle. This allows for the creation of custom events within the Worlds system.
Response
Returns an ActivityChronicle!
Arguments
Name | Description |
---|---|
activityChronicle - CreateActivityChronicleInput!
|
Arguments to create a new event chronicle. |
Example
Query
mutation createActivityChronicle($activityChronicle: CreateActivityChronicleInput!) {
createActivityChronicle(activityChronicle: $activityChronicle) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
images {
...ImageFragment
}
dataSourceClips {
...DataSourceClipFragment
}
tracks {
...TrackFragment
}
sites {
...SiteFragment
}
dataSources {
...DataSourceFragment
}
tags {
...TagFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
createdAt
updatedAt
}
}
Variables
{"activityChronicle": CreateActivityChronicleInput}
Response
{
"data": {
"createActivityChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"images": [Image],
"dataSourceClips": [DataSourceClip],
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
createChronicleProducer
Description
Creates a new ChronicleProducer.
Response
Returns a ChronicleProducer!
Arguments
Name | Description |
---|---|
chronicleProducer - CreateChronicleProducerInput!
|
Arguments to create a new chronicle producer. |
Example
Query
mutation createChronicleProducer($chronicleProducer: CreateChronicleProducerInput!) {
createChronicleProducer(chronicleProducer: $chronicleProducer) {
id
name
description
timezone
active
validationReasons
metadata
}
}
Variables
{"chronicleProducer": CreateChronicleProducerInput}
Response
{
"data": {
"createChronicleProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"description": "xyz789",
"timezone": "xyz789",
"active": true,
"validationReasons": ["abc123"],
"metadata": {}
}
}
}
createDataSource
Description
Creates a new DataSource.
Response
Returns a DataSource
Arguments
Name | Description |
---|---|
dataSource - CreateDataSourceInput!
|
Arguments to create a new data source. |
Example
Query
mutation createDataSource($dataSource: CreateDataSourceInput!) {
createDataSource(dataSource: $dataSource) {
id
name
type
device {
...DeviceFragment
}
zones {
...ZoneFragment
}
labels
}
}
Variables
{"dataSource": CreateDataSourceInput}
Response
{
"data": {
"createDataSource": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"type": "FOLDER",
"device": Device,
"zones": [Zone],
"labels": ["xyz789"]
}
}
}
createDetection
Description
Creates a new Detection.
Response
Returns a Detection
Arguments
Name | Description |
---|---|
detection - CreateDetectionInput!
|
Arguments to create a new detection. |
Example
Query
mutation createDetection($detection: CreateDetectionInput!) {
createDetection(detection: $detection) {
track {
...TrackFragment
}
timestamp
frame {
...FrameFragment
}
polygon {
...GeoJSONPolygonFragment
}
position {
...GeoJSONPointFragment
}
zones {
...ZoneFragment
}
geofences {
...GeofenceFragment
}
metadata
createdAt
updatedAt
direction
geofenceIds
zoneIds
zoneEvents {
...ZoneEventFragment
}
geofenceEvents {
...GeofenceEventFragment
}
globalTrackId
deviceId
tag
}
}
Variables
{"detection": CreateDetectionInput}
Response
{
"data": {
"createDetection": {
"track": Track,
"timestamp": "2025-01-01T00:00:00.000+00",
"frame": Frame,
"polygon": GeoJSONPolygon,
"position": GeoJSONPoint,
"zones": [Zone],
"geofences": [Geofence],
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"direction": 987.65,
"geofenceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneEvents": [ZoneEvent],
"geofenceEvents": [GeofenceEvent],
"globalTrackId": "xyz789",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"tag": "xyz789"
}
}
}
createDetections
Description
Creates multiple new Detection.
Response
Returns [Detection]
Arguments
Name | Description |
---|---|
detections - [CreateDetectionInput!]!
|
Arguments to create a list of detections. |
Example
Query
mutation createDetections($detections: [CreateDetectionInput!]!) {
createDetections(detections: $detections) {
track {
...TrackFragment
}
timestamp
frame {
...FrameFragment
}
polygon {
...GeoJSONPolygonFragment
}
position {
...GeoJSONPointFragment
}
zones {
...ZoneFragment
}
geofences {
...GeofenceFragment
}
metadata
createdAt
updatedAt
direction
geofenceIds
zoneIds
zoneEvents {
...ZoneEventFragment
}
geofenceEvents {
...GeofenceEventFragment
}
globalTrackId
deviceId
tag
}
}
Variables
{"detections": [CreateDetectionInput]}
Response
{
"data": {
"createDetections": [
{
"track": Track,
"timestamp": "2025-01-01T00:00:00.000+00",
"frame": Frame,
"polygon": GeoJSONPolygon,
"position": GeoJSONPoint,
"zones": [Zone],
"geofences": [Geofence],
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"direction": 987.65,
"geofenceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneEvents": [ZoneEvent],
"geofenceEvents": [GeofenceEvent],
"globalTrackId": "xyz789",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"tag": "xyz789"
}
]
}
}
createDevice
Description
Creates a new Device.
Response
Returns a Device
Arguments
Name | Description |
---|---|
device - CreateDeviceInput!
|
Arguments to create a new device. |
Example
Query
mutation createDevice($device: CreateDeviceInput!) {
createDevice(device: $device) {
id
uuid
externalId
name
enabled
address
frameRate
position {
...GeoJSONPointFragment
}
dataSource {
...DataSourceFragment
}
site {
...SiteFragment
}
calibrations {
...DeviceCalibrationFragment
}
pointOfInterest {
...PointOfInterestFragment
}
lastHeartbeat
}
}
Variables
{"device": CreateDeviceInput}
Response
{
"data": {
"createDevice": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"externalId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"enabled": false,
"address": "xyz789",
"frameRate": 987.65,
"position": GeoJSONPoint,
"dataSource": DataSource,
"site": Site,
"calibrations": [DeviceCalibration],
"pointOfInterest": PointOfInterest,
"lastHeartbeat": "2025-01-01T00:00:00.000+00"
}
}
}
createEvent
Description
Creates a new Event. This allows for the creation of custom events within the Worlds system.
Response
Returns an Event
Arguments
Name | Description |
---|---|
event - CreateEventInput!
|
Arguments to create a new event. |
Example
Query
mutation createEvent($event: CreateEventInput!) {
createEvent(event: $event) {
id
eventProducer {
...EventProducerFragment
}
type
subType
startTime
endTime
position {
...GeoJSONPointFragment
}
timezone
metadata
images {
...ImageFragment
}
videos {
...VideoFragment
}
dataSourceClips {
...DataSourceClipFragment
}
properties {
...EventPropertiesFragment
}
draft
validation {
...EventValidationFragment
}
priority
}
}
Variables
{"event": CreateEventInput}
Response
{
"data": {
"createEvent": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"eventProducer": EventProducer,
"type": "xyz789",
"subType": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"position": GeoJSONPoint,
"timezone": "xyz789",
"metadata": {},
"images": [Image],
"videos": [Video],
"dataSourceClips": [DataSourceClip],
"properties": EventProperties,
"draft": true,
"validation": EventValidation,
"priority": "abc123"
}
}
}
createEventChronicle
Description
Creates a new Event Chronicle. This allows for the creation of custom events within the Worlds system.
Response
Returns an EventChronicle!
Arguments
Name | Description |
---|---|
eventChronicle - CreateEventChronicleInput!
|
Arguments to create a new event chronicle. |
Example
Query
mutation createEventChronicle($eventChronicle: CreateEventChronicleInput!) {
createEventChronicle(eventChronicle: $eventChronicle) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
timestamp
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"eventChronicle": CreateEventChronicleInput}
Response
{
"data": {
"createEventChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "xyz789",
"description": "abc123",
"timestamp": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "abc123",
"labels": ["xyz789"],
"locations": ["xyz789"],
"activityChronicles": [ActivityChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
createEventProducer
Description
Creates a new EventProducer.
Response
Returns an EventProducer
Arguments
Name | Description |
---|---|
eventProducer - EventProducerInput!
|
Arguments to create a new event producer. |
Example
Query
mutation createEventProducer($eventProducer: EventProducerInput!) {
createEventProducer(eventProducer: $eventProducer) {
id
name
description
timezone
active
invalidReasons
metadata
}
}
Variables
{"eventProducer": EventProducerInput}
Response
{
"data": {
"createEventProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "xyz789",
"timezone": "abc123",
"active": false,
"invalidReasons": ["abc123"],
"metadata": {}
}
}
}
createMeasurement
Description
Creates a new Measurement for a Sensor.
Response
Returns a Measurement
Arguments
Name | Description |
---|---|
measurement - MeasurementInput!
|
Arguments to create a new measurement. |
Example
Query
mutation createMeasurement($measurement: MeasurementInput!) {
createMeasurement(measurement: $measurement) {
id
sensor {
...SensorFragment
}
timestamp
value
}
}
Variables
{"measurement": MeasurementInput}
Response
{
"data": {
"createMeasurement": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"sensor": Sensor,
"timestamp": "2025-01-01T00:00:00.000+00",
"value": "abc123"
}
}
}
createPointOfInterest
Description
Creates a new PointOfInterest.
Response
Returns a PointOfInterest
Arguments
Name | Description |
---|---|
pointOfInterest - CreatePointOfInterestInput!
|
Arguments to create a new point of interest. |
Example
Query
mutation createPointOfInterest($pointOfInterest: CreatePointOfInterestInput!) {
createPointOfInterest(pointOfInterest: $pointOfInterest) {
id
site {
...SiteFragment
}
name
position {
...GeoJSONPointFragment
}
devices {
...DeviceFragment
}
geofences {
...GeofenceFragment
}
metadata
}
}
Variables
{"pointOfInterest": CreatePointOfInterestInput}
Response
{
"data": {
"createPointOfInterest": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"site": Site,
"name": "abc123",
"position": GeoJSONPoint,
"devices": [Device],
"geofences": [Geofence],
"metadata": {}
}
}
}
createSensor
Description
Creates a new Sensor.
Response
Returns a Sensor
Arguments
Name | Description |
---|---|
sensor - SensorInput!
|
Arguments to create a new sensor. |
Example
Query
mutation createSensor($sensor: SensorInput!) {
createSensor(sensor: $sensor) {
id
name
description
type
position {
...GeoJSONPointFragment
}
address
metadata
}
}
Variables
{"sensor": SensorInput}
Response
{
"data": {
"createSensor": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"description": "abc123",
"type": "NUMBER",
"position": GeoJSONPoint,
"address": "abc123",
"metadata": {}
}
}
}
createSite
Description
Creates a new Site.
Response
Returns a Site
Arguments
Name | Description |
---|---|
site - CreateSiteInput!
|
Arguments to create a new site. |
Example
Query
mutation createSite($site: CreateSiteInput!) {
createSite(site: $site) {
id
name
position {
...GeoJSONPointFragment
}
polygon {
...GeoJSONMultiPolygonFragment
}
devices {
...DeviceFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
geofences {
...GeofenceFragment
}
}
}
Variables
{"site": CreateSiteInput}
Response
{
"data": {
"createSite": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"position": GeoJSONPoint,
"polygon": GeoJSONMultiPolygon,
"devices": [Device],
"pointsOfInterest": [PointOfInterest],
"geofences": [Geofence]
}
}
}
createSummaryChronicle
Description
Creates a new Summary Chronicle. This allows for the creation of custom summaries within the Worlds system.
Response
Returns a SummaryChronicle!
Arguments
Name | Description |
---|---|
summaryChronicle - CreateSummaryChronicleInput!
|
Arguments to create a new summary chronicle. |
Example
Query
mutation createSummaryChronicle($summaryChronicle: CreateSummaryChronicleInput!) {
createSummaryChronicle(summaryChronicle: $summaryChronicle) {
id
name
chronicleProducer {
...ChronicleProducerFragment
}
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
eventChronicles {
...EventChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"summaryChronicle": CreateSummaryChronicleInput}
Response
{
"data": {
"createSummaryChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"chronicleProducer": ChronicleProducer,
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"activityChronicles": [ActivityChronicle],
"eventChronicles": [EventChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
createTrack
Description
Creates a new Track.
Response
Returns a Track
Arguments
Name | Description |
---|---|
track - CreateTrackInput!
|
Arguments to create a new track. |
Example
Query
mutation createTrack($track: CreateTrackInput!) {
createTrack(track: $track) {
id
dataSource {
...DataSourceFragment
}
video {
...VideoFragment
}
tag
startTime
endTime
detections {
...DetectionFragment
}
properties {
...TrackPropertiesFragment
}
metadata
zoneIntersections {
...ZoneIntersectionFragment
}
geofenceIntersections {
...GeofenceIntersectionFragment
}
deviceIds
}
}
Variables
{"track": CreateTrackInput}
Response
{
"data": {
"createTrack": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"video": Video,
"tag": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"detections": [Detection],
"properties": TrackProperties,
"metadata": {},
"zoneIntersections": [ZoneIntersection],
"geofenceIntersections": [GeofenceIntersection],
"deviceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
}
}
}
createZone
Description
Creates a new Zone.
Response
Returns a Zone
Arguments
Name | Description |
---|---|
zone - CreateZoneInput!
|
Arguments to create a new zone. |
Example
Query
mutation createZone($zone: CreateZoneInput!) {
createZone(zone: $zone) {
id
dataSource {
...DataSourceFragment
}
name
polygon {
...GeoJSONPolygonFragment
}
active
createdAt
updatedAt
deviceId
}
}
Variables
{"zone": CreateZoneInput}
Response
{
"data": {
"createZone": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"name": "abc123",
"polygon": GeoJSONPolygon,
"active": false,
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}
}
}
updateActivityChronicle
Description
Updates an existing Event Chronicle.
Response
Returns an ActivityChronicle!
Arguments
Name | Description |
---|---|
activityChronicle - UpdateActivityChronicleInput!
|
Arguments to update an existing event chronicle. |
Example
Query
mutation updateActivityChronicle($activityChronicle: UpdateActivityChronicleInput!) {
updateActivityChronicle(activityChronicle: $activityChronicle) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
images {
...ImageFragment
}
dataSourceClips {
...DataSourceClipFragment
}
tracks {
...TrackFragment
}
sites {
...SiteFragment
}
dataSources {
...DataSourceFragment
}
tags {
...TagFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
createdAt
updatedAt
}
}
Variables
{"activityChronicle": UpdateActivityChronicleInput}
Response
{
"data": {
"updateActivityChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "xyz789",
"description": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["xyz789"],
"images": [Image],
"dataSourceClips": [DataSourceClip],
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
updateChronicleProducer
Description
Updates an existing ChronicleProducer.
Response
Returns a ChronicleProducer!
Arguments
Name | Description |
---|---|
chronicleProducer - UpdateChronicleProducerInput!
|
Arguments to update an existing chronicle producer. |
Example
Query
mutation updateChronicleProducer($chronicleProducer: UpdateChronicleProducerInput!) {
updateChronicleProducer(chronicleProducer: $chronicleProducer) {
id
name
description
timezone
active
validationReasons
metadata
}
}
Variables
{"chronicleProducer": UpdateChronicleProducerInput}
Response
{
"data": {
"updateChronicleProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "abc123",
"timezone": "abc123",
"active": true,
"validationReasons": ["xyz789"],
"metadata": {}
}
}
}
updateDataSource
Description
Updates an existing DataSource.
Response
Returns a DataSource
Arguments
Name | Description |
---|---|
dataSource - UpdateDataSourceInput!
|
Arguments to update an existing data source. |
Example
Query
mutation updateDataSource($dataSource: UpdateDataSourceInput!) {
updateDataSource(dataSource: $dataSource) {
id
name
type
device {
...DeviceFragment
}
zones {
...ZoneFragment
}
labels
}
}
Variables
{"dataSource": UpdateDataSourceInput}
Response
{
"data": {
"updateDataSource": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"type": "FOLDER",
"device": Device,
"zones": [Zone],
"labels": ["abc123"]
}
}
}
updateDevice
Description
Updates an existing Device.
Response
Returns a Device
Arguments
Name | Description |
---|---|
device - UpdateDeviceInput!
|
Arguments to update an existing device. |
Example
Query
mutation updateDevice($device: UpdateDeviceInput!) {
updateDevice(device: $device) {
id
uuid
externalId
name
enabled
address
frameRate
position {
...GeoJSONPointFragment
}
dataSource {
...DataSourceFragment
}
site {
...SiteFragment
}
calibrations {
...DeviceCalibrationFragment
}
pointOfInterest {
...PointOfInterestFragment
}
lastHeartbeat
}
}
Variables
{"device": UpdateDeviceInput}
Response
{
"data": {
"updateDevice": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"externalId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"enabled": false,
"address": "abc123",
"frameRate": 987.65,
"position": GeoJSONPoint,
"dataSource": DataSource,
"site": Site,
"calibrations": [DeviceCalibration],
"pointOfInterest": PointOfInterest,
"lastHeartbeat": "2025-01-01T00:00:00.000+00"
}
}
}
updateEvent
Description
Updates an existing Event.
Response
Returns an Event
Arguments
Name | Description |
---|---|
event - UpdateEventInput!
|
Arguments to update an existing event. |
Example
Query
mutation updateEvent($event: UpdateEventInput!) {
updateEvent(event: $event) {
id
eventProducer {
...EventProducerFragment
}
type
subType
startTime
endTime
position {
...GeoJSONPointFragment
}
timezone
metadata
images {
...ImageFragment
}
videos {
...VideoFragment
}
dataSourceClips {
...DataSourceClipFragment
}
properties {
...EventPropertiesFragment
}
draft
validation {
...EventValidationFragment
}
priority
}
}
Variables
{"event": UpdateEventInput}
Response
{
"data": {
"updateEvent": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"eventProducer": EventProducer,
"type": "abc123",
"subType": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"position": GeoJSONPoint,
"timezone": "xyz789",
"metadata": {},
"images": [Image],
"videos": [Video],
"dataSourceClips": [DataSourceClip],
"properties": EventProperties,
"draft": false,
"validation": EventValidation,
"priority": "abc123"
}
}
}
updateEventChronicle
Description
Updates an existing Event Chronicle.
Response
Returns an EventChronicle!
Arguments
Name | Description |
---|---|
eventChronicle - UpdateEventChronicleInput!
|
Arguments to update an existing event chronicle. |
Example
Query
mutation updateEventChronicle($eventChronicle: UpdateEventChronicleInput!) {
updateEventChronicle(eventChronicle: $eventChronicle) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
timestamp
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"eventChronicle": UpdateEventChronicleInput}
Response
{
"data": {
"updateEventChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "xyz789",
"description": "abc123",
"timestamp": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "abc123",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"activityChronicles": [ActivityChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
updateEventProducer
Description
Updates an existing EventProducer.
Response
Returns an EventProducer
Arguments
Name | Description |
---|---|
eventProducer - UpdateEventProducerInput!
|
Arguments to update an existing event producer. |
Example
Query
mutation updateEventProducer($eventProducer: UpdateEventProducerInput!) {
updateEventProducer(eventProducer: $eventProducer) {
id
name
description
timezone
active
invalidReasons
metadata
}
}
Variables
{"eventProducer": UpdateEventProducerInput}
Response
{
"data": {
"updateEventProducer": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "xyz789",
"timezone": "xyz789",
"active": false,
"invalidReasons": ["xyz789"],
"metadata": {}
}
}
}
updatePointOfInterest
Description
Updates an existing PointOfInterest.
Response
Returns a PointOfInterest
Arguments
Name | Description |
---|---|
pointOfInterest - UpdatePointOfInterestInput!
|
Arguments to update an existing point of interest. |
Example
Query
mutation updatePointOfInterest($pointOfInterest: UpdatePointOfInterestInput!) {
updatePointOfInterest(pointOfInterest: $pointOfInterest) {
id
site {
...SiteFragment
}
name
position {
...GeoJSONPointFragment
}
devices {
...DeviceFragment
}
geofences {
...GeofenceFragment
}
metadata
}
}
Variables
{"pointOfInterest": UpdatePointOfInterestInput}
Response
{
"data": {
"updatePointOfInterest": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"site": Site,
"name": "xyz789",
"position": GeoJSONPoint,
"devices": [Device],
"geofences": [Geofence],
"metadata": {}
}
}
}
updateSensor
Description
Updates an existing Sensor.
Response
Returns a Sensor
Arguments
Name | Description |
---|---|
sensor - UpdateSensorInput!
|
Arguments to update an existing sensor. |
Example
Query
mutation updateSensor($sensor: UpdateSensorInput!) {
updateSensor(sensor: $sensor) {
id
name
description
type
position {
...GeoJSONPointFragment
}
address
metadata
}
}
Variables
{"sensor": UpdateSensorInput}
Response
{
"data": {
"updateSensor": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"description": "xyz789",
"type": "NUMBER",
"position": GeoJSONPoint,
"address": "abc123",
"metadata": {}
}
}
}
updateSite
Description
Updates an existing Site.
Response
Returns a Site
Arguments
Name | Description |
---|---|
site - UpdateSiteInput!
|
Arguments to update an existing site. |
Example
Query
mutation updateSite($site: UpdateSiteInput!) {
updateSite(site: $site) {
id
name
position {
...GeoJSONPointFragment
}
polygon {
...GeoJSONMultiPolygonFragment
}
devices {
...DeviceFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
geofences {
...GeofenceFragment
}
}
}
Variables
{"site": UpdateSiteInput}
Response
{
"data": {
"updateSite": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"position": GeoJSONPoint,
"polygon": GeoJSONMultiPolygon,
"devices": [Device],
"pointsOfInterest": [PointOfInterest],
"geofences": [Geofence]
}
}
}
updateSummaryChronicle
Description
Updates an existing Summary Chronicle.
Response
Returns a SummaryChronicle!
Arguments
Name | Description |
---|---|
summaryChronicle - UpdateSummaryChronicleInput!
|
Arguments to update an existing summary chronicle. |
Example
Query
mutation updateSummaryChronicle($summaryChronicle: UpdateSummaryChronicleInput!) {
updateSummaryChronicle(summaryChronicle: $summaryChronicle) {
id
name
chronicleProducer {
...ChronicleProducerFragment
}
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
eventChronicles {
...EventChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"summaryChronicle": UpdateSummaryChronicleInput}
Response
{
"data": {
"updateSummaryChronicle": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"chronicleProducer": ChronicleProducer,
"description": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "xyz789",
"labels": ["xyz789"],
"locations": ["xyz789"],
"activityChronicles": [ActivityChronicle],
"eventChronicles": [EventChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
updateTrack
Description
Updates an existing track.
Response
Returns a Track
Arguments
Name | Description |
---|---|
track - UpdateTrackInput!
|
Arguments to update an existing track. |
Example
Query
mutation updateTrack($track: UpdateTrackInput!) {
updateTrack(track: $track) {
id
dataSource {
...DataSourceFragment
}
video {
...VideoFragment
}
tag
startTime
endTime
detections {
...DetectionFragment
}
properties {
...TrackPropertiesFragment
}
metadata
zoneIntersections {
...ZoneIntersectionFragment
}
geofenceIntersections {
...GeofenceIntersectionFragment
}
deviceIds
}
}
Variables
{"track": UpdateTrackInput}
Response
{
"data": {
"updateTrack": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"video": Video,
"tag": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"detections": [Detection],
"properties": TrackProperties,
"metadata": {},
"zoneIntersections": [ZoneIntersection],
"geofenceIntersections": [GeofenceIntersection],
"deviceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
}
}
}
updateZone
Description
Updates an existing zone.
Response
Returns a Zone
Arguments
Name | Description |
---|---|
zone - UpdateZoneInput!
|
Arguments to update an existing zone. |
Example
Query
mutation updateZone($zone: UpdateZoneInput!) {
updateZone(zone: $zone) {
id
dataSource {
...DataSourceFragment
}
name
polygon {
...GeoJSONPolygonFragment
}
active
createdAt
updatedAt
deviceId
}
}
Variables
{"zone": UpdateZoneInput}
Response
{
"data": {
"updateZone": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"name": "abc123",
"polygon": GeoJSONPolygon,
"active": false,
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}
}
}
uploadImage
Description
Uploads an image.
Response
Returns an Image
Arguments
Name | Description |
---|---|
image - UploadImageInput!
|
Arguments to upload an image. |
Example
Query
mutation uploadImage($image: UploadImageInput!) {
uploadImage(image: $image) {
id
dataSourceId
timestamp
url
thumbnailUrl
}
}
Variables
{"image": UploadImageInput}
Response
{
"data": {
"uploadImage": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSourceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"timestamp": "2025-01-01T00:00:00.000+00",
"url": "abc123",
"thumbnailUrl": "abc123"
}
}
}
Subscriptions
activityChronicles
Description
Subscribes to changes in any Event
based on the given filter.
Response
Returns an ActivityChronicle!
Arguments
Name | Description |
---|---|
filter - FilterActivityChronicleInputSubscription
|
Filter events by unique identifier of the event producer or type of event, etc. |
Example
Query
subscription activityChronicles($filter: FilterActivityChronicleInputSubscription) {
activityChronicles(filter: $filter) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
images {
...ImageFragment
}
dataSourceClips {
...DataSourceClipFragment
}
tracks {
...TrackFragment
}
sites {
...SiteFragment
}
dataSources {
...DataSourceFragment
}
tags {
...TagFragment
}
pointsOfInterest {
...PointOfInterestFragment
}
createdAt
updatedAt
}
}
Variables
{"filter": FilterActivityChronicleInputSubscription}
Response
{
"data": {
"activityChronicles": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "abc123",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["abc123"],
"images": [Image],
"dataSourceClips": [DataSourceClip],
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
detectionActivity
Description
Subscribes to changes in any Detection
based on the given filter.
Response
Returns a Detection
Arguments
Name | Description |
---|---|
filter - FilterDetectionActivityInput
|
Filter detections by unique identifier of the device, unique identifier of the zone or geofence, type of the event, etc. |
Example
Query
subscription detectionActivity($filter: FilterDetectionActivityInput) {
detectionActivity(filter: $filter) {
track {
...TrackFragment
}
timestamp
frame {
...FrameFragment
}
polygon {
...GeoJSONPolygonFragment
}
position {
...GeoJSONPointFragment
}
zones {
...ZoneFragment
}
geofences {
...GeofenceFragment
}
metadata
createdAt
updatedAt
direction
geofenceIds
zoneIds
zoneEvents {
...ZoneEventFragment
}
geofenceEvents {
...GeofenceEventFragment
}
globalTrackId
deviceId
tag
}
}
Variables
{"filter": FilterDetectionActivityInput}
Response
{
"data": {
"detectionActivity": {
"track": Track,
"timestamp": "2025-01-01T00:00:00.000+00",
"frame": Frame,
"polygon": GeoJSONPolygon,
"position": GeoJSONPoint,
"zones": [Zone],
"geofences": [Geofence],
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"direction": 987.65,
"geofenceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneEvents": [ZoneEvent],
"geofenceEvents": [GeofenceEvent],
"globalTrackId": "xyz789",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"tag": "xyz789"
}
}
}
devices
Description
Subscribes to changes in any Device
based on the given filter.
Response
Returns a DeviceMessage
Arguments
Name | Description |
---|---|
filter - FilterDeviceMessageInput
|
Filter devices by unique identifier of the device, message state, etc. |
Example
Query
subscription devices($filter: FilterDeviceMessageInput) {
devices(filter: $filter) {
message {
...DeviceFragment
}
state
}
}
Variables
{"filter": FilterDeviceMessageInput}
Response
{
"data": {
"devices": {"message": Device, "state": "CREATE"}
}
}
eventActivity
Description
Subscribes to changes in any Event
based on the given filter.
Response
Returns an Event
Arguments
Name | Description |
---|---|
filter - FilterEventActivityInput
|
Filter events by unique identifier of the event producer or type of event, etc. |
Example
Query
subscription eventActivity($filter: FilterEventActivityInput) {
eventActivity(filter: $filter) {
id
eventProducer {
...EventProducerFragment
}
type
subType
startTime
endTime
position {
...GeoJSONPointFragment
}
timezone
metadata
images {
...ImageFragment
}
videos {
...VideoFragment
}
dataSourceClips {
...DataSourceClipFragment
}
properties {
...EventPropertiesFragment
}
draft
validation {
...EventValidationFragment
}
priority
}
}
Variables
{"filter": FilterEventActivityInput}
Response
{
"data": {
"eventActivity": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"eventProducer": EventProducer,
"type": "abc123",
"subType": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"position": GeoJSONPoint,
"timezone": "xyz789",
"metadata": {},
"images": [Image],
"videos": [Video],
"dataSourceClips": [DataSourceClip],
"properties": EventProperties,
"draft": true,
"validation": EventValidation,
"priority": "abc123"
}
}
}
eventChronicles
Description
Subscribes to changes in any Event
based on the given filter.
Response
Returns an EventChronicle!
Arguments
Name | Description |
---|---|
filter - FilterEventChronicleInputSubscription
|
Filter events by unique identifier of the event producer or type of event, etc. |
Example
Query
subscription eventChronicles($filter: FilterEventChronicleInputSubscription) {
eventChronicles(filter: $filter) {
id
chronicleProducer {
...ChronicleProducerFragment
}
name
description
timestamp
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"filter": FilterEventChronicleInputSubscription}
Response
{
"data": {
"eventChronicles": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "abc123",
"timestamp": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["xyz789"],
"activityChronicles": [ActivityChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
geofenceIntersections
Description
Subscribes to changes in any GeofenceIntersection
based on the given filter.
Response
Returns a GeofenceIntersectionMessage
Arguments
Name | Description |
---|---|
filter - FilterGeofenceIntersectionMessageInput
|
Filter detections by unique identifier of the device, unique identifier of the geofence, tag, message state, etc. |
Example
Query
subscription geofenceIntersections($filter: FilterGeofenceIntersectionMessageInput) {
geofenceIntersections(filter: $filter) {
message {
...GeofenceIntersectionFragment
}
state
}
}
Variables
{"filter": FilterGeofenceIntersectionMessageInput}
Response
{
"data": {
"geofenceIntersections": {
"message": GeofenceIntersection,
"state": "START"
}
}
}
measurementActivity
Description
Subscribes to changes in any Measurement
based on the given filter.
Response
Returns a Measurement
Arguments
Name | Description |
---|---|
filter - FilterMeasurementActivityInput
|
Filter measurements by unique identifier of the sensor, type of the event, etc. |
Example
Query
subscription measurementActivity($filter: FilterMeasurementActivityInput) {
measurementActivity(filter: $filter) {
id
sensor {
...SensorFragment
}
timestamp
value
}
}
Variables
{"filter": FilterMeasurementActivityInput}
Response
{
"data": {
"measurementActivity": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"sensor": Sensor,
"timestamp": "2025-01-01T00:00:00.000+00",
"value": "abc123"
}
}
}
summaryChronicles
Description
Subscribes to changes in any Event
based on the given filter.
Response
Returns a SummaryChronicle!
Arguments
Name | Description |
---|---|
filter - FilterSummaryChronicleInputSubscription
|
Filter events by unique identifier of the event producer or type of event, etc. |
Example
Query
subscription summaryChronicles($filter: FilterSummaryChronicleInputSubscription) {
summaryChronicles(filter: $filter) {
id
name
chronicleProducer {
...ChronicleProducerFragment
}
description
startTime
endTime
timezone
metadata
validation {
...ChronicleValidationFragment
}
priority
status
labels
locations
activityChronicles {
...ActivityChronicleFragment
}
eventChronicles {
...EventChronicleFragment
}
createdAt
updatedAt
}
}
Variables
{"filter": FilterSummaryChronicleInputSubscription}
Response
{
"data": {
"summaryChronicles": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"chronicleProducer": ChronicleProducer,
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["xyz789"],
"activityChronicles": [ActivityChronicle],
"eventChronicles": [EventChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
}
}
tracks
Description
Subscribes to changes in any Track
based on the given filter.
Response
Returns a TrackMessage
Arguments
Name | Description |
---|---|
filter - FilterTrackMessageInput
|
Filter tracks by unique identifier of the data source, tag, message state, etc. |
Example
Query
subscription tracks($filter: FilterTrackMessageInput) {
tracks(filter: $filter) {
message {
...TrackFragment
}
state
}
}
Variables
{"filter": FilterTrackMessageInput}
Response
{"data": {"tracks": {"message": Track, "state": "START"}}}
videoActivity
Description
Subscribes to any created Video
from a given DataSource
.
Response
Returns a Video
Arguments
Name | Description |
---|---|
filter - FilterVideoActivityInput
|
Filter videos by unique identifier of the data source. |
Example
Query
subscription videoActivity($filter: FilterVideoActivityInput) {
videoActivity(filter: $filter) {
id
dataSource {
...DataSourceFragment
}
startTime
endTime
url
thumbnailUrl
displayName
resolutionHeight
resolutionWidth
frameRate
createdBy {
...UserFragment
}
}
}
Variables
{"filter": FilterVideoActivityInput}
Response
{
"data": {
"videoActivity": {
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"url": "xyz789",
"thumbnailUrl": "abc123",
"displayName": "abc123",
"resolutionHeight": "xyz789",
"resolutionWidth": "xyz789",
"frameRate": 987.65,
"createdBy": User
}
}
}
zoneIntersections
Description
Subscribes to changes in any ZoneIntersection
based on the given filter.
Response
Returns a ZoneIntersectionMessage
Arguments
Name | Description |
---|---|
filter - FilterZoneIntersectionMessageInput
|
Filter detections by unique identifier of the device, unique identifier of the zone, message state, etc. |
Example
Query
subscription zoneIntersections($filter: FilterZoneIntersectionMessageInput) {
zoneIntersections(filter: $filter) {
message {
...ZoneIntersectionFragment
}
state
}
}
Variables
{"filter": FilterZoneIntersectionMessageInput}
Response
{
"data": {
"zoneIntersections": {
"message": ZoneIntersection,
"state": "START"
}
}
}
Types
ActivityChronicle
Description
An activity chronicle represents behavior which occurs over a period of time.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the activity. |
chronicleProducer - ChronicleProducer!
|
The chronicle producer that created the activity. |
name - String!
|
The name of the activity |
description - String
|
A text description of the activity. |
startTime - DateTimeOffset!
|
The time at which the activity started. |
endTime - DateTimeOffset
|
The time at which the activity ended. |
timezone - String
|
The timezone for the activity, if provided. |
metadata - JSON
|
Additional metadata associated with the activity. This may represent any JSON object structure. |
validation - ChronicleValidation
|
Optional information to validate the accuracy of the activity. |
priority - String
|
User-defined priority of the activity. |
status - String
|
User-defined status of the activity. |
labels - [String!]
|
Human-readable labels describing the activity. |
locations - [String!]
|
Human-readable locations describing the activity. |
images - [Image!]!
|
Images associated with the activity. |
dataSourceClips - [DataSourceClip!]!
|
Clips associated with the activity. |
tracks - [Track!]
|
Tracks associated with the activity. |
sites - [Site!]
|
Sites associated with the activity. |
dataSources - [DataSource!]
|
Data Sources associated with the activity. |
tags - [Tag!]
|
Tags associated with the activity. |
pointsOfInterest - [PointOfInterest!]
|
Points of Interest associated with the activity. |
createdAt - DateTimeOffset!
|
Timestamp that the activity was created. |
updatedAt - DateTimeOffset!
|
Timestamp that the activity was most recently updated. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "xyz789",
"description": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "xyz789",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["xyz789"],
"images": [Image],
"dataSourceClips": [DataSourceClip],
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
ActivityChronicleConnection
Description
An ActivityConnection
is the paginated results of an activities
query. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
edges - [ActivityChronicleEdge!]!
|
Pagination information for the resulting edges. |
pageInfo - PageInfo!
|
The resulting collection of activity edges. |
Example
{
"edges": [ActivityChronicleEdge],
"pageInfo": PageInfo
}
ActivityChronicleEdge
Description
An activity edge is the pairing of an Activity with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - ActivityChronicle!
|
Information about a particular Activity. |
cursor - String!
|
The cursor to use with the Query activities field after argument. |
Example
{
"node": ActivityChronicle,
"cursor": "xyz789"
}
ActivityChronicleSort
Description
Indicates the field used for sorting an activityChronicles
query.
Fields
Input Field | Description |
---|---|
field - ActivityChronicleSortField!
|
Any sortable field available to the ActivityProducersSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
ActivityChronicleSortField
Description
Indicates the field used for sorting an activities
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the activityChronicle 's unique identifier. |
|
Sort the resulting list by the activityChronicle 's start time. |
|
Sort the resulting list by the activityChronicle 's end time. |
|
Sort the resulting list by the activityChronicle 's name. |
|
Sort the resulting list by the activityChronicle 's priority. |
|
Sort the resulting list by the activityChronicle 's status. |
Example
"ID"
ActivityType
Boolean
Description
The Boolean
scalar type represents true
or false
.
ChronicleProducer
Description
An chronicle producer represents a custom process that detects and records chronicles. Chronicles created by an chronicle producer can represent a wide variety of time-based activities to be used by your application's specific needs that aren't expressed natively through detections and geofences. For instance, an chronicle producer could track detections of hazards and people, creating an event chronicle for each case where a person was too close to a hazard without personal protective equipment.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the chronicle producer. |
name - String!
|
The name of the chronicle producer. |
description - String
|
The text description of the chronicle producer, if provided. |
timezone - String
|
The timezone for the chronicle producer, if provided. |
active - Boolean!
|
True if the chronicle producer is currently active, otherwise false. |
validationReasons - [String!]!
|
A list of validation reasons currently used by the chronicle producer. |
metadata - JSON
|
Arbitrary information about the chronicle producer. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "xyz789",
"timezone": "xyz789",
"active": true,
"validationReasons": ["abc123"],
"metadata": {}
}
ChronicleProducerConnection
Description
The paginated results of an chronicleProducers
query. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
edges - [ChronicleProducerEdge!]!
|
The resulting collection of chronicle producer edges. |
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
Example
{
"edges": [ChronicleProducerEdge],
"pageInfo": PageInfo
}
ChronicleProducerEdge
Description
The pairing of an ChronicleProducer with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - ChronicleProducer!
|
Information about a particular ChronicleProducer. |
cursor - String!
|
The cursor to use with the Query chronicleProducers field after argument. |
Example
{
"node": ChronicleProducer,
"cursor": "abc123"
}
ChronicleProducersSort
Description
ChronicleProducersSort allows for sorting an chronicle producer by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - ChronicleProducersSortField!
|
Any sortable field available to the ChronicleProducersSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
ChronicleProducersSortField
Description
Indicates the field used for sorting an chronicleProducers
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the ChronicleProducer 's unique identifier. |
|
Sort the resulting list by the ChronicleProducer 's name. |
Example
"ID"
ChronicleValidation
Description
This input type indicates whether an chronicle is valid and contains additional information about the validation.
Fields
Field Name | Description |
---|---|
status - ChronicleValidationStatus!
|
Whether the chronicle is VALID or INVALID . |
reason - String
|
The reason for the chronicle's validation status. Required if the status is INVALID . |
details - String
|
Additional details for the chronicle's validation status. |
Example
{
"status": "VALID",
"reason": "abc123",
"details": "abc123"
}
ChronicleValidationInput
Description
This input type indicates whether an chronicle is valid and contains additional information about the validation.
Fields
Input Field | Description |
---|---|
status - ChronicleValidationStatus!
|
Whether the chronicle is VALID or INVALID . |
summary - String
|
The reason for the chronicle's validation status. Required if the status is INVALID . |
details - String
|
Additional details for the chronicle's validation status. |
Example
{
"status": "VALID",
"summary": "xyz789",
"details": "abc123"
}
ChronicleValidationStatus
Description
Used in ChronicleValidationInput to indicate whether an chronicle is VALID
or INVALID
.
Values
Enum Value | Description |
---|---|
|
The chronicle is valid. |
|
The chronicle is invalid. |
Example
"VALID"
CreateActivityChronicleInput
Description
This input type is used to create a new ActivityChronicle
.
Fields
Input Field | Description |
---|---|
name - String!
|
The chronicle producer that owns the activity. |
chronicleProducerId - ID!
|
The name of the activity |
description - String
|
A text description of the activity. |
startTime - DateTimeOffset!
|
The time at which the activity started. |
endTime - DateTimeOffset
|
The time at which the activity ended. |
timezone - String
|
The timezone for the activity, if provided. |
metadata - JSON
|
Additional metadata associated with the activity. This may represent any JSON object structure. |
priority - String
|
Optional information to validate the accuracy of the activity. |
status - String
|
User-defined priority of the activity. |
labels - [String!]
|
User-defined status of the activity. |
locations - [String!]
|
Human-readable labels describing the activity. |
validation - ChronicleValidationInput
|
Human-readable locations describing the activity. |
imageIds - [ID!]
|
IDs for images to associate with the activity. |
clips - [CreateClipInput!]
|
Requests to create clips associated with the activity. |
trackIds - [ID!]
|
IDs for tracks to associate with the activity. |
siteIds - [ID!]
|
IDs for sites to associate with the activity. |
dataSourceIds - [ID!]
|
IDs for data sources to associate with the activity. |
tagIds - [ID!]
|
IDs for tags to associate with the activity. |
pointOfInterestIds - [ID!]
|
IDs for points of interest to associate with the activity. |
Example
{
"name": "abc123",
"chronicleProducerId": 4,
"description": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"timezone": "abc123",
"metadata": {},
"priority": "xyz789",
"status": "xyz789",
"labels": ["xyz789"],
"locations": ["xyz789"],
"validation": ChronicleValidationInput,
"imageIds": [4],
"clips": [CreateClipInput],
"trackIds": [4],
"siteIds": [4],
"dataSourceIds": ["4"],
"tagIds": [4],
"pointOfInterestIds": [4]
}
CreateChronicleProducerInput
Description
This input type is used to create a new custom ChronicleProducer
.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the chronicle producer. |
description - String
|
The text description of the chronicle producer. |
timezone - String
|
The timezone for the chronicle producer. |
active - Boolean!
|
True if the chronicle producer should be active by default, otherwise false. |
metadata - JSON
|
Arbitrary information about the chronicle producer. |
validationReasons - [String!]
|
A list of validation reasons to be used by the chronicle producer. |
Example
{
"name": "abc123",
"description": "xyz789",
"timezone": "xyz789",
"active": true,
"metadata": {},
"validationReasons": ["xyz789"]
}
CreateClipInput
Description
This input type is used to create a new clip for an event. See About Events for more details.
Fields
Input Field | Description |
---|---|
dataSourceId - ID!
|
The unique ID of the datasource or device of the clip |
startTime - DateTimeOffset!
|
The start time of the clip |
endTime - DateTimeOffset!
|
The end time of the clip |
Example
{
"dataSourceId": 4,
"startTime": DateTimeOffset,
"endTime": DateTimeOffset
}
CreateDataSourceInput
Description
This type is used to create a new DataSource
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the data source |
type - DataSourceType!
|
The type of the data source |
labels - [String!]
|
Human-readable labels describing this data source |
Example
{
"name": "abc123",
"type": "FOLDER",
"labels": ["xyz789"]
}
CreateDetectionInput
Description
This type is used to create a new Detection
Fields
Input Field | Description |
---|---|
trackId - ID!
|
The id of the track that governs the detection |
timestamp - DateTimeOffset!
|
The time at which the detection occurred. |
position - GeoJSONPointInput
|
A GeoJSON point that represents the location of the detection in the world. |
polygon - GeoJSONPolygonInput
|
A GeoJSON polygon that represents the two dimensional bounds of the detection in its captured video or image. |
direction - Float
|
The direction, in degrees, of the detection in the world. Direction is measured clockwise from north, so 0 is north, 90 is east, 180 is south and 270 is west. The direction should be between 0 and 360 degrees. |
metadata - JSON
|
Arbitrary metadata associated with the detection. |
Example
{
"trackId": "4",
"timestamp": DateTimeOffset,
"position": GeoJSONPointInput,
"polygon": GeoJSONPolygonInput,
"direction": 123.45,
"metadata": {}
}
CreateDeviceInput
Description
This input type is used to create a new Device
.
Fields
Input Field | Description |
---|---|
siteId - ID
|
The unique identifier for the site that this device belongs to. |
pointOfInterestId - ID
|
The unique identifier for the point of interest the device belongs to. |
externalId - ID
|
An identifier that the device may use outside of Worlds. |
name - String!
|
The name of the device. |
address - String
|
The address of the device. |
position - GeoJSONPointInput
|
The geographic location of the device. |
enabled - Boolean!
|
true if the device's feed is being persisted by Worlds.
|
Example
{
"siteId": 4,
"pointOfInterestId": "4",
"externalId": 4,
"name": "abc123",
"address": "abc123",
"position": GeoJSONPointInput,
"enabled": true
}
CreateEventChronicleInput
Description
This input type is used to create a new EventChronicle
.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the event |
chronicleProducerId - ID!
|
The event producer that owns the event. |
description - String
|
A text description of the event. |
timestamp - DateTimeOffset!
|
The time at which the event occurred. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
priority - String
|
User-defined priority of the event. |
status - String
|
User-defined status of the event. |
labels - [String!]
|
Human-readable labels describing the event. |
locations - [String!]
|
Human-readable locations describing the event. |
validation - ChronicleValidationInput
|
Optional information to validate the accuracy of the event. |
activityChronicleIds - [ID!]
|
IDs of activity chronicles associated with the event. |
Example
{
"name": "abc123",
"chronicleProducerId": 4,
"description": "abc123",
"timestamp": DateTimeOffset,
"timezone": "abc123",
"metadata": {},
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"validation": ChronicleValidationInput,
"activityChronicleIds": [4]
}
CreateEventInput
Description
This input type is used to create a new Event
for a custom event producer. See About EventProducers for more details.
Fields
Input Field | Description |
---|---|
id - ID
|
The unique identifier for the event. If not provided, one will be automatically assigned. |
eventProducerId - String!
|
The unique identifier of the EventProducer that will own the event. |
type - String!
|
The type of the event, which should convey the broad category of the event. |
subType - String
|
The subtype of the event, if provided, which should provide more context on the category of the event. |
startTime - DateTimeOffset!
|
The time at which the event started. |
endTime - DateTimeOffset
|
The time at which the event ended. If not provided, the event is still ongoing. |
position - GeoJSONPointInput
|
The GeoJSON point to be recorded with the event, if any. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
snapshots - [CreateSnapshotInput!]
|
Requests to generate snapshots for this event |
uploads - [UploadImageInput!]
|
Requests to upload images for this event |
clips - [CreateClipInput!]
|
Requests to associate clips to this event |
trackIds - [ID!]
|
List of Track IDs to attach to this event. Ensures that the Events UI page renders a map with plotted tracks. |
properties - EventPropertiesInput
|
Optional additional information associated with this event, including related data sources, sites, and tags. |
draft - Boolean!
|
Whether the event is a draft. Default = false |
validation - EventValidationInput
|
Optional information to validate the accuracy of the event. |
priority - String
|
Optional string to indicate the priority of an event. |
Example
{
"id": "4",
"eventProducerId": "xyz789",
"type": "xyz789",
"subType": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"position": GeoJSONPointInput,
"timezone": "abc123",
"metadata": {},
"snapshots": [CreateSnapshotInput],
"uploads": [UploadImageInput],
"clips": [CreateClipInput],
"trackIds": [4],
"properties": EventPropertiesInput,
"draft": true,
"validation": EventValidationInput,
"priority": "xyz789"
}
CreatePointOfInterestInput
Description
Fields to create a new PointOfInterest
Fields
Input Field | Description |
---|---|
siteId - ID!
|
The ID of the Site that the PointOfInterest belongs to |
name - String!
|
The name of the PointOfInterest. |
position - GeoJSONPointInput!
|
The geographic position of the PointOfInterest |
metadata - JSON
|
The metadata associated with the PointOfInterest. |
Example
{
"siteId": 4,
"name": "xyz789",
"position": GeoJSONPointInput,
"metadata": {}
}
CreateSiteInput
Description
Input type used to create a new [Site]({{Types.site}.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the site. |
position - GeoJSONPointInput
|
The geographic location of the site |
polygon - GeoJSONMultiPolygonInput
|
The geographic shape of the site |
Example
{
"name": "abc123",
"position": GeoJSONPointInput,
"polygon": GeoJSONMultiPolygonInput
}
CreateSnapshotInput
Description
This input type is used to create a new Image
for an event. See About Events for more details.
Fields
Input Field | Description |
---|---|
dataSourceId - ID!
|
The unique ID of the datasource or device that will take the snapshot |
timestamp - DateTimeOffset!
|
The time when the snapshot will be taken |
Example
{
"dataSourceId": "4",
"timestamp": DateTimeOffset
}
CreateSummaryChronicleInput
Description
This input type is used to create a new SummaryChronicle
.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the summary |
chronicleProducerId - ID!
|
The summary producer that owns the summary. |
description - String
|
A text description of the summary. |
startTime - DateTimeOffset!
|
The start time of the summary. |
endTime - DateTimeOffset!
|
The end time of the summary. |
timezone - String
|
The timezone for the summary, if provided. |
metadata - JSON
|
Additional metadata associated with the summary. This may represent any JSON object structure. |
priority - String
|
User-defined priority of the summary. |
status - String
|
User-defined status of the summary. |
labels - [String!]
|
Human-readable labels describing the summary. |
locations - [String!]
|
Human-readable locations describing the summary. |
validation - ChronicleValidationInput
|
Optional information to validate the accuracy of the summary. |
activityChronicleIds - [ID!]
|
IDs of activity chronicles associated with the summary. |
eventChronicleIds - [ID!]
|
IDs of event chronicles associated with the summary. |
Example
{
"name": "abc123",
"chronicleProducerId": 4,
"description": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"timezone": "xyz789",
"metadata": {},
"priority": "xyz789",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["abc123"],
"validation": ChronicleValidationInput,
"activityChronicleIds": ["4"],
"eventChronicleIds": [4]
}
CreateTrackInput
Description
This input type is used to create a new Track
.
Fields
Input Field | Description |
---|---|
id - ID
|
The unique identifier for the Track. Will be autogenerated if one is not provided. |
dataSourceId - ID!
|
The unique identifier of the data source that captured the Track. |
tag - String!
|
The class label of the tracked object, i.e person, car, truck, etc. |
startTime - DateTimeOffset!
|
The time of the first detection of the tracked object. |
endTime - DateTimeOffset
|
The time of the last detection of the tracked object, or null if it is still being tracked. |
detections - [TrackDetectionInput!]!
|
A list of detections that will also be created and associated to the new track. |
properties - TrackPropertiesInput
|
The identifying and descriptive attributes of a new track. |
metadata - JSON
|
Arbitrary information about the Track. |
Example
{
"id": "4",
"dataSourceId": 4,
"tag": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"detections": [TrackDetectionInput],
"properties": TrackPropertiesInput,
"metadata": {}
}
CreateZoneInput
Fields
Input Field | Description |
---|---|
dataSourceId - ID!
|
The unique identifier of the data source that owns the zone |
name - String!
|
The name given to the camera zone. |
polygon - GeoJSONPolygonInput!
|
The geometrical boundry of the camera zone. |
active - Boolean
|
True if the zone is currently active, otherwise false. |
Example
{
"dataSourceId": "4",
"name": "xyz789",
"polygon": GeoJSONPolygonInput,
"active": false
}
DataSource
Description
A data source is responsible for producing the videos, images and other sensor data that may eventually produce detections and tracks. For more details on detections, see About Detections
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the data source. |
name - String!
|
The name of the data source |
type - DataSourceType!
|
The type of the data source |
device - Device
|
The device associated with this data source |
zones - [Zone!]!
|
The zones associated with this data source |
labels - [String!]
|
Human-readable labels describing this data source |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"type": "FOLDER",
"device": Device,
"zones": [Zone],
"labels": ["xyz789"]
}
DataSourceClip
Description
A data source clip represents a video from a data source, bounded by a start and end time.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the data source clip. |
dataSource - DataSource!
|
The data source that created the video. |
startTime - DateTimeOffset!
|
Start time of the clip |
endTime - DateTimeOffset!
|
End time of the clip |
url - String!
|
The signed URL to be used to stream the clip. |
thumbnailUrl - String
|
The signed URL to be used to retrieve the clip thumbnail. |
displayName - String
|
Optional display name for a clip |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"url": "abc123",
"thumbnailUrl": "xyz789",
"displayName": "xyz789"
}
DataSourceConnection
Description
A DataSourceConnection
is the paginated results of a data sources
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [DataSourceEdge]!
|
The resulting collection of detection edges. |
Example
{
"pageInfo": PageInfo,
"edges": [DataSourceEdge]
}
DataSourceEdge
Description
A data source edge is the pairing of a Data Source with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - DataSource
|
Information about a particular Data Source. |
cursor - String!
|
The cursor to use with the dataSources query after argument. |
Example
{
"node": DataSource,
"cursor": "abc123"
}
DataSourceSort
Description
DataSourceSort allows for sorting a dataSources
query by field and direction.
Fields
Input Field | Description |
---|---|
field - DataSourceSortField!
|
Any sortable field available to the DataSourceSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
DataSourceSortField
Description
Indicates the field used for sorting a Data Sources query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the device name. |
Example
"ID"
DataSourceType
Description
Indicates the type of a DataSource
Values
Enum Value | Description |
---|---|
|
A data source that is simply meant to store videos or images |
|
A data source that corresponds to a Device that is generating video. |
|
A data source that corresponds to a Device that is generating images. |
|
A data source that directly produces Tracks and detections |
Example
"FOLDER"
DateTimeOffset
Description
A moment in time described by the date, the time and the timezone offset from UTC. This is specified by ISO-8601.
Example
DateTimeOffset
Detection
Description
Detections are the lowest level unit of computer vision primitive within Worlds. A detection represents a single frame of a recognized object, which then has additional data associated with it, including its position, track, and interactions with zones and geofences.
Fields
Field Name | Description |
---|---|
track - Track!
|
The track that is associated with the detection. |
timestamp - DateTimeOffset!
|
The time at which the detection occurred. |
frame - Frame
|
Information about the video frame in which this detection was captured |
polygon - GeoJSONPolygon
|
A GeoJSON polygon that represents the spatial bounds of the detection. |
position - GeoJSONPoint
|
A GeoJSON point that represents the location of the detection in the world. This value may be null if the camera that captured the detection hasn't been calibrated. It may also be null if the location cannot be calculated (i.e the detected object is in the sky). |
zones - [Zone!]!
|
A list of Zones with which the detection intersects. |
geofences - [Geofence!]!
|
A list of Geofences with which the detection intersects. |
metadata - JSON
|
Arbitrary metadata associated with the detection. |
createdAt - DateTimeOffset
|
Timestamp that the detection was created. May be delayed from the
timestamp due to post-processing video feeds or other latency. |
updatedAt - DateTimeOffset
|
Timestamp that the detection was most recently updated. |
direction - Float
|
The direction in which the detection is moving, represented in degrees. |
geofenceIds - [ID!]!
|
A list of geofence unique identifiers with which the
detection intersects. geofenceIds is deprecated. Use geofences.id instead
|
zoneIds - [ID!]!
|
A list of zone unique identifiers with which the
detection intersects. zoneIds is deprecated. Use zones.id instead
|
zoneEvents - [ZoneEvent!]!
|
A list of zone events related to this detection. zoneEvents is deprecated. Use track.zoneEvents instead
|
geofenceEvents - [GeofenceEvent!]!
|
A list of geofence events related to this detection. geofenceEvents is deprecated. Use track.geofenceEvents instead
|
globalTrackId - String
|
The global track id that governs the detection, if any. globalTrackId is deprecated. Use track.id instead
|
deviceId - ID
|
The unique identifier of the device where the detection occurred. deviceId is deprecated. Use track.dataSourceId.id instead
|
tag - String!
|
The class label of the detected object, i.e person, car, truck, etc. tag is deprecated. Use track.tag instead
|
Example
{
"track": Track,
"timestamp": "2025-01-01T00:00:00.000+00",
"frame": Frame,
"polygon": GeoJSONPolygon,
"position": GeoJSONPoint,
"zones": [Zone],
"geofences": [Geofence],
"metadata": {},
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"direction": 987.65,
"geofenceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"],
"zoneEvents": [ZoneEvent],
"geofenceEvents": [GeofenceEvent],
"globalTrackId": "abc123",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"tag": "xyz789"
}
DetectionConnection
Description
A DetectionConnection
is the paginated results of a detections
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [DetectionEdge]!
|
The resulting collection of detection edges. |
Example
{
"pageInfo": PageInfo,
"edges": [DetectionEdge]
}
DetectionEdge
Description
A detection edge is the pairing of a Detection with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Detection
|
Information about a particular Detection. |
cursor - String!
|
The cursor to use with the detections query after argument. |
Example
{
"node": Detection,
"cursor": "abc123"
}
DetectionsSort
Description
DetectionsSort allows for sorting a detection by detection sort field and direction.
Fields
Input Field | Description |
---|---|
field - DetectionsSortField!
|
Any sortable field available to the DetectionsSort. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "DETECTION_TIME", "direction": "ASC"}
DetectionsSortField
Description
Indicates the field used for sorting a Detections query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by detection time. |
|
Sort the resulting list by the corresponding Track's unique identifier.. |
Example
"DETECTION_TIME"
Device
Description
A device represents a camera: a source of videos and images. These videos and images may then be processed to produce detections and tracks or to train models. For more details on detections, see About Detections
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the device. |
uuid - ID!
|
An alternative UUID for the device. |
externalId - ID
|
An identifier that the device may use outside of Worlds. |
name - String!
|
The name of the device |
enabled - Boolean!
|
true if the device's feed is being persisted by Worlds. |
address - String
|
The address of the device |
frameRate - Float
|
The target frame rate for videos produced by this Device |
position - GeoJSONPoint
|
The geographic location of the device |
dataSource - DataSource
|
The data source associated with this device |
site - Site
|
The site that this device belongs to |
calibrations - [DeviceCalibration!]!
|
The list of calibrations for the device |
pointOfInterest - PointOfInterest
|
The point of interest the device belongs to |
lastHeartbeat - DateTimeOffset
|
Timestamp at which this device last received a heartbeat update. Can be used to confirm the device is still active. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"externalId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"enabled": true,
"address": "xyz789",
"frameRate": 123.45,
"position": GeoJSONPoint,
"dataSource": DataSource,
"site": Site,
"calibrations": [DeviceCalibration],
"pointOfInterest": PointOfInterest,
"lastHeartbeat": "2025-01-01T00:00:00.000+00"
}
DeviceCalibration
Description
A device calibration determines how objects captured by in a video or image are geo-referenced into the real world.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the device calibration. |
timestamp - DateTimeOffset!
|
The start time of the calibration. Detections generated after this time for this device will be geo-referenced according to this calibration. |
markers - [DeviceCalibrationMarker!]!
|
The markers associated with the calibration. |
precomputeAt - DateTimeOffset
|
The time the calibration was precomputed, if any. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"timestamp": "2025-01-01T00:00:00.000+00",
"markers": [DeviceCalibrationMarker],
"precomputeAt": "2025-01-01T00:00:00.000+00"
}
DeviceCalibrationMarker
Description
DeviceCalibrationMarker represents a reference point used in device calibration. Markers consist of a point in an image and their corresponding point in the real world.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the calibration marker. |
name - String!
|
The name of the calibration marker. |
position - GeoJSONPoint!
|
The corresponding geographic position for the marker. |
pixel - GeoJSONPoint!
|
The corresponding point in the video for the marker. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"position": GeoJSONPoint,
"pixel": GeoJSONPoint
}
DeviceConnection
Description
A DeviceConnection
is the paginated results of a devices
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [DeviceEdge]!
|
The resulting collection of Device edges. |
Example
{
"pageInfo": PageInfo,
"edges": [DeviceEdge]
}
DeviceEdge
Description
A device edge is the pairing of a Device with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Device
|
Information about a particular Device. |
cursor - String!
|
The cursor to use with the Query devices field after argument. |
Example
{
"node": Device,
"cursor": "xyz789"
}
DeviceMessage
Description
A message containing a Device
from a devices
subscription.
Fields
Field Name | Description |
---|---|
message - Device!
|
The device. |
state - DeviceMessageState!
|
The state of the device message. |
Example
{"message": Device, "state": "CREATE"}
DeviceMessageState
Description
Indicates the state of a message from a devices
subscription.
Values
Enum Value | Description |
---|---|
|
A new device is created. |
|
A device is updated. |
|
A device receives a new lastHeartbeat .
|
Example
"CREATE"
DevicesSort
Description
DevicesSort allows for sorting a devices
query by field and direction.
Fields
Input Field | Description |
---|---|
field - DevicesSortField!
|
Any sortable field available to the DevicesSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
DevicesSortField
Description
Indicates the field used for sorting a Devices query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the device name. |
Example
"ID"
EmbeddingOptionsInput
Fields
Input Field | Description |
---|---|
regions - [GeoJSONMultiPolygonInput!]
|
The model will only attempt to embed the image inside the specified multipolygons |
Example
{"regions": [GeoJSONMultiPolygonInput]}
EmbeddingResponse
Fields
Field Name | Description |
---|---|
results - [EmbeddingResult!]!
|
The list of embeddings |
Example
{"results": [EmbeddingResult]}
EmbeddingResult
Fields
Field Name | Description |
---|---|
embedding - [Float!]!
|
The embedding vector |
regionIndex - Int
|
The index of the region in the provided regions array that contains the embedding. Only applicable if regions was specified in the original query. |
Example
{"embedding": [987.65], "regionIndex": 123}
Event
Description
An event represents a custom event, including its start time, location, and duration. For more details on event producers and events, see About EventProducers.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the event. |
eventProducer - EventProducer!
|
The event producer that owns the event. |
type - String!
|
The type of the event, which should convey the broad category of the event. |
subType - String
|
The subtype of the event, if provided, which should provide more context on the category of the event. |
startTime - DateTimeOffset!
|
The time at which the event started. |
endTime - DateTimeOffset
|
The time at which the event ended. If not provided, the event is still ongoing. |
position - GeoJSONPoint
|
The GeoJSON point recorded with the event, if any. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
images - [Image!]!
|
The images that are associated with this event. |
videos - [Video!]!
|
The videos that are associated with this event. videos is deprecated. Use dataSourceClips instead.
|
dataSourceClips - [DataSourceClip!]!
|
Video clips that are associated with this event. |
properties - EventProperties
|
Optional additional information associated with this event, including related data sources, sites, and tags. |
draft - Boolean
|
Indicate that the event is a draft. Defaults to false. |
validation - EventValidation
|
Optional information to validate the accuracy of the event. |
priority - String
|
Optional string to indicate the priority of an event. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"eventProducer": EventProducer,
"type": "abc123",
"subType": "abc123",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"position": GeoJSONPoint,
"timezone": "abc123",
"metadata": {},
"images": [Image],
"videos": [Video],
"dataSourceClips": [DataSourceClip],
"properties": EventProperties,
"draft": true,
"validation": EventValidation,
"priority": "abc123"
}
EventChronicle
Description
An event chronicle represents an occurrence at a single point at time.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the event. |
chronicleProducer - ChronicleProducer!
|
The chronicle producer that created the event. |
name - String!
|
The name of the event |
description - String
|
A text description of the event. |
timestamp - DateTimeOffset!
|
The time at which the event occurred. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
validation - ChronicleValidation
|
Optional information to validate the accuracy of the event. |
priority - String
|
User-defined priority of the event. |
status - String
|
User-defined status of the event. |
labels - [String!]
|
Human-readable labels describing the event. |
locations - [String!]
|
Human-readable locations describing the event. |
activityChronicles - [ActivityChronicle!]!
|
Activity chronicles associated with the event. |
createdAt - DateTimeOffset!
|
Timestamp that the event was created. |
updatedAt - DateTimeOffset!
|
Timestamp that the event was most recently updated. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"chronicleProducer": ChronicleProducer,
"name": "abc123",
"description": "abc123",
"timestamp": "2025-01-01T00:00:00.000+00",
"timezone": "xyz789",
"metadata": {},
"validation": ChronicleValidation,
"priority": "abc123",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["xyz789"],
"activityChronicles": [ActivityChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
EventChronicleConnection
Description
An EventConnection
is the paginated results of an events
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
edges - [EventChronicleEdge!]!
|
Pagination information for the resulting edges. |
pageInfo - PageInfo!
|
The resulting collection of event edges. |
Example
{
"edges": [EventChronicleEdge],
"pageInfo": PageInfo
}
EventChronicleEdge
Description
An event edge is the pairing of an Event with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - EventChronicle!
|
Information about a particular Event. |
cursor - String!
|
The cursor to use with the Query events field after argument. |
Example
{
"node": EventChronicle,
"cursor": "abc123"
}
EventChronicleSort
Description
Indicates the field used for sorting an eventProducers
query.
Fields
Input Field | Description |
---|---|
field - EventChronicleSortField!
|
Any sortable field available to the EventProducersSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
EventChronicleSortField
Description
Indicates the field used for sorting an events
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the eventChronicle 's unique identifier.
|
|
Sort the resulting list by the eventChronicle 's timestamp.
|
|
Sort the resulting list by the eventChronicle 's name.
|
|
Sort the resulting list by the eventChronicle 's priority.
|
|
Sort the resulting list by the eventChronicle 's status.
|
Example
"ID"
EventConnection
Description
An EventConnection
is the paginated results of an events
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [EventEdge]!
|
The resulting collection of event edges. |
Example
{
"pageInfo": PageInfo,
"edges": [EventEdge]
}
EventEdge
Description
An event edge is the pairing of an Event with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Event
|
Information about a particular Event. |
cursor - String!
|
The cursor to use with the Query events field after argument. |
Example
{
"node": Event,
"cursor": "xyz789"
}
EventProducer
Description
An event producer represents a custom process that detects and records events. Events created by an event producer can represent a wide variety of time-based activities to be used by your application's specific needs that aren't expressed natively through detections and geofences. For instance, an event producer could track detections of hazards and people, creating an event for each case where a person was too close to a hazard without personal protective equipment.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the event producer. |
name - String!
|
The name of the event producer. |
description - String
|
The text description of the event producer, if provided. |
timezone - String
|
The timezone for the event producer, if provided. |
active - Boolean!
|
True if the event producer is currently active, otherwise false. |
invalidReasons - [String!]!
|
A list of invalid reasons currently used by the event producer. |
metadata - JSON
|
Arbitrary information about the event producer. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "abc123",
"timezone": "xyz789",
"active": true,
"invalidReasons": ["xyz789"],
"metadata": {}
}
EventProducerConnection
Description
An EventProducerConnection
is the paginated results of an eventProducers
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [EventProducerEdge]!
|
The resulting collection of event producer edges. |
Example
{
"pageInfo": PageInfo,
"edges": [EventProducerEdge]
}
EventProducerEdge
Description
An event producer edge is the pairing of an EventProducer with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - EventProducer
|
Information about a particular EventProducer. |
cursor - String!
|
The cursor to use with the Query eventProducers field after argument. |
Example
{
"node": EventProducer,
"cursor": "xyz789"
}
EventProducerInput
Description
This input type is used to create a new custom EventProducer
. See About EventProducers for more details.
Fields
Input Field | Description |
---|---|
id - ID
|
|
name - String!
|
The name of the event producer. |
description - String
|
The text description of the event producer. |
timezone - String
|
The timezone for the event producer. |
active - Boolean
|
True if the event producer should be active by default, otherwise false. |
metadata - JSON
|
Arbitrary information about the event producer. |
Example
{
"id": 4,
"name": "xyz789",
"description": "xyz789",
"timezone": "abc123",
"active": true,
"metadata": {}
}
EventProducersSort
Description
EventProducersSort allows for sorting an event producer by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - EventProducersSortField!
|
Any sortable field available to the EventProducersSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
EventProducersSortField
Description
Indicates the field used for sorting an eventProducers
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the EventProducer 's unique identifier.
|
|
Sort the resulting list by the EventProducer 's name.
|
Example
"ID"
EventProperties
Description
Event Properties contain additional details and related information for an event. For more details on event producers and events, see About EventProducers.
Fields
Field Name | Description |
---|---|
tracks - [Track!]
|
The tracks associated with the event. |
sites - [Site!]
|
The sites associated with the event. |
dataSources - [DataSource!]
|
The data sources associated with the event. |
tags - [Tag!]
|
The tag labels of detections associated with the event. |
pointsOfInterest - [PointOfInterest!]
|
The points of interest associated with the event. |
Example
{
"tracks": [Track],
"sites": [Site],
"dataSources": [DataSource],
"tags": [Tag],
"pointsOfInterest": [PointOfInterest]
}
EventPropertiesInput
Description
This input type contains additional details and related information for an event. For more details on event producers and events, see About EventProducers.
Fields
Input Field | Description |
---|---|
siteIds - [ID!]
|
The unique identifiers for the sites associated with the event. |
dataSourceIds - [ID!]
|
The unique identifiers for the data sources associated with the event. |
tags - [String!]
|
The tag labels of detections associated with the event. |
pointOfInterestIds - [ID!]
|
The points of interest associated with the event. |
Example
{
"siteIds": ["4"],
"dataSourceIds": [4],
"tags": ["abc123"],
"pointOfInterestIds": ["4"]
}
EventValidation
Description
This type indicates whether an event is valid and contains additional information about the validation.
Fields
Field Name | Description |
---|---|
status - EventValidationStatus!
|
Whether the event is VALID or INVALID . |
reason - String
|
The reason for the event's validation status. Required if the status is INVALID . |
details - String
|
Optional details for the event's validation status. |
Example
{
"status": "VALID",
"reason": "xyz789",
"details": "abc123"
}
EventValidationInput
Description
This input type indicates whether an event is valid and contains additional information about the validation.
Fields
Input Field | Description |
---|---|
status - EventValidationStatus!
|
Whether the event is VALID or INVALID . |
reason - String
|
The reason for the event's validation status. Required if the status is INVALID . |
details - String
|
Additional details for the event's validation status. |
Example
{
"status": "VALID",
"reason": "xyz789",
"details": "xyz789"
}
EventValidationStatus
Description
Used in EventValidationInput to indicate whether an event is VALID
or INVALID
.
Values
Enum Value | Description |
---|---|
|
The event is valid. |
|
The event is invalid. |
Example
"VALID"
EventsSort
Description
EventsSort allows for sorting an event by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - EventsSortField!
|
Any sortable field available to the EventsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
EventsSortField
Description
Indicates the field used for sorting an events
query.
Example
"ID"
EventsSummary
Fields
Field Name | Description |
---|---|
total - Int!
|
The total number of Events within the time range. |
buckets - [EventsSummaryBucket!]
|
A detailed summary of each bucket within the time range.
Summary buckets are only returned if bucket is provided as a query parameter to eventsSummary . |
Example
{"total": 987, "buckets": [EventsSummaryBucket]}
EventsSummaryBucket
Fields
Field Name | Description |
---|---|
time - DateTimeOffset!
|
The start time of the bucket. |
total - Int!
|
The total number of Events within the bucket. |
Example
{"time": "2025-01-01T00:00:00.000+00", "total": 987}
FilterActivityChronicleInput
Description
FilterActivityChronicleInput filters ActivityChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the ActivityChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the ActivityChronicle . |
startTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the startTime of the ActivityChronicle . |
endTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the endTime of the ActivityChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the ActivityChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the ActivityChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the ActivityChronicle . |
validation - FilterChronicleValidationStatusInput
|
If provided, specifies filters that work against the validation of the ActivityChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the ActivityChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the ActivityChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducer ID of the ActivityChronicle . |
tagIds - FilterIDListInput
|
If provided, specifies filters that work against the tags IDs of the ActivityChronicle . |
siteIds - FilterIDListInput
|
If provided, specifies filters that work against the sites IDs of the ActivityChronicle . |
dataSourceIds - FilterIDListInput
|
If provided, specifies filters that work against the dataSources IDs of the ActivityChronicle . |
pointOfInterestIds - FilterIDListInput
|
If provided, specifies filters that work against the pointsOfInterest IDs of the ActivityChronicle . |
and - [FilterActivityChronicleInput!]
|
If provided, an activity must pass all filters in this list to match the current filter. |
or - [FilterActivityChronicleInput!]
|
If provided, an activity must pass at least one of the filters in this list to match the current filter. |
not - FilterActivityChronicleInput
|
If provided, an activity may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"startTime": FilterDateTimeOffsetInput,
"endTime": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterChronicleValidationStatusInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"chronicleProducerId": FilterIDInput,
"tagIds": FilterIDListInput,
"siteIds": FilterIDListInput,
"dataSourceIds": FilterIDListInput,
"pointOfInterestIds": FilterIDListInput,
"and": [FilterActivityChronicleInput],
"or": [FilterActivityChronicleInput],
"not": FilterActivityChronicleInput
}
FilterActivityChronicleInputSubscription
Description
FilterActivityChronicleInput filters ActivityChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the ActivityChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the ActivityChronicle . |
startTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the startTime of the ActivityChronicle . |
endTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the endTime of the ActivityChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the ActivityChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the ActivityChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the ActivityChronicle . |
validation - FilterStringInput
|
If provided, specifies filters that work against the validation of the ActivityChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the ActivityChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the ActivityChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducer ID of the ActivityChronicle . |
tagIds - FilterIDListInput
|
If provided, specifies filters that work against the tag IDs of the ActivityChronicle . |
siteIds - FilterIDListInput
|
If provided, specifies filters that work against the site IDs of the ActivityChronicle . |
dataSourceIds - FilterIDListInput
|
If provided, specifies filters that work against the dataSource IDs of the ActivityChronicle . |
pointOfInterestIds - FilterIDListInput
|
If provided, specifies filters that work against the pointOfInterest IDs of the ActivityChronicle . |
and - [FilterActivityChronicleInputSubscription!]
|
If provided, an activity must pass all filters in this list to match the current filter. |
or - [FilterActivityChronicleInputSubscription!]
|
If provided, an activity must pass at least one of the filters in this list to match the current filter. |
not - FilterActivityChronicleInputSubscription
|
If provided, an activity may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"startTime": FilterDateTimeOffsetInput,
"endTime": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterStringInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"chronicleProducerId": FilterIDInput,
"tagIds": FilterIDListInput,
"siteIds": FilterIDListInput,
"dataSourceIds": FilterIDListInput,
"pointOfInterestIds": FilterIDListInput,
"and": [FilterActivityChronicleInputSubscription],
"or": [FilterActivityChronicleInputSubscription],
"not": FilterActivityChronicleInputSubscription
}
FilterBooleanInput
Description
FilterBooleanInput
allows for filtering based on a Boolean parameter. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
eq - Boolean
|
If provided, the Boolean input must be the same as the value provided to match the current filter. |
ne - Boolean
|
If provided, the Boolean input must not be the same as the value provided to match the current filter. |
attributeExists - Boolean
|
If provided and true, the filter will pass only if there is a Boolean in the corresponding field. If provided and false, the filter will pass only if there is not a Boolean in the corresponding field. |
Example
{"eq": false, "ne": false, "attributeExists": false}
FilterChronicleProducerInput
Description
FilterChronicleProducerInput filters ChronicleProducer based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the ChronicleProducer's unique id. |
name - FilterStringInput
|
If provided, specifies filters that work against the ChronicleProducer's name. |
active - FilterBooleanInput
|
If provided, specifies filters that work against the ChronicleProducer's active status. |
and - [FilterChronicleProducerInput!]
|
If provided, an chronicle producer must pass all filters in this list to match the current filter. |
or - [FilterChronicleProducerInput!]
|
If provided, an chronicle producer must pass at least one of the filters in this list to match the current filter. |
not - FilterChronicleProducerInput
|
If provided, an chronicle producer may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"active": FilterBooleanInput,
"and": [FilterChronicleProducerInput],
"or": [FilterChronicleProducerInput],
"not": FilterChronicleProducerInput
}
FilterChronicleValidationStatusInput
Description
FilterChronicleValidationStatusInput
allows for filtering based on an chronicle's validation status. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
eq - ChronicleValidationStatus
|
If provided, the chronicle's validation status must be equivalent to the value provided to match the current filter. |
ne - ChronicleValidationStatus
|
If provided, the chronicle's validation status must not be equivalent to the value provided to match the current filter. |
in - [ChronicleValidationStatus!]
|
If provided, the chronicle's validation status must be present in the value provided to match the current filter. |
attributeExists - Boolean
|
If provided and true, the filter will pass only if the chronicle has a validation status. If provided and false, the filter will pass only if there is no validation status. |
Example
{"eq": "VALID", "ne": "VALID", "in": ["VALID"], "attributeExists": true}
FilterDataSourceInput
Description
FilterDataSourceInput filters DataSources based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
type - FilterStringInput
|
If provided, specifies filters that work against the dataSource 's type.
The type of the data source |
position - FilterPointInput
|
If provided, specifies filters that work against the position of the data source's device. |
id - FilterIDInput
|
If provided, specifies filters that work against the [data source`](#definition-datasource)'s unique id. |
name - FilterStringInput
|
If provided, specifies filters that work against the [data source`](#definition-datasource)'s name. |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the DataSource . |
and - [FilterDataSourceInput!]
|
If provided, a data source must pass all filters in this list to match the current filter. |
or - [FilterDataSourceInput!]
|
If provided, a data source must pass at least one of the filters in this list to match the current filter. |
not - FilterDataSourceInput
|
If provided, a data source may not match this filter to match the current filter. |
Example
{
"type": FilterStringInput,
"position": FilterPointInput,
"id": FilterIDInput,
"name": FilterStringInput,
"labels": FilterStringListInput,
"and": [FilterDataSourceInput],
"or": [FilterDataSourceInput],
"not": FilterDataSourceInput
}
FilterDateTimeOffsetInput
Description
FilterDateTimeOffsetInput
allows for filtering based on a DateTimeOffset parameter. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
eq - DateTimeOffset
|
If provided, the DateTimeOffset input must be the same as the value provided to match the current filter. |
between - [DateTimeOffset!]
|
If provided, the DateTimeOffset input must be between the two values provided to match the current filter. |
attributeExists - Boolean
|
If provided and true, the filter will pass only if there is a DateTimeOffset in the corresponding field. If provided and false, the filter will pass only if there is not a DateTimeOffset in the corresponding field. |
Example
{
"eq": DateTimeOffset,
"between": [DateTimeOffset],
"attributeExists": false
}
FilterDetectionActivityInput
Description
FilterDetectionActivityInput allows for filtering a detection activity based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the data source that initiated the detection activity. |
zoneId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the zone in which a zone event was triggered by the detection. |
geofenceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the geofence in which a geofence event was triggered by the detection. |
tag - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the tag associated with the detection activity. |
position - FilterPointInput
|
If provided, specifies filters that work against the position of the detection |
and - [FilterDetectionActivityInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterDetectionActivityInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterDetectionActivityInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"dataSourceId": FilterIDInput,
"zoneId": FilterIDInput,
"geofenceId": FilterIDInput,
"tag": FilterStringInput,
"position": FilterPointInput,
"and": [FilterDetectionActivityInput],
"or": [FilterDetectionActivityInput],
"not": FilterDetectionActivityInput
}
FilterDetectionInput
Description
FilterDetectionInput allows for filtering a detection based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the data source](#definition-datasource) that initiated the detection. |
trackId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the detection's track. |
zoneId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the zone in which a zone event was triggered by the detection. |
geofenceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the geofence in which a geofence event was triggered by the detection. |
tag - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the tag associated with the detection. |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the timestamp associated with the detection. |
position - FilterPointInput
|
If provided, specifies filters that work against the position of the detection |
and - [FilterDetectionInput!]
|
If provided, a detection must pass all filters in this list to match the current filter. |
or - [FilterDetectionInput!]
|
If provided, a detection must pass at least one of the filters in this list to match the current filter. |
not - FilterDetectionInput
|
If provided, a detection may not match this filter to match the current filter. |
Example
{
"dataSourceId": FilterIDInput,
"trackId": FilterIDInput,
"zoneId": FilterIDInput,
"geofenceId": FilterIDInput,
"tag": FilterStringInput,
"time": FilterDateTimeOffsetInput,
"position": FilterPointInput,
"and": [FilterDetectionInput],
"or": [FilterDetectionInput],
"not": FilterDetectionInput
}
FilterDeviceInput
Description
FilterDeviceInput allows for filtering devices based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of a device. |
uuid - FilterIDInput
|
If provided, specifies filters that work against the uuid of a device. |
name - FilterStringInput
|
If provided, specifies filters that work against the name of a device. |
externalId - FilterStringInput
|
If provided, specifies filters that work against the externalId of a device. |
address - FilterStringInput
|
If provided, specifies filters that work against the address of a device. |
enabled - FilterBooleanInput
|
If provided, specified filters that work against the enabled status of a device. |
and - [FilterDeviceInput!]
|
If provided, a device must pass all filters in this list to match the current filter. |
or - [FilterDeviceInput!]
|
If provided, a device must pass at least one of the filters in this list to match the current filter. |
not - FilterDeviceInput
|
If provided, a device may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"uuid": FilterIDInput,
"name": FilterStringInput,
"externalId": FilterStringInput,
"address": FilterStringInput,
"enabled": FilterBooleanInput,
"and": [FilterDeviceInput],
"or": [FilterDeviceInput],
"not": FilterDeviceInput
}
FilterDeviceMessageInput
Description
FilterDeviceMessageInput allows for filtering device messages based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of a device. |
uuid - FilterIDInput
|
If provided, specifies filters that work against the uuid of a device. |
name - FilterStringInput
|
If provided, specifies filters that work against the name of a device. |
externalId - FilterStringInput
|
If provided, specifies filters that work against the externalId of a device. |
address - FilterStringInput
|
If provided, specifies filters that work against the address of a device. |
enabled - FilterBooleanInput
|
If provided, specified filters that work against the enabled status of a device. |
state - FilterDeviceMessageStateInput
|
If provided, specified filters that work against the state of the DeviceMessage . |
and - [FilterDeviceMessageInput!]
|
If provided, a device must pass all filters in this list to match the current filter. |
or - [FilterDeviceMessageInput!]
|
If provided, a device must pass at least one of the filters in this list to match the current filter. |
not - FilterDeviceMessageInput
|
If provided, a device may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"uuid": FilterIDInput,
"name": FilterStringInput,
"externalId": FilterStringInput,
"address": FilterStringInput,
"enabled": FilterBooleanInput,
"state": FilterDeviceMessageStateInput,
"and": [FilterDeviceMessageInput],
"or": [FilterDeviceMessageInput],
"not": FilterDeviceMessageInput
}
FilterDeviceMessageStateInput
Description
FilterDeviceMessageStateInput
allows for filtering based on a DeviceMessageState parameter. Only one field should be provided per filter object.
Note that the UPDATE
state alone will not include CREATE
and HEARTBEAT
messages.
Fields
Input Field | Description |
---|---|
eq - DeviceMessageState
|
If provided, the DeviceMessageState must be equal to the value provided to match the current filter. |
ne - DeviceMessageState
|
If provided, the DeviceMessageState must not be equal to the value provided to match the current filter. |
in - [DeviceMessageState!]
|
If provided, the DeviceMessageState must be present in the list provided to match the current filter. |
Example
{"eq": "CREATE", "ne": "CREATE", "in": ["CREATE"]}
FilterEventActivityInput
Description
FilterEventActivityInput filters events based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
eventProducerId - FilterIDInput
|
If provided, specifies filters that work against the EventProducer 's unique id of the event producer owning the event. |
type - FilterStringInput
|
If provided, specifies filters that work against the type of the Event . |
subType - FilterStringInput
|
If provided, specifies filters that work against the subType of the Event . |
draft - FilterBooleanInput
|
If provided, specifies filters that work against the draft status of the Event . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the Event . |
and - [FilterEventActivityInput!]
|
If provided, an event must pass all filters in this list to match the current filter. |
or - [FilterEventActivityInput!]
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
not - FilterEventActivityInput
|
If provided, an event may not match this filter to match the current filter. |
Example
{
"eventProducerId": FilterIDInput,
"type": FilterStringInput,
"subType": FilterStringInput,
"draft": FilterBooleanInput,
"priority": FilterStringInput,
"and": [FilterEventActivityInput],
"or": [FilterEventActivityInput],
"not": FilterEventActivityInput
}
FilterEventChronicleInput
Description
FilterEventChronicleInput filters EventChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the EventChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the EventChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducer ID of the EventChronicle . |
timestamp - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the timestamp of the EventChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the EventChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the EventChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the EventChronicle . |
validation - FilterChronicleValidationStatusInput
|
If provided, specifies filters that work against the validation of the EventChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the EventChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the EventChronicle . |
activityChronicleIds - FilterIDListInput
|
If provided, specifies filters that work against the activityChronicles IDs of the EventChronicle . |
and - [FilterEventChronicleInput!]
|
If provided, an event must pass all filters in this list to match the current filter. |
or - [FilterEventChronicleInput!]
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
not - FilterEventChronicleInput
|
If provided, an event may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"chronicleProducerId": FilterIDInput,
"timestamp": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterChronicleValidationStatusInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"activityChronicleIds": FilterIDListInput,
"and": [FilterEventChronicleInput],
"or": [FilterEventChronicleInput],
"not": FilterEventChronicleInput
}
FilterEventChronicleInputSubscription
Description
FilterEventChronicleInput filters EventChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the EventChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the EventChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducer ID of the EventChronicle . |
timestamp - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the timestamp of the EventChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the EventChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the EventChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the EventChronicle . |
validation - FilterStringInput
|
If provided, specifies filters that work against the validation of the EventChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the EventChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the EventChronicle . |
and - [FilterEventChronicleInputSubscription!]
|
If provided, specifies filters that work against the activityChronicle IDs of the EventChronicle . |
or - [FilterEventChronicleInputSubscription!]
|
If provided, an event must pass all filters in this list to match the current filter. |
not - FilterEventChronicleInputSubscription
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"chronicleProducerId": FilterIDInput,
"timestamp": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterStringInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"and": [FilterEventChronicleInputSubscription],
"or": [FilterEventChronicleInputSubscription],
"not": FilterEventChronicleInputSubscription
}
FilterEventInput
Description
FilterEventInput filters events based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
eventProducerId - FilterIDInput
|
If provided, specifies filters that work against the EventProducer's unique id of the event producer owning the event. |
type - FilterStringInput
|
If provided, specifies filters that work against the type of the Event . |
subType - FilterStringInput
|
If provided, specifies filters that work against the subType of the Event . |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the time of the Event . |
draft - FilterBooleanInput
|
If provided, specifies filters that work against the draft status of the Event . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the Event . |
validation - FilterEventValidationStatusInput
|
If provided, specifies filters that work against the validation status of the Event . |
and - [FilterEventInput!]
|
If provided, an event must pass all filters in this list to match the current filter. |
or - [FilterEventInput!]
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
not - FilterEventInput
|
If provided, an event may not match this filter to match the current filter. |
Example
{
"eventProducerId": FilterIDInput,
"type": FilterStringInput,
"subType": FilterStringInput,
"time": FilterDateTimeOffsetInput,
"draft": FilterBooleanInput,
"priority": FilterStringInput,
"validation": FilterEventValidationStatusInput,
"and": [FilterEventInput],
"or": [FilterEventInput],
"not": FilterEventInput
}
FilterEventProducerInput
Description
FilterEventProducerInput filters EventProducers based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the EventProducer's unique id. |
name - FilterStringInput
|
If provided, specifies filters that work against the EventProducer's name. |
and - [FilterEventProducerInput!]
|
If provided, an event producer must pass all filters in this list to match the current filter. |
or - [FilterEventProducerInput!]
|
If provided, an event producer must pass at least one of the filters in this list to match the current filter. |
not - FilterEventProducerInput
|
If provided, an event producer may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"and": [FilterEventProducerInput],
"or": [FilterEventProducerInput],
"not": FilterEventProducerInput
}
FilterEventValidationStatusInput
Description
FilterEventValidationStatusInput
allows for filtering based on an event's validation status. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
eq - EventValidationStatus
|
If provided, the event's validation status must be equivalent to the value provided to match the current filter. |
ne - EventValidationStatus
|
If provided, the event's validation status must not be equivalent to the value provided to match the current filter. |
in - [EventValidationStatus!]
|
If provided, the event's validation status must be present in the value provided to match the current filter. |
attributeExists - Boolean
|
If provided and true, the filter will pass only if the event has a validation status. If provided and false, the filter will pass only if there is no validation status. |
Example
{"eq": "VALID", "ne": "VALID", "in": ["VALID"], "attributeExists": true}
FilterGeofenceEventInput
Description
FilterGeofenceEventInput
allows for filtering a geofence event based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
geofenceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of a geofence. |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the timestamp associated with the geofence event. |
and - [FilterGeofenceEventInput!]
|
If provided, a geofence event must pass all filters in this list to match the current filter. |
or - [FilterGeofenceEventInput!]
|
If provided, a geofence event must pass at least one of the filters in this list to match the current filter. |
not - FilterGeofenceEventInput
|
If provided, a geofence event may not match this filter to match the current filter. |
Example
{
"geofenceId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"and": [FilterGeofenceEventInput],
"or": [FilterGeofenceEventInput],
"not": FilterGeofenceEventInput
}
FilterGeofenceInput
Description
FilterGeofenceInput
allows for filtering a geofence based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the unique id of the geofence. |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the geofence. |
active - FilterBooleanInput
|
If provided, specifies filters that work against the active state of the geofence. |
and - [FilterGeofenceInput!]
|
If provided, a geofence must pass all filters in this list to match the current filter. |
or - [FilterGeofenceInput!]
|
If provided, a geofence must pass at least one of the filters in this list to match the current filter. |
not - FilterGeofenceInput
|
If provided, a geofence may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"active": FilterBooleanInput,
"and": [FilterGeofenceInput],
"or": [FilterGeofenceInput],
"not": FilterGeofenceInput
}
FilterGeofenceIntersectionInput
Description
FilterGeofenceIntersectionInput
allows for filtering a geofence intersection based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
geofenceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of a geofence. |
time - FilterDateTimeOffsetInput!
|
Specifies filters that work against the startTime associated with the geofence intersection. |
and - [FilterGeofenceIntersectionInput!]
|
If provided, a geofence intersection must pass all filters in this list to match the current filter. |
or - [FilterGeofenceIntersectionInput!]
|
If provided, a geofence intersection must pass at least one of the filters in this list to match the current filter. |
not - FilterGeofenceIntersectionInput
|
If provided, a geofence intersection may not match this filter to match the current filter. |
Example
{
"geofenceId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"and": [FilterGeofenceIntersectionInput],
"or": [FilterGeofenceIntersectionInput],
"not": FilterGeofenceIntersectionInput
}
FilterGeofenceIntersectionMessageInput
Description
FilterGeofenceIntersectionMessageInput
allows for filtering a geofence intersection subscription based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
geofenceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the geofence collided with. |
tag - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the tag associated with the geofence intersection's track. |
dataSourceId - FilterIDInput
|
Specifies filters that work against the dataSource associated with the geofence intersection's track. |
state - FilterMessageStateInput
|
Specifies filters that work against the state of the geofence intersection message. |
and - [FilterGeofenceIntersectionMessageInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterGeofenceIntersectionMessageInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterGeofenceIntersectionMessageInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"geofenceId": FilterIDInput,
"tag": FilterStringInput,
"dataSourceId": FilterIDInput,
"state": FilterMessageStateInput,
"and": [FilterGeofenceIntersectionMessageInput],
"or": [FilterGeofenceIntersectionMessageInput],
"not": FilterGeofenceIntersectionMessageInput
}
FilterIDInput
Description
FilterIDInput
allows for filtering based on an ID parameter. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
ne - ID
|
If provided, the ID input must not be equivalent to the value provided to match the current filter. |
eq - ID
|
If provided, the ID input must be equivalent to the value provided to match the current filter. |
in - [ID!]
|
If provided, the ID input must be present in the value provided to match the current filter. |
Example
{"ne": 4, "eq": 4, "in": ["4"]}
FilterIDListInput
FilterMeasurementActivityInput
Description
FilterMeasurementActivityInput
allows for filtering measurement activity based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
sensorId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the sensor that created a measurement. |
and - [FilterMeasurementActivityInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterMeasurementActivityInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterMeasurementActivityInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"sensorId": FilterIDInput,
"and": [FilterMeasurementActivityInput],
"or": [FilterMeasurementActivityInput],
"not": FilterMeasurementActivityInput
}
FilterMeasurementInput
Description
FilterMeasurementInput
allows for filtering measurement of a sensor on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
sensorId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the sensor that created a measurement. |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the timestamp associated with the sensor measurement. |
and - [FilterMeasurementInput!]
|
If provided, a measurement must pass all filters in this list to match the current filter. |
or - [FilterMeasurementInput!]
|
If provided, a measurement must pass at least one of the filters in this list to match the current filter. |
not - FilterMeasurementInput
|
If provided, a measurement may not match this filter to match the current filter. |
Example
{
"sensorId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"and": [FilterMeasurementInput],
"or": [FilterMeasurementInput],
"not": FilterMeasurementInput
}
FilterMessageStateInput
Description
FilterMessageStateInput
allows for filtering based on a MessageState parameter. Only one field should be provided per filter object.
Note that the UPDATE
state will exclude START
and END
messages.
Fields
Input Field | Description |
---|---|
eq - MessageState
|
If provided, the MessageState must be equal to the value provided to match the current filter. |
ne - MessageState
|
If provided, the MessageState must not be equal to the value provided to match the current filter. |
in - [MessageState!]
|
If provided, the MessageState must be present in the list provided to match the current filter. |
Example
{"eq": "START", "ne": "START", "in": ["START"]}
FilterPointInput
Description
FilterPoinInput is used to filter records by their positional values
Fields
Input Field | Description |
---|---|
in - GeoJSONPolygonInput
|
If provided, returns records with positions that are inside the specified polygon |
near - FilterPointNearInput
|
If provided, returns records that are near the record according to the input |
attributeExists - Boolean
|
If provided and true, the filter will pass only if there is a position in the corresponding field. If provided and false, the filter will pass only if there is not a position in the corresponding field. |
Example
{
"in": GeoJSONPolygonInput,
"near": FilterPointNearInput,
"attributeExists": true
}
FilterPointNearInput
Description
FilterPointNearInput is used to filter records with positional arguments by proximity to the specified point
Fields
Input Field | Description |
---|---|
point - GeoJSONPointInput!
|
The point from which the distance is being checked |
radius - Float!
|
The maximum distance that the record can be from the point. Default = 500 |
Example
{"point": GeoJSONPointInput, "radius": 987.65}
FilterPointOfInterestInput
Description
FilterPointOfInterestInput
allows for filtering points of interest based on criteria described below.
Only one field should be provided per Filter object unless an operator
(and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the unique id of a point of interest. |
siteId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the site the point of interest is associated with. |
name - FilterStringInput
|
If provided, specifies filters that work against the name of a point of interest. |
and - [FilterPointOfInterestInput!]
|
If provided, a point of interest must pass all filters in this list to match the current filter. |
or - [FilterPointOfInterestInput!]
|
If provided, a point of interest must pass at least one of the filters in this list to match the current filter. |
not - FilterPointOfInterestInput
|
If provided, a point of interest may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"siteId": FilterIDInput,
"name": FilterStringInput,
"and": [FilterPointOfInterestInput],
"or": [FilterPointOfInterestInput],
"not": FilterPointOfInterestInput
}
FilterSensorInput
Description
FilterSensorInput filters sensors based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the Sensor's unique id. |
name - FilterStringInput
|
If provided, specifies filters that work against the Sensor's name. |
type - FilterStringInput
|
If provided, specifies filters that work against the Sensor's type. |
position - FilterPointInput
|
If provided, specifies filters that work against the Sensor's position. |
and - [FilterSensorInput!]
|
If provided, a sensor must pass all filters in this list to match the current filter. |
or - [FilterSensorInput!]
|
If provided, a sensor must pass at least one of the filters in this list to match the current filter. |
not - FilterSensorInput
|
If provided, a sensor may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"type": FilterStringInput,
"position": FilterPointInput,
"and": [FilterSensorInput],
"or": [FilterSensorInput],
"not": FilterSensorInput
}
FilterSiteInput
Description
FilterSiteInput filters sites based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the Site's unique id. |
name - FilterStringInput
|
If provided, specifies filters that work against the Site's name. |
and - [FilterSiteInput!]
|
If provided, a site must pass all filters in this list to match the current filter. |
or - [FilterSiteInput!]
|
If provided, a site must pass at least one of the filters in this list to match the current filter. |
not - FilterSiteInput
|
If provided, a site may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"and": [FilterSiteInput],
"or": [FilterSiteInput],
"not": FilterSiteInput
}
FilterStringInput
Description
FilterStringInput
allows for filtering based on a string parameter. Only one field should be provided per filter object.
Fields
Input Field | Description |
---|---|
ne - String
|
If provided, the string input must not be equivalent to the value provided to match the current filter. |
eq - String
|
If provided, the string input must be equivalent to the value provided to match the current filter. |
like - String
|
If provided, the string input must be a case-insensitive substring of the value provided to match the current filter. |
in - [String!]
|
If provided, the string input must be present in the value provided to match the current filter. |
attributeExists - Boolean
|
If provided and true, the filter will pass only if there is a string in the corresponding field. If provided and false, the filter will pass only if there is not a string in the corresponding field. |
Example
{
"ne": "abc123",
"eq": "xyz789",
"like": "abc123",
"in": ["abc123"],
"attributeExists": false
}
FilterStringListInput
FilterSummaryChronicleInput
Description
FilterSummaryChronicleInput filters SummaryChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the SummaryChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the SummaryChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducerId of the SummaryChronicle . |
startTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the startTime of the SummaryChronicle . |
endTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the endTime of the SummaryChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the SummaryChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the SummaryChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the SummaryChronicle . |
validation - FilterChronicleValidationStatusInput
|
If provided, specifies filters that work against the validation of the SummaryChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the SummaryChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the SummaryChronicle . |
activityChronicleIds - FilterIDListInput
|
If provided, specifies filters that work against the activityChronicles IDs of the SummaryChronicle . |
eventChronicleIds - FilterIDListInput
|
If provided, specifies filters that work against the eventChronicles IDs of the SummaryChronicle . |
and - [FilterSummaryChronicleInput!]
|
If provided, an summary must pass all filters in this list to match the current filter. |
or - [FilterSummaryChronicleInput!]
|
If provided, an summary must pass at least one of the filters in this list to match the current filter. |
not - FilterSummaryChronicleInput
|
If provided, an summary may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"chronicleProducerId": FilterIDInput,
"startTime": FilterDateTimeOffsetInput,
"endTime": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterChronicleValidationStatusInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"activityChronicleIds": FilterIDListInput,
"eventChronicleIds": FilterIDListInput,
"and": [FilterSummaryChronicleInput],
"or": [FilterSummaryChronicleInput],
"not": FilterSummaryChronicleInput
}
FilterSummaryChronicleInputSubscription
Description
FilterSummaryChronicleInput filters SummaryChronicles based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the id of the SummaryChronicle . |
name - FilterStringInput
|
If provided, specifies filters that work against the name of the SummaryChronicle . |
chronicleProducerId - FilterIDInput
|
If provided, specifies filters that work against the chronicleProducerId of the SummaryChronicle . |
startTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the startTime of the SummaryChronicle . |
endTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the endTime of the SummaryChronicle . |
timezone - FilterStringInput
|
If provided, specifies filters that work against the timezone of the SummaryChronicle . |
priority - FilterStringInput
|
If provided, specifies filters that work against the priority of the SummaryChronicle . |
status - FilterStringInput
|
If provided, specifies filters that work against the status of the SummaryChronicle . |
validation - FilterStringInput
|
If provided, specifies filters that work against the validation of the SummaryChronicle . |
labels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the SummaryChronicle . |
locations - FilterStringListInput
|
If provided, specifies filters that work against the locations of the SummaryChronicle . |
and - [FilterSummaryChronicleInputSubscription!]
|
If provided, an summary must pass all filters in this list to match the current filter. |
or - [FilterSummaryChronicleInputSubscription!]
|
If provided, an summary must pass at least one of the filters in this list to match the current filter. |
not - FilterSummaryChronicleInputSubscription
|
If provided, an summary may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"chronicleProducerId": FilterIDInput,
"startTime": FilterDateTimeOffsetInput,
"endTime": FilterDateTimeOffsetInput,
"timezone": FilterStringInput,
"priority": FilterStringInput,
"status": FilterStringInput,
"validation": FilterStringInput,
"labels": FilterStringListInput,
"locations": FilterStringListInput,
"and": [FilterSummaryChronicleInputSubscription],
"or": [FilterSummaryChronicleInputSubscription],
"not": FilterSummaryChronicleInputSubscription
}
FilterTagInput
Description
FilterTagInput
allows for filtering tags based on criteria described below.
Only one field should be provided per Filter object unless an operator
(and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the unique id of a tag. |
name - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the name of a tag. |
and - [FilterTagInput!]
|
If provided, a tag must pass all filters in this list to match the current filter. |
or - [FilterTagInput!]
|
If provided, a tag must pass at least one of the filters in this list to match the current filter. |
not - FilterTagInput
|
If provided, a tag may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"and": [FilterTagInput],
"or": [FilterTagInput],
"not": FilterTagInput
}
FilterTrackInput
Description
FilterTrackInput
allows for filtering a tracks
query based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the data source that initiated the track. |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the time associated with the start time of a track. |
tag - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the tag of a track |
position - FilterPointInput
|
If provided, specifies filters that work against the positions of the track's detections |
identifier - FilterTrackPropertyInput
|
If provided, specifies filters that work against the identifier of the track |
attribute - FilterTrackPropertyInput
|
If provided, specifies filters that work against the attributes of the track |
pointOfInterestId - FilterIDInput
|
If provided, specifies filters that work against the unique identifier of the point of interest of the track's data source. |
dataSourceType - FilterStringInput
|
If provided, specifies filters that work against the type of the track's dataSource . |
dataSourceLabels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the track's dataSource . |
and - [FilterTrackInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterTrackInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterTrackInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"dataSourceId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"tag": FilterStringInput,
"position": FilterPointInput,
"identifier": FilterTrackPropertyInput,
"attribute": FilterTrackPropertyInput,
"pointOfInterestId": FilterIDInput,
"dataSourceType": FilterStringInput,
"dataSourceLabels": FilterStringListInput,
"and": [FilterTrackInput],
"or": [FilterTrackInput],
"not": FilterTrackInput
}
FilterTrackMessageInput
Description
FilterTrackMessageInput
allows for filtering a tracks
subscription based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below
Fields
Input Field | Description |
---|---|
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the data source that initiated the track. |
tag - FilterStringInput
|
If provided, specifies case-insensitive filters that work against the tag of a track |
position - FilterPointInput
|
If provided, specifies filters that work against the positions of the track's detections |
identifier - FilterTrackPropertyInput
|
If provided, specifies filters that work against the identifier of the track |
attribute - FilterTrackPropertyInput
|
If provided, specifies filters that work against the attributes of the track |
pointOfInterestId - FilterIDInput
|
If provided, specifies filters that work against the unique identifier of the point of interest of the track's data source. |
dataSourceType - FilterStringInput
|
If provided, specifies filters that work against the type of the track's dataSource . |
dataSourceLabels - FilterStringListInput
|
If provided, specifies filters that work against the labels of the track's dataSource . |
state - FilterMessageStateInput
|
Specifies filters that work against the state of the track message. |
and - [FilterTrackMessageInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterTrackMessageInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterTrackMessageInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"dataSourceId": FilterIDInput,
"tag": FilterStringInput,
"position": FilterPointInput,
"identifier": FilterTrackPropertyInput,
"attribute": FilterTrackPropertyInput,
"pointOfInterestId": FilterIDInput,
"dataSourceType": FilterStringInput,
"dataSourceLabels": FilterStringListInput,
"state": FilterMessageStateInput,
"and": [FilterTrackMessageInput],
"or": [FilterTrackMessageInput],
"not": FilterTrackMessageInput
}
FilterTrackPropertyInput
Description
FilterTrackPropertyInput
allows for filtering a tracks
query based on criteria described below
Fields
Input Field | Description |
---|---|
type - FilterStringInput
|
If provided, specifies filters that work against the type or name of the track's property |
value - FilterStringInput
|
If provided, specifies filters that work against value of the track's property |
Example
{
"type": FilterStringInput,
"value": FilterStringInput
}
FilterVideoActivityInput
Description
FilterEventActivityInput filters events based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the DataSource 's unique id of the video that created the event. |
and - [FilterVideoActivityInput!]
|
If provided, an event must pass all filters in this list to match the current filter. |
or - [FilterVideoActivityInput!]
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
not - FilterVideoActivityInput
|
If provided, an event may not match this filter to match the current filter. |
Example
{
"dataSourceId": FilterIDInput,
"and": [FilterVideoActivityInput],
"or": [FilterVideoActivityInput],
"not": FilterVideoActivityInput
}
FilterVideoInput
Description
FilterVideoInput filters videos based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the Videos 's unique id. |
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the unique ID of the data source that the video belongs to. |
startTime - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the Videos 's start time. |
endTime - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the Videos 's end time. |
and - [FilterVideoInput!]
|
If provided, an event must pass all filters in this list to match the current filter. |
or - [FilterVideoInput!]
|
If provided, an event must pass at least one of the filters in this list to match the current filter. |
not - FilterVideoInput
|
If provided, an event may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"dataSourceId": FilterIDInput,
"startTime": FilterDateTimeOffsetInput,
"endTime": FilterDateTimeOffsetInput,
"and": [FilterVideoInput],
"or": [FilterVideoInput],
"not": FilterVideoInput
}
FilterZoneEventInput
Description
FilterZoneEventInput
allows for filtering a zone event based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
zoneId - FilterIDInput
|
If provided, specifies filters that work against the unique id of a zone event. |
time - FilterDateTimeOffsetInput!
|
If provided, specifies filters that work against the timestamp associated with the zone event. |
and - [FilterZoneEventInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterZoneEventInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterZoneEventInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"zoneId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"and": [FilterZoneEventInput],
"or": [FilterZoneEventInput],
"not": FilterZoneEventInput
}
FilterZoneInput
Description
FilterZoneInput
allows for filtering zones based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
id - FilterIDInput
|
If provided, specifies filters that work against the unique id of a zone. |
name - FilterStringInput
|
If provided, specifies filters that work against the name of a zone. |
dataSourceId - FilterIDInput
|
If provided, specifies filters that work against the id of the data source that owns the zone. |
active - FilterBooleanInput
|
If provided, specifies filters that work against the active state of the zone |
createdAt - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the timestamp the zone was created at. |
updatedAt - FilterDateTimeOffsetInput
|
If provided, specifies filters that work against the timestamp the zone was most recently updated. |
and - [FilterZoneInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterZoneInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterZoneInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"id": FilterIDInput,
"name": FilterStringInput,
"dataSourceId": FilterIDInput,
"active": FilterBooleanInput,
"createdAt": FilterDateTimeOffsetInput,
"updatedAt": FilterDateTimeOffsetInput,
"and": [FilterZoneInput],
"or": [FilterZoneInput],
"not": FilterZoneInput
}
FilterZoneIntersectionInput
Description
FilterZoneIntersectionInput
allows for filtering a zone intersection based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
zoneId - FilterIDInput
|
If provided, specifies filters that work against the unique id of a zone intersection. |
time - FilterDateTimeOffsetInput!
|
Specifies filters that work against the startTime associated with the zone intersection. |
tag - FilterStringInput
|
Specifies filters that work against the tag associated with the zone intersection. |
dataSourceId - FilterIDInput
|
Specifies filters that work against the dataSource associated with the zone intersection. |
and - [FilterZoneIntersectionInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterZoneIntersectionInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterZoneIntersectionInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"zoneId": FilterIDInput,
"time": FilterDateTimeOffsetInput,
"tag": FilterStringInput,
"dataSourceId": FilterIDInput,
"and": [FilterZoneIntersectionInput],
"or": [FilterZoneIntersectionInput],
"not": FilterZoneIntersectionInput
}
FilterZoneIntersectionMessageInput
Description
FilterZoneIntersectionMessageInput
allows for filtering a zone intersection subscription based on criteria described below.
Only one field should be provided per Filter object unless using an operator (and
or
not
) as specified below.
Fields
Input Field | Description |
---|---|
zoneId - FilterIDInput
|
If provided, specifies filters that work against the unique id of the zone collided with. |
dataSourceId - FilterIDInput
|
Specifies filters that work against the dataSource associated with the zone intersection's track. |
state - FilterMessageStateInput
|
Specifies filters that work against the state of the zone intersection message. |
and - [FilterZoneIntersectionMessageInput!]
|
If provided, a detection activity must pass all filters in this list to match the current filter. |
or - [FilterZoneIntersectionMessageInput!]
|
If provided, a detection activity must pass at least one of the filters in this list to match the current filter. |
not - FilterZoneIntersectionMessageInput
|
If provided, a detection activity may not match this filter to match the current filter. |
Example
{
"zoneId": FilterIDInput,
"dataSourceId": FilterIDInput,
"state": FilterMessageStateInput,
"and": [FilterZoneIntersectionMessageInput],
"or": [FilterZoneIntersectionMessageInput],
"not": FilterZoneIntersectionMessageInput
}
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Frame
Description
A frame in a data source's video
Fields
Field Name | Description |
---|---|
number - Int!
|
The index of the frame in the video |
Example
{"number": 123}
GeoJSONCRS
Description
A [GeoJSON][geojson] coordinate reference system is a way to specify how the coordinates should be interpretted. If no coordinate reference system is specified for a GeoJSON object, the coordinates for a single point must be an array of either two or three floating-point numbers, in order as follows:
- Longitude (in degrees)
- Latitude (in degrees)
- Altitude (in meters, optional, assumed to be sea-level if omitted) For more information, see the [RFC 7946, Section 4 Coordinate Reference System][rfc7946-4] and the [GeoJSON 1.0 specification][GJ2008].
Example
{"type": "xyz789", "properties": {}}
GeoJSONCRSInput
Description
This type represents the input data needed to initialize a GeoJSON coordinate reference system.
Example
{"type": "xyz789", "properties": {}}
GeoJSONMultiPolygon
Description
A [GeoJSON][geojson] multi-polygon represents any number of regions in the world. GeoJSON is a formal specification as defined by [RFC 7946][geojson-rfc].
Fields
Field Name | Description |
---|---|
type - String!
|
The type of the GeoJSON node. For the GeoJSON multi-polygon, this will be "MultiPolygon". |
coordinates - [Float!]!
|
The coordinates that define the regions, as determined by the crs (coordinate reference system).
Each element of the outermost array represent a region; the first element in each array represents the exterior
ring. Any subsequent elements represent interior rings (or holes).
For more information, see MultiPolygons in RFC 7946. |
crs - GeoJSONCRS
|
The coordinate reference system used for this multipolygon. See
GeoJSONCRS for more information. |
Example
{
"type": "xyz789",
"coordinates": [123.45],
"crs": GeoJSONCRS
}
GeoJSONMultiPolygonInput
Description
This type represents the input data needed to initialize a GeoJSON multipolygon.
Fields
Input Field | Description |
---|---|
type - String!
|
The type of the GeoJSON node. This defaults to and must be "MultiPolygon". Default = "MultiPolygon" |
coordinates - [Float!]!
|
The coordinates for the the GeoJSON multipolygon, as determined by the crs (coordinate reference system).
Each element of the outermost array represent a region; the first element in each array represents the exterior
ring. Any subsequent elements represent interior rings (or holes).
Each element consists of the points that make up the polygon.
See
GeoJSONCRS for more information. |
crs - GeoJSONCRSInput
|
The coordinate reference system used for thismultipolygon. See
GeoJSONCRS for more information. |
Example
{
"type": "xyz789",
"coordinates": [987.65],
"crs": GeoJSONCRSInput
}
GeoJSONPoint
Description
A [GeoJSON][geojson] point represents a single position in the world. GeoJSON is a formal specification as defined by [RFC 7946][geojson-rfc].
Fields
Field Name | Description |
---|---|
type - String!
|
The type of the GeoJSON node. For the GeoJSON point, this will be "Point". |
coordinates - [Float!]!
|
The coordinates for the the GeoJSON point, as determined by the crs (coordinate reference system). |
crs - GeoJSONCRS
|
The coordinate reference system used for this geographical position. See
GeoJSONCRS for more information. |
Example
{
"type": "abc123",
"coordinates": [987.65],
"crs": GeoJSONCRS
}
GeoJSONPointInput
Description
This type represents the input data needed to initialize a GeoJSON point.
Fields
Input Field | Description |
---|---|
type - String!
|
The type of the GeoJSON node. This must be "Point". Default = "Point" |
coordinates - [Float!]!
|
The coordinates for the the GeoJSON point, as determined by the
|
crs - GeoJSONCRSInput
|
The coordinate reference system used for this geographical position. See
GeoJSONCRS for more information. |
Example
{
"type": "abc123",
"coordinates": [123.45],
"crs": GeoJSONCRSInput
}
GeoJSONPolygon
Description
A [GeoJSON][geojson] polygon represents a region in the world. GeoJSON is a formal specification as defined by [RFC 7946][geojson-rfc].
Fields
Field Name | Description |
---|---|
type - String!
|
The type of the GeoJSON node. For the GeoJSON polygon, this will be "Polygon". |
coordinates - [Float!]!
|
The coordinates that define the region, as determined by the crs (coordinate reference system).
The first element in the array represents the exterior
ring. Any subsequent elements represent interior rings (or holes).
For more information, see Polygons in RFC 7946. |
crs - GeoJSONCRS
|
The coordinate reference system used for this polygon. See
GeoJSONCRS for more information. |
Example
{
"type": "xyz789",
"coordinates": [123.45],
"crs": GeoJSONCRS
}
GeoJSONPolygonInput
Description
This type represents the input data needed to initialize a GeoJSON polygon.
Fields
Input Field | Description |
---|---|
type - String!
|
The type of the GeoJSON node. This defaults to and must be "Polygon". Default = "Polygon" |
coordinates - [Float!]!
|
The coordinates for the the GeoJSON polygon, as determined by the crs (coordinate reference system).
The first element in the array represents the exterior
ring. Any subsequent elements represent interior rings (or holes).
Each element consists of the points that make up the shape.
See
GeoJSONCRS for more information. |
crs - GeoJSONCRSInput
|
The coordinate reference system used for this geographical position. See
GeoJSONCRS for more information. |
Example
{
"type": "abc123",
"coordinates": [987.65],
"crs": GeoJSONCRSInput
}
Geofence
Description
A geofence is a user-defined region in world coordinates. When a detection occurs within a geofence, or a track crosses the border of a geofence, a geofence event is created. Geofence events, along with zone events are a key part of creating custom business logic with Worlds.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the geofence. |
name - String!
|
The display name of the geofence. |
bounds - GeofenceBounds!
|
An object that represents the bounds of the geofence. |
active - Boolean!
|
True if the geofence is active, otherwise false. Geofences that are not active will not produce events. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"bounds": GeofenceBounds,
"active": true
}
GeofenceBounds
Description
A GeofenceBounds
object represents the coordinates and boundaries of a geofence. See About Geofences for more details.
Fields
Field Name | Description |
---|---|
polygon - GeoJSONPolygon!
|
A GeoJSON polygon that represents the bounds of the geofence. |
height - Float
|
The height of the geofence, in meters, if provided. |
Example
{"polygon": GeoJSONPolygon, "height": 987.65}
GeofenceConnection
Description
An GeofenceConnection
is the paginated results of a geofences
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [GeofenceEdge]!
|
The resulting collection of geofence edges. |
Example
{
"pageInfo": PageInfo,
"edges": [GeofenceEdge]
}
GeofenceEdge
Description
An geofence edge is the pairing of a Geofence with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Geofence
|
Information about a particular Geofence. |
cursor - String!
|
The cursor to use with the Query geofences field after argument. |
Example
{
"node": Geofence,
"cursor": "abc123"
}
GeofenceEvent
Description
A geofence event is a point-in-time representation of an interaction between a track and a geofence. The event represents the track either entering, leaving, or remaining within the geofence.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the geofence event. |
geofence - Geofence!
|
The geofence indicated by the event. |
track - Track!
|
The track indicated by the event. |
tag - String!
|
The class label of the object that triggered the geofence event, i.e person, car, truck, etc. tag is deprecated and can instead be retrieved from the track. |
type - ActivityType!
|
The type of geofence event, i.e ingress (an object entered the geofence), dwell (an object remained in the geofence), and egress. (an object exited the geofence) geofenceEvent is deprecated in favor of geofenceIntersection, which does not use type. |
position - GeoJSONPoint!
|
The GeoJSON point for the position of the track at the time of the geofence event. geofenceEvent is deprecated in favor of geofenceIntersection, which does not use position. |
timestamp - DateTimeOffset!
|
The timestamp at which the event occurred. geofenceEvent is deprecated in favor of geofenceIntersection, which does not use type, using startTime and endTime instead. |
metadata - JSON
|
Any additional information about the event will be stored here. geofenceEvent is deprecated in favor of geofenceIntersection, which does not use metadata. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"geofence": Geofence,
"track": Track,
"tag": "xyz789",
"type": "INGRESS",
"position": GeoJSONPoint,
"timestamp": "2025-01-01T00:00:00.000+00",
"metadata": {}
}
GeofenceEventConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [GeofenceEventEdge]!
|
The resulting collection of geofence events edges. |
Example
{
"pageInfo": PageInfo,
"edges": [GeofenceEventEdge]
}
GeofenceEventEdge
Fields
Field Name | Description |
---|---|
node - GeofenceEvent
|
Information about a particular GeofenceEvent. |
cursor - String!
|
The cursor to use with the Query geofenceEvents field after argument. |
Example
{
"node": GeofenceEvent,
"cursor": "abc123"
}
GeofenceEventsSort
Description
GeofenceEventsSort allows for sorting geofence events by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - GeofenceEventsSortField!
|
Any sortable field available to the GeofenceEventsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
GeofenceEventsSortField
Description
Indicates the field used for sorting a geofenceEvents
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the GeofenceEvent 's unique identifier.
|
|
Sort the resulting list by the GeofenceEvent 's timestamp.
|
Example
"ID"
GeofenceIntersection
Description
A geofence intersection is a point-in-time representation of an interaction between a track and a geofence.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the geofence intersection. |
geofence - Geofence!
|
The geofence indicated by the intersection. |
track - Track!
|
The track indicated by the intersection. |
startTime - DateTimeOffset!
|
The time at which the intersection started. |
endTime - DateTimeOffset
|
The time at which the intersection ended. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"geofence": Geofence,
"track": Track,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00"
}
GeofenceIntersectionConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [GeofenceIntersectionEdge]!
|
The resulting collection of geofence intersections edges. |
Example
{
"pageInfo": PageInfo,
"edges": [GeofenceIntersectionEdge]
}
GeofenceIntersectionEdge
Fields
Field Name | Description |
---|---|
node - GeofenceIntersection
|
Information about a particular GeofenceIntersection. |
cursor - String!
|
The cursor to use with the Query geofenceIntersections field after argument. |
Example
{
"node": GeofenceIntersection,
"cursor": "xyz789"
}
GeofenceIntersectionMessage
Fields
Field Name | Description |
---|---|
message - GeofenceIntersection!
|
The zone intersection. |
state - MessageState!
|
The state of the intersection message. Within the message, the endTime will only be present on an END event. |
Example
{"message": GeofenceIntersection, "state": "START"}
GeofenceIntersectionsSort
Description
GeofenceIntersectionsSort allows for sorting geofence intersections by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - GeofenceIntersectionsSortField!
|
Any sortable field available to the GeofenceIntersectionsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
GeofenceIntersectionsSortField
Description
Indicates the field used for sorting a geofenceIntersections
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the GeofenceIntersection 's unique identifier.
|
|
Sort the resulting list by the GeofenceIntersection 's start time.
|
Example
"ID"
GeofencesSort
Description
GeofencesSort allows for sorting a geofence by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - GeofencesSortField!
|
Any sortable field available to the GeofencesSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
GeofencesSortField
Description
Indicates the field used for sorting a geofences
query.
Example
"ID"
ID
Description
The ID
scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4"
) or integer (such as 4
) input value will be accepted as an ID.
Example
"4"
Image
Description
An Image represents a stored image asset. It contains information about the datasource it belongs to and the URLs that can be used to access the image and its thumbnail.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the iamge |
dataSourceId - ID
|
When applicable, the unique identifier of the datasource or device that generated this image. |
timestamp - DateTimeOffset
|
When applicable, the time when the image was taken |
url - String!
|
The URL of the image |
thumbnailUrl - String
|
The URL of the image's thumbnail |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSourceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"timestamp": "2025-01-01T00:00:00.000+00",
"url": "xyz789",
"thumbnailUrl": "xyz789"
}
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
JSON
Measurement
Description
A Measurement
is the specific output of a sensor at a given time.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the measurement. |
sensor - Sensor!
|
The sensor that provided the measurement. |
timestamp - DateTimeOffset!
|
The time the measurement took place. |
value - String!
|
The actual output of the sensor. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"sensor": Sensor,
"timestamp": "2025-01-01T00:00:00.000+00",
"value": "abc123"
}
MeasurementConnection
Description
A MeasurementConnection
is the paginated results of an measurements
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [MeasurementEdge]!
|
The resulting collection of measurement edges. |
Example
{
"pageInfo": PageInfo,
"edges": [MeasurementEdge]
}
MeasurementEdge
Description
An measurement edge is the pairing of an Measurement with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Measurement
|
Information about a particular measurement. |
cursor - String!
|
The cursor to use with the measurements query after argument. |
Example
{
"node": Measurement,
"cursor": "xyz789"
}
MeasurementInput
Description
This input type is used to create new Measurement
for a sensor. See About Sensors for more details.
Fields
Input Field | Description |
---|---|
sensorId - ID!
|
The unique idenfitier of the Sensor that will own the measurement. |
timestamp - DateTimeOffset!
|
The time at which the measurement was recorded. |
value - String!
|
The value of the measurement |
Example
{
"sensorId": 4,
"timestamp": DateTimeOffset,
"value": "abc123"
}
MeasurementsSort
Description
MeasurementsSort allows for sorting measurements by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - MeasurementsSortField!
|
Any sortable field available to the MeasurementsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
MeasurementsSortField
Description
Indicates the field used for sorting a measurements
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the Measurement 's unique identifier.
|
|
Sort the resulting list by the Measurement 's timestamp.
|
Example
"ID"
MessageState
Description
Indicates the state of a message from a subscription.
Values
Enum Value | Description |
---|---|
|
The start of the messages for a given group of messages. |
|
An update to an existing group of messages. |
|
The ending of an existing group of messages. |
Example
"START"
PageInfo
Description
Pagination info for any connection
Fields
Field Name | Description |
---|---|
hasNextPage - Boolean!
|
True if the connection edges field does not contain the last element available, otherwise false. |
hasPreviousPage - Boolean!
|
True if the connection edges field does not contain the first element available, otherwise false. |
startCursor - String
|
The cursor of the first edge returned. Used for the query after argument. |
endCursor - String
|
The cursor of the last edge returned. Used for the query after argument. |
Example
{
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "abc123",
"endCursor": "xyz789"
}
PointOfInterest
Description
A point of interest is a designated area within a Site, used to subdivide a location into meaningful sections. Each POI belongs to a single Site and can contain multiple Devices.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the point of interest. |
site - Site!
|
The site the point of interest belongs to. |
name - String!
|
The name of the point of interest. |
position - GeoJSONPoint!
|
The geographic position of the point of interest |
devices - [Device!]!
|
The devices located within the point of interest. |
geofences - [Geofence!]!
|
The geofences located within the point of interest |
metadata - JSON
|
The metadata associated with the point of interest. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"site": Site,
"name": "xyz789",
"position": GeoJSONPoint,
"devices": [Device],
"geofences": [Geofence],
"metadata": {}
}
PointOfInterestConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [PointOfInterestEdge]!
|
The resulting collection of site edges. |
Example
{
"pageInfo": PageInfo,
"edges": [PointOfInterestEdge]
}
PointOfInterestEdge
Description
A point of interest edge is the pairing of a PointOfInterest with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - PointOfInterest
|
Information about a particular PointOfInterest. |
cursor - String!
|
The cursor to use with the pointsOfInterest query after argument. |
Example
{
"node": PointOfInterest,
"cursor": "xyz789"
}
PointOfInterestSort
Description
PointOfInterestSort allows for sorting a pointsOfInterest
query by field and direction.
Fields
Input Field | Description |
---|---|
field - PointOfInterestSortField!
|
Any sortable field available to the PointOfInterestSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
PointOfInterestSortField
Description
Indicates the field used for sorting a pointsOfInterest
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the Point of Interest 's unique identifier.
|
|
Sort the resulting list by the Point of Interest 's name.
|
Example
"ID"
Segment
Fields
Field Name | Description |
---|---|
polygon - GeoJSONMultiPolygon!
|
The region of the image that defines the segment |
box - GeoJSONPolygon!
|
A bounding box that covers the entire area of the segment |
Example
{
"polygon": GeoJSONMultiPolygon,
"box": GeoJSONPolygon
}
SegmentationOptionsInput
Fields
Input Field | Description |
---|---|
points - [GeoJSONPointInput!]
|
The model will only attempt to generate segments at the specified points |
regions - [GeoJSONMultiPolygonInput!]
|
The model will only attempt to generate segments inside the specified multipolygons |
Example
{
"points": [GeoJSONPointInput],
"regions": [GeoJSONMultiPolygonInput]
}
SegmentationResponse
Fields
Field Name | Description |
---|---|
results - [SegmentationResult!]!
|
The list of segments |
Example
{"results": [SegmentationResult]}
SegmentationResult
Fields
Field Name | Description |
---|---|
segment - Segment!
|
The actual segment |
regionIndex - Int
|
The index of the region in the provided regions array that contains the segment. Only applicable if regions was specified in the original query. |
Example
{"segment": Segment, "regionIndex": 987}
Sensor
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the Sensor. |
name - String!
|
The name of the Sensor. |
description - String
|
A brief description of the Sensor. |
type - SensorType!
|
The class label of the Sensor, e.g. thermometer. |
position - GeoJSONPoint
|
The geographic location of the Sensor. |
address - String
|
The address of the Sensor. |
metadata - JSON
|
Arbitrary information about the Sensor outside of configuration. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"description": "xyz789",
"type": "NUMBER",
"position": GeoJSONPoint,
"address": "xyz789",
"metadata": {}
}
SensorConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [SensorEdge]!
|
The resulting collection of sensor edges. |
Example
{
"pageInfo": PageInfo,
"edges": [SensorEdge]
}
SensorEdge
Description
A sensor edge is the pairing of a Sensor with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Sensor
|
Information about a particular Sensor. |
cursor - String!
|
The cursor to use with the sensors query after argument. |
Example
{
"node": Sensor,
"cursor": "xyz789"
}
SensorInput
Description
This input type is used to create a new Sensor
.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the sensor. |
description - String
|
A text description of the sensor. |
type - SensorType!
|
The type of data outputted by the sensor. |
position - GeoJSONPointInput
|
The geographic location of the sensor. |
address - String
|
The address of the sensor. |
metadata - JSON
|
Additional metadata associated with the sensor. This may represent any JSON object structure. |
Example
{
"name": "abc123",
"description": "abc123",
"type": "NUMBER",
"position": GeoJSONPointInput,
"address": "abc123",
"metadata": {}
}
SensorType
Description
Indicates the type of data that is outputted by a sensor
.
Values
Enum Value | Description |
---|---|
|
Numeric data types, i.e integers, floats, and doubles. |
|
Boolean data types, i.e true or false. |
|
Text-based data types. |
Example
"NUMBER"
SensorsSort
Description
SensorsSort allows for sorting a sensors
query by field and direction.
Fields
Input Field | Description |
---|---|
field - SensorsSortField!
|
Any sortable field available to the SensorsSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
SensorsSortField
Description
Indicates the field used for sorting an sensors
query.
Example
"ID"
Site
Description
A site represents a business location, such as an office building, a facility or a campus. Sites can be used to logically and geospatially group various objects and events that share a physical space, such as Devices, Geofences.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the site. |
name - String!
|
The name of the site. |
position - GeoJSONPoint
|
The geographic location of the site |
polygon - GeoJSONMultiPolygon
|
The geographic shape of the site |
devices - [Device!]!
|
The devices that are associated with the site |
pointsOfInterest - [PointOfInterest!]!
|
The points of interest that are associated with this site |
geofences - [Geofence!]!
|
The geofences that are associated with this site |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"position": GeoJSONPoint,
"polygon": GeoJSONMultiPolygon,
"devices": [Device],
"pointsOfInterest": [PointOfInterest],
"geofences": [Geofence]
}
SiteConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [SiteEdge]!
|
The resulting collection of site edges. |
Example
{
"pageInfo": PageInfo,
"edges": [SiteEdge]
}
SiteEdge
Description
A site edge is the pairing of a Site with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Site
|
Information about a particular Site. |
cursor - String!
|
The cursor to use with the sites query after argument. |
Example
{
"node": Site,
"cursor": "abc123"
}
SitesSort
Description
SitesSort allows for sorting a sites
query by field and direction.
Fields
Input Field | Description |
---|---|
field - SitesSortField!
|
Any sortable field available to the SitesSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
SitesSortField
Description
Indicates the field used for sorting an sites
query.
Example
"ID"
SortDirection
Description
Indicates the direction of sorting based on a particular field's value.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in ascending order. |
|
Sort the resulting list in descending order. |
Example
"ASC"
String
Description
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
SummaryBucketSize
Description
Indicates the time bucket size for a summary query.
Values
Enum Value | Description |
---|---|
|
Bucket by minutes. |
|
Bucket by hours. |
Example
"MINUTES"
SummaryChronicle
Description
A summary chronicle summarizes across a specific timeframe. It can reference event and activity chronicles.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the summary. |
name - String!
|
The name of the summary |
chronicleProducer - ChronicleProducer!
|
The chronicle producer that created the summary. |
description - String
|
A text description of the summary. |
startTime - DateTimeOffset!
|
The start time of the summary. |
endTime - DateTimeOffset!
|
The end time of the summary. |
timezone - String
|
The timezone for the summary, if provided. |
metadata - JSON
|
Additional metadata associated with the summary. This may represent any JSON object structure. |
validation - ChronicleValidation
|
Optional information to validate the accuracy of the summary. |
priority - String
|
User-defined priority of the summary. |
status - String
|
User-defined status of the summary. |
labels - [String!]
|
Human-readable labels describing the summary. |
locations - [String!]
|
Human-readable locations describing the summary. |
activityChronicles - [ActivityChronicle!]!
|
Activity chronicles associated with the summary. |
eventChronicles - [EventChronicle!]!
|
Event chronicles associated with the summary. |
createdAt - DateTimeOffset!
|
Timestamp that the summary was created. |
updatedAt - DateTimeOffset!
|
Timestamp that the summary was most recently updated. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "xyz789",
"chronicleProducer": ChronicleProducer,
"description": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"timezone": "abc123",
"metadata": {},
"validation": ChronicleValidation,
"priority": "abc123",
"status": "xyz789",
"labels": ["abc123"],
"locations": ["abc123"],
"activityChronicles": [ActivityChronicle],
"eventChronicles": [EventChronicle],
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00"
}
SummaryChronicleConnection
Description
An SummaryConnection
is the paginated results of an summaries
query.
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
edges - [SummaryChronicleEdge!]!
|
Pagination information for the resulting edges. |
pageInfo - PageInfo!
|
The resulting collection of summary edges. |
Example
{
"edges": [SummaryChronicleEdge],
"pageInfo": PageInfo
}
SummaryChronicleEdge
Description
An summary edge is the pairing of an Summary with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - SummaryChronicle!
|
Information about a particular Summary. |
cursor - String!
|
The cursor to use with the Query summaries field after argument. |
Example
{
"node": SummaryChronicle,
"cursor": "abc123"
}
SummaryChronicleSort
Description
Indicates the field used for sorting an summaryProducers
query.
Fields
Input Field | Description |
---|---|
field - SummaryChronicleSortField!
|
Any sortable field available to the SummaryProducersSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
SummaryChronicleSortField
Description
Indicates the field used for sorting an summaries
query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the summaryChronicle 's unique identifier.
|
|
Sort the resulting list by the summaryChronicle 's start time.
|
|
Sort the resulting list by the summaryChronicle 's end time.
|
|
Sort the resulting list by the summaryChronicle 's name.
|
|
Sort the resulting list by the summaryChronicle 's priority.
|
|
Sort the resulting list by the summaryChronicle 's status.
|
Example
"ID"
Tag
Description
Tags are descriptive labels used to classify and group both detections and training data for models.
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"name": "abc123",
"color": "xyz789"
}
TagConnection
Description
A TagConnection
is the paginated result of a tags
query
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [TagEdge]!
|
The resulting collection of Tag edges. |
Example
{
"pageInfo": PageInfo,
"edges": [TagEdge]
}
TagEdge
Description
A tag edge is the pairing of a Tag with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Tag
|
Information about a particular Tag. |
cursor - String!
|
The cursor to use with the Query tags field after argument. |
Example
{
"node": Tag,
"cursor": "abc123"
}
TagsSort
Description
TagsSort allows for sorting a tags
query by field and direction.
Fields
Input Field | Description |
---|---|
field - TagsSortField!
|
Any sortable field available to the TagsSort . See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
TagsSortField
Description
Indicates the field used for sorting a Tags query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the tag name. |
Example
"ID"
TextDetection
Fields
Field Name | Description |
---|---|
polygon - GeoJSONPolygon!
|
The position and shape of the detection in the image |
detectionConfidence - Float!
|
The confidence score for the detection's existance. |
text - String!
|
The recognized text |
textConfidence - Float!
|
The confidence score for the recognized text's accuracy. |
Example
{
"polygon": GeoJSONPolygon,
"detectionConfidence": 123.45,
"text": "abc123",
"textConfidence": 123.45
}
TextReadingResponse
TextRecognitionOptionsInput
Fields
Input Field | Description |
---|---|
regions - [GeoJSONMultiPolygonInput!]
|
The model will only attempt to detect text inside the specified multipolygons |
Example
{"regions": [GeoJSONMultiPolygonInput]}
TextRecognitionResponse
Fields
Field Name | Description |
---|---|
results - [TextRecognitionResult!]!
|
The list of detected text |
Example
{"results": [TextRecognitionResult]}
TextRecognitionResult
Fields
Field Name | Description |
---|---|
textDetection - TextDetection!
|
The actual detected text |
regionIndex - Int
|
The index of the region in the provided regions array that contains the text detection. Only applicable if regions was specified in the original query. |
Example
{"textDetection": TextDetection, "regionIndex": 987}
Track
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the Track. |
dataSource - DataSource
|
The data source that captured the Track. |
video - Video
|
The video that this detection was captured in |
tag - String!
|
The class label of the tracked object, i.e person, car, truck, etc. |
startTime - DateTimeOffset!
|
The time of the first detection of the tracked object. |
endTime - DateTimeOffset
|
The time of the last detection of the tracked object, or null if it is still being tracked. |
detections - [Detection!]!
|
A collection of every Detection associated with the Track. |
properties - TrackProperties
|
The identifying and descriptive attributes of the Track |
metadata - JSON
|
Arbitrary information about the Track. |
zoneIntersections - [ZoneIntersection!]
|
Intersections triggered by this track interacting with a zone. |
geofenceIntersections - [GeofenceIntersection!]
|
Point-in-time representations of an interaction between the track and a geofence. |
deviceIds - [ID!]
|
The unique identifiers of the devices that captured the Track. deviceIds is deprecated. Use dataSource.id instead
|
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"video": Video,
"tag": "xyz789",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"detections": [Detection],
"properties": TrackProperties,
"metadata": {},
"zoneIntersections": [ZoneIntersection],
"geofenceIntersections": [GeofenceIntersection],
"deviceIds": ["f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
}
TrackConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [TrackEdge]!
|
The resulting collection of track edges. |
Example
{
"pageInfo": PageInfo,
"edges": [TrackEdge]
}
TrackDetectionInput
Fields
Input Field | Description |
---|---|
timestamp - DateTimeOffset!
|
The time at which the detection occurred. |
position - GeoJSONPointInput
|
A GeoJSON point that represents the location of the detection in the world. |
polygon - GeoJSONPolygonInput
|
A GeoJSON polygon that represents the two dimensional bounds of the detection in its captured video or image. |
direction - Float
|
The direction, in degrees, of the detection in the world.
Direction is measured clockwise from north, so 0 is north, 90 is east, 180 is south and 270 is west.
The direction should be between 0 and 360 degrees. |
metadata - JSON
|
Arbitrary metadata associated with the detection. |
Example
{
"timestamp": DateTimeOffset,
"position": GeoJSONPointInput,
"polygon": GeoJSONPolygonInput,
"direction": 123.45,
"metadata": {}
}
TrackEdge
Fields
Field Name | Description |
---|---|
node - Track
|
Information about a particular track. |
cursor - String!
|
The cursor to use with the tracks query after argument. |
Example
{
"node": Track,
"cursor": "abc123"
}
TrackMessage
Fields
Field Name | Description |
---|---|
message - Track!
|
The track. |
state - MessageState!
|
The state of the track message. |
Example
{"message": Track, "state": "START"}
TrackProperties
Fields
Field Name | Description |
---|---|
identifier - TrackProperty
|
A property that identifies the Track |
attributes - [TrackProperty!]
|
Properties that describe the Track |
Example
{
"identifier": TrackProperty,
"attributes": [TrackProperty]
}
TrackPropertiesInput
Fields
Input Field | Description |
---|---|
identifier - TrackPropertyInput
|
A property that identifies the Track |
attributes - [TrackPropertyInput!]
|
Properties that describe the Track |
Example
{
"identifier": TrackPropertyInput,
"attributes": [TrackPropertyInput]
}
TrackProperty
TrackPropertyInput
TracksCountByTag
TracksSort
Description
TracksSort allows for sorting a tracks
query by field and direction.
Fields
Input Field | Description |
---|---|
field - TracksSortField!
|
Any sortable field available to the TracksSort . See the link to the type below
for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
TracksSortField
Description
Indicates the field used for sorting a Tracks query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the track start time. |
Example
"ID"
TracksSummary
Fields
Field Name | Description |
---|---|
total - Int!
|
The total number of Tracks within the time range. |
totalsByTag - [TracksCountByTag!]!
|
The count of Tracks for each Tag within the time range. |
buckets - [TracksSummaryBucket!]
|
A detailed summary of each bucket within the time range.
Summary buckets are only returned if bucket is provided as a query parameter to tracksSummary . |
Example
{
"total": 987,
"totalsByTag": [TracksCountByTag],
"buckets": [TracksSummaryBucket]
}
TracksSummaryBucket
Fields
Field Name | Description |
---|---|
time - DateTimeOffset!
|
The start time of the bucket. |
total - Int!
|
The total number of Tracks within the bucket. |
counts - [TracksCountByTag!]!
|
The count of Tracks for each Tag within the bucket. |
Example
{
"time": "2025-01-01T00:00:00.000+00",
"total": 987,
"counts": [TracksCountByTag]
}
UpdateActivityChronicleInput
Description
This input type is used to update an existing ActivityChronicle
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of activity. |
name - String
|
The name of the activity |
description - String
|
A text description of the activity. |
startTime - DateTimeOffset
|
The time at which the activity started. |
endTime - DateTimeOffset
|
The time at which the activity ended. |
timezone - String
|
The timezone for the activity, if provided. |
metadata - JSON
|
Additional metadata associated with the activity. This may represent any JSON object structure. |
priority - String
|
Optional information to validate the accuracy of the activity. |
status - String
|
User-defined priority of the activity. |
labels - [String!]
|
User-defined status of the activity. |
locations - [String!]
|
Human-readable labels describing the activity. |
validation - ChronicleValidationInput
|
Human-readable locations describing the activity. |
imageIds - [ID!]
|
IDs for images to associate with the activity. |
clips - [CreateClipInput!]
|
Requests to create clips associated with the activity. |
trackIds - [ID!]
|
IDs for tracks to associate with the activity. |
siteIds - [ID!]
|
IDs for sites to associate with the activity. |
dataSourceIds - [ID!]
|
IDs for data sources to associate with the activity. |
tagIds - [ID!]
|
IDs for tags to associate with the activity. |
pointOfInterestIds - [ID!]
|
IDs for points of interest to associate with the activity. |
Example
{
"id": "4",
"name": "xyz789",
"description": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"timezone": "xyz789",
"metadata": {},
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["xyz789"],
"validation": ChronicleValidationInput,
"imageIds": ["4"],
"clips": [CreateClipInput],
"trackIds": [4],
"siteIds": [4],
"dataSourceIds": ["4"],
"tagIds": ["4"],
"pointOfInterestIds": [4]
}
UpdateChronicleProducerInput
Description
This input type is used to update an existing ChronicleProducer
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the chronicle producer. |
name - String
|
The name of the chronicle producer. |
description - String
|
The text description of the chronicle producer. |
timezone - String
|
The timezone for the chronicle producer. |
active - Boolean
|
True if the chronicle producer is active, otherwise false. |
metadata - JSON
|
Arbitrary information about the chronicle producer. |
validationReasons - [String!]
|
A list of validation reasons to be used by the chronicle producer. |
Example
{
"id": "4",
"name": "abc123",
"description": "abc123",
"timezone": "xyz789",
"active": true,
"metadata": {},
"validationReasons": ["xyz789"]
}
UpdateDataSourceInput
Description
This type is used to update an existing DataSource
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of the data source |
name - String
|
The name of the data source |
type - DataSourceType
|
The type of the data source |
labels - [String!]
|
Human-readable labels describing this data source |
Example
{
"id": "4",
"name": "abc123",
"type": "FOLDER",
"labels": ["xyz789"]
}
UpdateDeviceInput
Description
This input type is used to update an existing Device
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the event. |
siteId - ID
|
The unique identifier for the site that this device belongs to. |
pointOfInterestId - ID
|
The unique identifier for the point of interest the device belongs to. |
externalId - ID
|
An identifier that the device may use outside of Worlds. |
name - String
|
The name of the device. |
address - String
|
The address of the device. |
position - GeoJSONPointInput
|
The geographic location of the device. |
enabled - Boolean
|
true if the device's feed is being persisted by Worlds. |
Example
{
"id": 4,
"siteId": "4",
"pointOfInterestId": "4",
"externalId": "4",
"name": "abc123",
"address": "abc123",
"position": GeoJSONPointInput,
"enabled": false
}
UpdateEventChronicleInput
Description
This input type is used to update an existing EventChronicle
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the event. |
name - String
|
The name of the event |
description - String
|
A text description of the event. |
timestamp - DateTimeOffset
|
The time at which the event occurred. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
priority - String
|
User-defined priority of the event. |
status - String
|
User-defined status of the event. |
labels - [String!]
|
Human-readable labels describing the event. |
locations - [String!]
|
Human-readable locations describing the event. |
validation - ChronicleValidationInput
|
Optional information to validate the accuracy of the event. |
activityChronicleIds - [ID!]
|
IDs of activity chronicles associated with the event. |
Example
{
"id": "4",
"name": "abc123",
"description": "xyz789",
"timestamp": DateTimeOffset,
"timezone": "xyz789",
"metadata": {},
"priority": "xyz789",
"status": "abc123",
"labels": ["abc123"],
"locations": ["xyz789"],
"validation": ChronicleValidationInput,
"activityChronicleIds": [4]
}
UpdateEventInput
Description
This input type is used to update an existing Event
for a custom event producer. See About EventProducers for more details.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the event. |
type - String
|
The type of the event, which should convey the broad category of the event. |
subType - String
|
The subtype of the event, if provided, which should provide more context on the category of the event. |
startTime - DateTimeOffset
|
The time at which the event started. |
endTime - DateTimeOffset
|
The time at which the event ended. If not provided, the event is still ongoing. |
position - GeoJSONPointInput
|
The GeoJSON point to be recorded with the event, if any. |
timezone - String
|
The timezone for the event, if provided. |
metadata - JSON
|
Additional metadata associated with the event. This may represent any JSON object structure. |
snapshots - [CreateSnapshotInput!]
|
Requests to generate snapshots for this event
Snapshots are only generated when the event is ended for the first time.
Therefore, snapshots will only be generated the first time that the endTime is specified for this event. |
uploads - [UploadImageInput!]
|
Requests to upload images for this event |
clips - [CreateClipInput!]
|
Requests to associate clips to this event |
trackIds - [ID!]
|
List of Track IDs to attach to this event. Ensures that the Events UI page renders a map with plotted tracks. |
properties - EventPropertiesInput
|
Optional additional information associated with this event, including related data sources, sites, and tags. |
draft - Boolean
|
Whether the event is a draft. |
validation - EventValidationInput
|
Optional information to validate the accuracy of the event. |
priority - String
|
Optional string to indicate the priority of an event. |
Example
{
"id": "4",
"type": "abc123",
"subType": "abc123",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"position": GeoJSONPointInput,
"timezone": "xyz789",
"metadata": {},
"snapshots": [CreateSnapshotInput],
"uploads": [UploadImageInput],
"clips": [CreateClipInput],
"trackIds": ["4"],
"properties": EventPropertiesInput,
"draft": false,
"validation": EventValidationInput,
"priority": "abc123"
}
UpdateEventProducerInput
Description
This input type is used to update an existing EventProducer
. See About EventProducers for more details.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the event producer. |
name - String
|
The name of the event producer. |
description - String
|
The text description of the event producer. |
timezone - String
|
The timezone for the event producer. |
active - Boolean
|
True if the event producer is active, otherwise false. |
metadata - JSON
|
Arbitrary information about the event producer. |
Example
{
"id": 4,
"name": "xyz789",
"description": "abc123",
"timezone": "abc123",
"active": true,
"metadata": {}
}
UpdatePointOfInterestInput
Description
Fields to update an existing PointOfInterest
Fields
Input Field | Description |
---|---|
id - ID!
|
The ID of the PointOfInterest that will be updated |
siteId - ID
|
The ID of the Site that the PointOfInterest belongs to |
name - String
|
The name of the PointOfInterest. |
position - GeoJSONPointInput
|
The geographic position of the PointOfInterest |
metadata - JSON
|
The metadata associated with the PointOfInterest. |
Example
{
"id": 4,
"siteId": 4,
"name": "abc123",
"position": GeoJSONPointInput,
"metadata": {}
}
UpdateSensorInput
Description
This input type is used update an existing Sensor
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of the sensor. |
name - String
|
The name of the sensor. |
description - String
|
A text description of the sensor. |
type - SensorType
|
The type of data outputted by the sensor. |
position - GeoJSONPointInput
|
The geographic location of the sensor. |
address - String
|
The address of the sensor. |
metadata - JSON
|
Additional metadata associated with the sensor. This may represent any JSON object structure. |
Example
{
"id": "4",
"name": "abc123",
"description": "abc123",
"type": "NUMBER",
"position": GeoJSONPointInput,
"address": "xyz789",
"metadata": {}
}
UpdateSiteInput
Description
Input type used to update an existing [Site]({{Types.site}.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of the site. |
name - String
|
The name of the site. |
position - GeoJSONPointInput
|
The geographic location of the site |
polygon - GeoJSONMultiPolygonInput
|
The geographic shape of the site |
Example
{
"id": 4,
"name": "abc123",
"position": GeoJSONPointInput,
"polygon": GeoJSONMultiPolygonInput
}
UpdateSummaryChronicleInput
Description
This input type is used to update an existing SummaryChronicle
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier for the summary. |
name - String
|
The name of the summary |
description - String
|
A text description of the summary. |
startTime - DateTimeOffset
|
The start time of the summary. |
endTime - DateTimeOffset
|
The end time of the summary. |
timezone - String
|
The timezone for the summary, if provided. |
metadata - JSON
|
Additional metadata associated with the summary. This may represent any JSON object structure. |
priority - String
|
User-defined priority of the summary. |
status - String
|
User-defined status of the summary. |
labels - [String!]
|
Human-readable labels describing the summary. |
locations - [String!]
|
Human-readable locations describing the summary. |
validation - ChronicleValidationInput
|
Optional information to validate the accuracy of the summary. |
activityChronicleIds - [ID!]
|
IDs of activity chronicles associated with the summary. |
eventChronicleIds - [ID!]
|
IDs of event chronicles associated with the summary. |
Example
{
"id": 4,
"name": "xyz789",
"description": "xyz789",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"timezone": "xyz789",
"metadata": {},
"priority": "abc123",
"status": "abc123",
"labels": ["abc123"],
"locations": ["abc123"],
"validation": ChronicleValidationInput,
"activityChronicleIds": [4],
"eventChronicleIds": [4]
}
UpdateTrackInput
Description
This input type is used to update an existing Track
.
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of the Track. |
tag - String
|
The class label of the tracked object, i.e person, car, truck, etc. |
startTime - DateTimeOffset
|
The time of the first detection of the tracked object. |
endTime - DateTimeOffset
|
The time of the last detection of the tracked object, or null if it is still being tracked. |
detections - [TrackDetectionInput!]
|
A list of detections that will be created and associated to the existing track. |
properties - TrackPropertiesInput
|
The identifying and descriptive attributes of a track. |
metadata - JSON
|
Arbitrary information about the Track. |
Example
{
"id": "4",
"tag": "xyz789",
"startTime": DateTimeOffset,
"endTime": DateTimeOffset,
"detections": [TrackDetectionInput],
"properties": TrackPropertiesInput,
"metadata": {}
}
UpdateZoneInput
Fields
Input Field | Description |
---|---|
id - ID!
|
The unique identifier of the zone. |
dataSourceId - ID
|
The unique identifier of the data source that owns the zone. |
name - String
|
The name given to the camera zone. |
polygon - GeoJSONPolygonInput
|
The geometrical boundry of the camera zone. |
active - Boolean
|
True if the zone is currently active, otherwise false. |
Example
{
"id": "4",
"dataSourceId": "4",
"name": "xyz789",
"polygon": GeoJSONPolygonInput,
"active": false
}
UploadImageInput
Description
This input type is used to upload an image to worlds.
Fields
Input Field | Description |
---|---|
dataSourceId - ID
|
The optional UUID of the data source that this image will be associated with |
fileName - String
|
The optional name of the uploaded file |
timestamp - DateTimeOffset
|
The optional timestamp that will be associated with the image |
data - String!
|
The image bytes as a base64 encoded string |
Example
{
"dataSourceId": "4",
"fileName": "abc123",
"timestamp": DateTimeOffset,
"data": "abc123"
}
User
Video
Description
A video represents a video from a data source, including its start and end time.
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the video. |
dataSource - DataSource!
|
The data source that created the video. |
startTime - DateTimeOffset!
|
The time at which the video started. |
endTime - DateTimeOffset
|
The time at which the video ended. If not provided, the video is still ongoing. |
url - String!
|
The signed URL to be used to stream the video. |
thumbnailUrl - String
|
The signed URL to be used to retrieve the video thumbnail. |
displayName - String
|
The display name of the video. |
resolutionHeight - String
|
The resolution height of the video. |
resolutionWidth - String
|
The resolution width of the video. |
frameRate - Float
|
The frame rate of the video. |
createdBy - User
|
The user the video was created by. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"url": "xyz789",
"thumbnailUrl": "xyz789",
"displayName": "xyz789",
"resolutionHeight": "abc123",
"resolutionWidth": "abc123",
"frameRate": 987.65,
"createdBy": User
}
VideoConnection
Description
A VideoConnection
is the paginated result of a videos
query
See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [VideoEdge]!
|
The resulting collection of Video edges. |
Example
{
"pageInfo": PageInfo,
"edges": [VideoEdge]
}
VideoEdge
Description
A video edge is the pairing of a Video with its query cursor. See about queries for details on how "connection" and "edge" types are used with pagination.
Fields
Field Name | Description |
---|---|
node - Video
|
Information about a particular Video. |
cursor - String!
|
The cursor to use with the Query videos field after argument. |
Example
{
"node": Video,
"cursor": "xyz789"
}
VideosSort
Description
VideosSort allows for sorting a videos
query by field and direction.
Fields
Input Field | Description |
---|---|
field - VideosSortField!
|
Any sortable field available to the VideosSort . See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
VideosSortField
Description
Indicates the field used for sorting a Videos query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the datasource identifier. |
|
Sort the resulting list by start time. |
|
Sort the resulting list by end time. |
Example
"ID"
Zone
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the camera zone. |
dataSource - DataSource
|
The data source that owns the zone |
name - String!
|
The name given to the camera zone. |
polygon - GeoJSONPolygon!
|
The geometrical boundry of the camera zone. |
active - Boolean!
|
True if the zone is currently active, otherwise false. |
createdAt - DateTimeOffset
|
The timestamp the zone was created at. |
updatedAt - DateTimeOffset
|
The timestamp the zone was most recently updated. |
deviceId - ID!
|
The unique identifier for the camera the zone belongs to. deviceId is deprecated. Use dataSource.id instead
|
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"dataSource": DataSource,
"name": "abc123",
"polygon": GeoJSONPolygon,
"active": false,
"createdAt": "2025-01-01T00:00:00.000+00",
"updatedAt": "2025-01-01T00:00:00.000+00",
"deviceId": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}
ZoneConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [ZoneEdge]!
|
The resulting collection of zone edges. |
Example
{
"pageInfo": PageInfo,
"edges": [ZoneEdge]
}
ZoneEdge
Fields
Field Name | Description |
---|---|
node - Zone
|
Information about a particular Zone. |
cursor - String!
|
The cursor to use with the Query zones field after argument. |
Example
{
"node": Zone,
"cursor": "xyz789"
}
ZoneEvent
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique idenifier for the zone event. |
zone - Zone!
|
The camera zone the event happened in. |
track - Track!
|
The track associated with the object that triggered the zone event. |
tag - String!
|
The class label of the object that triggered the zone event, i.e person, car, truck, etc. tag is deprecated and can instead be retrieved from the track. |
type - ActivityType!
|
The type of zone event, i.e ingress (an object entered the zone), dwell (an object remained in the zone), and egress. (an object exited the zone) zoneEvent is deprecated in favor of zoneIntersection, which does not use type. |
startTime - DateTimeOffset!
|
The time at which the event started. |
endTime - DateTimeOffset
|
The time at which the event ended. |
polygon - GeoJSONMultiPolygon
|
The two-dimensional shape of the detection that triggered the event. zoneEvent is deprecated in favor of zoneIntersection, which does not use polygon. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"zone": Zone,
"track": Track,
"tag": "xyz789",
"type": "INGRESS",
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00",
"polygon": GeoJSONMultiPolygon
}
ZoneEventConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [ZoneEventEdge]!
|
The resulting collection of zone events edges. |
Example
{
"pageInfo": PageInfo,
"edges": [ZoneEventEdge]
}
ZoneEventEdge
Fields
Field Name | Description |
---|---|
node - ZoneEvent
|
Information about a particular ZoneEvent. |
cursor - String!
|
The cursor to use with the Query zoneEvents field after argument. |
Example
{
"node": ZoneEvent,
"cursor": "xyz789"
}
ZoneEventsSort
Description
ZoneEventsSort allows for sorting zone events by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - ZoneEventsSortField!
|
Any sortable field available to the ZoneEventsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
ZoneEventsSortField
Description
Indicates the field used for sorting a zoneEvents query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the track start time. |
Example
"ID"
ZoneIntersection
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier for the zone intersection. |
zone - Zone!
|
The camera zone the intersection happened in. |
track - Track!
|
The track associated with the object that triggered the zone intersection. |
startTime - DateTimeOffset!
|
The time at which the intersection started. |
endTime - DateTimeOffset
|
The time at which the intersection ended. |
Example
{
"id": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"zone": Zone,
"track": Track,
"startTime": "2025-01-01T00:00:00.000+00",
"endTime": "2025-01-01T00:00:00.000+00"
}
ZoneIntersectionConnection
Fields
Field Name | Description |
---|---|
pageInfo - PageInfo!
|
Pagination information for the resulting edges. |
edges - [ZoneIntersectionEdge]!
|
The resulting collection of zone intersections edges. |
Example
{
"pageInfo": PageInfo,
"edges": [ZoneIntersectionEdge]
}
ZoneIntersectionEdge
Fields
Field Name | Description |
---|---|
node - ZoneIntersection
|
Information about a particular ZoneIntersection. |
cursor - String!
|
The cursor to use with the Query zoneIntersections field after argument. |
Example
{
"node": ZoneIntersection,
"cursor": "xyz789"
}
ZoneIntersectionMessage
Fields
Field Name | Description |
---|---|
message - ZoneIntersection!
|
The zone intersection. |
state - MessageState!
|
The state of the intersection message. Within the message, the endTime will only be present on an END event. |
Example
{"message": ZoneIntersection, "state": "START"}
ZoneIntersectionsSort
Description
ZoneIntersectionsSort allows for sorting zone intersections by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - ZoneIntersectionsSortField!
|
Any sortable field available to the ZoneIntersectionsSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
ZoneIntersectionsSortField
Description
Indicates the field used for sorting a zoneIntersections query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list in by its unique identifier. |
|
Sort the resulting list by the intersection start time. |
Example
"ID"
ZonesSort
Description
ZonesSort allows for sorting zones by a sort field and direction.
Fields
Input Field | Description |
---|---|
field - ZonesSortField!
|
Any sortable field available to the ZonesSortField. See the link to the type below for more details. |
direction - SortDirection!
|
Sort direction. See the link to the type below for more details. |
Example
{"field": "ID", "direction": "ASC"}
ZonesSortField
Description
Indicates the field used for sorting a zones query.
Values
Enum Value | Description |
---|---|
|
Sort the resulting list by the zone's unique identifiers. |
|
Sort the resulting list by the zone's names |
Example
"ID"