API Endpoints
https://prod.api.smart.juganu.com/api/v1/graphql

Queries

get_cameras

Description

Fetches an array of camera entities based on specified filtering, ordering, and pagination parameters. This query is crucial for surveillance systems or any application requiring dynamic retrieval of camera data for monitoring or security purposes.

Response

Returns [Camera!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_cameras(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_cameras(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    type
    bird_view_location
    mac_address
    device_mac_address
    device_name
    device_location
    ip
    stream_urls {
      ...StreamUrlFragment
    }
    snapshot_image {
      ...ImageDataFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_cameras": [
      {
        "id": "4",
        "name": "abc123",
        "type": "xyz789",
        "bird_view_location": FeaturePoint,
        "mac_address": "abc123",
        "device_mac_address": "abc123",
        "device_name": "abc123",
        "device_location": FeaturePoint,
        "ip": "xyz789",
        "stream_urls": [StreamUrl],
        "snapshot_image": ImageData
      }
    ]
  }
}

get_directions

Description

Fetches an array of directions based on specified filtering, ordering, and pagination parameters. This query is essential for applications requiring dynamic retrieval of directional data for navigation, routing, or mapping purposes.

Response

Returns [Direction!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_directions(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_directions(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_directions": [
      {
        "id": "4",
        "type": "abc123",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

get_lines

Description

Creates new lines from provided input data, essential for expanding or modifying transportation networks or production facilities. This operation supports the efficient setup and configuration of new lines, ensuring they meet specific operational requirements.

Response

Returns [Line!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_lines(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_lines(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_lines": [
      {
        "id": "4",
        "name": "abc123",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "abc123"
      }
    ]
  }
}

get_logical_groups

Description

Retrieves an array of logical groups based on specified filtering, ordering, and pagination parameters. This query is crucial for systems that manage complex configurations or groupings of entities, allowing for detailed and tailored retrieval of group data.

Response

Returns [LogicalGroup!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_logical_groups(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_logical_groups(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    type
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_logical_groups": [
      {"id": 4, "type": "abc123"}
    ]
  }
}

get_oois

Description

Retrieves a list of Objects of Interest (OOIs) based on specified filtering, ordering, and pagination controls. This query supports the dynamic retrieval of OOIs, which is crucial for applications monitoring environmental or operational conditions.

Response

Returns [Ooi!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_oois(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_oois(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_oois": [
      {
        "id": "4",
        "name": "abc123",
        "type": "abc123",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

get_profiles

Description

Fetches an array of user profiles based on specified filtering criteria, ordering, and pagination. This query is essential for systems requiring a tailored retrieval of profile data, such as user management dashboards or customized user experience enhancements.

Response

Returns [Profile!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_profiles(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_profiles(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_profiles": [
      {"id": 4, "name": "abc123"}
    ]
  }
}

get_roles

Description

Retrieves a list of roles based on specified filtering, ordering, and pagination controls. This query is ideal for systems requiring dynamic role management, facilitating user access and permissions auditing across different organizational structures.

Response

Returns [Role!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_roles(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_roles(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_roles": [
      {
        "id": 4,
        "name": "abc123",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

get_shelves

Description

Retrieves a list of shelves based on specified filtering, ordering, and pagination limits. Ideal for inventory management systems needing dynamic queries to reflect current stock levels, shelf arrangements, or specific storage conditions.

Response

Returns [Shelf!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_shelves(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_shelves(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_shelves": [
      {
        "id": 4,
        "name": "abc123",
        "severity": 123,
        "logical_groups": [LogicalGroup],
        "is_activated": true,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

get_sites

Description

Fetches an array of sites entities based on specified filtering, ordering, and pagination parameters. This query is crucial for surveillance systems or any application requiring dynamic retrieval of camera data for monitoring or security purposes.

Response

Returns [Site!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.

Example

Query
query get_sites($filter_by: FilterByInput) {
  get_sites(filter_by: $filter_by) {
    id
    name
    floormap_image {
      ...ImageDataFragment
    }
    location
  }
}
Variables
{"filter_by": FilterByInput}
Response
{
  "data": {
    "get_sites": [
      {
        "id": "4",
        "name": "xyz789",
        "floormap_image": ImageData,
        "location": FeaturePoint
      }
    ]
  }
}

get_stations

Description

Fetches an array of stations with optional filtering, ordering, and pagination controls. This query is useful for clients looking to dynamically query stations based on specific criteria.

Response

Returns [Station!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_stations(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_stations(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_stations": [
      {
        "id": "4",
        "name": "abc123",
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "is_bird_view_mode": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

get_watchlists

Description

Retrieves an array of watchlists based on optional filtering, ordering, and pagination parameters. This query is ideal for fetching a tailored list of watchlists that meet specific criteria, facilitating effective monitoring and management of watchlist entities across various applications.

Response

Returns [Watchlist!]!

Arguments
Name Description
filter_by - FilterByInput Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query get_watchlists(
  $filter_by: FilterByInput,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  get_watchlists(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    id
    name
    type
    color
    threshold_delta
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "get_watchlists": [
      {
        "id": 4,
        "name": "abc123",
        "type": "xyz789",
        "color": "xyz789",
        "threshold_delta": 123.45
      }
    ]
  }
}

query_camera_metrics

Description

Retrieves frame metrics for cameras, including OOI counts and statistics.

Response

Returns [CameraMetrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100
time_bucket - TimeBucket! Defines the time intervals for the results, with options including Minutely, Hourly, Daily.

Example

Query
query query_camera_metrics(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!],
  $limit: Int,
  $time_bucket: TimeBucket!
) {
  query_camera_metrics(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit,
    time_bucket: $time_bucket
  ) {
    start_datetime
    end_datetime
    camera {
      ...CameraFragment
    }
    site_id
    customer_id
    ooi_type
    frame_metrics {
      ...FrameMetricsDataFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100,
  "time_bucket": "Minutely"
}
Response
{
  "data": {
    "query_camera_metrics": [
      {
        "start_datetime": "2007-12-03",
        "end_datetime": "2007-12-03",
        "camera": Camera,
        "site_id": "abc123",
        "customer_id": "xyz789",
        "ooi_type": "xyz789",
        "frame_metrics": FrameMetricsData
      }
    ]
  }
}

query_iot_data

Description

Retrieves a list of IotData data based on specified filtering criteria, ordering, and pagination limits. This query is essential for analyzing patterns, frequencies, and details of IotData within various facilities or locations, facilitating comprehensive IotData data analysis.

Response

Returns [IotData!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_iot_data(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_iot_data(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    datetime
    site_id
    site_name
    customer_id
    message_id
    message_version
    node_id
    environment_data {
      ...EnvironmentDataFragment
    }
    audio_data {
      ...AudioDataFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_iot_data": [
      {
        "datetime": "2007-12-03",
        "site_id": "abc123",
        "site_name": "abc123",
        "customer_id": "abc123",
        "message_id": "abc123",
        "message_version": 123.45,
        "node_id": "abc123",
        "environment_data": EnvironmentData,
        "audio_data": AudioData
      }
    ]
  }
}

query_location_metrics

Description

Retrieves a list of site metrics concerning the count and duration of OOIs, based on specified locations or stations, with options for ordering, time-bucketing, and pagination limits. This query is crucial for analyzing site-specific metrics and location-based activities, providing detailed insights into performance, behaviors, and trends across various locations. The ability to filter and adjust time-bucketing allows for a thorough analysis and reporting across multiple use cases.

Response

Returns [LocationMetrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
time_bucket - TimeBucket Defines the time intervals for the results, with options including Minutely, Hourly, Daily, Weekly, Monthly, Yearly. Default = null
location - Feature Specify the location coordinates to be retrieved in the response that intersect with one of the following feature types: point, line, polygon. Default = null
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_location_metrics(
  $filter_by: FilterByInput!,
  $time_bucket: TimeBucket,
  $location: Feature,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_location_metrics(
    filter_by: $filter_by,
    time_bucket: $time_bucket,
    location: $location,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    site_id
    customer_id
    ooi_type
    location
    coordinate_metrics {
      ...CoordinateMetricsFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "time_bucket": "null",
  "location": null,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_location_metrics": [
      {
        "start_datetime": "2007-12-03",
        "site_id": "xyz789",
        "customer_id": "abc123",
        "ooi_type": "xyz789",
        "location": "abc123",
        "coordinate_metrics": CoordinateMetrics
      }
    ]
  }
}

query_metrics

Description

Retrieves metrics for site,stations and cameras, including OOI counts and statistics.

Response

Returns [Metrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100
time_bucket - TimeBucket! Defines the time intervals for the results, with options including Minutely, Hourly, Daily.

Example

Query
query query_metrics(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!],
  $limit: Int,
  $time_bucket: TimeBucket!
) {
  query_metrics(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit,
    time_bucket: $time_bucket
  ) {
    start_datetime
    end_datetime
    site_id
    customer_id
    ooi_type
    group_type
    group_id
    occupancy_range {
      ...OccupancyRangeFragment
    }
    occupied_percent
    unique_ooi_count
    ooi_count
    max_duration
    avg_duration
    camera {
      ...CameraFragment
    }
    station {
      ...StationFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100,
  "time_bucket": "Minutely"
}
Response
{
  "data": {
    "query_metrics": [
      {
        "start_datetime": "2007-12-03",
        "end_datetime": "2007-12-03",
        "site_id": "xyz789",
        "customer_id": "abc123",
        "ooi_type": "xyz789",
        "group_type": "xyz789",
        "group_id": "abc123",
        "occupancy_range": OccupancyRange,
        "occupied_percent": 123.45,
        "unique_ooi_count": 123.45,
        "ooi_count": 123.45,
        "max_duration": 123.45,
        "avg_duration": 123.45,
        "camera": Camera,
        "station": Station
      }
    ]
  }
}

query_shelf_statuses

Description

Retrieves a list of shelf status data from multiple locations or facilities based on specified filtering criteria, ordering options, and pagination limits. This query is crucial for managers and analytics tools to assess inventory levels, monitor shelf life, and analyze product placement effectiveness across various retail environments.

Response

Returns [ShelfStatus!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_shelf_statuses(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_shelf_statuses(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    datetime
    site_id
    site_name
    customer_id
    message_id
    message_version
    node_id
    fullness_percent
    confidence
    shelf {
      ...ShelfWithoutImageFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_shelf_statuses": [
      {
        "datetime": "2007-12-03",
        "site_id": "abc123",
        "site_name": "abc123",
        "customer_id": "abc123",
        "message_id": "xyz789",
        "message_version": 987.65,
        "node_id": "xyz789",
        "fullness_percent": 123.45,
        "confidence": 123.45,
        "shelf": ShelfWithoutImage
      }
    ]
  }
}

query_site_metrics_by_role

Description

Retrieves a list of site metrics related to roles, based on specified filtering criteria, ordering, time-bucketing, and pagination limits. This query is essential for analyzing site-specific metrics and role-based activities, allowing for detailed insights into performance, behaviors, and trends across different sites and roles. The flexibility in filtering and time-bucketing supports comprehensive analysis and reporting for various use cases.

Response

Returns [SiteMetrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
time_bucket - TimeBucket Defines the time intervals for the results, with options including Minutely, Hourly, Daily, Weekly, Monthly, Yearly. Default = null
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_site_metrics_by_role(
  $filter_by: FilterByInput!,
  $time_bucket: TimeBucket,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_site_metrics_by_role(
    filter_by: $filter_by,
    time_bucket: $time_bucket,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    site_id
    customer_id
    ooi_type
    ooi_count
    sum_duration
    avg_duration
    max_duration
    role {
      ...RoleFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "time_bucket": "null",
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_site_metrics_by_role": [
      {
        "start_datetime": "2007-12-03",
        "site_id": "abc123",
        "customer_id": "abc123",
        "ooi_type": "abc123",
        "ooi_count": 123,
        "sum_duration": 123.45,
        "avg_duration": 123.45,
        "max_duration": 987.65,
        "role": Role
      }
    ]
  }
}

query_station_metrics_by_role

Description

Retrieves a list of station metrics related to roles, based on specified filtering criteria, ordering, time-bucketing, and pagination limits. This query is designed to provide detailed insights into role-specific activities within stations, including data on occurrences, durations, and associated roles. It supports comprehensive analysis of station-level performance, enabling users to track and understand trends, behaviors, and operational effectiveness across different roles and stations.

Response

Returns [StationMetrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
time_bucket - TimeBucket Defines the time intervals for the results, with options including Minutely, Hourly, Daily, Weekly, Monthly, Yearly. Default = null
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_station_metrics_by_role(
  $filter_by: FilterByInput!,
  $time_bucket: TimeBucket,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_station_metrics_by_role(
    filter_by: $filter_by,
    time_bucket: $time_bucket,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    site_id
    customer_id
    ooi_type
    ooi_count
    sum_duration
    avg_duration
    max_duration
    role {
      ...RoleFragment
    }
    station {
      ...StationWithImageAsStringFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "time_bucket": "null",
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_station_metrics_by_role": [
      {
        "start_datetime": "2007-12-03",
        "site_id": "abc123",
        "customer_id": "xyz789",
        "ooi_type": "xyz789",
        "ooi_count": 123,
        "sum_duration": 987.65,
        "avg_duration": 123.45,
        "max_duration": 123.45,
        "role": Role,
        "station": StationWithImageAsString
      }
    ]
  }
}

query_total_site_metrics

Description

Retrieves a list of total site metrics, including cumulative counts and durations, based on specified filtering criteria, ordering, time-bucketing, and pagination limits. This query is essential for analyzing the total values of site activities, offering insights into overall performance metrics such as total occurrences, sum of durations, and averages across different sites. It supports comprehensive analysis and reporting of aggregated site data, enabling informed decision-making based on total metrics.

Response

Returns [SiteMetricsTotalMetrics!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
time_bucket - TimeBucket Defines the time intervals for the results, with options including Minutely, Hourly, Daily, Weekly, Monthly, Yearly. Default = null
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_total_site_metrics(
  $filter_by: FilterByInput!,
  $time_bucket: TimeBucket,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_total_site_metrics(
    filter_by: $filter_by,
    time_bucket: $time_bucket,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    site_id
    customer_id
    ooi_type
    ooi_count
    sum_duration
    avg_duration
    max_duration
  }
}
Variables
{
  "filter_by": FilterByInput,
  "time_bucket": "null",
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_total_site_metrics": [
      {
        "start_datetime": "2007-12-03",
        "site_id": "xyz789",
        "customer_id": "xyz789",
        "ooi_type": "xyz789",
        "ooi_count": 987,
        "sum_duration": 987.65,
        "avg_duration": 987.65,
        "max_duration": 987.65
      }
    ]
  }
}

query_total_station_metrics

Description

Retrieves a list of total role-based metrics for stations, including cumulative counts and durations, based on specified filtering criteria, ordering, time-bucketing, and pagination limits. This query is essential for analyzing the overall performance and activity levels associated with different roles across various stations. By providing aggregated data, it enables users to gain insights into the total impact of roles within stations, facilitating informed decision-making and effective resource management.

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
time_bucket - TimeBucket Defines the time intervals for the results, with options including Minutely, Hourly, Daily, Weekly, Monthly, Yearly. Default = null
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_total_station_metrics(
  $filter_by: FilterByInput!,
  $time_bucket: TimeBucket,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_total_station_metrics(
    filter_by: $filter_by,
    time_bucket: $time_bucket,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    site_id
    customer_id
    ooi_count
    sum_duration
    avg_duration
    max_duration
    role {
      ...RoleFragment
    }
    most_popular_station {
      ...StationWithImageAsStringFragment
    }
    least_popular_station {
      ...StationWithImageAsStringFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "time_bucket": "null",
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_total_station_metrics": [
      {
        "start_datetime": "2007-12-03",
        "site_id": "xyz789",
        "customer_id": "xyz789",
        "ooi_count": 123,
        "sum_duration": 987.65,
        "avg_duration": 987.65,
        "max_duration": 123.45,
        "role": Role,
        "most_popular_station": StationWithImageAsString,
        "least_popular_station": StationWithImageAsString
      }
    ]
  }
}

query_visits

Description

Retrieves a list of Visits data based on specified filtering criteria, ordering, and pagination limits. This query is essential for analyzing patterns, frequencies, and details of visits within various facilities or locations, facilitating comprehensive visitation data analysis.

Response

Returns [Visit!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null
limit - Int Specifies the maximum number of results to return from a query. The maximum allowed value is 5000 results. Default = 100

Example

Query
query query_visits(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!],
  $limit: Int
) {
  query_visits(
    filter_by: $filter_by,
    order_by: $order_by,
    limit: $limit
  ) {
    start_datetime
    end_datetime
    duration_seconds
    site_id
    site_name
    customer_id
    detector_type
    cameras {
      ...CameraWithoutSnapshotImageFragment
    }
    station_visits {
      ...StationVisitFragment
    }
    line_visits {
      ...LineVisitFragment
    }
    ooi {
      ...OoiRRFragment
    }
  }
}
Variables
{
  "filter_by": FilterByInput,
  "order_by": null,
  "limit": 100
}
Response
{
  "data": {
    "query_visits": [
      {
        "start_datetime": "2007-12-03",
        "end_datetime": "2007-12-03",
        "duration_seconds": 987.65,
        "site_id": "xyz789",
        "site_name": "abc123",
        "customer_id": "abc123",
        "detector_type": "xyz789",
        "cameras": [CameraWithoutSnapshotImage],
        "station_visits": [StationVisit],
        "line_visits": [LineVisit],
        "ooi": OoiRR
      }
    ]
  }
}

Mutations

assign_camera_view_locations_to_lines

Response

Returns [Line!]!

Arguments
Name Description
camera_view_locations - [CameraViewLocationLineStringInput!]!
lines - [String!]!

Example

Query
mutation assign_camera_view_locations_to_lines(
  $camera_view_locations: [CameraViewLocationLineStringInput!]!,
  $lines: [String!]!
) {
  assign_camera_view_locations_to_lines(
    camera_view_locations: $camera_view_locations,
    lines: $lines
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "camera_view_locations": [
    CameraViewLocationLineStringInput
  ],
  "lines": ["abc123"]
}
Response
{
  "data": {
    "assign_camera_view_locations_to_lines": [
      {
        "id": 4,
        "name": "abc123",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "xyz789"
      }
    ]
  }
}

assign_directions_to_lines

Response

Returns [Line!]!

Arguments
Name Description
directions - [String!]!
lines - [String!]!

Example

Query
mutation assign_directions_to_lines(
  $directions: [String!]!,
  $lines: [String!]!
) {
  assign_directions_to_lines(
    directions: $directions,
    lines: $lines
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "directions": ["xyz789"],
  "lines": ["abc123"]
}
Response
{
  "data": {
    "assign_directions_to_lines": [
      {
        "id": "4",
        "name": "abc123",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "abc123"
      }
    ]
  }
}

assign_logical_groups_to_directions

Response

Returns [Direction!]!

Arguments
Name Description
directions - [String!]!
logical_groups - [String!]!

Example

Query
mutation assign_logical_groups_to_directions(
  $directions: [String!]!,
  $logical_groups: [String!]!
) {
  assign_logical_groups_to_directions(
    directions: $directions,
    logical_groups: $logical_groups
  ) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{
  "directions": ["abc123"],
  "logical_groups": ["abc123"]
}
Response
{
  "data": {
    "assign_logical_groups_to_directions": [
      {
        "id": 4,
        "type": "xyz789",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

assign_logical_groups_to_shelves

Response

Returns [Shelf!]!

Arguments
Name Description
shelves - [String!]!
logical_groups - [String!]!

Example

Query
mutation assign_logical_groups_to_shelves(
  $shelves: [String!]!,
  $logical_groups: [String!]!
) {
  assign_logical_groups_to_shelves(
    shelves: $shelves,
    logical_groups: $logical_groups
  ) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{
  "shelves": ["xyz789"],
  "logical_groups": ["abc123"]
}
Response
{
  "data": {
    "assign_logical_groups_to_shelves": [
      {
        "id": "4",
        "name": "xyz789",
        "severity": 123,
        "logical_groups": [LogicalGroup],
        "is_activated": true,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

assign_logical_groups_to_stations

Response

Returns [Station!]!

Arguments
Name Description
logical_groups - [String!]!
stations - [String!]!

Example

Query
mutation assign_logical_groups_to_stations(
  $logical_groups: [String!]!,
  $stations: [String!]!
) {
  assign_logical_groups_to_stations(
    logical_groups: $logical_groups,
    stations: $stations
  ) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{
  "logical_groups": ["xyz789"],
  "stations": ["abc123"]
}
Response
{
  "data": {
    "assign_logical_groups_to_stations": [
      {
        "id": "4",
        "name": "abc123",
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "is_bird_view_mode": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

assign_profiles_to_roles

Response

Returns [Role!]!

Arguments
Name Description
roles - [String!]!
profiles - [String!]!

Example

Query
mutation assign_profiles_to_roles(
  $roles: [String!]!,
  $profiles: [String!]!
) {
  assign_profiles_to_roles(
    roles: $roles,
    profiles: $profiles
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "roles": ["abc123"],
  "profiles": ["abc123"]
}
Response
{
  "data": {
    "assign_profiles_to_roles": [
      {
        "id": "4",
        "name": "xyz789",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

assign_role_to_oois

Response

Returns [Ooi!]!

Arguments
Name Description
role - String!
oois - [String!]!

Example

Query
mutation assign_role_to_oois(
  $role: String!,
  $oois: [String!]!
) {
  assign_role_to_oois(
    role: $role,
    oois: $oois
  ) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{
  "role": "xyz789",
  "oois": ["xyz789"]
}
Response
{
  "data": {
    "assign_role_to_oois": [
      {
        "id": "4",
        "name": "xyz789",
        "type": "xyz789",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

assign_watchlist_to_roles

Response

Returns [Role!]!

Arguments
Name Description
roles - [String!]!
watchlist - String!

Example

Query
mutation assign_watchlist_to_roles(
  $roles: [String!]!,
  $watchlist: String!
) {
  assign_watchlist_to_roles(
    roles: $roles,
    watchlist: $watchlist
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "roles": ["xyz789"],
  "watchlist": "xyz789"
}
Response
{
  "data": {
    "assign_watchlist_to_roles": [
      {
        "id": "4",
        "name": "xyz789",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

create_directions

Description

Creates new directions from provided input data, crucial for setting up navigation systems or updating routing information within applications.

Response

Returns [Direction!]!

Arguments
Name Description
directions - [DirectionInput!]!

Example

Query
mutation create_directions($directions: [DirectionInput!]!) {
  create_directions(directions: $directions) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{"directions": [DirectionInput]}
Response
{
  "data": {
    "create_directions": [
      {
        "id": 4,
        "type": "abc123",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

create_lines

Description

Creates new lines from provided input data, essential for expanding or modifying transportation networks or production facilities. This operation supports the efficient setup and configuration of new lines, ensuring they meet specific operational requirements.

Response

Returns [Line!]!

Arguments
Name Description
lines - [LineInput!]!

Example

Query
mutation create_lines($lines: [LineInput!]!) {
  create_lines(lines: $lines) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{"lines": [LineInput]}
Response
{
  "data": {
    "create_lines": [
      {
        "id": "4",
        "name": "abc123",
        "is_activated": true,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "abc123"
      }
    ]
  }
}

create_logical_groups

Description

Creates new logical groups from provided input data. This mutation is essential for adding new groupings or configurations to the system, facilitating structured organization and management of entities.

Response

Returns [LogicalGroup!]!

Arguments
Name Description
logical_groups - [LogicalGroupInput!]!

Example

Query
mutation create_logical_groups($logical_groups: [LogicalGroupInput!]!) {
  create_logical_groups(logical_groups: $logical_groups) {
    id
    type
  }
}
Variables
{"logical_groups": [LogicalGroupInput]}
Response
{
  "data": {
    "create_logical_groups": [
      {
        "id": "4",
        "type": "xyz789"
      }
    ]
  }
}

create_oois

Description

Creates new Objects of Interest (OOIs) from provided input data. This operation is fundamental for initializing tracking or monitoring of new OOIs in systems related to environmental, security, or operational management.

Response

Returns [Ooi!]!

Arguments
Name Description
oois - [OoiInput!]!

Example

Query
mutation create_oois($oois: [OoiInput!]!) {
  create_oois(oois: $oois) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{"oois": [OoiInput]}
Response
{
  "data": {
    "create_oois": [
      {
        "id": 4,
        "name": "abc123",
        "type": "xyz789",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

create_profiles

Description

Creates an array of user profiles from provided profile input data. This operation is critical for onboarding new users or adding multiple user records into the system in a batch process.

Response

Returns [Profile!]!

Arguments
Name Description
profiles - [ProfileInput!]!

Example

Query
mutation create_profiles($profiles: [ProfileInput!]!) {
  create_profiles(profiles: $profiles) {
    id
    name
  }
}
Variables
{"profiles": [ProfileInput]}
Response
{
  "data": {
    "create_profiles": [
      {"id": 4, "name": "xyz789"}
    ]
  }
}

create_roles

Description

Creates multiple roles within the system. This mutation is critical for establishing new roles, defining permissions, and setting up role-based access control configurations efficiently.

Response

Returns [Role!]!

Arguments
Name Description
roles - [RoleInput!]!

Example

Query
mutation create_roles($roles: [RoleInput!]!) {
  create_roles(roles: $roles) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{"roles": [RoleInput]}
Response
{
  "data": {
    "create_roles": [
      {
        "id": "4",
        "name": "xyz789",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

create_shelves

Description

Creates multiple shelves with specified attributes. This is crucial for setting up new storage areas or expanding existing facilities, allowing batch configuration of shelf details.

Response

Returns [Shelf!]!

Arguments
Name Description
shelves - [ShelfInput!]!

Example

Query
mutation create_shelves($shelves: [ShelfInput!]!) {
  create_shelves(shelves: $shelves) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{"shelves": [ShelfInput]}
Response
{
  "data": {
    "create_shelves": [
      {
        "id": "4",
        "name": "xyz789",
        "severity": 123,
        "logical_groups": [LogicalGroup],
        "is_activated": true,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

create_stations

Description

Creates an array of new stations based on the provided station input data. This is crucial for initializing station settings and entries in the system.

Response

Returns [Station!]!

Arguments
Name Description
stations - [StationInput!]!

Example

Query
mutation create_stations($stations: [StationInput!]!) {
  create_stations(stations: $stations) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{"stations": [StationInput]}
Response
{
  "data": {
    "create_stations": [
      {
        "id": 4,
        "name": "abc123",
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "is_bird_view_mode": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

create_watchlists

Description

Creates multiple watchlists based on the provided array of watchlist inputs. This mutation is crucial for initializing watchlist settings and entries, allowing users to set up their monitoring configurations in a batch process.

Response

Returns [Watchlist!]!

Arguments
Name Description
watchlists - [WatchlistInput!]!

Example

Query
mutation create_watchlists($watchlists: [WatchlistInput!]!) {
  create_watchlists(watchlists: $watchlists) {
    id
    name
    type
    color
    threshold_delta
  }
}
Variables
{"watchlists": [WatchlistInput]}
Response
{
  "data": {
    "create_watchlists": [
      {
        "id": 4,
        "name": "abc123",
        "type": "xyz789",
        "color": "abc123",
        "threshold_delta": 987.65
      }
    ]
  }
}

delete_directions

Description

Updates existing directions based on provided partial direction data and optional filters. This mutation allows for real-time adjustments to directional information, accommodating changes in routes or navigational strategies.

Response

Returns [Direction!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_directions(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_directions(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_directions": [
      {
        "id": 4,
        "type": "abc123",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

delete_lines

Description

Deletes lines based on specified filtering and ordering criteria. This operation is crucial for removing obsolete or unnecessary lines, helping maintain the efficiency and relevancy of the operational infrastructure.

Response

Returns [Line!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_lines(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_lines(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_lines": [
      {
        "id": "4",
        "name": "xyz789",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "xyz789"
      }
    ]
  }
}

delete_logical_groups

Description

Deletes logical groups based on specified filtering and ordering criteria. This operation is vital for removing outdated or irrelevant group configurations, ensuring that the system remains organized and efficient.

Response

Returns [LogicalGroup!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_logical_groups(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_logical_groups(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    type
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_logical_groups": [
      {
        "id": "4",
        "type": "abc123"
      }
    ]
  }
}

delete_oois

Description

Deletes specified Objects of Interest (OOIs) based on filtering and ordering criteria. Essential for maintaining data relevance and system efficiency by removing outdated or irrelevant OOIs.

Response

Returns [Ooi!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_oois(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_oois(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_oois": [
      {
        "id": 4,
        "name": "abc123",
        "type": "xyz789",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

delete_profiles

Description

Deletes user profiles based on specified filtering and ordering criteria. This mutation is essential for maintaining data hygiene and relevancy by removing outdated or unnecessary profiles from the system.

Response

Returns [Profile!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_profiles(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_profiles(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_profiles": [
      {"id": 4, "name": "abc123"}
    ]
  }
}

delete_roles

Description

Deletes roles based on specified filtering and ordering criteria. This operation is vital for removing outdated or unnecessary roles, helping maintain a clean and efficient role management system.

Response

Returns [Role!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_roles(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_roles(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_roles": [
      {
        "id": "4",
        "name": "xyz789",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

delete_shelves

Description

Deletes shelves based on filtering and ordering criteria. Essential for maintaining an efficient and relevant storage system by removing outdated or unnecessary shelf setups.

Response

Returns [Shelf!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_shelves(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_shelves(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_shelves": [
      {
        "id": "4",
        "name": "xyz789",
        "severity": 987,
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

delete_stations

Description

Deletes stations based on specified filtering and ordering criteria. Essential for removing outdated or unnecessary stations from the system, helping maintain data integrity and relevance.

Response

Returns [Station!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_stations(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_stations(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_stations": [
      {
        "id": "4",
        "name": "abc123",
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "is_bird_view_mode": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

delete_watchlists

Description

Deletes watchlists based on specified filtering and ordering criteria. This mutation is essential for removing obsolete or unwanted watchlist entries, ensuring that monitoring systems remain efficient and relevant.

Response

Returns [Watchlist!]!

Arguments
Name Description
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation delete_watchlists(
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  delete_watchlists(
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    type
    color
    threshold_delta
  }
}
Variables
{"filter_by": FilterByInput, "order_by": null}
Response
{
  "data": {
    "delete_watchlists": [
      {
        "id": 4,
        "name": "abc123",
        "type": "abc123",
        "color": "xyz789",
        "threshold_delta": 123.45
      }
    ]
  }
}

unassign_camera_view_locations_to_lines

Response

Returns [Line!]!

Arguments
Name Description
cameras - [String!]!
lines - [String!]!

Example

Query
mutation unassign_camera_view_locations_to_lines(
  $cameras: [String!]!,
  $lines: [String!]!
) {
  unassign_camera_view_locations_to_lines(
    cameras: $cameras,
    lines: $lines
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "cameras": ["abc123"],
  "lines": ["abc123"]
}
Response
{
  "data": {
    "unassign_camera_view_locations_to_lines": [
      {
        "id": 4,
        "name": "abc123",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "xyz789"
      }
    ]
  }
}

unassign_directions_from_lines

Response

Returns [Line!]!

Arguments
Name Description
directions - [String!]!
lines - [String!]!

Example

Query
mutation unassign_directions_from_lines(
  $directions: [String!]!,
  $lines: [String!]!
) {
  unassign_directions_from_lines(
    directions: $directions,
    lines: $lines
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "directions": ["abc123"],
  "lines": ["xyz789"]
}
Response
{
  "data": {
    "unassign_directions_from_lines": [
      {
        "id": 4,
        "name": "xyz789",
        "is_activated": false,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "abc123"
      }
    ]
  }
}

unassign_logical_groups_from_directions

Response

Returns [Direction!]!

Arguments
Name Description
directions - [String!]!
logical_groups - [String!]!

Example

Query
mutation unassign_logical_groups_from_directions(
  $directions: [String!]!,
  $logical_groups: [String!]!
) {
  unassign_logical_groups_from_directions(
    directions: $directions,
    logical_groups: $logical_groups
  ) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{
  "directions": ["abc123"],
  "logical_groups": ["abc123"]
}
Response
{
  "data": {
    "unassign_logical_groups_from_directions": [
      {
        "id": 4,
        "type": "xyz789",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

unassign_logical_groups_from_shelves

Response

Returns [Shelf!]!

Arguments
Name Description
shelves - [String!]!
logical_groups - [String!]!

Example

Query
mutation unassign_logical_groups_from_shelves(
  $shelves: [String!]!,
  $logical_groups: [String!]!
) {
  unassign_logical_groups_from_shelves(
    shelves: $shelves,
    logical_groups: $logical_groups
  ) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{
  "shelves": ["xyz789"],
  "logical_groups": ["abc123"]
}
Response
{
  "data": {
    "unassign_logical_groups_from_shelves": [
      {
        "id": 4,
        "name": "abc123",
        "severity": 987,
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

unassign_logical_groups_from_stations

Response

Returns [Station!]!

Arguments
Name Description
logical_groups - [String!]!
stations - [String!]!

Example

Query
mutation unassign_logical_groups_from_stations(
  $logical_groups: [String!]!,
  $stations: [String!]!
) {
  unassign_logical_groups_from_stations(
    logical_groups: $logical_groups,
    stations: $stations
  ) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{
  "logical_groups": ["xyz789"],
  "stations": ["abc123"]
}
Response
{
  "data": {
    "unassign_logical_groups_from_stations": [
      {
        "id": "4",
        "name": "xyz789",
        "logical_groups": [LogicalGroup],
        "is_activated": false,
        "is_bird_view_mode": false,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

unassign_profiles_from_roles

Response

Returns [Role!]!

Arguments
Name Description
roles - [String!]!
profiles - [String!]!

Example

Query
mutation unassign_profiles_from_roles(
  $roles: [String!]!,
  $profiles: [String!]!
) {
  unassign_profiles_from_roles(
    roles: $roles,
    profiles: $profiles
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "roles": ["abc123"],
  "profiles": ["xyz789"]
}
Response
{
  "data": {
    "unassign_profiles_from_roles": [
      {
        "id": "4",
        "name": "abc123",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

unassign_role_from_oois

Response

Returns [Ooi!]!

Arguments
Name Description
role - String!
oois - [String!]!

Example

Query
mutation unassign_role_from_oois(
  $role: String!,
  $oois: [String!]!
) {
  unassign_role_from_oois(
    role: $role,
    oois: $oois
  ) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{
  "role": "abc123",
  "oois": ["abc123"]
}
Response
{
  "data": {
    "unassign_role_from_oois": [
      {
        "id": "4",
        "name": "xyz789",
        "type": "xyz789",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

unassign_watchlist_from_roles

Response

Returns [Role!]!

Arguments
Name Description
roles - [String!]!
watchlist - String!

Example

Query
mutation unassign_watchlist_from_roles(
  $roles: [String!]!,
  $watchlist: String!
) {
  unassign_watchlist_from_roles(
    roles: $roles,
    watchlist: $watchlist
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "roles": ["xyz789"],
  "watchlist": "abc123"
}
Response
{
  "data": {
    "unassign_watchlist_from_roles": [
      {
        "id": 4,
        "name": "abc123",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

update_directions

Description

Updates existing directions based on provided partial direction data and optional filters. This mutation allows for real-time adjustments to directional information, accommodating changes in routes or navigational strategies.

Response

Returns [Direction!]!

Arguments
Name Description
set - PartialDirectionInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_directions(
  $set: PartialDirectionInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_directions(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    type
    logical_groups {
      ...LogicalGroupFragment
    }
  }
}
Variables
{
  "set": PartialDirectionInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_directions": [
      {
        "id": "4",
        "type": "xyz789",
        "logical_groups": [LogicalGroup]
      }
    ]
  }
}

update_lines

Description

Updates existing lines based on provided partial line data and optional filters. This mutation allows for flexible adjustments to line configurations, supporting ongoing optimizations or changes in operational strategies.

Response

Returns [Line!]!

Arguments
Name Description
set - PartialLineInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_lines(
  $set: PartialLineInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_lines(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    is_activated
    directions {
      ...DirectionFragment
    }
    camera_view_locations {
      ...CameraViewLocationLineStringFragment
    }
    detector_type
  }
}
Variables
{
  "set": PartialLineInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_lines": [
      {
        "id": "4",
        "name": "abc123",
        "is_activated": true,
        "directions": [Direction],
        "camera_view_locations": [
          CameraViewLocationLineString
        ],
        "detector_type": "xyz789"
      }
    ]
  }
}

update_logical_groups

Description

Updates existing logical groups based on provided partial group data and optional filters. This mutation supports the dynamic modification of group attributes, crucial for maintaining relevant and effective group configurations.

Response

Returns [LogicalGroup!]!

Arguments
Name Description
set - PartialLogicalGroupInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_logical_groups(
  $set: PartialLogicalGroupInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_logical_groups(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    type
  }
}
Variables
{
  "set": PartialLogicalGroupInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_logical_groups": [
      {"id": 4, "type": "abc123"}
    ]
  }
}

update_oois

Description

Updates existing Objects of Interest (OOIs) based on provided partial OOI data and optional filtering criteria. This mutation enables dynamic updates to OOIs, facilitating real-time responses to changes in their status or attributes.

Response

Returns [Ooi!]!

Arguments
Name Description
set - PartialOoiInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_oois(
  $set: PartialOoiInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_oois(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    type
    role {
      ...RoleFragment
    }
    image {
      ...ImageDataFragment
    }
  }
}
Variables
{
  "set": PartialOoiInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_oois": [
      {
        "id": "4",
        "name": "abc123",
        "type": "xyz789",
        "role": Role,
        "image": ImageData
      }
    ]
  }
}

update_profiles

Description

Updates existing user profiles based on provided partial profile data and optional filters. This mutation supports dynamic modification of user profiles, allowing for real-time updates to user data as operational needs evolve.

Response

Returns [Profile!]!

Arguments
Name Description
set - PartialProfileInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_profiles(
  $set: PartialProfileInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_profiles(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
  }
}
Variables
{
  "set": PartialProfileInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_profiles": [
      {"id": 4, "name": "xyz789"}
    ]
  }
}

update_roles

Description

Updates existing roles based on provided partial role data and optional filters. Supports modifications essential for adapting to organizational changes or updated access requirements.

Response

Returns [Role!]!

Arguments
Name Description
set - PartialRoleInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_roles(
  $set: PartialRoleInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_roles(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    watchlist {
      ...WatchlistFragment
    }
    profiles {
      ...ProfileFragment
    }
  }
}
Variables
{
  "set": PartialRoleInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_roles": [
      {
        "id": 4,
        "name": "abc123",
        "watchlist": Watchlist,
        "profiles": [Profile]
      }
    ]
  }
}

update_shelves

Description

Updates the properties of existing shelves based on filtering criteria and provided data. Supports dynamic modifications to accommodate changes in storage requirements or optimizations in shelf utilization.

Response

Returns [Shelf!]!

Arguments
Name Description
set - PartialShelfInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_shelves(
  $set: PartialShelfInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_shelves(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    severity
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
  }
}
Variables
{
  "set": PartialShelfInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_shelves": [
      {
        "id": 4,
        "name": "abc123",
        "severity": 987,
        "logical_groups": [LogicalGroup],
        "is_activated": true,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ]
      }
    ]
  }
}

update_sites

Description

Updates existing sites based on provided partial site input and optional filters and ordering. This allows for selective updates to site data, ideal for modifying multiple site records at once.

Response

Returns [Site!]!

Arguments
Name Description
set - PartialSiteInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_sites(
  $set: PartialSiteInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_sites(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    floormap_image {
      ...ImageDataFragment
    }
    location
  }
}
Variables
{
  "set": PartialSiteInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_sites": [
      {
        "id": "4",
        "name": "xyz789",
        "floormap_image": ImageData,
        "location": FeaturePoint
      }
    ]
  }
}

update_stations

Description

Updates existing stations based on provided partial station input and optional filters and ordering. This allows for selective updates to station data, ideal for modifying multiple station records at once.

Response

Returns [Station!]!

Arguments
Name Description
set - PartialStationInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_stations(
  $set: PartialStationInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_stations(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    logical_groups {
      ...LogicalGroupFragment
    }
    is_activated
    is_bird_view_mode
    camera_view_locations {
      ...CameraViewLocationPolygonFragment
    }
    bird_view_location
    image {
      ...ImageDataFragment
    }
    intersecting_cameras {
      ...CameraFragment
    }
  }
}
Variables
{
  "set": PartialStationInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_stations": [
      {
        "id": 4,
        "name": "xyz789",
        "logical_groups": [LogicalGroup],
        "is_activated": true,
        "is_bird_view_mode": true,
        "camera_view_locations": [
          CameraViewLocationPolygon
        ],
        "bird_view_location": FeaturePolygon,
        "image": ImageData,
        "intersecting_cameras": [Camera]
      }
    ]
  }
}

update_watchlists

Description

Updates existing watchlists based on specified filtering criteria and data to set. This mutation allows for modifying attributes of watchlists selectively, making it possible to adjust watchlist parameters dynamically in response to changing monitoring needs.

Response

Returns [Watchlist!]!

Arguments
Name Description
set - PartialWatchlistInput!
filter_by - FilterByInput! Specifies the filtering criteria for a query. It allows you to filter results based on one or more fields and their values.
order_by - [OrderByInput!] Specifies the sorting order of results in a query. It allows you to sort results based on one or more fields in ascending or descending order. Default = null

Example

Query
mutation update_watchlists(
  $set: PartialWatchlistInput!,
  $filter_by: FilterByInput!,
  $order_by: [OrderByInput!]
) {
  update_watchlists(
    set: $set,
    filter_by: $filter_by,
    order_by: $order_by
  ) {
    id
    name
    type
    color
    threshold_delta
  }
}
Variables
{
  "set": PartialWatchlistInput,
  "filter_by": FilterByInput,
  "order_by": null
}
Response
{
  "data": {
    "update_watchlists": [
      {
        "id": "4",
        "name": "xyz789",
        "type": "xyz789",
        "color": "abc123",
        "threshold_delta": 123.45
      }
    ]
  }
}

Types

AudioData

Fields
Field Name Description
avg_noise_level - Float! The average noise level measured across a specified audio sample. Expressed in decibels (dB), this numeric value quantifies the mean intensity of noise within the audio, offering insights into the overall sound environment. Useful for evaluating sound quality, detecting noise pollution, or assessing acoustic properties in various settings.
Example
{"avg_noise_level": 987.65}

BetweenInput

Fields
Input Field Description
field - String! Represents the name of the field to which the value is associated.
value - NumberOrDateRangeValueInput! The range within which the field’s value must lie. This encompasses both start and end points, which can be numbers or dates, ensuring the flexibility to specify a precise segment of interest.
Example
{
  "field": "xyz789",
  "value": NumberOrDateRangeValueInput
}

Boolean

Description

The Boolean scalar type represents true or false.

Camera

Fields
Field Name Description
id - ID! A unique identifier for the camera, typically used for database indexing and retrieval operations.
name - String! The name of the camera, providing a human-readable identifier that can be used for display purposes.
type - String! Specifies the type of camera, such as IP camera, analog camera, etc., aiding in the categorization and specific functionality of the camera.
bird_view_location - FeaturePoint
mac_address - String! The MAC address of the camera, serving as a unique network identifier for the device.
device_mac_address - String! The MAC address of the device to which the camera is connected, useful for network topology and device management.
device_name - String! The name of the device to which the camera is connected, providing context and aiding in device identification within a network.
device_location - FeaturePoint The location of the camera, specified as a GeoJSON Feature object with Point geometry.
ip - String The IP address of the camera, used for network communication. This field is optional and might not be available for all cameras.
stream_urls - [StreamUrl!]! A list of stream URLs associated with the camera, providing access to live video feeds and other video streams.
snapshot_image - ImageData The latest base64-encoded snapshot image from the camera.
Example
{
  "id": 4,
  "name": "abc123",
  "type": "abc123",
  "bird_view_location": FeaturePoint,
  "mac_address": "abc123",
  "device_mac_address": "xyz789",
  "device_name": "xyz789",
  "device_location": FeaturePoint,
  "ip": "abc123",
  "stream_urls": [StreamUrl],
  "snapshot_image": ImageData
}

CameraMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period
end_datetime - Date The ending datetime for the metrics collection period
camera - Camera! Camera information
site_id - String The site identifier
customer_id - String The customer identifier
ooi_type - String! The type of Object of Interest (OOI) being tracked
frame_metrics - FrameMetricsData Frame metrics data
Example
{
  "start_datetime": "2007-12-03",
  "end_datetime": "2007-12-03",
  "camera": Camera,
  "site_id": "xyz789",
  "customer_id": "xyz789",
  "ooi_type": "abc123",
  "frame_metrics": FrameMetricsData
}

CameraSnapshotImageAsString

Fields
Field Name Description
id - ID! A unique identifier for the camera, typically used for database indexing and retrieval operations.
name - String! The name of the camera, providing a human-readable identifier that can be used for display purposes.
type - String! Specifies the type of camera, such as IP camera, analog camera, etc., aiding in the categorization and specific functionality of the camera.
bird_view_location - FeaturePoint
mac_address - String! The MAC address of the camera, serving as a unique network identifier for the device.
device_mac_address - String! The MAC address of the device to which the camera is connected, useful for network topology and device management.
device_name - String! The name of the device to which the camera is connected, providing context and aiding in device identification within a network.
device_location - FeaturePoint The location of the camera, specified as a GeoJSON Feature object with Point geometry.
ip - String The IP address of the camera, used for network communication. This field is optional and might not be available for all cameras.
stream_urls - [StreamUrl!]! A list of stream URLs associated with the camera, providing access to live video feeds and other video streams.
snapshot_image - ImageData The snapshot image from the camera as string.
Example
{
  "id": "4",
  "name": "xyz789",
  "type": "xyz789",
  "bird_view_location": FeaturePoint,
  "mac_address": "xyz789",
  "device_mac_address": "abc123",
  "device_name": "abc123",
  "device_location": FeaturePoint,
  "ip": "abc123",
  "stream_urls": [StreamUrl],
  "snapshot_image": ImageData
}

CameraViewLocationLineString

Fields
Field Name Description
camera - Camera!
location - FeatureLineString!
Example
{
  "camera": Camera,
  "location": FeatureLineString
}

CameraViewLocationLineStringInput

Fields
Input Field Description
camera - String! The id of the camera view location, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between camera view locations.
location - FeatureLineString!
Example
{
  "camera": "xyz789",
  "location": FeatureLineString
}

CameraViewLocationPolygon

Fields
Field Name Description
camera - Camera!
location - FeaturePolygon!
Example
{
  "camera": Camera,
  "location": FeaturePolygon
}

CameraViewLocationPolygonInput

Fields
Input Field Description
camera - String! The id of the camera view location, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between camera view locations.
location - FeaturePolygon!
Example
{
  "camera": "xyz789",
  "location": FeaturePolygon
}

CameraViewLocationWithCameraSnapshotImageAsString

Fields
Field Name Description
camera - CameraSnapshotImageAsString
location - Feature
Example
{
  "camera": CameraSnapshotImageAsString,
  "location": Feature
}

CameraViewLocationWithoutImage

Fields
Field Name Description
camera - CameraWithoutSnapshotImage!
location - Feature!
Example
{
  "camera": CameraWithoutSnapshotImage,
  "location": Feature
}

CameraWithoutSnapshotImage

Fields
Field Name Description
id - ID! A unique identifier for the camera, typically used for database indexing and retrieval operations.
name - String! The name of the camera, providing a human-readable identifier that can be used for display purposes.
type - String! Specifies the type of camera, such as IP camera, analog camera, etc., aiding in the categorization and specific functionality of the camera.
bird_view_location - FeaturePoint
mac_address - String! The MAC address of the camera, serving as a unique network identifier for the device.
device_mac_address - String! The MAC address of the device to which the camera is connected, useful for network topology and device management.
device_name - String! The name of the device to which the camera is connected, providing context and aiding in device identification within a network.
device_location - FeaturePoint The location of the camera, specified as a GeoJSON Feature object with Point geometry.
ip - String The IP address of the camera, used for network communication. This field is optional and might not be available for all cameras.
stream_urls - [StreamUrl!]! A list of stream URLs associated with the camera, providing access to live video feeds and other video streams.
Example
{
  "id": 4,
  "name": "abc123",
  "type": "xyz789",
  "bird_view_location": FeaturePoint,
  "mac_address": "abc123",
  "device_mac_address": "xyz789",
  "device_name": "abc123",
  "device_location": FeaturePoint,
  "ip": "xyz789",
  "stream_urls": [StreamUrl]
}

CoordinateMetrics

Fields
Field Name Description
stations - [Station!]! An array of station visits, detailing individual interactions with specific stations within the site, including timestamps, duration, and related cameras.
ooi_count - Int! The total count of Objects of Interest (OOI) associated with the site. This metric helps quantify the extent of engagement with the site.
duration_seconds - Int! The total duration seconds of all detection key that have been detected in the current location.
Example
{
  "stations": [Station],
  "ooi_count": 987,
  "duration_seconds": 123
}

Date

Description

Extracts the date-validation from BigQueryDatetime and returns it in a compatible format

Example
"2007-12-03"

DateOrNumber

Description

DateOrNumber custom scalar type that accepts ISO dates, partial dates, numbers

Example
DateOrNumber

Direction

Fields
Field Name Description
id - ID! A unique identifier for the direction, crucial for distinguishing between multiple directions within the system and ensuring accurate data retrieval and management.
type - String! Specifies the type of direction, which could denote the category, purpose, or nature of the direction, aiding in the classification and contextual understanding.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with this direction. Each logical group could represent a different aspect or parameter of the direction, providing a means to organize and manage directions more granitely.
Example
{
  "id": "4",
  "type": "abc123",
  "logical_groups": [LogicalGroup]
}

DirectionInput

Fields
Input Field Description
type - String! Specifies the type of direction, which could denote the category, purpose, or nature of the direction, aiding in the classification and contextual understanding.
logical_groups - [String!]! A collection of logical groups associated with this direction. Each logical group could represent a different aspect or parameter of the direction, providing a means to organize and manage directions more granitely.
Example
{
  "type": "abc123",
  "logical_groups": ["abc123"]
}

EnvironmentData

Fields
Field Name Description
humidity - Float! The humidity level in the environment, expressed as a percentage. This value indicates the amount of water vapor present in the air relative to the maximum amount the air can hold at the same temperature.
pressure - Float! The atmospheric pressure measured in hectopascals (hPa). It represents the force exerted by the atmosphere at a given point and is a critical parameter for weather forecasting and study of atmospheric conditions.
temperature - Float! The ambient temperature expressed in degrees Celsius. This measurement reflects the warmth or coldness of the environment, which is essential for assessing weather conditions, climate study, and environmental monitoring.
Example
{"humidity": 987.65, "pressure": 987.65, "temperature": 123.45}

EqualInput

Fields
Input Field Description
field - String! Represents the name of the field to which the value is associated.
value - MultiType The exact value to match against the field’s value. Supports a broad range of types for comprehensive filtering capabilities, allowing precise control over query conditions.
Example
{
  "field": "xyz789",
  "value": MultiType
}

FaceAttributes

Fields
Field Name Description
age - String The age category or range of the detected face
gender - String The detected gender of the face
Example
{
  "age": "abc123",
  "gender": "xyz789"
}

Feature

Example
Feature

FeatureLineString

Example
FeatureLineString

FeaturePoint

Example
FeaturePoint

FeaturePolygon

Example
FeaturePolygon

FilterByInput

Fields
Input Field Description
and - [FilterByInput!] Allows combining multiple FilterByInput conditions using a logical AND operation. It enables the specification of filters that must all be satisfied for a query to return a result.
or - [FilterByInput!] Similar to the AND field, but for logical OR operations. It allows for the specification of multiple filters where satisfying any one of the specified conditions is enough for a query to return a result.
equal - EqualInput Specifies a condition where a field must be equal to a given value. The EqualInput type defines the field and the value it should equal to.
not_equal - NotEqualInput Specifies a condition where a field must not be equal to a specified value. The NotEqualInput type defines the field and the value it should not equal to.
greater_than - GreaterThanInput Specifies that a field must be greater than a certain value. The GreaterThanInput type includes the field and the minimum value it must exceed.
greater_than_or_equal - GreaterThanOrEqualInput Specifies that a field must be greater than or equal to a certain value. This condition is defined using the GreaterThanOrEqualInput type, which includes the field and the value it must meet or exceed.
less_than - LessThanInput Indicates that a field must be less than a specified value. The LessThanInput type outlines the field and the maximum value it must not exceed.
less_than_or_equal - LessThanOrEqualInput Specifies that a field must be less than or equal to a specific value. This is defined using the LessThanOrEqualInput type, which includes the field and the value it must not exceed.
between - BetweenInput Specifies a condition where a field's value must fall within a specified range. The BetweenInput type defines the field, the lower bound, and the upper bound of the range. The result of X between Y and Z is equivalent to Y <= X and X <= Z but X is evaluated only once in the former.
Example
{
  "and": [FilterByInput],
  "or": [FilterByInput],
  "equal": EqualInput,
  "not_equal": NotEqualInput,
  "greater_than": GreaterThanInput,
  "greater_than_or_equal": GreaterThanOrEqualInput,
  "less_than": LessThanInput,
  "less_than_or_equal": LessThanOrEqualInput,
  "between": BetweenInput
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

FrameMetricsData

Fields
Field Name Description
ooi_max - Int Maximum number of OOIs detected in the time period
ooi_min - Int Minimum number of OOIs detected in the time period
ooi_median - Int Median number of OOIs detected in the time period
ooi_avg - Float Average number of OOIs detected in the time period
Example
{"ooi_max": 123, "ooi_min": 123, "ooi_median": 123, "ooi_avg": 987.65}

GreaterThanInput

Fields
Input Field Description
field - String! Specifies the field name associated with the given value, allowing for the dynamic targeting of properties within a query.
value - DateOrNumber! This field is designed to accept either a numerical value or a date-validation in string format. When specifying a date-validation, it should adhere to the ISO 8601 standard, ensuring that it is expressed in UTC.
Example
{
  "field": "abc123",
  "value": DateOrNumber
}

GreaterThanOrEqualInput

Fields
Input Field Description
field - String! Specifies the field name associated with the given value, allowing for the dynamic targeting of properties within a query.
value - DateOrNumber! This field is designed to accept either a numerical value or a date-validation in string format. When specifying a date-validation, it should adhere to the ISO 8601 standard, ensuring that it is expressed in UTC.
Example
{
  "field": "xyz789",
  "value": DateOrNumber
}

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"

ImageData

Fields
Field Name Description
url - String! The signed URL that provides temporary access to the image stored in Google Cloud Storage.
resolution - ImageDimensions! The original resolution of the image before any resizing or processing.
Example
{
  "url": "xyz789",
  "resolution": ImageDimensions
}

ImageDimensions

Fields
Field Name Description
width - Float! The width of the image in pixels.
height - Float! The height of the image in pixels.
Example
{"width": 123.45, "height": 987.65}

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
987

IotData

Fields
Field Name Description
datetime - Date! The precise date and time marking when the IoT device transmitted the data. This information is crucial for temporal analysis and tracking data over time.
site_id - String! A unique identifier of the location or installation site from which the IoT data originates, useful for distinguishing between multiple data sources.
site_name - String! The name associated with the site_id, providing a human-readable identifier for ease of reference and analysis.
customer_id - String! A unique identifier for the customer or entity to whom the site belongs, facilitating data segregation and personalized insights.
message_id - String! A unique identifier for each message sent by the IoT device, ensuring traceability and uniqueness of data packets.
message_version - Float! A numerical value indicating the version of the message format or schema, allowing for version control and backward compatibility.
node_id - String! Identifies a specific IoT node within a broader network, aiding in pinpointing data sources and troubleshooting.
environment_data - EnvironmentData! Environmental data captured by the IoT device, such as temperature, humidity, and pressure, packaged into a single structured record for comprehensive analysis.
audio_data - AudioData! Audio data collected by the IoT device, including metrics like average noise level, encapsulated in a structured record for detailed auditory environment analysis.
Example
{
  "datetime": "2007-12-03",
  "site_id": "abc123",
  "site_name": "abc123",
  "customer_id": "xyz789",
  "message_id": "xyz789",
  "message_version": 123.45,
  "node_id": "abc123",
  "environment_data": EnvironmentData,
  "audio_data": AudioData
}

LessThanInput

Fields
Input Field Description
field - String! Specifies the field name associated with the given value, allowing for the dynamic targeting of properties within a query.
value - DateOrNumber! This field is designed to accept either a numerical value or a date-validation in string format. When specifying a date-validation, it should adhere to the ISO 8601 standard, ensuring that it is expressed in UTC.
Example
{
  "field": "abc123",
  "value": DateOrNumber
}

LessThanOrEqualInput

Fields
Input Field Description
field - String! Specifies the field name associated with the given value, allowing for the dynamic targeting of properties within a query.
value - DateOrNumber! This field is designed to accept either a numerical value or a date-validation in string format. When specifying a date-validation, it should adhere to the ISO 8601 standard, ensuring that it is expressed in UTC.
Example
{
  "field": "abc123",
  "value": DateOrNumber
}

Line

Fields
Field Name Description
id - ID! A unique identifier for the line, essential for database indexing, retrieval operations, and ensuring each line can be distinctly recognized.
name - String! The name of the line, serving as a human-readable identifier to aid users in recognizing and differentiating between multiple lines.
is_activated - Boolean! A boolean value indicating whether the line is currently activated or in use, allowing for the easy management of line operations.
directions - [Direction!]! A list of directions associated with the line, detailing the various paths or routes the line covers. This array of Direction objects enriches the line model by providing comprehensive routing information.
camera_view_locations - [CameraViewLocationLineString!]
detector_type - String!
Example
{
  "id": "4",
  "name": "abc123",
  "is_activated": false,
  "directions": [Direction],
  "camera_view_locations": [CameraViewLocationLineString],
  "detector_type": "abc123"
}

LineInput

Fields
Input Field Description
name - String! The name of the line, serving as a human-readable identifier to aid users in recognizing and differentiating between multiple lines.
is_activated - Boolean! A boolean value indicating whether the line is currently activated or in use, allowing for the easy management of line operations.
directions - [String!]! A list of directions associated with the line, detailing the various paths or routes the line covers. This array of Direction objects enriches the line model by providing comprehensive routing information.
camera_view_locations - [CameraViewLocationLineStringInput!] A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
detector_type - String!
Example
{
  "name": "abc123",
  "is_activated": true,
  "directions": ["xyz789"],
  "camera_view_locations": [
    CameraViewLocationLineStringInput
  ],
  "detector_type": "abc123"
}

LineVisit

Fields
Field Name Description
datetime - Date! The exact date and time when the visit or event occurred, providing a precise temporal context for the line visit.
line - LineWithoutImage! Details of the line that was visited or utilized during the event. This includes information such as the line’s ID, name, and any other relevant attributes defined in the Line class.
direction - Direction! Information about the direction taken during the visit, if applicable. This could detail the path followed, the start and end points, and any logical groups associated with the direction, as defined in the Direction class.
Example
{
  "datetime": "2007-12-03",
  "line": LineWithoutImage,
  "direction": Direction
}

LineWithoutImage

Fields
Field Name Description
id - ID! A unique identifier for the line, essential for database indexing, retrieval operations, and ensuring each line can be distinctly recognized.
name - String! The name of the line, serving as a human-readable identifier to aid users in recognizing and differentiating between multiple lines.
is_activated - Boolean! A boolean value indicating whether the line is currently activated or in use, allowing for the easy management of line operations.
directions - [Direction!]! A list of directions associated with the line, detailing the various paths or routes the line covers. This array of Direction objects enriches the line model by providing comprehensive routing information.
camera_view_locations - [CameraViewLocationWithoutImage!]
detector_type - String!
Example
{
  "id": 4,
  "name": "abc123",
  "is_activated": false,
  "directions": [Direction],
  "camera_view_locations": [
    CameraViewLocationWithoutImage
  ],
  "detector_type": "xyz789"
}

LocationMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period.
site_id - String! The site id name.
customer_id - String! The customer id name.
ooi_type - String! The type of Object of Interest (OOI) associated with the role. This field helps categorize the role metrics based on the type of OOI involved.
location - String! The location - can be a point or a polygon.
coordinate_metrics - CoordinateMetrics A collection of coordinate metrics linked to the location. Each coordinate metric outlines specific information about the location, providing insights into the site’s performance and engagement with Objects of Interest (OOI).
Example
{
  "start_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "abc123",
  "ooi_type": "abc123",
  "location": "abc123",
  "coordinate_metrics": CoordinateMetrics
}

LogicalGroup

Fields
Field Name Description
id - ID! A unique identifier for the logical group. This ID is crucial for distinguishing between different groups within the system, allowing for precise retrieval and management of group data.
type - String! Specifies the type of logical group. This classification can be based on certain characteristics, functionalities, or any other criteria defined within the system, providing a way to categorize and manage groups according to their specific purpose or nature.
Example
{
  "id": "4",
  "type": "abc123"
}

LogicalGroupInput

Fields
Input Field Description
type - String! Specifies the type of logical group. This classification can be based on certain characteristics, functionalities, or any other criteria defined within the system, providing a way to categorize and manage groups according to their specific purpose or nature.
Example
{"type": "abc123"}

Metrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period
end_datetime - Date! The ending datetime for the metrics collection period
site_id - String! The site identifier
customer_id - String! The customer identifier
ooi_type - String! The type of Object of Interest (OOI) being tracked
group_type - String! The type of group
group_id - String! The group identifier
occupancy_range - OccupancyRange! The occupancy range with min and max count
occupied_percent - Float! The percentage of time the area was occupied
unique_ooi_count - Float! The count of unique objects of interest
ooi_count - Float! The total count of objects of interest
max_duration - Float! The maximum duration of an object of interest in the area
avg_duration - Float! The average duration of objects of interest in the area
camera - Camera Camera information
station - Station Station information
Example
{
  "start_datetime": "2007-12-03",
  "end_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "xyz789",
  "ooi_type": "xyz789",
  "group_type": "xyz789",
  "group_id": "xyz789",
  "occupancy_range": OccupancyRange,
  "occupied_percent": 123.45,
  "unique_ooi_count": 987.65,
  "ooi_count": 123.45,
  "max_duration": 987.65,
  "avg_duration": 123.45,
  "camera": Camera,
  "station": Station
}

MultiType

Description

Custom scalar type for number, string, Date, boolean, or null

Example
MultiType

NotEqualInput

Fields
Input Field Description
field - String! Represents the name of the field to which the value is associated.
value - MultiType The value to compare against the field's value. It supports various types, including number, string, boolean, null, and Date, offering flexibility in filter conditions.
Example
{
  "field": "xyz789",
  "value": MultiType
}

NumberOrDateRangeValueInput

Fields
Input Field Description
start - DateOrNumber! Specifies the starting point of a range, which can be either a number or a date-validation. When provided as a date-validation, it must be in the ISO 8601 format and represented as a string. This flexibility allows for the definition of ranges across both numerical and temporal dimensions.
end - DateOrNumber! Defines the end point of the range, accepting either a numerical value or a date-validation in ISO 8601 string format. This end value is inclusive, meaning that the range extends up to and includes this specified end point, allowing for precise definition of boundaries in both numbers and dates.
Example
{
  "start": DateOrNumber,
  "end": DateOrNumber
}

OccupancyRange

Fields
Field Name Description
max_count - Float! Maximum count of the occupancy range
min_count - Float! Minimum count of the occupancy range
Example
{"max_count": 123.45, "min_count": 123.45}

Ooi

Fields
Field Name Description
id - ID! A unique identifier for the Object of Interest, crucial for distinguishing it from other entities within the system and ensuring accurate data management.
name - String An optional name for the Object of Interest, providing a human-readable identifier that can assist users in recognizing and referring to the entity.
type - String! Specifies the type of the Object of Interest, aiding in the classification and contextual understanding of its role or function within the system.
role - Role The role assigned to the Object of Interest, detailing the permissions, access rights, or functionalities associated with it. This linkage is crucial for defining how the object interacts within the system’s ecosystem.
image - ImageData The base64-encoded image of the ooi, typically used for displaying the station image in the user interface.
Example
{
  "id": "4",
  "name": "xyz789",
  "type": "xyz789",
  "role": Role,
  "image": ImageData
}

OoiInput

Fields
Input Field Description
name - String An optional name for the Object of Interest, providing a human-readable identifier that can assist users in recognizing and referring to the entity.
type - String! Specifies the type of the Object of Interest, aiding in the classification and contextual understanding of its role or function within the system.
role - String! The role assigned to the Object of Interest, detailing the permissions, access rights, or functionalities associated with it. This linkage is crucial for defining how the object interacts within the system’s ecosystem.
image - String
Example
{
  "name": "abc123",
  "type": "xyz789",
  "role": "abc123",
  "image": "xyz789"
}

OoiRR

Fields
Field Name Description
id - ID! A unique identifier for the Object of Interest, crucial for distinguishing it from other entities within the system and ensuring accurate data management.
name - String An optional name for the Object of Interest, providing a human-readable identifier that can assist users in recognizing and referring to the entity.
type - String! Specifies the type of the Object of Interest, aiding in the classification and contextual understanding of its role or function within the system.
role - Role! The role assigned to the Object of Interest, detailing the permissions, access rights, or functionalities associated with it. This linkage is crucial for defining how the object interacts within the system’s ecosystem.
image - ImageData The base64-encoded image of the ooi, typically used for displaying the station image in the user interface.
attributes - FaceAttributes!
Example
{
  "id": 4,
  "name": "abc123",
  "type": "xyz789",
  "role": Role,
  "image": ImageData,
  "attributes": FaceAttributes
}

OrderByInput

Fields
Input Field Description
field - String! The name of the field by which the results should be ordered.
ascending - Boolean! A boolean indicating whether the ordering should be ascending (true) or descending (false). Defaults to false. Default = false
Example
{"field": "xyz789", "ascending": true}

PartialDirectionInput

Fields
Input Field Description
type - String Specifies the type of direction, which could denote the category, purpose, or nature of the direction, aiding in the classification and contextual understanding.
logical_groups - [String!] A collection of logical groups associated with this direction. Each logical group could represent a different aspect or parameter of the direction, providing a means to organize and manage directions more granitely.
Example
{
  "type": "xyz789",
  "logical_groups": ["xyz789"]
}

PartialLineInput

Fields
Input Field Description
name - String The name of the line, serving as a human-readable identifier to aid users in recognizing and differentiating between multiple lines.
is_activated - Boolean A boolean value indicating whether the line is currently activated or in use, allowing for the easy management of line operations.
directions - [String!] A list of directions associated with the line, detailing the various paths or routes the line covers. This array of Direction objects enriches the line model by providing comprehensive routing information.
camera_view_locations - [CameraViewLocationLineStringInput!] A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
detector_type - String
Example
{
  "name": "xyz789",
  "is_activated": true,
  "directions": ["xyz789"],
  "camera_view_locations": [
    CameraViewLocationLineStringInput
  ],
  "detector_type": "abc123"
}

PartialLogicalGroupInput

Fields
Input Field Description
type - String Specifies the type of logical group. This classification can be based on certain characteristics, functionalities, or any other criteria defined within the system, providing a way to categorize and manage groups according to their specific purpose or nature.
Example
{"type": "xyz789"}

PartialOoiInput

Fields
Input Field Description
name - String An optional name for the Object of Interest, providing a human-readable identifier that can assist users in recognizing and referring to the entity.
type - String Specifies the type of the Object of Interest, aiding in the classification and contextual understanding of its role or function within the system.
role - String The role assigned to the Object of Interest, detailing the permissions, access rights, or functionalities associated with it. This linkage is crucial for defining how the object interacts within the system’s ecosystem.
image - String
Example
{
  "name": "abc123",
  "type": "xyz789",
  "role": "abc123",
  "image": "xyz789"
}

PartialProfileInput

Fields
Input Field Description
name - String The name associated with the profile, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between profiles.
Example
{"name": "xyz789"}

PartialRoleInput

Fields
Input Field Description
name - String The name of the role, providing a human-readable reference that describes the role’s purpose or the level of access it grants within the system.
watchlist - String An optional reference to a watchlist associated with the role. This allows for the specification of entities or items the role should monitor or restrict access to, enhancing security measures.
profiles - [String!] A collection of profiles linked to the role. Each profile outlines specific user information and permissions, illustrating the role’s application across different user accounts or entities within the system.
Example
{
  "name": "xyz789",
  "watchlist": "abc123",
  "profiles": ["abc123"]
}

PartialShelfInput

Fields
Input Field Description
name - String The name of the shelf, providing a descriptive label that helps users and administrators easily identify and differentiate between various shelves.
severity - Int A numerical value indicating the severity level associated with the shelf, which could reflect the urgency of attention needed, the criticality of the shelf's contents, or other prioritization metrics.
logical_groups - [String!] A collection of logical groups associated with the shelf, enabling the organization and categorization of shelves into broader logical structures for enhanced management and analysis.
is_activated - Boolean A boolean value indicating whether the shelf is currently activated or in use, allowing for easy management of shelf operations and status tracking.
camera_view_locations - [CameraViewLocationPolygonInput!] A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
Example
{
  "name": "xyz789",
  "severity": 123,
  "logical_groups": ["xyz789"],
  "is_activated": false,
  "camera_view_locations": [
    CameraViewLocationPolygonInput
  ]
}

PartialSiteInput

Fields
Input Field Description
name - String The name of the site, providing a human-readable identifier that can be used for display purposes.
floormap_image - String
location - FeaturePoint The location of the site, represented as a GeoJSON feature.
Example
{
  "name": "xyz789",
  "floormap_image": "xyz789",
  "location": FeaturePoint
}

PartialStationInput

Fields
Input Field Description
name - String The name of the station, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between stations.
logical_groups - [String!] A collection of logical groups associated with the station. Each logical group could represent a different aspect or parameter of the station, offering a structured way to organize and manage station-specific data and functionalities.
is_activated - Boolean A boolean value indicating whether the station is currently activated or in use, allowing for the easy management of station operations and monitoring.
is_bird_view_mode - Boolean Indicates whether the station is set to bird view mode, a specific operational mode that might affect how data is collected or displayed at this station.
camera_view_locations - [CameraViewLocationPolygonInput!] A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
bird_view_location - FeaturePolygon
image - String
Example
{
  "name": "xyz789",
  "logical_groups": ["abc123"],
  "is_activated": false,
  "is_bird_view_mode": false,
  "camera_view_locations": [
    CameraViewLocationPolygonInput
  ],
  "bird_view_location": FeaturePolygon,
  "image": "abc123"
}

PartialWatchlistInput

Fields
Input Field Description
name - String The name of the watchlist, providing a descriptive label that helps users easily identify the purpose or focus of the watchlist.
type - String Specifies the type of watchlist, which could denote the category or domain it pertains to, such as "financial", "security", or "inventory", aiding in the classification and contextual understanding of the watchlist.
color - String A color associated with the watchlist, used for visual differentiation or prioritization in user interfaces, enabling quick recognition and categorization.
threshold_delta - Float A numerical value indicating the threshold delta, which can represent a limit or a significant change level for items on the watchlist to trigger alerts or actions, essential for monitoring and response strategies.
Example
{
  "name": "abc123",
  "type": "xyz789",
  "color": "abc123",
  "threshold_delta": 123.45
}

Profile

Fields
Field Name Description
id - ID! A unique identifier for the profile, crucial for distinguishing between various profiles within the system and ensuring accurate data retrieval and management.
name - String! The name associated with the profile, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between profiles.
Example
{"id": 4, "name": "xyz789"}

ProfileInput

Fields
Input Field Description
name - String! The name associated with the profile, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between profiles.
Example
{"name": "xyz789"}

Role

Fields
Field Name Description
id - ID! A unique identifier for the role, crucial for differentiating between various roles within the system and ensuring accurate data retrieval and manipulation.
name - String! The name of the role, providing a human-readable reference that describes the role’s purpose or the level of access it grants within the system.
watchlist - Watchlist An optional reference to a watchlist associated with the role. This allows for the specification of entities or items the role should monitor or restrict access to, enhancing security measures.
profiles - [Profile!]! A collection of profiles linked to the role. Each profile outlines specific user information and permissions, illustrating the role’s application across different user accounts or entities within the system.
Example
{
  "id": "4",
  "name": "abc123",
  "watchlist": Watchlist,
  "profiles": [Profile]
}

RoleInput

Fields
Input Field Description
name - String! The name of the role, providing a human-readable reference that describes the role’s purpose or the level of access it grants within the system.
watchlist - String An optional reference to a watchlist associated with the role. This allows for the specification of entities or items the role should monitor or restrict access to, enhancing security measures.
profiles - [String!]! A collection of profiles linked to the role. Each profile outlines specific user information and permissions, illustrating the role’s application across different user accounts or entities within the system.
Example
{
  "name": "xyz789",
  "watchlist": "abc123",
  "profiles": ["abc123"]
}

Shelf

Fields
Field Name Description
id - ID! A unique identifier for the shelf, ensuring distinct identification within the system for precise data management and retrieval operations.
name - String! The name of the shelf, providing a descriptive label that helps users and administrators easily identify and differentiate between various shelves.
severity - Int! A numerical value indicating the severity level associated with the shelf, which could reflect the urgency of attention needed, the criticality of the shelf's contents, or other prioritization metrics.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with the shelf, enabling the organization and categorization of shelves into broader logical structures for enhanced management and analysis.
is_activated - Boolean! A boolean value indicating whether the shelf is currently activated or in use, allowing for easy management of shelf operations and status tracking.
camera_view_locations - [CameraViewLocationPolygon!]!
Example
{
  "id": "4",
  "name": "abc123",
  "severity": 987,
  "logical_groups": [LogicalGroup],
  "is_activated": true,
  "camera_view_locations": [CameraViewLocationPolygon]
}

ShelfInput

Fields
Input Field Description
name - String! The name of the shelf, providing a descriptive label that helps users and administrators easily identify and differentiate between various shelves.
severity - Int! A numerical value indicating the severity level associated with the shelf, which could reflect the urgency of attention needed, the criticality of the shelf's contents, or other prioritization metrics.
logical_groups - [String!]! A collection of logical groups associated with the shelf, enabling the organization and categorization of shelves into broader logical structures for enhanced management and analysis.
is_activated - Boolean! A boolean value indicating whether the shelf is currently activated or in use, allowing for easy management of shelf operations and status tracking.
camera_view_locations - [CameraViewLocationPolygonInput!]! A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
Example
{
  "name": "xyz789",
  "severity": 123,
  "logical_groups": ["abc123"],
  "is_activated": true,
  "camera_view_locations": [
    CameraViewLocationPolygonInput
  ]
}

ShelfStatus

Fields
Field Name Description
datetime - Date! The exact date and time when the data was captured, providing a temporal reference for the shelf data.
site_id - String! A unique identifier for the site from which the shelf data originates, facilitating the association of shelf data with specific locations.
site_name - String! The name of the site, offering a human-readable identifier to enhance understanding and management of data across different locations.
customer_id - String! A unique identifier for the customer associated with the site, enabling customer-specific data management and analysis.
message_id - String! A unique identifier for the message containing the shelf data, essential for data tracking and integrity.
message_version - Float! The version of the message format or protocol, critical for ensuring compatibility and proper data interpretation.
node_id - String! The node identifier, associating the shelf data with a specific device or sensor within the system's network.
fullness_percent - Float! A percentage representing the fullness of the shelf, crucial for inventory and space management purposes.
confidence - Float! A measure of confidence in the fullness percentage, providing insight into the accuracy of the data.
shelf - ShelfWithoutImage! Detailed information about a specific shelf, including its contents, status, and any associated logical groups or cameras.
Example
{
  "datetime": "2007-12-03",
  "site_id": "abc123",
  "site_name": "xyz789",
  "customer_id": "abc123",
  "message_id": "xyz789",
  "message_version": 123.45,
  "node_id": "abc123",
  "fullness_percent": 123.45,
  "confidence": 987.65,
  "shelf": ShelfWithoutImage
}

ShelfWithoutImage

Fields
Field Name Description
id - ID! A unique identifier for the shelf, ensuring distinct identification within the system for precise data management and retrieval operations.
name - String! The name of the shelf, providing a descriptive label that helps users and administrators easily identify and differentiate between various shelves.
severity - Int! A numerical value indicating the severity level associated with the shelf, which could reflect the urgency of attention needed, the criticality of the shelf's contents, or other prioritization metrics.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with the shelf, enabling the organization and categorization of shelves into broader logical structures for enhanced management and analysis.
is_activated - Boolean! A boolean value indicating whether the shelf is currently activated or in use, allowing for easy management of shelf operations and status tracking.
camera_view_locations - [CameraViewLocationWithoutImage!]
Example
{
  "id": 4,
  "name": "xyz789",
  "severity": 987,
  "logical_groups": [LogicalGroup],
  "is_activated": false,
  "camera_view_locations": [
    CameraViewLocationWithoutImage
  ]
}

Site

Fields
Field Name Description
id - ID! A unique identifier for the site, typically used for database indexing and retrieval operations.
name - String! The name of the site, providing a human-readable identifier that can be used for display purposes.
floormap_image - ImageData The base64-encoded image of the floormap, typically used for displaying the floormap in the user interface.
location - FeaturePoint The location of the site, represented as a GeoJSON feature.
Example
{
  "id": 4,
  "name": "xyz789",
  "floormap_image": ImageData,
  "location": FeaturePoint
}

SiteMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period.
site_id - String! The site id name.
customer_id - String! The customer id name.
ooi_type - String! The type of Object of Interest (OOI) associated with the role. This field helps categorize the role metrics based on the type of OOI involved.
ooi_count - Int! The total count of Objects of Interest (OOI) associated with the site. This metric helps quantify the extent of engagement with the site.
sum_duration - Float! The sum of the duration of all role-related activities recorded at the site. This metric provides insights into the total amount of time spent on role-related activities.
avg_duration - Float! The average duration of a single role-related activity recorded. This metric provides insights into the average amount of time spent on a single role-related activity
max_duration - Float! The maximum duration of a single role-related activity recorded. This metric provides insights into the maximum amount of time spent on a single role-related activity
role - Role! The role involved in the metrics collection, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between roles.
Example
{
  "start_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "abc123",
  "ooi_type": "xyz789",
  "ooi_count": 987,
  "sum_duration": 123.45,
  "avg_duration": 123.45,
  "max_duration": 987.65,
  "role": Role
}

SiteMetricsTotalMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period.
site_id - String! The site id name.
customer_id - String! The customer id name.
ooi_type - String! The type of Object of Interest (OOI) associated with the role. This field helps categorize the role metrics based on the type of OOI involved.
ooi_count - Int! The total count of Objects of Interest (OOI) associated with the site. This metric helps quantify the extent of engagement with the site.
sum_duration - Float! The sum of the duration of all role-related activities recorded at the site. This metric provides insights into the total amount of time spent on role-related activities.
avg_duration - Float! The average duration of a single role-related activity recorded. This metric provides insights into the average amount of time spent on a single role-related activity
max_duration - Float! The maximum duration of a single role-related activity recorded. This metric provides insights into the maximum amount of time spent on a single role-related activity
Example
{
  "start_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "abc123",
  "ooi_type": "abc123",
  "ooi_count": 123,
  "sum_duration": 123.45,
  "avg_duration": 123.45,
  "max_duration": 987.65
}

Station

Fields
Field Name Description
id - ID! A unique identifier for the station, essential for distinguishing it from other stations within the system and ensuring precise data retrieval and management.
name - String! The name of the station, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between stations.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with the station. Each logical group could represent a different aspect or parameter of the station, offering a structured way to organize and manage station-specific data and functionalities.
is_activated - Boolean! A boolean value indicating whether the station is currently activated or in use, allowing for the easy management of station operations and monitoring.
is_bird_view_mode - Boolean! Indicates whether the station is set to bird view mode, a specific operational mode that might affect how data is collected or displayed at this station.
camera_view_locations - [CameraViewLocationPolygon!]
bird_view_location - FeaturePolygon
image - ImageData The base64-encoded image of the station, typically used for displaying the station image in the user interface.
intersecting_cameras - [Camera!]
Example
{
  "id": "4",
  "name": "xyz789",
  "logical_groups": [LogicalGroup],
  "is_activated": false,
  "is_bird_view_mode": false,
  "camera_view_locations": [CameraViewLocationPolygon],
  "bird_view_location": FeaturePolygon,
  "image": ImageData,
  "intersecting_cameras": [Camera]
}

StationInput

Fields
Input Field Description
name - String! The name of the station, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between stations.
logical_groups - [String!]! A collection of logical groups associated with the station. Each logical group could represent a different aspect or parameter of the station, offering a structured way to organize and manage station-specific data and functionalities.
is_activated - Boolean! A boolean value indicating whether the station is currently activated or in use, allowing for the easy management of station operations and monitoring.
is_bird_view_mode - Boolean! Indicates whether the station is set to bird view mode, a specific operational mode that might affect how data is collected or displayed at this station.
camera_view_locations - [CameraViewLocationPolygonInput!] A collection of camera view locations associated with the station, enabling the station to monitor and record visual data from different perspectives. Each camera view location is linked to a specific camera and provides a defined area for visual monitoring and surveillance.
bird_view_location - FeaturePolygon
image - String
Example
{
  "name": "abc123",
  "logical_groups": ["xyz789"],
  "is_activated": true,
  "is_bird_view_mode": true,
  "camera_view_locations": [
    CameraViewLocationPolygonInput
  ],
  "bird_view_location": FeaturePolygon,
  "image": "xyz789"
}

StationMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period.
site_id - String! The site id name.
customer_id - String! The customer id name.
ooi_type - String! The type of Object of Interest (OOI) associated with the role. This field helps categorize the role metrics based on the type of OOI involved.
ooi_count - Int! The total count of Objects of Interest (OOI) associated with the site. This metric helps quantify the extent of engagement with the site.
sum_duration - Float! The sum of the duration of all role-related activities recorded at the site. This metric provides insights into the total amount of time spent on role-related activities.
avg_duration - Float! The average duration of a single role-related activity recorded. This metric provides insights into the average amount of time spent on a single role-related activity
max_duration - Float! The maximum duration of a single role-related activity recorded. This metric provides insights into the maximum amount of time spent on a single role-related activity
role - Role! The role involved in the metrics collection, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between roles.
station - StationWithImageAsString! The station for which these metrics are recorded. Links the metrics to a specific location and its operational context.
Example
{
  "start_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "abc123",
  "ooi_type": "xyz789",
  "ooi_count": 987,
  "sum_duration": 987.65,
  "avg_duration": 123.45,
  "max_duration": 987.65,
  "role": Role,
  "station": StationWithImageAsString
}

StationMetricsTotalRoleMetrics

Fields
Field Name Description
start_datetime - Date! The starting datetime for the metrics collection period.
site_id - String! The site id name.
customer_id - String! The customer id name.
ooi_count - Int! The total count of Objects of Interest (OOI) associated with the site. This metric helps quantify the extent of engagement with the site.
sum_duration - Float! The sum of the duration of all role-related activities recorded at the site. This metric provides insights into the total amount of time spent on role-related activities.
avg_duration - Float! The average duration of a single role-related activity recorded. This metric provides insights into the average amount of time spent on a single role-related activity
max_duration - Float! The maximum duration of a single role-related activity recorded. This metric provides insights into the maximum amount of time spent on a single role-related activity
role - Role! The role involved in the metrics collection, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between roles.
most_popular_station - StationWithImageAsString! The most popular station for which these metrics are recorded. Links the metrics to a specific location and its operational context.
least_popular_station - StationWithImageAsString! The least popular station for which these metrics are recorded. Links the metrics to a specific location and its operational context.
Example
{
  "start_datetime": "2007-12-03",
  "site_id": "abc123",
  "customer_id": "abc123",
  "ooi_count": 123,
  "sum_duration": 123.45,
  "avg_duration": 123.45,
  "max_duration": 987.65,
  "role": Role,
  "most_popular_station": StationWithImageAsString,
  "least_popular_station": StationWithImageAsString
}

StationVisit

Fields
Field Name Description
start_datetime - Date! The exact date and time when the visit to the station began, providing a precise starting point for the visit duration.
end_datetime - Date! The exact date and time when the visit to the station ended, marking the conclusion of the interaction and enabling the calculation of the total visit duration.
duration_seconds - Float! The total duration of the visit, measured in seconds. This quantifies the length of time spent at the station, offering insights into visitor flow, station occupancy, and operational efficiency.
station - StationWithoutImage! Detailed information about the station that was visited, including its ID, name, operational status, and any associated logical groups or specific features like bird view mode.
cameras - [CameraWithoutSnapshotImage!]! A list of cameras that were relevant to the visit, potentially capturing visual data or providing security surveillance during the visit.
line_visits - [LineVisit!]! A collection of line visits associated with the station visit, detailing movements or interactions with specific lines during the visit. This can include timestamps, directions taken, and other pertinent line-specific data.
Example
{
  "start_datetime": "2007-12-03",
  "end_datetime": "2007-12-03",
  "duration_seconds": 987.65,
  "station": StationWithoutImage,
  "cameras": [CameraWithoutSnapshotImage],
  "line_visits": [LineVisit]
}

StationWithImageAsString

Fields
Field Name Description
id - ID! A unique identifier for the station, essential for distinguishing it from other stations within the system and ensuring precise data retrieval and management.
name - String! The name of the station, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between stations.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with the station. Each logical group could represent a different aspect or parameter of the station, offering a structured way to organize and manage station-specific data and functionalities.
is_activated - Boolean! A boolean value indicating whether the station is currently activated or in use, allowing for the easy management of station operations and monitoring.
is_bird_view_mode - Boolean! Indicates whether the station is set to bird view mode, a specific operational mode that might affect how data is collected or displayed at this station.
camera_view_locations - [CameraViewLocationWithCameraSnapshotImageAsString!] A collection of camera view locations with camera snapshot image as string.
bird_view_location - FeaturePolygon
image - ImageData An image as string.
Example
{
  "id": 4,
  "name": "xyz789",
  "logical_groups": [LogicalGroup],
  "is_activated": true,
  "is_bird_view_mode": false,
  "camera_view_locations": [
    CameraViewLocationWithCameraSnapshotImageAsString
  ],
  "bird_view_location": FeaturePolygon,
  "image": ImageData
}

StationWithoutImage

Fields
Field Name Description
id - ID! A unique identifier for the station, essential for distinguishing it from other stations within the system and ensuring precise data retrieval and management.
name - String! The name of the station, providing a human-readable identifier that helps users and administrators easily recognize and differentiate between stations.
logical_groups - [LogicalGroup!]! A collection of logical groups associated with the station. Each logical group could represent a different aspect or parameter of the station, offering a structured way to organize and manage station-specific data and functionalities.
is_activated - Boolean! A boolean value indicating whether the station is currently activated or in use, allowing for the easy management of station operations and monitoring.
is_bird_view_mode - Boolean! Indicates whether the station is set to bird view mode, a specific operational mode that might affect how data is collected or displayed at this station.
camera_view_locations - [CameraViewLocationWithoutImage!]
bird_view_location - FeaturePolygon
Example
{
  "id": 4,
  "name": "abc123",
  "logical_groups": [LogicalGroup],
  "is_activated": false,
  "is_bird_view_mode": true,
  "camera_view_locations": [
    CameraViewLocationWithoutImage
  ],
  "bird_view_location": FeaturePolygon
}

StreamUrl

Fields
Field Name Description
address - String! The address of the stream, providing the URL or network address for accessing the video stream.
type - String! The type of the stream, such as HLS, RTSP, WEBM etc., aiding in the categorization and specific functionality of the stream.
Example
{
  "address": "abc123",
  "type": "abc123"
}

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"

TimeBucket

Description

The possible time buckets for metrics

Values
Enum Value Description

Minutely

Hourly

Daily

Weekly

Monthly

Yearly

Example
"Minutely"

Visit

Fields
Field Name Description
start_datetime - Date! The starting date and time of the aggregated visits, marking the beginning of the period covered by this data collection.
end_datetime - Date! The ending date and time of the aggregated visits, defining the end of the timeframe for this data collection.
duration_seconds - Float! The total duration of all aggregated visits within the specified timeframe, measured in seconds. This offers insights into the overall time spent across visits.
site_id - String! A unique identifier for the site where the visits occurred, facilitating site-specific data analysis and management.
site_name - String! The name of the site associated with the visits, providing a human-readable context for better understanding and reference.
customer_id - String! The customer ID related to the visits, allowing for customer-specific tracking and analytics.
detector_type - String! The type of detector or sensor system that facilitated the visit detection, offering insight into the technology or methodology used.
cameras - [CameraWithoutSnapshotImage!]! A list of cameras involved in the visits, capturing visual data that may be relevant to the analysis or security monitoring of the visits.
station_visits - [StationVisit!]! An array of station visits, detailing individual interactions with specific stations within the site, including timestamps, duration, and related cameras.
line_visits - [LineVisit!]! A collection of line visits, which document movements or interactions along specific lines or routes, providing detailed path and timing information.
ooi - OoiRR! The object of interest associated with the visits, detailing an entity or item that was a focal point or subject of the visits.
Example
{
  "start_datetime": "2007-12-03",
  "end_datetime": "2007-12-03",
  "duration_seconds": 987.65,
  "site_id": "xyz789",
  "site_name": "abc123",
  "customer_id": "abc123",
  "detector_type": "abc123",
  "cameras": [CameraWithoutSnapshotImage],
  "station_visits": [StationVisit],
  "line_visits": [LineVisit],
  "ooi": OoiRR
}

Watchlist

Fields
Field Name Description
id - ID A unique identifier for the watchlist entry, ensuring distinct identification within the system for precise data management and retrieval.
name - String The name of the watchlist, providing a descriptive label that helps users easily identify the purpose or focus of the watchlist.
type - String Specifies the type of watchlist, which could denote the category or domain it pertains to, such as "customers", "employees", or "suspects", aiding in the classification and contextual understanding of the watchlist.
color - String A color associated with the watchlist, used for visual differentiation or prioritization in user interfaces, enabling quick recognition and categorization.
threshold_delta - Float A numerical value indicating the threshold delta, which can represent a limit or a significant change level for items on the watchlist to trigger alerts or actions, essential for monitoring and response strategies.
Example
{
  "id": 4,
  "name": "abc123",
  "type": "xyz789",
  "color": "abc123",
  "threshold_delta": 123.45
}

WatchlistInput

Fields
Input Field Description
name - String! The name of the watchlist, providing a descriptive label that helps users easily identify the purpose or focus of the watchlist.
type - String! Specifies the type of watchlist, which could denote the category or domain it pertains to, such as "financial", "security", or "inventory", aiding in the classification and contextual understanding of the watchlist.
color - String! A color associated with the watchlist, used for visual differentiation or prioritization in user interfaces, enabling quick recognition and categorization.
threshold_delta - Float! A numerical value indicating the threshold delta, which can represent a limit or a significant change level for items on the watchlist to trigger alerts or actions, essential for monitoring and response strategies.
Example
{
  "name": "xyz789",
  "type": "abc123",
  "color": "xyz789",
  "threshold_delta": 987.65
}