The Butlr GraphQL API provides developers with powerful tools for resource management and customization. Use the introspection below to explore the schema, including available queries, mutations, and data types, enabling seamless interaction with assets such as buildings, floors, rooms, sensors, and hives.
For more detailed guidance and additional resources, visit the Butlr Developer Documentation.
API Endpoints
https://api.butlr.io/api/v3/graphql
Headers
# Requires a JWT from Butlr to authenticate any graphql request.
Authorization: Bearer YOUR_JWT_HERE
Queries
building
Description
Retrieve a specific building by its unique identifier
Example
Query
query building(
$id: ID,
$customID: ID
) {
building(
id: $id,
customID: $customID
) {
id
name
capacity {
mid
max
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
building_number
buildingNumber
address {
lines
country
}
site {
id
name
buildings {
...BuildingFragment
}
siteNumber
timezone
}
}
}
Variables
{
"id": "4",
"customID": "4"
}
Response
{
"data": {
"building": {
"id": 4,
"name": "abc123",
"capacity": Capacity,
"floors": [Floor],
"building_number": 123,
"buildingNumber": 987,
"address": Address,
"site": Site
}
}
}
buildings
Description
Retrieve all buildings in your account
Response
Returns a Buildings!
Example
Query
query buildings {
buildings {
data {
id
name
capacity {
...CapacityFragment
}
floors {
...FloorFragment
}
building_number
buildingNumber
address {
...AddressFragment
}
site {
...SiteFragment
}
}
}
}
Response
{"data": {"buildings": {"data": [Building]}}}
floor
Description
Look up a single floor. Returns null if the floor does not exist
Example
Query
query floor(
$id: ID,
$customID: ID
) {
floor(
id: $id,
customID: $customID
) {
id
building_id
building {
id
name
capacity {
...CapacityFragment
}
floors {
...FloorFragment
}
building_number
buildingNumber
address {
...AddressFragment
}
site {
...SiteFragment
}
}
metadata {
created_at
updated_at
deleted_at
}
name
timezone
area {
value
unit
}
capacity {
mid
max
}
installation_date
installation_status
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
hives {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
last_battery_change_date
next_battery_change_date
floor_plans {
floor_plan_id
coordinates
name
url
}
floorNumber
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
buildingId
floor_id
client_id
}
}
Variables
{
"id": "4",
"customID": "4"
}
Response
{
"data": {
"floor": {
"id": 4,
"building_id": 4,
"building": Building,
"metadata": MetaData,
"name": "xyz789",
"timezone": "xyz789",
"area": Area,
"capacity": Capacity,
"installation_date": 123,
"installation_status": "NOT_INSTALLED",
"sensors": [Sensor],
"hives": [Hive],
"last_battery_change_date": "10:15:30Z",
"next_battery_change_date": "10:15:30Z",
"floor_plans": [FloorPlan],
"floorNumber": 987,
"tags": [Tag],
"rooms": [Room],
"zones": [Zone],
"buildingId": "4",
"floor_id": 4,
"client_id": "xyz789"
}
}
}
floors
Description
Fetch information about floors with the specified IDs
Response
Returns a Floors!
Arguments
Name | Description |
---|---|
ids - [String!]
|
The ids of the floors to fetch. (ie. ["space_xxxxxxxx"]) |
Example
Query
query floors($ids: [String!]) {
floors(ids: $ids) {
data {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"floors": {"data": [Floor]}}}
floorsByTag
Description
Fetch information about floors with the specified tags
Example
Query
query floorsByTag(
$tagIDs: [String!],
$useOR: Boolean
) {
floorsByTag(
tagIDs: $tagIDs,
useOR: $useOR
) {
data {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"tagIDs": ["xyz789"], "useOR": false}
Response
{"data": {"floorsByTag": {"data": [Floor]}}}
hives
Description
Fetch information about hives with the specified IDs or serial numbers
Response
Returns a Hives!
Example
Query
query hives(
$ids: [String!],
$serial_numbers: [String!]
) {
hives(
ids: $ids,
serial_numbers: $serial_numbers
) {
data {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
}
}
Variables
{
"ids": ["xyz789"],
"serial_numbers": ["abc123"]
}
Response
{"data": {"hives": {"data": [Hive]}}}
room
Description
Look up a single room. Returns null if the room does not exist
Example
Query
query room(
$id: ID,
$customID: ID
) {
room(
id: $id,
customID: $customID
) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
capacity {
mid
max
}
rotation
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
Variables
{
"id": "4",
"customID": "4"
}
Response
{
"data": {
"room": {
"id": 4,
"floor": Floor,
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [987.65],
"capacity": Capacity,
"rotation": 123.45,
"tags": [Tag],
"sensors": [Sensor],
"note": "xyz789",
"room_id": "4",
"client_id": "xyz789",
"floor_id": "abc123",
"color": [987.65],
"room_type": "xyz789",
"auto_calibrated_at": 987
}
}
}
rooms
Description
Fetch information about rooms with the specified IDs
Response
Returns a Rooms!
Arguments
Name | Description |
---|---|
ids - [String!]
|
The ids of the rooms to fetch. (ie. ["room_xxxxxxxx"]) |
Example
Query
query rooms($ids: [String!]) {
rooms(ids: $ids) {
data {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"rooms": {"data": [Room]}}}
roomsByTag
Description
Fetch information about rooms with the specified tags
Example
Query
query roomsByTag(
$tagIDs: [String!],
$useOR: Boolean
) {
roomsByTag(
tagIDs: $tagIDs,
useOR: $useOR
) {
data {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
}
Variables
{"tagIDs": ["xyz789"], "useOR": true}
Response
{"data": {"roomsByTag": {"data": [Room]}}}
sensors
Description
Fetch information about sensors with the specified parameters
Response
Returns a Sensors!
Arguments
Name | Description |
---|---|
ids - [String!]
|
The ids of the sensors to fetch. (ie. ["sensor_xxxxxxxx"]) |
mac_addresses - [String!]
|
The mac addresses of the sensors to fetch. (ie. ["00-00-00-00-00-00"]) |
floor_ids - [String!]
|
The floor ids of the sensors to fetch. (ie. ["space_xxxxxxxx"]) |
room_ids - [String!]
|
The room ids of the sensors to fetch. (ie. ["room_xxxxxxxx"]) |
hive_ids - [String!]
|
The hive ids of the sensors to fetch. (ie. ["hive_xxxxxxxx"]) |
hive_serials - [String!]
|
The hive serial numbers of the sensors to fetch. (ie. ["1000000abc123"]) |
Example
Query
query sensors(
$ids: [String!],
$mac_addresses: [String!],
$floor_ids: [String!],
$room_ids: [String!],
$hive_ids: [String!],
$hive_serials: [String!]
) {
sensors(
ids: $ids,
mac_addresses: $mac_addresses,
floor_ids: $floor_ids,
room_ids: $room_ids,
hive_ids: $hive_ids,
hive_serials: $hive_serials
) {
data {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
}
}
Variables
{
"ids": ["abc123"],
"mac_addresses": ["xyz789"],
"floor_ids": ["abc123"],
"room_ids": ["abc123"],
"hive_ids": ["abc123"],
"hive_serials": ["xyz789"]
}
Response
{"data": {"sensors": {"data": [Sensor]}}}
site
Description
Retrieve a specific site by a unique identifier
Example
Query
query site(
$id: ID,
$customID: ID
) {
site(
id: $id,
customID: $customID
) {
id
name
buildings {
id
name
capacity {
...CapacityFragment
}
floors {
...FloorFragment
}
building_number
buildingNumber
address {
...AddressFragment
}
site {
...SiteFragment
}
}
siteNumber
timezone
}
}
Variables
{"id": "4", "customID": 4}
Response
{
"data": {
"site": {
"id": 4,
"name": "abc123",
"buildings": [Building],
"siteNumber": 123,
"timezone": "abc123"
}
}
}
sites
Description
Retrieve all sites in your account
Response
Returns a Sites!
Example
Query
query sites {
sites {
data {
id
name
buildings {
...BuildingFragment
}
siteNumber
timezone
}
}
}
Response
{"data": {"sites": {"data": [Site]}}}
webhooks
Description
Fetch all webhooks configured for your account
Response
Returns [Webhook!]
Example
Query
query webhooks {
webhooks {
id
name
event_types
endpoint_config {
url
http_timeout
api_key {
...ApiKeyFragment
}
basic_auth {
...BasicAuthFragment
}
}
}
}
Response
{
"data": {
"webhooks": [
{
"id": 4,
"name": "abc123",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfig
}
]
}
}
zone
Description
Look up a single zone. Returns null if the zone does not exist
Example
Query
query zone(
$id: ID,
$customID: ID
) {
zone(
id: $id,
customID: $customID
) {
id
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
rotation
capacity {
mid
max
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
customID
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
Variables
{"id": "4", "customID": 4}
Response
{
"data": {
"zone": {
"id": "4",
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [123.45],
"rotation": 987.65,
"capacity": Capacity,
"sensors": [Sensor],
"note": "xyz789",
"customID": "4",
"tags": [Tag],
"client_id": "xyz789",
"floor_id": "xyz789",
"room_id": "abc123",
"zone_id": "xyz789",
"zone_type": "abc123",
"color": [987.65]
}
}
}
zones
Description
Fetch information about zones with the specified IDs
Response
Returns a Zones!
Arguments
Name | Description |
---|---|
ids - [String!]
|
The ids of the zones to fetch. (ie. ["zone_xxxxxxxx"]) |
Example
Query
query zones($ids: [String!]) {
zones(ids: $ids) {
data {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"zones": {"data": [Zone]}}}
zonesByTag
Description
Look up zones by tags. Returns zones that have all the tags
Example
Query
query zonesByTag(
$tagIDs: [String!],
$useOR: Boolean
) {
zonesByTag(
tagIDs: $tagIDs,
useOR: $useOR
) {
data {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
}
Variables
{"tagIDs": ["abc123"], "useOR": true}
Response
{"data": {"zonesByTag": {"data": [Zone]}}}
Mutations
associateTag
Description
Associate tags with floors, zones and rooms
Response
Returns an Association
Arguments
Name | Description |
---|---|
input - AssociateTagInput
|
Example
Query
mutation associateTag($input: AssociateTagInput) {
associateTag(input: $input) {
tag {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": AssociateTagInput}
Response
{
"data": {
"associateTag": {
"tag": Tag,
"zones": [Zone],
"rooms": [Room],
"floors": [Floor]
}
}
}
createHives
Description
Create multiple Hive entities
Response
Returns [Hive!]
Example
Query
mutation createHives {
createHives {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
metadata {
created_at
updated_at
deleted_at
}
coordinates
name
connectionHealth {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
}
}
Response
{
"data": {
"createHives": [
{
"id": "4",
"floor": Floor,
"room": Room,
"metadata": MetaData,
"coordinates": [987.65],
"name": "abc123",
"connectionHealth": ConnectionHealthHive,
"sensors": [Sensor],
"note": "xyz789",
"installed": false,
"client_id": "abc123",
"floor_id": "xyz789",
"room_id": "xyz789",
"hive_id": "4",
"serial_number": "xyz789",
"hive_version": "abc123",
"hive_type": "xyz789",
"last_heartbeat": 987,
"last_raw_message": 123,
"last_compressed_message": 123,
"last_occupancy_message": 987,
"last_detection_message": 987,
"last_network_id": 123,
"is_streaming": true,
"activated_at": 987,
"is_online": false,
"net_path_stability": 987.65,
"connection_health": ConnectionHealthHive
}
]
}
}
createRooms
Description
Create multiple Room entities
Response
Returns [Room!]
Arguments
Name | Description |
---|---|
rooms - [CreateRoomInput!]!
|
A list of CreateRoomInput objects containing the information for creating new Room entities |
Example
Query
mutation createRooms($rooms: [CreateRoomInput!]!) {
createRooms(rooms: $rooms) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
capacity {
mid
max
}
rotation
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
Variables
{"rooms": [CreateRoomInput]}
Response
{
"data": {
"createRooms": [
{
"id": "4",
"floor": Floor,
"metadata": MetaData,
"name": "abc123",
"area": Area,
"coordinates": [987.65],
"capacity": Capacity,
"rotation": 987.65,
"tags": [Tag],
"sensors": [Sensor],
"note": "abc123",
"room_id": 4,
"client_id": "abc123",
"floor_id": "xyz789",
"color": [987.65],
"room_type": "xyz789",
"auto_calibrated_at": 123
}
]
}
}
createSensors
Description
Create multiple Sensor entities
Response
Returns [Sensor!]
Arguments
Name | Description |
---|---|
sensors - [CreateSensorInput!]!
|
A list of CreateSensorInput objects containing the information for creating new Sensor entities |
Example
Query
mutation createSensors($sensors: [CreateSensorInput!]!) {
createSensors(sensors: $sensors) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
hive {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
hive_serial
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
zone_ids
sensor_id
metadata {
created_at
updated_at
deleted_at
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
auto_calibrated_at
auto_calibrate_start
auto_calibrate_end
auto_calibrate_person
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
cold_person_detection
blacklist
sunlight
shortened_doorline
}
connection_health {
status
codes {
...ConnectionHealthCodeSensorFragment
}
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
}
Variables
{"sensors": [CreateSensorInput]}
Response
{
"data": {
"createSensors": [
{
"id": "4",
"floor": Floor,
"room": Room,
"hive": Hive,
"hive_serial": "abc123",
"zones": [Zone],
"zone_ids": ["xyz789"],
"sensor_id": "4",
"metadata": MetaData,
"name": "xyz789",
"mac_address": "abc123",
"mode": "abc123",
"model": "abc123",
"sensitivity": 987.65,
"center": [123.45],
"height": 987.65,
"is_entrance": false,
"is_online": true,
"parallel_to_door": false,
"active_hours": [987.65],
"calibration": SensorCalibration,
"door_line": 123.45,
"generation": 123.45,
"in_direction": 987.65,
"last_heartbeat": 123,
"last_raw_message": 987,
"last_compressed_message": 123,
"last_occupancy_message": 123,
"last_detection_message": 123,
"messages_per_second": 987.65,
"is_streaming": false,
"orientation": [987.65],
"effective_field_of_view": 987.65,
"field_of_view": 123.45,
"algo_config": AlgoConfig,
"connection_health": ConnectionHealthSensor,
"last_battery_change_date": "10:15:30Z",
"sensor_serial": "abc123",
"next_battery_change_date": "10:15:30Z",
"note": "abc123",
"room_id": "abc123",
"floor_id": "abc123",
"hive_id": 4
}
]
}
}
createTag
Description
Create a new tag
Response
Returns a Tag!
Arguments
Name | Description |
---|---|
input - CreateTagInput!
|
Example
Query
mutation createTag($input: CreateTagInput!) {
createTag(input: $input) {
id
name
organization_id
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": CreateTagInput}
Response
{
"data": {
"createTag": {
"id": "abc123",
"name": "xyz789",
"organization_id": "xyz789",
"rooms": [Room],
"zones": [Zone],
"floors": [Floor]
}
}
}
createTags
Description
Create new tags
Response
Returns [Tag!]
Arguments
Name | Description |
---|---|
input - [CreateTagInput!]
|
Example
Query
mutation createTags($input: [CreateTagInput!]) {
createTags(input: $input) {
id
name
organization_id
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": [CreateTagInput]}
Response
{
"data": {
"createTags": [
{
"id": "xyz789",
"name": "xyz789",
"organization_id": "abc123",
"rooms": [Room],
"zones": [Zone],
"floors": [Floor]
}
]
}
}
createWebhooks
Description
Mutation to create one or more new webhooks. Each webhook will be set up with a unique configuration, including event subscriptions and endpoint details
Response
Returns [Webhook!]
Arguments
Name | Description |
---|---|
input - [WebhookCreateInput!]!
|
A list of CreateWebhookInput objects containing the information for creating new Webhook entities. Each object must include the webhook name, event types to subscribe to, and endpoint configuration |
Example
Query
mutation createWebhooks($input: [WebhookCreateInput!]!) {
createWebhooks(input: $input) {
id
name
event_types
endpoint_config {
url
http_timeout
api_key {
...ApiKeyFragment
}
basic_auth {
...BasicAuthFragment
}
}
}
}
Variables
{"input": [WebhookCreateInput]}
Response
{
"data": {
"createWebhooks": [
{
"id": "4",
"name": "xyz789",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfig
}
]
}
}
createZones
Description
Create multiple Zone entities
Response
Returns [Zone!]
Arguments
Name | Description |
---|---|
zones - [CreateZoneInput!]!
|
A list of CreateZoneInput objects containing the information for creating new Zone entities |
Example
Query
mutation createZones($zones: [CreateZoneInput!]!) {
createZones(zones: $zones) {
id
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
rotation
capacity {
mid
max
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
customID
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
Variables
{"zones": [CreateZoneInput]}
Response
{
"data": {
"createZones": [
{
"id": 4,
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [123.45],
"rotation": 987.65,
"capacity": Capacity,
"sensors": [Sensor],
"note": "abc123",
"customID": "4",
"tags": [Tag],
"client_id": "xyz789",
"floor_id": "xyz789",
"room_id": "abc123",
"zone_id": "abc123",
"zone_type": "abc123",
"color": [987.65]
}
]
}
}
deleteFloors
Description
Delete multiple Floor entities
Example
Query
mutation deleteFloors($ids: [String!]) {
deleteFloors(ids: $ids) {
id
building_id
building {
id
name
capacity {
...CapacityFragment
}
floors {
...FloorFragment
}
building_number
buildingNumber
address {
...AddressFragment
}
site {
...SiteFragment
}
}
metadata {
created_at
updated_at
deleted_at
}
name
timezone
area {
value
unit
}
capacity {
mid
max
}
installation_date
installation_status
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
hives {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
last_battery_change_date
next_battery_change_date
floor_plans {
floor_plan_id
coordinates
name
url
}
floorNumber
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
buildingId
floor_id
client_id
}
}
Variables
{"ids": ["xyz789"]}
Response
{
"data": {
"deleteFloors": [
{
"id": "4",
"building_id": 4,
"building": Building,
"metadata": MetaData,
"name": "xyz789",
"timezone": "abc123",
"area": Area,
"capacity": Capacity,
"installation_date": 123,
"installation_status": "NOT_INSTALLED",
"sensors": [Sensor],
"hives": [Hive],
"last_battery_change_date": "10:15:30Z",
"next_battery_change_date": "10:15:30Z",
"floor_plans": [FloorPlan],
"floorNumber": 123,
"tags": [Tag],
"rooms": [Room],
"zones": [Zone],
"buildingId": 4,
"floor_id": "4",
"client_id": "xyz789"
}
]
}
}
deleteHives
Description
Delete multiple Hive entities
Response
Returns [Hive!]
Example
Query
mutation deleteHives(
$ids: [String!],
$serial_numbers: [String!]
) {
deleteHives(
ids: $ids,
serial_numbers: $serial_numbers
) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
metadata {
created_at
updated_at
deleted_at
}
coordinates
name
connectionHealth {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
}
}
Variables
{
"ids": ["xyz789"],
"serial_numbers": ["xyz789"]
}
Response
{
"data": {
"deleteHives": [
{
"id": "4",
"floor": Floor,
"room": Room,
"metadata": MetaData,
"coordinates": [987.65],
"name": "abc123",
"connectionHealth": ConnectionHealthHive,
"sensors": [Sensor],
"note": "abc123",
"installed": false,
"client_id": "abc123",
"floor_id": "xyz789",
"room_id": "abc123",
"hive_id": "4",
"serial_number": "abc123",
"hive_version": "xyz789",
"hive_type": "abc123",
"last_heartbeat": 123,
"last_raw_message": 987,
"last_compressed_message": 987,
"last_occupancy_message": 987,
"last_detection_message": 123,
"last_network_id": 123,
"is_streaming": false,
"activated_at": 123,
"is_online": true,
"net_path_stability": 987.65,
"connection_health": ConnectionHealthHive
}
]
}
}
deleteRooms
Description
Delete multiple Room entities
Example
Query
mutation deleteRooms($ids: [String!]) {
deleteRooms(ids: $ids) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
capacity {
mid
max
}
rotation
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
Variables
{"ids": ["xyz789"]}
Response
{
"data": {
"deleteRooms": [
{
"id": 4,
"floor": Floor,
"metadata": MetaData,
"name": "abc123",
"area": Area,
"coordinates": [987.65],
"capacity": Capacity,
"rotation": 123.45,
"tags": [Tag],
"sensors": [Sensor],
"note": "abc123",
"room_id": 4,
"client_id": "xyz789",
"floor_id": "abc123",
"color": [987.65],
"room_type": "xyz789",
"auto_calibrated_at": 987
}
]
}
}
deleteSensors
Description
Delete multiple Sensor entities
Response
Returns [Sensor!]
Example
Query
mutation deleteSensors(
$ids: [String!],
$mac_addresses: [String!]
) {
deleteSensors(
ids: $ids,
mac_addresses: $mac_addresses
) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
hive {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
hive_serial
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
zone_ids
sensor_id
metadata {
created_at
updated_at
deleted_at
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
auto_calibrated_at
auto_calibrate_start
auto_calibrate_end
auto_calibrate_person
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
cold_person_detection
blacklist
sunlight
shortened_doorline
}
connection_health {
status
codes {
...ConnectionHealthCodeSensorFragment
}
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
}
Variables
{
"ids": ["xyz789"],
"mac_addresses": ["xyz789"]
}
Response
{
"data": {
"deleteSensors": [
{
"id": "4",
"floor": Floor,
"room": Room,
"hive": Hive,
"hive_serial": "abc123",
"zones": [Zone],
"zone_ids": ["xyz789"],
"sensor_id": "4",
"metadata": MetaData,
"name": "abc123",
"mac_address": "xyz789",
"mode": "abc123",
"model": "xyz789",
"sensitivity": 987.65,
"center": [123.45],
"height": 123.45,
"is_entrance": true,
"is_online": false,
"parallel_to_door": true,
"active_hours": [123.45],
"calibration": SensorCalibration,
"door_line": 123.45,
"generation": 123.45,
"in_direction": 123.45,
"last_heartbeat": 123,
"last_raw_message": 123,
"last_compressed_message": 987,
"last_occupancy_message": 987,
"last_detection_message": 123,
"messages_per_second": 987.65,
"is_streaming": false,
"orientation": [123.45],
"effective_field_of_view": 987.65,
"field_of_view": 987.65,
"algo_config": AlgoConfig,
"connection_health": ConnectionHealthSensor,
"last_battery_change_date": "10:15:30Z",
"sensor_serial": "abc123",
"next_battery_change_date": "10:15:30Z",
"note": "abc123",
"room_id": "xyz789",
"floor_id": "xyz789",
"hive_id": "4"
}
]
}
}
deleteTags
Description
Delete tags
deleteWebhooks
Description
Mutation to delete one or more webhooks based on their unique IDs
deleteZones
Description
Delete multiple Zone entities
Example
Query
mutation deleteZones($ids: [String!]) {
deleteZones(ids: $ids) {
id
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
rotation
capacity {
mid
max
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
customID
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
Variables
{"ids": ["abc123"]}
Response
{
"data": {
"deleteZones": [
{
"id": 4,
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [987.65],
"rotation": 123.45,
"capacity": Capacity,
"sensors": [Sensor],
"note": "xyz789",
"customID": "4",
"tags": [Tag],
"client_id": "xyz789",
"floor_id": "xyz789",
"room_id": "abc123",
"zone_id": "xyz789",
"zone_type": "xyz789",
"color": [123.45]
}
]
}
}
disassociateTag
Description
Deassociate tags with floors, zones and rooms
Response
Returns an Association
Arguments
Name | Description |
---|---|
input - AssociateTagInput
|
Example
Query
mutation disassociateTag($input: AssociateTagInput) {
disassociateTag(input: $input) {
tag {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": AssociateTagInput}
Response
{
"data": {
"disassociateTag": {
"tag": Tag,
"zones": [Zone],
"rooms": [Room],
"floors": [Floor]
}
}
}
updateFloorInfo
Description
Update the metadata of a floor
Response
Returns an UpdateFloorInfoResult!
Arguments
Name | Description |
---|---|
input - UpdateFloorInfoInput!
|
Example
Query
mutation updateFloorInfo($input: UpdateFloorInfoInput!) {
updateFloorInfo(input: $input) {
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": UpdateFloorInfoInput}
Response
{"data": {"updateFloorInfo": {"floor": Floor}}}
updateHives
Description
Update multiple Hive entities
Response
Returns [Hive!]
Example
Query
mutation updateHives {
updateHives {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
metadata {
created_at
updated_at
deleted_at
}
coordinates
name
connectionHealth {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
status
codes {
...ConnectionHealthCodeHiveFragment
}
}
}
}
Response
{
"data": {
"updateHives": [
{
"id": 4,
"floor": Floor,
"room": Room,
"metadata": MetaData,
"coordinates": [123.45],
"name": "xyz789",
"connectionHealth": ConnectionHealthHive,
"sensors": [Sensor],
"note": "abc123",
"installed": false,
"client_id": "xyz789",
"floor_id": "abc123",
"room_id": "xyz789",
"hive_id": "4",
"serial_number": "xyz789",
"hive_version": "xyz789",
"hive_type": "abc123",
"last_heartbeat": 987,
"last_raw_message": 987,
"last_compressed_message": 987,
"last_occupancy_message": 123,
"last_detection_message": 987,
"last_network_id": 123,
"is_streaming": true,
"activated_at": 123,
"is_online": true,
"net_path_stability": 123.45,
"connection_health": ConnectionHealthHive
}
]
}
}
updateRooms
Description
Update multiple Room entities
Response
Returns [Room!]
Arguments
Name | Description |
---|---|
rooms - [UpdateRoomInput!]!
|
A list of UpdateRoomInput objects containing the information for updating existing Room entities |
Example
Query
mutation updateRooms($rooms: [UpdateRoomInput!]!) {
updateRooms(rooms: $rooms) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
capacity {
mid
max
}
rotation
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
}
Variables
{"rooms": [UpdateRoomInput]}
Response
{
"data": {
"updateRooms": [
{
"id": "4",
"floor": Floor,
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [123.45],
"capacity": Capacity,
"rotation": 123.45,
"tags": [Tag],
"sensors": [Sensor],
"note": "xyz789",
"room_id": "4",
"client_id": "abc123",
"floor_id": "abc123",
"color": [987.65],
"room_type": "xyz789",
"auto_calibrated_at": 987
}
]
}
}
updateSensors
Description
Update multiple Sensor entities
Response
Returns [Sensor!]
Arguments
Name | Description |
---|---|
sensors - [UpdateSensorInput!]!
|
A list of UpdateSensorInput objects containing the information for updating existing Sensor entities |
Example
Query
mutation updateSensors($sensors: [UpdateSensorInput!]!) {
updateSensors(sensors: $sensors) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
hive {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
hive_serial
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
zone_ids
sensor_id
metadata {
created_at
updated_at
deleted_at
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
auto_calibrated_at
auto_calibrate_start
auto_calibrate_end
auto_calibrate_person
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
cold_person_detection
blacklist
sunlight
shortened_doorline
}
connection_health {
status
codes {
...ConnectionHealthCodeSensorFragment
}
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
}
Variables
{"sensors": [UpdateSensorInput]}
Response
{
"data": {
"updateSensors": [
{
"id": 4,
"floor": Floor,
"room": Room,
"hive": Hive,
"hive_serial": "abc123",
"zones": [Zone],
"zone_ids": ["xyz789"],
"sensor_id": "4",
"metadata": MetaData,
"name": "xyz789",
"mac_address": "xyz789",
"mode": "xyz789",
"model": "xyz789",
"sensitivity": 123.45,
"center": [123.45],
"height": 123.45,
"is_entrance": false,
"is_online": false,
"parallel_to_door": true,
"active_hours": [123.45],
"calibration": SensorCalibration,
"door_line": 123.45,
"generation": 987.65,
"in_direction": 987.65,
"last_heartbeat": 987,
"last_raw_message": 987,
"last_compressed_message": 123,
"last_occupancy_message": 123,
"last_detection_message": 987,
"messages_per_second": 987.65,
"is_streaming": false,
"orientation": [123.45],
"effective_field_of_view": 123.45,
"field_of_view": 987.65,
"algo_config": AlgoConfig,
"connection_health": ConnectionHealthSensor,
"last_battery_change_date": "10:15:30Z",
"sensor_serial": "xyz789",
"next_battery_change_date": "10:15:30Z",
"note": "abc123",
"room_id": "xyz789",
"floor_id": "abc123",
"hive_id": 4
}
]
}
}
updateTags
Description
Update tags
Response
Returns [Tag!]
Arguments
Name | Description |
---|---|
input - [UpdateTagInput!]
|
Example
Query
mutation updateTags($input: [UpdateTagInput!]) {
updateTags(input: $input) {
id
name
organization_id
rooms {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
floors {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
}
}
Variables
{"input": [UpdateTagInput]}
Response
{
"data": {
"updateTags": [
{
"id": "xyz789",
"name": "xyz789",
"organization_id": "abc123",
"rooms": [Room],
"zones": [Zone],
"floors": [Floor]
}
]
}
}
updateWebhooks
Description
Mutation to update one or more existing webhooks
Response
Returns [Webhook!]
Arguments
Name | Description |
---|---|
input - [WebhookUpdateInput!]!
|
A list of WebhookUpdateInput objects, each containing the ID of the webhook to update and the fields to modify |
Example
Query
mutation updateWebhooks($input: [WebhookUpdateInput!]!) {
updateWebhooks(input: $input) {
id
name
event_types
endpoint_config {
url
http_timeout
api_key {
...ApiKeyFragment
}
basic_auth {
...BasicAuthFragment
}
}
}
}
Variables
{"input": [WebhookUpdateInput]}
Response
{
"data": {
"updateWebhooks": [
{
"id": "4",
"name": "abc123",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfig
}
]
}
}
updateZones
Description
Update multiple Zone entities
Response
Returns [Zone!]
Arguments
Name | Description |
---|---|
zones - [UpdateZoneInput!]!
|
A list of UpdateZoneInput objects containing the information for updating existing Zone entities |
Example
Query
mutation updateZones($zones: [UpdateZoneInput!]!) {
updateZones(zones: $zones) {
id
metadata {
created_at
updated_at
deleted_at
}
name
area {
value
unit
}
coordinates
rotation
capacity {
mid
max
}
sensors {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
hive {
...HiveFragment
}
hive_serial
zones {
...ZoneFragment
}
zone_ids
sensor_id
metadata {
...MetaDataFragment
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
...SensorCalibrationFragment
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
...AlgoConfigFragment
}
connection_health {
...ConnectionHealthSensorFragment
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
note
customID
tags {
id
name
organization_id
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
floors {
...FloorFragment
}
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
}
Variables
{"zones": [UpdateZoneInput]}
Response
{
"data": {
"updateZones": [
{
"id": "4",
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [123.45],
"rotation": 123.45,
"capacity": Capacity,
"sensors": [Sensor],
"note": "xyz789",
"customID": "4",
"tags": [Tag],
"client_id": "abc123",
"floor_id": "abc123",
"room_id": "abc123",
"zone_id": "xyz789",
"zone_type": "xyz789",
"color": [987.65]
}
]
}
}
upsertSensors
Description
Upsert multiple Sensor entities
Response
Returns [Sensor!]
Arguments
Name | Description |
---|---|
sensors - [CreateSensorInput!]!
|
A list of CreateSensorInput objects containing the information for upserting Sensor entities |
Example
Query
mutation upsertSensors($sensors: [CreateSensorInput!]!) {
upsertSensors(sensors: $sensors) {
id
floor {
id
building_id
building {
...BuildingFragment
}
metadata {
...MetaDataFragment
}
name
timezone
area {
...AreaFragment
}
capacity {
...CapacityFragment
}
installation_date
installation_status
sensors {
...SensorFragment
}
hives {
...HiveFragment
}
last_battery_change_date
next_battery_change_date
floor_plans {
...FloorPlanFragment
}
floorNumber
tags {
...TagFragment
}
rooms {
...RoomFragment
}
zones {
...ZoneFragment
}
buildingId
floor_id
client_id
}
room {
id
floor {
...FloorFragment
}
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
capacity {
...CapacityFragment
}
rotation
tags {
...TagFragment
}
sensors {
...SensorFragment
}
note
room_id
client_id
floor_id
color
room_type
auto_calibrated_at
}
hive {
id
floor {
...FloorFragment
}
room {
...RoomFragment
}
metadata {
...MetaDataFragment
}
coordinates
name
connectionHealth {
...ConnectionHealthHiveFragment
}
sensors {
...SensorFragment
}
note
installed
client_id
floor_id
room_id
hive_id
serial_number
hive_version
hive_type
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
last_network_id
is_streaming
activated_at
is_online
net_path_stability
connection_health {
...ConnectionHealthHiveFragment
}
}
hive_serial
zones {
id
metadata {
...MetaDataFragment
}
name
area {
...AreaFragment
}
coordinates
rotation
capacity {
...CapacityFragment
}
sensors {
...SensorFragment
}
note
customID
tags {
...TagFragment
}
client_id
floor_id
room_id
zone_id
zone_type
color
}
zone_ids
sensor_id
metadata {
created_at
updated_at
deleted_at
}
name
mac_address
mode
model
sensitivity
center
height
is_entrance
is_online
parallel_to_door
active_hours
calibration {
auto_calibrated_at
auto_calibrate_start
auto_calibrate_end
auto_calibrate_person
}
door_line
generation
in_direction
last_heartbeat
last_raw_message
last_compressed_message
last_occupancy_message
last_detection_message
messages_per_second
is_streaming
orientation
effective_field_of_view
field_of_view
algo_config {
cold_person_detection
blacklist
sunlight
shortened_doorline
}
connection_health {
status
codes {
...ConnectionHealthCodeSensorFragment
}
}
last_battery_change_date
sensor_serial
next_battery_change_date
note
room_id
floor_id
hive_id
}
}
Variables
{"sensors": [CreateSensorInput]}
Response
{
"data": {
"upsertSensors": [
{
"id": 4,
"floor": Floor,
"room": Room,
"hive": Hive,
"hive_serial": "abc123",
"zones": [Zone],
"zone_ids": ["abc123"],
"sensor_id": 4,
"metadata": MetaData,
"name": "xyz789",
"mac_address": "xyz789",
"mode": "xyz789",
"model": "abc123",
"sensitivity": 123.45,
"center": [987.65],
"height": 987.65,
"is_entrance": true,
"is_online": true,
"parallel_to_door": false,
"active_hours": [123.45],
"calibration": SensorCalibration,
"door_line": 123.45,
"generation": 123.45,
"in_direction": 987.65,
"last_heartbeat": 987,
"last_raw_message": 987,
"last_compressed_message": 987,
"last_occupancy_message": 123,
"last_detection_message": 987,
"messages_per_second": 987.65,
"is_streaming": true,
"orientation": [987.65],
"effective_field_of_view": 987.65,
"field_of_view": 987.65,
"algo_config": AlgoConfig,
"connection_health": ConnectionHealthSensor,
"last_battery_change_date": "10:15:30Z",
"sensor_serial": "xyz789",
"next_battery_change_date": "10:15:30Z",
"note": "xyz789",
"room_id": "xyz789",
"floor_id": "abc123",
"hive_id": "4"
}
]
}
}
Types
APIKeyUpdate
Description
Input type for updating API key configuration, defining the API key and the header name to be used
Example
{
"key": "abc123",
"value": "abc123"
}
Address
Description
A type representing an address
Fields
Field Name | Description |
---|---|
lines - [String!]!
|
A list of address lines, as you'd write them on an envelope according to the rules of the locality where the address is located |
country - String
|
The country where the address is located |
Example
{
"lines": ["xyz789"],
"country": "abc123"
}
AlgoConfig
Description
The type representing the algorithm configuration settings for a sensor
Fields
Field Name | Description |
---|---|
cold_person_detection - Boolean!
|
Indicates if cold person detection is enabled |
blacklist - [Float!]
|
A list of blacklisted coordinate areas for the sensor |
sunlight - Boolean!
|
Indicates if sunlight detection is enabled |
shortened_doorline - [Float!]
|
Shortened doorline setting values |
Example
{
"cold_person_detection": false,
"blacklist": [123.45],
"sunlight": false,
"shortened_doorline": [987.65]
}
AlgoConfigInput
Description
The input object used for updating sensor algorithm configuration settings
Fields
Input Field | Description |
---|---|
blacklist - [Float!]
|
A list of blacklisted coordinate areas for the sensor (optional) |
cold_person_detection - Boolean
|
Indicates if cold person detection is enabled (optional) |
shortened_doorline - [Float!]
|
Shortened doorline setting values (optional) |
sunlight - Boolean
|
Indicates if sunlight detection is enabled (optional) |
Example
{
"blacklist": [123.45],
"cold_person_detection": true,
"shortened_doorline": [123.45],
"sunlight": true
}
ApiKey
Description
A type representing API credentials
Example
{
"key": "xyz789",
"value": "xyz789"
}
ApiKeyInput
Description
Input type for API key configuration, defining the API key and the header name to be used
Example
{
"key": "xyz789",
"value": "xyz789"
}
Area
AreaInput
AssociateTagInput
Association
BasicAuth
BasicAuthInput
Description
Input type for basic authentication, specifying username and password credentials
Example
{
"username": "xyz789",
"password": "abc123"
}
BasicAuthUpdate
Description
Input type for updating basic authentication credentials, specifying the username and password
Example
{
"username": "xyz789",
"password": "xyz789"
}
Boolean
Description
The Boolean
scalar type represents true
or false
Example
true
Building
Description
A Building is a physical structure that can contain multiple floors. Buildings are grouped into Sites. A Building aggregates some aspects of its constituent floors, like capacity. Buildings often also have distinct postal addresses. Otherwise, they're useful as a grouping mechanism for floors
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of this building in the Butlr system |
name - String!
|
Each building can be given a name to make it easier to identify |
capacity - Capacity!
|
Capacity limits of the building. The max capacity of the building is calculated from the sum of all floors' max capacity unless manually overridden |
floors - [Floor!]!
|
Returns all floors inside the building |
building_number - Int
|
The building number of the building. Building numbers are unique among buildings in one site |
buildingNumber - Int
|
The building number of the building. Building numbers are unique among buildings in one site Use building_number instead. |
address - Address
|
The address of this building |
site - Site!
|
The site that this building belongs to |
Example
{
"id": "4",
"name": "abc123",
"capacity": Capacity,
"floors": [Floor],
"building_number": 987,
"buildingNumber": 987,
"address": Address,
"site": Site
}
Buildings
Fields
Field Name | Description |
---|---|
data - [Building!]!
|
Example
{"data": [Building]}
Capacity
CapacityInput
ConnectionHealthCodeHive
Description
Represents a specific connection health code for a hive
Fields
Field Name | Description |
---|---|
code - ConnectionHealthCodeStatusHive!
|
The type of connection health code |
description - String!
|
A description of the connection health issue |
last_timestamp - Int
|
The timestamp of the last recorded event related to the code |
compared_timestamp - Int!
|
The timestamp of the last comparison for the code |
is_error - Boolean!
|
Indicates whether the code represents an error |
Example
{
"code": "NO_HIVE_STREAMING",
"description": "xyz789",
"last_timestamp": 123,
"compared_timestamp": 123,
"is_error": false
}
ConnectionHealthCodeSensor
Description
Represents a specific connection health code for a sensor
Fields
Field Name | Description |
---|---|
code - ConnectionHealthCodeStatusSensor!
|
The type of connection health code |
description - String!
|
A description of the connection health issue |
last_timestamp - Int
|
The timestamp of the last recorded event related to the code |
compared_timestamp - Int!
|
The timestamp of the last comparison for the code |
is_error - Boolean!
|
Indicates whether the code represents an error |
Example
{
"code": "NO_HIVE_STREAMING",
"description": "abc123",
"last_timestamp": 123,
"compared_timestamp": 987,
"is_error": true
}
ConnectionHealthCodeStatusHive
Description
The possible types of connection health codes for a hive
Values
Enum Value | Description |
---|---|
|
The hive is not streaming data |
|
The hive has not sent a heartbeat recently |
|
The hive is streaming data |
|
The hive has sent a heartbeat recently |
Example
"NO_HIVE_STREAMING"
ConnectionHealthCodeStatusSensor
Description
The possible types of connection health codes for a sensor
Values
Enum Value | Description |
---|---|
|
The hive is not streaming data |
|
The hive has not sent a heartbeat recently |
|
The sensor is not streaming data |
|
The sensor has not sent a heartbeat recently |
|
The sensor is streaming data |
|
The sensor has sent a heartbeat recently |
|
The hive is streaming data |
|
The hive has sent a heartbeat recently |
Example
"NO_HIVE_STREAMING"
ConnectionHealthHive
Description
Represents a hive that provides connection health data
Fields
Field Name | Description |
---|---|
status - ConnectionHealthStatus!
|
The overall health status of the hive's connection |
codes - [ConnectionHealthCodeHive!]!
|
A list of detailed connection health codes for the hive |
Example
{
"status": "NOT_CONNECTED",
"codes": [ConnectionHealthCodeHive]
}
ConnectionHealthSensor
Description
Represents a sensor that provides connection health data
Fields
Field Name | Description |
---|---|
status - ConnectionHealthStatus!
|
The overall health status of the sensor's connection to the hive |
codes - [ConnectionHealthCodeSensor!]!
|
A list of detailed connection health codes for the sensor |
Example
{
"status": "NOT_CONNECTED",
"codes": [ConnectionHealthCodeSensor]
}
ConnectionHealthStatus
Description
The overall health status of a connection
Values
Enum Value | Description |
---|---|
|
The connection is not connected |
|
The connection is partially connected, meaning it may be experiencing some issues |
|
The connection is fully connected and operational |
Example
"NOT_CONNECTED"
CreateRoomInput
Description
Input for creating a Room entity
Fields
Input Field | Description |
---|---|
room_id - ID
|
Provide your own ID for this room to make this operation idempotent. It will re-create the room if it already exists, overwriting any provided values |
floor_id - String!
|
The unique identifier of the associated floor |
name - String!
|
The display name of the room |
room_type - String
|
The type of room (e.g., 'office', 'conference') |
coordinates - [Float!]
|
The coordinates of the room's vertices |
color - [Float!]
|
The RGBA color associated with the room |
area - AreaInput
|
The area of the room |
capacity - CapacityInput
|
The room's capacity information |
rotation - Float
|
The new rotation of the room (in degrees) |
note - String
|
Note for the zone |
Example
{
"room_id": "4",
"floor_id": "xyz789",
"name": "xyz789",
"room_type": "xyz789",
"coordinates": [987.65],
"color": [123.45],
"area": AreaInput,
"capacity": CapacityInput,
"rotation": 123.45,
"note": "xyz789"
}
CreateSensorInput
Description
The input object used for creating a new sensor with various attributes
Fields
Input Field | Description |
---|---|
sensor_id - ID
|
Provide your own ID for this room to make this operation idempotent. It will re-create the sensor if it already exists, overwriting any provided values |
floor_id - String
|
The unique identifier of the floor that will contain the sensor (optional) |
room_id - String
|
The unique identifier of the room that will contain the sensor (optional) |
hive_id - String
|
The unique identifier of the hive that the sensor will belong to (optional) |
hive_serial - String
|
The serial number of the hive that the sensor will belong to (optional) |
name - String
|
The name of the sensor (optional) |
mac_address - String!
|
The MAC address of the sensor |
mode - String
|
The operational mode of the sensor (optional) |
model - String
|
The model of the sensor (optional) |
sensitivity - Float
|
The sensitivity level of the sensor (optional) |
center - [Float!]
|
The center coordinates of the sensor's coverage area |
height - Float
|
The height of the sensor (optional) |
is_entrance - Boolean
|
Indicates if the sensor is located at an entrance (optional) |
parallel_to_door - Boolean
|
Indicates if the sensor is parallel to a door (optional) |
active_hours - [Float!]
|
The active hours for the sensor |
calibration - SensorCalibrationInput
|
The calibration information of the sensor (optional) |
door_line - Float
|
The door line distance value for the sensor (optional) |
generation - Float
|
The generation of the sensor (optional) |
in_direction - Float
|
The direction value for the sensor's detection area (optional) |
orientation - [Float!]
|
The orientation of the sensor (optional) |
field_of_view - Float
|
The field of view value for the sensor (optional) |
color - [Float!]
|
The color of the sensor (optional) |
algo_config - AlgoConfigInput
|
The algorithm configuration settings for the sensor (optional) |
last_battery_change_date - Time
|
Last battery change date for the sensor |
next_battery_change_date - Time
|
Next battery change date for the sensor |
note - String
|
Note for the sensor |
Example
{
"sensor_id": "4",
"floor_id": "abc123",
"room_id": "xyz789",
"hive_id": "xyz789",
"hive_serial": "abc123",
"name": "abc123",
"mac_address": "abc123",
"mode": "abc123",
"model": "abc123",
"sensitivity": 123.45,
"center": [987.65],
"height": 123.45,
"is_entrance": false,
"parallel_to_door": true,
"active_hours": [987.65],
"calibration": SensorCalibrationInput,
"door_line": 987.65,
"generation": 123.45,
"in_direction": 987.65,
"orientation": [987.65],
"field_of_view": 123.45,
"color": [123.45],
"algo_config": AlgoConfigInput,
"last_battery_change_date": "10:15:30Z",
"next_battery_change_date": "10:15:30Z",
"note": "abc123"
}
CreateTagInput
Fields
Input Field | Description |
---|---|
name - String!
|
Example
{"name": "abc123"}
CreateZoneInput
Description
The input type required to create a new zone
Fields
Input Field | Description |
---|---|
zone_id - ID
|
Provide your own ID for this room to make this operation idempotent. It will re-create the room if it already exists, overwriting any provided values |
floor_id - String!
|
The unique identifier of the floor that will contain the zone |
room_id - String
|
The unique identifier of the room that will contain the zone (optional) |
name - String!
|
The name of the zone |
coordinates - [Float!]
|
The coordinates of the zone's location within the space |
rotation - Float
|
The new rotation of the zone (in degrees) |
capacity - CapacityInput
|
The capacity information of the zone |
note - String
|
Note for the zone |
Example
{
"zone_id": 4,
"floor_id": "abc123",
"room_id": "xyz789",
"name": "xyz789",
"coordinates": [123.45],
"rotation": 987.65,
"capacity": CapacityInput,
"note": "abc123"
}
EndpointConfig
Description
Configuration settings for the endpoint where the webhook sends data
Fields
Field Name | Description |
---|---|
url - String!
|
The URL of the webhook endpoint where events will be sent. Only HTTPS URLs are supported |
http_timeout - Int!
|
The HTTP timeout in seconds for the request to complete. Acceptable values are between 1 and 15 |
api_key - ApiKey
|
Optional API key configuration for header-based authentication |
basic_auth - BasicAuth
|
Optional basic authentication configuration, including username and password |
Example
{
"url": "xyz789",
"http_timeout": 987,
"api_key": ApiKey,
"basic_auth": BasicAuth
}
EndpointConfigInput
Description
Input type for endpoint configuration, specifying the webhook destination and authentication settings
Fields
Input Field | Description |
---|---|
url - String!
|
The URL of the webhook endpoint where events will be sent. Only HTTPS URLs are supported |
http_timeout - Int!
|
The HTTP timeout in seconds for the request to complete. Acceptable values range from 1 to 15 |
api_key - ApiKeyInput
|
Optional API key configuration for header-based authentication |
basic_auth - BasicAuthInput
|
Optional basic authentication configuration, providing a username and password |
Example
{
"url": "xyz789",
"http_timeout": 123,
"api_key": ApiKeyInput,
"basic_auth": BasicAuthInput
}
EndpointConfigUpdate
Description
Input for updating endpoint configuration details
Fields
Input Field | Description |
---|---|
url - String
|
The new URL of the webhook endpoint. If omitted, the URL remains unchanged |
http_timeout - Int
|
The new HTTP timeout for the webhook. If omitted, the timeout remains unchanged |
api_key - APIKeyUpdate
|
The new API key configuration for the webhook. If omitted, the API key remains unchanged |
basic_auth - BasicAuthUpdate
|
The new basic authentication configuration for the webhook. If omitted, the authentication remains unchanged |
Example
{
"url": "xyz789",
"http_timeout": 123,
"api_key": APIKeyUpdate,
"basic_auth": BasicAuthUpdate
}
EventType
Description
Enum representing the different types of events that can be tracked with a webhook
Values
Enum Value | Description |
---|---|
|
Event type for floor occupancy updates |
|
Event type for room occupancy updates |
|
Event type for zone occupancy updates |
|
Event type for detection coordinate updates |
|
Event type for traffic (enter/exits) updates |
Example
"FLOOR_OCCUPANCY"
Float
Description
The Float
scalar type represents signed double-precision fractional values as specified by IEEE 754
Example
123.45
Floor
Description
A type representing a floor in a building
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the floor |
building_id - ID!
|
The unique identifier of the associated building |
building - Building!
|
The Building entity associated with the floor |
metadata - MetaData!
|
The metadata associated with the floor |
name - String!
|
The name of the floor |
timezone - String!
|
The timezone of the floor location |
area - Area!
|
The area information of the floor |
capacity - Capacity!
|
The capacity information of the floor |
installation_date - Int!
|
The installation date timestamp of the floor |
installation_status - InstallationStatus!
|
The installation status of the floor |
sensors - [Sensor!]
|
The list of sensors associated with the floor |
hives - [Hive!]
|
The list of hives associated with the floor |
last_battery_change_date - Time
|
Last battery change date for the sensor |
next_battery_change_date - Time
|
Next battery change date for the sensor |
floor_plans - [FloorPlan!]
|
The list of floor plans associated with the floor |
floorNumber - Int
|
The floor number of the floor. Floor numbers are unique among floors in one building |
tags - [Tag!]
|
The list of tags associated with the floor |
rooms - [Room!]
|
The list of rooms associated with the floor |
Arguments
|
|
zones - [Zone!]
|
The list of zones associated with the floor |
Arguments
|
|
buildingId - ID!
|
The unique identifier of the associated building Use building_id instead. |
floor_id - ID!
|
Use the id field instead
|
client_id - String!
|
No longer supported |
Example
{
"id": "4",
"building_id": 4,
"building": Building,
"metadata": MetaData,
"name": "xyz789",
"timezone": "xyz789",
"area": Area,
"capacity": Capacity,
"installation_date": 987,
"installation_status": "NOT_INSTALLED",
"sensors": [Sensor],
"hives": [Hive],
"last_battery_change_date": "10:15:30Z",
"next_battery_change_date": "10:15:30Z",
"floor_plans": [FloorPlan],
"floorNumber": 987,
"tags": [Tag],
"rooms": [Room],
"zones": [Zone],
"buildingId": "4",
"floor_id": "4",
"client_id": "xyz789"
}
FloorPlan
Description
Type representing a floor plan
Example
{
"floor_plan_id": "abc123",
"coordinates": [987.65],
"name": "abc123",
"url": "xyz789"
}
Floors
Description
A wrapper for a list of floors
Fields
Field Name | Description |
---|---|
data - [Floor!]!
|
The list of floors |
Example
{"data": [Floor]}
Hive
Description
Hive entity that represents a device on the floor of a building
Fields
Field Name | Description |
---|---|
id - ID!
|
|
floor - Floor
|
Floor entity associated with the Hive |
room - Room
|
Room entity associated with the Hive |
metadata - MetaData!
|
MetaData associated with the Hive |
coordinates - [Float!]!
|
Coordinates of the Hive in the room |
name - String!
|
Name of the Hive |
connectionHealth - ConnectionHealthHive!
|
The connection health of the hive |
sensors - [Sensor!]
|
List of sensors associated with the Hive. Can be filtered by providing a list of sensor IDs |
Arguments
|
|
note - String
|
Note for the zone |
installed - Boolean!
|
|
client_id - String!
|
Client ID associated with the Hive No longer supported |
floor_id - String!
|
Floor ID where the Hive is located |
room_id - String!
|
Room ID where the Hive is located |
hive_id - ID!
|
Unique identifier of the Hive Use id instead |
serial_number - String!
|
Serial number of the Hive |
hive_version - String!
|
Hive software version |
hive_type - String!
|
Type of the Hive device |
last_heartbeat - Int
|
Timestamp of the last heartbeat received from the Hive |
last_raw_message - Int
|
Timestamp of the last raw message received from the Hive |
last_compressed_message - Int
|
Timestamp of the last compressed message received from the Hive |
last_occupancy_message - Int
|
Timestamp of the last occupancy message received from the Hive |
last_detection_message - Int
|
Timestamp of the last detection message received from the Hive |
last_network_id - Int
|
Last network id received from the Hive |
is_streaming - Boolean!
|
Indicates if the sensor is streaming |
activated_at - Int!
|
Timestamp when the Hive was activated Not used. |
is_online - Boolean!
|
Hive online status |
net_path_stability - Float!
|
Network path stability of the Hive |
connection_health - ConnectionHealthHive!
|
The connection health of the hive |
Example
{
"id": 4,
"floor": Floor,
"room": Room,
"metadata": MetaData,
"coordinates": [987.65],
"name": "abc123",
"connectionHealth": ConnectionHealthHive,
"sensors": [Sensor],
"note": "abc123",
"installed": true,
"client_id": "abc123",
"floor_id": "abc123",
"room_id": "xyz789",
"hive_id": 4,
"serial_number": "abc123",
"hive_version": "xyz789",
"hive_type": "abc123",
"last_heartbeat": 987,
"last_raw_message": 987,
"last_compressed_message": 123,
"last_occupancy_message": 123,
"last_detection_message": 987,
"last_network_id": 987,
"is_streaming": true,
"activated_at": 987,
"is_online": true,
"net_path_stability": 123.45,
"connection_health": ConnectionHealthHive
}
Hives
Description
A wrapper type for a list of Hive entities
Fields
Field Name | Description |
---|---|
data - [Hive!]
|
List of Hive entities |
Example
{"data": [Hive]}
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
InstallationStatus
Description
The installation status of a floor
Values
Enum Value | Description |
---|---|
|
The floor is yet to be installed |
|
Installation of the floor is currently underway |
|
Quality Assurance (QA) checks are being carried out post-installation of the floor |
|
The floor has been successfully installed and has passed any necessary QA checks |
Example
"NOT_INSTALLED"
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
MetaData
Description
A type representing metadata information for various entities
Example
{"created_at": 123, "updated_at": 123, "deleted_at": 987}
Room
Description
A Room entity represents a specific area within a Floor
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the room |
floor - Floor!
|
The Floor entity associated with the Room |
metadata - MetaData!
|
The MetaData associated with the room |
name - String!
|
The display name of the room |
area - Area!
|
The area of the room |
coordinates - [Float!]
|
The coordinates of the room's vertices |
capacity - Capacity!
|
The room's capacity information |
rotation - Float
|
The room's clockwise rotation (in degrees) |
tags - [Tag!]
|
The list of tags associated with the room |
sensors - [Sensor!]
|
A list of associated Sensor entities |
Arguments
|
|
note - String
|
Note for the room |
room_id - ID!
|
Use the id field instead
|
client_id - String!
|
No longer supported |
floor_id - String!
|
|
color - [Float!]
|
Room colors are no longer supported. |
room_type - String!
|
|
auto_calibrated_at - Int!
|
No longer supported |
Example
{
"id": "4",
"floor": Floor,
"metadata": MetaData,
"name": "abc123",
"area": Area,
"coordinates": [987.65],
"capacity": Capacity,
"rotation": 123.45,
"tags": [Tag],
"sensors": [Sensor],
"note": "abc123",
"room_id": "4",
"client_id": "abc123",
"floor_id": "xyz789",
"color": [123.45],
"room_type": "xyz789",
"auto_calibrated_at": 987
}
Rooms
Description
A wrapper for a list of Room entities
Fields
Field Name | Description |
---|---|
data - [Room!]!
|
A list of Room entities |
Example
{"data": [Room]}
Sensor
Description
The type representing detailed information about a sensor
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the sensor |
floor - Floor
|
The floor object associated with the sensor |
room - Room
|
The room object associated with the sensor |
hive - Hive
|
The hive object associated with the sensor |
hive_serial - String!
|
The serial number of the hive that the sensor belongs to |
zones - [Zone!]
|
A list of zone objects associated with the sensor |
zone_ids - [String!]
|
A list of unique zone identifiers that the sensor is associated with |
sensor_id - ID!
|
The unique identifier of the sensor Use id instead |
metadata - MetaData!
|
Metadata associated with the sensor |
name - String!
|
The name of the sensor |
mac_address - String!
|
The MAC address of the sensor |
mode - String!
|
The operational mode of the sensor |
model - String!
|
The model of the sensor |
sensitivity - Float!
|
The sensitivity level of the sensor |
center - [Float!]!
|
The center coordinates of the sensor's coverage area |
height - Float!
|
The height of the sensor |
is_entrance - Boolean!
|
Indicates if the sensor is located at an entrance |
is_online - Boolean!
|
Indicates if the sensor is online |
parallel_to_door - Boolean!
|
Indicates if the sensor is parallel to a door |
active_hours - [Float!]
|
The active hours for the sensor Not supported |
calibration - SensorCalibration!
|
The calibration information of the sensor Not supported |
door_line - Float!
|
The door line distance value for the sensor |
generation - Float!
|
The generation of the sensor Not supported |
in_direction - Float!
|
The direction value for the sensor's detection area |
last_heartbeat - Int
|
The timestamp of the sensor's last heartbeat |
last_raw_message - Int
|
The timestamp of the sensor's last raw message |
last_compressed_message - Int
|
The timestamp of the sensor's last compressed message |
last_occupancy_message - Int
|
The timestamp of the sensor's last occupancy message |
last_detection_message - Int
|
The timestamp of the sensor's last detection message |
messages_per_second - Float!
|
The calculated messages received per second for the sensor, over the last 5 mins Not supported |
is_streaming - Boolean!
|
Indicates if the sensor is streaming |
orientation - [Float!]!
|
The orientation of the sensor |
effective_field_of_view - Float!
|
The effective field of view value for the sensor |
field_of_view - Float!
|
The field of view value for the sensor |
algo_config - AlgoConfig!
|
The algorithm configuration settings for the sensor |
connection_health - ConnectionHealthSensor!
|
The connection health of the sensor |
last_battery_change_date - Time
|
Last battery change date for the sensor |
sensor_serial - String
|
Sensor serial number |
next_battery_change_date - Time
|
Next battery change date for the sensor |
note - String
|
Note for the sensor |
room_id - String!
|
Room ID where the Sensor is located |
floor_id - String!
|
Floor ID where the Sensor is located |
hive_id - ID!
|
Hive ID where the Sensor is located |
Example
{
"id": 4,
"floor": Floor,
"room": Room,
"hive": Hive,
"hive_serial": "xyz789",
"zones": [Zone],
"zone_ids": ["xyz789"],
"sensor_id": "4",
"metadata": MetaData,
"name": "xyz789",
"mac_address": "abc123",
"mode": "xyz789",
"model": "abc123",
"sensitivity": 123.45,
"center": [987.65],
"height": 987.65,
"is_entrance": true,
"is_online": false,
"parallel_to_door": false,
"active_hours": [987.65],
"calibration": SensorCalibration,
"door_line": 123.45,
"generation": 123.45,
"in_direction": 987.65,
"last_heartbeat": 987,
"last_raw_message": 123,
"last_compressed_message": 987,
"last_occupancy_message": 123,
"last_detection_message": 987,
"messages_per_second": 987.65,
"is_streaming": false,
"orientation": [987.65],
"effective_field_of_view": 987.65,
"field_of_view": 123.45,
"algo_config": AlgoConfig,
"connection_health": ConnectionHealthSensor,
"last_battery_change_date": "10:15:30Z",
"sensor_serial": "xyz789",
"next_battery_change_date": "10:15:30Z",
"note": "xyz789",
"room_id": "abc123",
"floor_id": "xyz789",
"hive_id": 4
}
SensorCalibration
Description
The type representing the calibration information of a sensor
Fields
Field Name | Description |
---|---|
auto_calibrated_at - Int!
|
The timestamp of the last auto-calibration event |
auto_calibrate_start - Int!
|
The start time of the auto-calibration process |
auto_calibrate_end - Int!
|
The end time of the auto-calibration process |
auto_calibrate_person - Int!
|
The number of people detected during the auto-calibration process |
Example
{
"auto_calibrated_at": 987,
"auto_calibrate_start": 987,
"auto_calibrate_end": 987,
"auto_calibrate_person": 123
}
SensorCalibrationInput
Description
The input object used for updating sensor calibration attributes
Fields
Input Field | Description |
---|---|
auto_calibrated_at - Int
|
The timestamp of the last auto-calibration event (optional) |
auto_calibrate_start - Int
|
The start time of the auto-calibration process (optional) |
auto_calibrate_end - Int
|
The end time of the auto-calibration process (optional) |
auto_calibrate_person - Int
|
The number of people detected during the auto-calibration process (optional) |
Example
{
"auto_calibrated_at": 987,
"auto_calibrate_start": 987,
"auto_calibrate_end": 987,
"auto_calibrate_person": 987
}
Sensors
Description
The type representing a collection of Sensor objects
Fields
Field Name | Description |
---|---|
data - [Sensor!]
|
A list of Sensor objects |
Example
{"data": [Sensor]}
Site
Description
A Site represents a group of buildings at a physical location, like a campus
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of this site in the Butlr system |
name - String!
|
Each site can be given a name to make it easier to identify |
buildings - [Building!]!
|
The buildings present at this site |
siteNumber - Int
|
The site number of the site. Site numbers are unique among sites in one organization |
timezone - String
|
The timezone of the site |
Example
{
"id": "4",
"name": "xyz789",
"buildings": [Building],
"siteNumber": 123,
"timezone": "abc123"
}
Sites
Fields
Field Name | Description |
---|---|
data - [Site!]!
|
Example
{"data": [Site]}
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"
Tag
Time
Example
"10:15:30Z"
UpdateFloorInfoInput
Description
An input used to update metadata for a particular floor
Fields
Input Field | Description |
---|---|
id - ID!
|
The ID of the floor to update |
floorNumber - Int
|
Sets the floor number. Must be unique among floors in this building |
capacity - CapacityInput
|
Updates capacity information for the floor |
area - AreaInput
|
Updates area information for the floor |
name - String
|
Updates the name of the floor |
installationStatus - InstallationStatus
|
The installation status of the floor. Setting to INSTALLED will set the installation date to the current time unless installationDate is also set |
installedAt - Time
|
The installation date of the floor. If not set, the current time will be used |
sensorLastBatteryChangedAt - Time
|
The oldest last battery change date to apply to all sensors on the floor |
sensorNextBatteryChangeAt - Time
|
The earliest next battery change date to apply to all sensors on the floor |
Example
{
"id": "4",
"floorNumber": 987,
"capacity": CapacityInput,
"area": AreaInput,
"name": "xyz789",
"installationStatus": "NOT_INSTALLED",
"installedAt": "10:15:30Z",
"sensorLastBatteryChangedAt": "10:15:30Z",
"sensorNextBatteryChangeAt": "10:15:30Z"
}
UpdateFloorInfoResult
Fields
Field Name | Description |
---|---|
floor - Floor
|
Example
{"floor": Floor}
UpdateRoomInput
Description
The input object used for updating room attributes
Fields
Input Field | Description |
---|---|
room_id - ID!
|
The unique identifier of the room to be updated |
name - String
|
The new name of the room (optional) |
room_type - String
|
The new room type (optional) |
coordinates - [Float!]
|
The new coordinates of the room (optional) |
color - [Float!]
|
The new color of the room (optional) |
area - AreaInput
|
The new area of the room (optional) |
capacity - CapacityInput
|
The new capacity of the room (optional) |
rotation - Float
|
The new rotation of the room (in degrees) |
note - String
|
Note for the zone |
Example
{
"room_id": "4",
"name": "abc123",
"room_type": "xyz789",
"coordinates": [123.45],
"color": [987.65],
"area": AreaInput,
"capacity": CapacityInput,
"rotation": 123.45,
"note": "abc123"
}
UpdateSensorInput
Description
The input object used for updating an existing sensor with various attributes
Fields
Input Field | Description |
---|---|
sensor_id - ID
|
The unique identifier of the sensor |
floor_id - String
|
The unique identifier of the floor that contains the sensor (optional) |
room_id - String
|
The unique identifier of the room that contains the sensor (optional) |
hive_id - String
|
The unique identifier of the hive that the sensor belongs to (optional) |
hive_serial - String
|
The serial number of the hive that the sensor belongs to (optional) |
name - String
|
The name of the sensor (optional) |
mac_address - String
|
The MAC address of the sensor (optional) |
mode - String
|
The operational mode of the sensor (optional) |
model - String
|
The model of the sensor (optional) |
sensitivity - Float
|
The sensitivity level of the sensor (optional) |
center - [Float!]
|
The center coordinates of the sensor's coverage area (optional) |
height - Float
|
The height of the sensor (optional) |
is_entrance - Boolean
|
Indicates if the sensor is located at an entrance (optional) |
parallel_to_door - Boolean
|
Indicates if the sensor is parallel to a door (optional) |
active_hours - [Float!]
|
The active hours for the sensor (optional) |
calibration - SensorCalibrationInput
|
The calibration information of the sensor (optional) |
door_line - Float
|
The door line distance value for the sensor (optional) |
generation - Float
|
The generation of the sensor (optional) |
in_direction - Float
|
The direction value for the sensor's detection area (optional) |
orientation - [Float!]
|
The orientation of the sensor (optional) |
field_of_view - Float
|
The field of view value for the sensor (optional) |
color - [Float!]
|
The color of the sensor (optional) |
algo_config - AlgoConfigInput
|
The algorithm configuration settings for the sensor (optional) |
last_battery_change_date - Time
|
Last battery change date for the sensor |
next_battery_change_date - Time
|
Next battery change date for the sensor |
note - String
|
Note for the sensor |
Example
{
"sensor_id": "4",
"floor_id": "abc123",
"room_id": "abc123",
"hive_id": "xyz789",
"hive_serial": "abc123",
"name": "abc123",
"mac_address": "xyz789",
"mode": "xyz789",
"model": "xyz789",
"sensitivity": 987.65,
"center": [987.65],
"height": 123.45,
"is_entrance": false,
"parallel_to_door": true,
"active_hours": [123.45],
"calibration": SensorCalibrationInput,
"door_line": 987.65,
"generation": 123.45,
"in_direction": 123.45,
"orientation": [123.45],
"field_of_view": 123.45,
"color": [123.45],
"algo_config": AlgoConfigInput,
"last_battery_change_date": "10:15:30Z",
"next_battery_change_date": "10:15:30Z",
"note": "xyz789"
}
UpdateTagInput
UpdateZoneInput
Description
The input type required to update an existing zone
Fields
Input Field | Description |
---|---|
room_id - String
|
The unique identifier of the room that will contain the zone (optional) |
zone_id - ID!
|
The unique identifier of the zone to update |
name - String
|
The name of the zone |
coordinates - [Float!]
|
The coordinates of the zone's location within the space |
rotation - Float
|
The clockwise rotation of the zone (in degrees) |
area - AreaInput
|
The area information of the zone |
capacity - CapacityInput
|
The capacity information of the zone |
note - String
|
Note for the zone |
Example
{
"room_id": "xyz789",
"zone_id": "4",
"name": "xyz789",
"coordinates": [123.45],
"rotation": 123.45,
"area": AreaInput,
"capacity": CapacityInput,
"note": "abc123"
}
Webhook
Description
Represents a webhook subscription, containing information on the events it tracks and the endpoint configuration
Fields
Field Name | Description |
---|---|
id - ID!
|
A unique identifier for the webhook subscription |
name - String!
|
A user-defined name for the webhook, useful for identifying the webhook purpose |
event_types - [EventType!]!
|
A list of event types that the webhook subscribes to, such as FLOOR_OCCUPANCY, ROOM_OCCUPANCY, etc |
endpoint_config - EndpointConfig!
|
Configuration details for the endpoint, including URL, timeout, and authentication options |
Example
{
"id": "4",
"name": "abc123",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfig
}
WebhookCreateInput
Description
Input type for creating a new webhook
Fields
Input Field | Description |
---|---|
name - String!
|
A name for the webhook, chosen by the user to help identify its purpose |
event_types - [EventType!]!
|
A list of event types the webhook will subscribe to, such as FLOOR_OCCUPANCY, ROOM_OCCUPANCY, etc |
endpoint_config - EndpointConfigInput!
|
Configuration settings for the endpoint where the webhook sends data |
Example
{
"name": "xyz789",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfigInput
}
WebhookUpdateInput
Description
Input type for updating an existing webhook
Fields
Input Field | Description |
---|---|
id - ID!
|
Unique identifier for the webhook to be updated |
name - String
|
Updated name for the webhook, chosen by the user |
event_types - [EventType!]
|
Updated list of event types the webhook will subscribe to |
endpoint_config - EndpointConfigUpdate
|
Updated configuration settings for the endpoint |
Example
{
"id": 4,
"name": "abc123",
"event_types": ["FLOOR_OCCUPANCY"],
"endpoint_config": EndpointConfigUpdate
}
Zone
Description
The type representing information about a specific zone within a space
Fields
Field Name | Description |
---|---|
id - ID!
|
The unique identifier of the zone |
metadata - MetaData!
|
The metadata associated with the zone |
name - String!
|
The name of the zone |
area - Area!
|
The area information of the zone |
coordinates - [Float!]
|
The coordinates of the zone's location within the space |
rotation - Float
|
The clockwise rotation of the zone (in degrees) |
capacity - Capacity!
|
The capacity information of the zone |
sensors - [Sensor!]
|
A list of sensors associated with the zone |
note - String
|
Note for the zone |
customID - ID
|
A custom ID can be assigned to objects which is meaningful to your system |
tags - [Tag!]
|
The list of tags associated with the floor |
client_id - String!
|
No longer supported |
floor_id - String!
|
|
room_id - String
|
|
zone_id - String!
|
Use the id field instead
|
zone_type - String!
|
Zone types are no longer supported. Contact support for more options. |
color - [Float!]
|
The color of the zone Zone colors are no longer supported. |
Example
{
"id": "4",
"metadata": MetaData,
"name": "xyz789",
"area": Area,
"coordinates": [987.65],
"rotation": 987.65,
"capacity": Capacity,
"sensors": [Sensor],
"note": "abc123",
"customID": 4,
"tags": [Tag],
"client_id": "xyz789",
"floor_id": "abc123",
"room_id": "xyz789",
"zone_id": "xyz789",
"zone_type": "xyz789",
"color": [123.45]
}
Zones
Description
The type representing a list of Zone objects
Fields
Field Name | Description |
---|---|
data - [Zone!]!
|
The list of Zone objects |
Example
{"data": [Zone]}