Urbana GraphQL Documentation API Reference
GraphQL is at the heart of Urbana Platform. We believe in using the latest and greatest technology to find long lasting solutions for real world problems. In doing so we chose GraphQL over REST, because of many of its advantage.
To quickly give an overview of the authentication used for accessing the Urbana GraphQL APIs, following diagram can be referred:
The client send the credentials to the server through a secured channel, and the server verifies the request and related credentials to generate and give back the client an authenticated JWT token. The client, which can be both frontend and mobile then stores the token and uses it for all subsequent communication with the GraphQL APIs.
Terms of Service: https://urbanasmart.com/platform-conditions/
Contact: support@urbanasmart.com
Version: 1.0.0
What Is GraphQL?
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.
Some Advantages:
-
No more Over and Underfetching
Overfetching Downloading superfluous data Overfetching means that a client downloads more information than is actually required in the app. Imagine for example a screen that needs to display a list of users only with their names. In a REST API, this app would usually hit the /users endpoint and receive a JSON array with user data. This response however might contain more info about the users that are returned, e.g. their birthdays or addresses, information that is useless for the client because it only needs to display the users’ names.
-
Underfetching and the n+1 problem
Another issue is underfetching and the n+1-requests problem. Underfetching generally means that a specific endpoint doesn’t provide enough of the required information. The client will have to make additional requests to fetch everything it needs. This can escalate to a situation where a client needs to first download a list of elements, but then needs to make one additional request per element to fetch the required data. As an example, consider the same app would also need to display the last three followers per user. The API provides the additional endpoint /users/user-id/followers. In order to be able to display the required information, the app will have to make one request to the /users endpoint and then hit the /users/user-id/followers endpoint for each user.
-
Rapid Product Iterations on the Frontend
A common pattern with REST APIs is to structure the endpoints according to the views that you have inside your app. This is handy since it allows for the client to get all required information for a particular view by simply accessing the corresponding endpoint. The major drawback of this approach is that it doesn’t allow for rapid iterations on the frontend. With every change that is made to the UI, there is a high risk that now there is more (or less) data required than before. Consequently, the backend needs to be adjusted as well to account for the new data needs. This kills productivity and notably slows down the ability to incorporate user feedback into a product. With GraphQL, this problem is solved. Thanks to the flexible nature of GraphQL, changes on the client-side can be made without any extra work on the server. Since clients can specify their exact data requirements, no backend engineer needs to make adjustments when the design and data needs on the frontend change.
-
Benefits of a Schema & Type System
GraphQL uses a strong type system to define the capabilities of an API. All the types that are exposed in an API are written down in a schema using the GraphQL Schema Definition Language (SDL). This schema serves as the contract between the client and the server to define how a client can access the data.
-
Field Specific
Send a GraphQL query to your API and get exactly what you need, nothing more and nothing less. GraphQL queries always return predictable results. Apps using GraphQL are fast and stable because they control the data they get, not the server. Many resources in a single request GraphQL queries access not just the properties of one resource but also smoothly follow references between them. While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request. Apps using GraphQL can be quick even on slow mobile network connections.
GraphQL Schema
A GraphQL schema is at the core of any GraphQL server implementation. It describes the functionality available to the client applications that connect to it. We can use any programming language to create a GraphQL schema and build an interface around it. The GraphQL runtime defines a generic graph-based schema to publish the capabilities of the data service it represents. Client applications can query the schema within its capabilities. This approach decouples clients from servers and allows both to evolve and scale independently.A sample GraphQL schema can be like below where the types are defined. The type can be related to the query operation as well as the "model" structure.
// Sample query and mutation types
type Query {
studentById(id:ID!):Student
}
type Student {
id:ID!
firstName:String
lastName:String
password:String
collegeId:String
}
type Mutation {
createStudent(collegeId:ID,firstName:String,lastName:String):String
}
In the example, we are dealing with an example of query type, a student model and a mutation to change student model.
Query
A GraphQL operation can either be a read or a write operation. A GraphQL query is used to read or fetch values while a mutation is used to write or post values. In either case, the operation is a simple string that a GraphQL server can parse and respond to with data in a specific format. The popular response format that is usually used for mobile and web applications is JSON.
type Query {
studentById(id:ID!):Student
}
The given query can be used to retrieve the student model by passing the id for a specific student. This can be done by following-
{
studentById(id:"ABC123") {
id
firstName
lastName
}
}
The response from the server can be as follows-
{
"data": {
"studentById": {
"id": "ABC123",
"firstName": "Michael",
"lastName":"Johnson"
}
}
}
Mutation
Mutation queries modify data in the data store and returns a value. It can be used to insert, update, or delete data. Mutations are defined as a part of the schema.
type Student {
id:ID!
firstName:String
lastName:String
password:String
collegeId:String
}
type Mutation {
createStudent(collegeId:ID,firstName:String,lastName:String):String
}
The given mutation can be used to create a new student. This can be done by passing the following arguments in the call-
mutation {
createStudent(collegeId:"101",firstName:"James",lastName:"Rodriguez") {
id
firstName
lastName
}
}
The above query adds a new student and retrieves the student object along with college object. This saves round trips to the server.
{
"data": {
"createStudent": {
"id": "101",
"firstName": "James",
"lastName": "Rodriguez"
}
}
}
Authentication
End Point /v1/authenticate
Before trying the APIs on GraphQL playground or using them, it is essential to authenticate and get a JWT access token. The token is available to all authenticated users which are created in the platform. The authorised user can access the APIs by calling a rest API <code/authenticate to obtain the token. The endpoints and parameters the user has to pass in the body (as a JSON) are as shown.
- Body:
{
email:"sampleemail@email.com",
password:"samplepassword"
}
- Response:
{
"status": "ok",
"item": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZC",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZ",
"accessTokenExpiresInSeconds": 3600
}
}
Once the JWT token is received in the accessToken
, the user has to pass it in all GraphQL API call with the header. The validity of the token is 1 hour and the client would need to fetch new token after expiry or refresh the current one.
Quick Start
Example for calling the Urabana get devices query
Step 1: Get JWT Token:
As described in the authentication step, the user token can be obtained by calling the /v1/authenticate
endpoint.
Step 2: Calling APIs using playground:
The GraphQL queries and mutations can be in general used either through a compatible client like Insomnia or directly using playground.
The user on landing here would see a view like following:
Step 3: Setting up the header request and query variables:
The user can start calling the endpoint only by using the valid JWT token obtained in Step 1.
The valid JWT token has to be placed in the HTTP Headers field section 3 in the format below:
{"authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg1NzU0MzZlL}
In case the query or mutation requires the variable, they can be passed in the following way:
{
"page": 0,
"pageSize": 20,
"groupId": "5d43bb12-0f2b-4f73-ac3c-bc12a53b5aff"
}
Step 4: Calling the get devices query with parameters:
The user can create the query in the section 1. This is the standard scratch pad for putting the query or mutations. As the user starts typing, the scratch pad starts giving auto completitions making it easier to complete long complex query.
The query in our case is of the following, to get devices in a group:
query getDevices($page: Int, $pageSize: Int, $groupId: String) {
devices(
page: $page
pageSize: $pageSize
groupId: $groupId
deviceTypes: [lighting, virtual_asset, metering]
deviceModels: [RFTN, RFTZ, QRCODE]
) {
page {
items {
model {
name
type {
name
code
}
}
name
group {
name
id
}
}
}
}
}
and the query parameters are passed in section 3 as the following:
{
"page": 0,
"pageSize": 20,
"groupId": "5-4f73-ac3c-bc12a53b5aff"
}
Step 5: Getting the results:
The user can create the fetch the query by pressing the play button. The results are visualised in section 2. In our case the response is the following:
{
"data": {
"devices": {
"page": {
"items": [
{
"model": {
"name": "UID code",
"type": {
"name": "Virtual Asset",
"code": "virtual_asset"
}
},
"name": "VirtualAsset1",
"group": {
"name": "ENVIRONMENT",
"id": "15508c2e-466a-4c15-99d7-14eb54d3c75a"
}
},
{
"model": {
"name": "UID code",
"type": {
"name": "Virtual Asset",
"code": "virtual_asset"
}
},
"name": "VirtualAsset2",
"group": {
"name": "ENVIRONMENT",
"id": "15508c2e-466a-4c15-99d7-14eb54d3c75a"
}
}
]
}
}
},
"extensions": {
"operationName": "getDevices",
"variables": "{\"page\":0,\"pageSize\":20,\"groupId\":\"5d43bbc12a53b5aff\"}"
}
}
Docs and Schema
One of the biggest advantage of using playground is that the user can view and navigate all of the queries, types and mutations. This can be done using the docs and schemas tab present in the playground.
Docs tab enables user to view each query and mutation operations as well as the required and optional parameters needed and their types.
Schema tabs enables the user to view all the queries and mutations that are present in the platform thus giving a complete overview of the structure of GraphQL.
NOTE: To start using our services and try the GraphQL endpoints, you should be in possession of a valid user. The user is created by the admin of the platform post commercial agreements. The user would be provided credentials to access platform and subsequently try APIs. To get hands on with APIs, the first step would be using the authentication end point to get a valid JWT token. Based on the user permissions and access granted by the admin, there would be impacts on the actions that client can do using APIs. Actions like create group, edit, delete group etc require specific access and permissions. The validity of the token is 1 hour and the client would need to fetch new token after expiry.
Devices
This section deals with creation and management of the devices.
Get Multiple Devices
Fetch list of devices
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query devices($loadCellStatus: AutomationLoadCellThresholdStatus, $deviceStatus: DeviceStatusAllowedFilteringFields, $networkStatus: DeviceNetworkStatusAllowedFilteringFields, $sort: [DevicesSortingConditionInput!], $search: String, $page: Int, $pageSize: Int, $deviceModels: [DeviceModels!], $deviceTypes: [DeviceTypes!], $groupId: String){
devices(loadCellStatus: $loadCellStatus, deviceStatus: $deviceStatus, networkStatus: $networkStatus, sort: $sort, search: $search, page: $page, pageSize: $pageSize, deviceModels: $deviceModels, deviceTypes: $deviceTypes, groupId: $groupId){
status
total
page{
items{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
loraParams{
id
deviceEUI
applicationEUI
joinEUI
version
loraClass
regionalParametersRevision
region
activationType
createdAt
updatedAt
}
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
virtualAsset{
id
urlInfo
note
pictureUrl
createdAt
updatedAt
}
metering{
id
meterMID
connectedMeter
energyConsumptionEnabled
pulseOneConsumptionEnabled
pulseTwoConsumptionEnabled
status{
signal
enabled485
pulseOneEnabled
pulseTwoEnabled
totalActiveEnergyEnabled
activePowerEnabled
voltageEnabled
currentEnabled
powerFactorEnabled
frequencyEnabled
temperature
voltage
current
powerFactor
frequency
activePower
totalActiveEnergy
pulseOne
pulseTwo
errors
online
receivedAt
createdAt
updatedAt
}
createdAt
updatedAt
}
lighting{
status{
signal
dimmingLevel
temperature
activeEnergy
apparentEnergy
activePower
apparentPower
energyReactive
lampRunningHours
nodeRunningHours
onOffCycles
errors
lightingMode
online
deviceUnixEpoch
receivedAt
createdAt
updatedAt
}
}
parking{
class
}
automation{
description
ioConfig{
inputs{
key
label
connectedOutputs
}
outputs{
key
label
}
}
}
attachments{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
images{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
status
connectorId
}
size
index
}
}
}
Variables
{
"loadCellStatus": "string",
"deviceStatus": "string",
"networkStatus": "string",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"page": "integer",
"pageSize": "integer",
"deviceModels": [
"string"
],
"deviceTypes": [
"string"
],
"groupId": "string"
}
Try it now
query devices($loadCellStatus: AutomationLoadCellThresholdStatus, $deviceStatus: DeviceStatusAllowedFilteringFields, $networkStatus: DeviceNetworkStatusAllowedFilteringFields, $sort: [DevicesSortingConditionInput!], $search: String, $page: Int, $pageSize: Int, $deviceModels: [DeviceModels!], $deviceTypes: [DeviceTypes!], $groupId: String){
devices(loadCellStatus: $loadCellStatus, deviceStatus: $deviceStatus, networkStatus: $networkStatus, sort: $sort, search: $search, page: $page, pageSize: $pageSize, deviceModels: $deviceModels, deviceTypes: $deviceTypes, groupId: $groupId){
status
total
page{
items{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
loraParams{
id
deviceEUI
applicationEUI
joinEUI
version
loraClass
regionalParametersRevision
region
activationType
createdAt
updatedAt
}
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
virtualAsset{
id
urlInfo
note
pictureUrl
createdAt
updatedAt
}
metering{
id
meterMID
connectedMeter
energyConsumptionEnabled
pulseOneConsumptionEnabled
pulseTwoConsumptionEnabled
status{
signal
enabled485
pulseOneEnabled
pulseTwoEnabled
totalActiveEnergyEnabled
activePowerEnabled
voltageEnabled
currentEnabled
powerFactorEnabled
frequencyEnabled
temperature
voltage
current
powerFactor
frequency
activePower
totalActiveEnergy
pulseOne
pulseTwo
errors
online
receivedAt
createdAt
updatedAt
}
createdAt
updatedAt
}
lighting{
status{
signal
dimmingLevel
temperature
activeEnergy
apparentEnergy
activePower
apparentPower
energyReactive
lampRunningHours
nodeRunningHours
onOffCycles
errors
lightingMode
online
deviceUnixEpoch
receivedAt
createdAt
updatedAt
}
}
parking{
class
}
automation{
description
ioConfig{
inputs{
key
label
connectedOutputs
}
outputs{
key
label
}
}
}
attachments{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
images{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
status
connectorId
}
size
index
}
}
}
{
"loadCellStatus": "string",
"deviceStatus": "string",
"networkStatus": "string",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"page": "integer",
"pageSize": "integer",
"deviceModels": [
"string"
],
"deviceTypes": [
"string"
],
"groupId": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"devices": {
"total": "integer",
"page": {
"items": [
{
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"loraParams": {
"id": "integer",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string"
},
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"virtualAsset": {
"id": "integer",
"urlInfo": "string",
"note": "string",
"pictureUrl": "string"
},
"metering": {
"id": "integer",
"meterMID": "boolean",
"connectedMeter": "string",
"energyConsumptionEnabled": "boolean",
"pulseOneConsumptionEnabled": "boolean",
"pulseTwoConsumptionEnabled": "boolean",
"status": {
"signal": "integer",
"enabled485": "boolean",
"pulseOneEnabled": "boolean",
"pulseTwoEnabled": "boolean",
"totalActiveEnergyEnabled": "boolean",
"activePowerEnabled": "boolean",
"voltageEnabled": "boolean",
"currentEnabled": "boolean",
"powerFactorEnabled": "boolean",
"frequencyEnabled": "boolean",
"temperature": "number",
"voltage": "number",
"current": "number",
"powerFactor": "number",
"frequency": "number",
"activePower": "number",
"totalActiveEnergy": "number",
"pulseOne": "integer",
"pulseTwo": "integer",
"errors": "string",
"online": "boolean"
}
},
"lighting": {
"status": {
"signal": "integer",
"dimmingLevel": "number",
"temperature": "number",
"activeEnergy": "number",
"apparentEnergy": "number",
"activePower": "number",
"apparentPower": "number",
"energyReactive": "number",
"lampRunningHours": "number",
"nodeRunningHours": "number",
"onOffCycles": "number",
"errors": "string"
}
}
}
]
}
}
}
}
Get Single Device
Fetch single device information
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query device($serial: String, $id: String){
device(serial: $serial, id: $id){
status
item{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
loraParams{
id
deviceEUI
applicationEUI
joinEUI
version
loraClass
regionalParametersRevision
region
activationType
createdAt
updatedAt
}
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
virtualAsset{
id
urlInfo
note
pictureUrl
createdAt
updatedAt
}
metering{
id
meterMID
connectedMeter
energyConsumptionEnabled
pulseOneConsumptionEnabled
pulseTwoConsumptionEnabled
status{
signal
enabled485
pulseOneEnabled
pulseTwoEnabled
totalActiveEnergyEnabled
activePowerEnabled
voltageEnabled
currentEnabled
powerFactorEnabled
frequencyEnabled
temperature
voltage
current
powerFactor
frequency
activePower
totalActiveEnergy
pulseOne
pulseTwo
errors
online
receivedAt
createdAt
updatedAt
}
createdAt
updatedAt
}
lighting{
status{
signal
dimmingLevel
temperature
activeEnergy
apparentEnergy
activePower
apparentPower
energyReactive
lampRunningHours
nodeRunningHours
onOffCycles
errors
lightingMode
online
deviceUnixEpoch
receivedAt
createdAt
updatedAt
}
}
parking{
class
}
automation{
description
ioConfig{
inputs{
key
label
connectedOutputs
}
outputs{
key
label
}
}
}
attachments{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
images{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
status
connectorId
}
}
}
Variables
{
"serial": "string",
"id": "string"
}
Try it now
query device($serial: String, $id: String){
device(serial: $serial, id: $id){
status
item{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
loraParams{
id
deviceEUI
applicationEUI
joinEUI
version
loraClass
regionalParametersRevision
region
activationType
createdAt
updatedAt
}
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
virtualAsset{
id
urlInfo
note
pictureUrl
createdAt
updatedAt
}
metering{
id
meterMID
connectedMeter
energyConsumptionEnabled
pulseOneConsumptionEnabled
pulseTwoConsumptionEnabled
status{
signal
enabled485
pulseOneEnabled
pulseTwoEnabled
totalActiveEnergyEnabled
activePowerEnabled
voltageEnabled
currentEnabled
powerFactorEnabled
frequencyEnabled
temperature
voltage
current
powerFactor
frequency
activePower
totalActiveEnergy
pulseOne
pulseTwo
errors
online
receivedAt
createdAt
updatedAt
}
createdAt
updatedAt
}
lighting{
status{
signal
dimmingLevel
temperature
activeEnergy
apparentEnergy
activePower
apparentPower
energyReactive
lampRunningHours
nodeRunningHours
onOffCycles
errors
lightingMode
online
deviceUnixEpoch
receivedAt
createdAt
updatedAt
}
}
parking{
class
}
automation{
description
ioConfig{
inputs{
key
label
connectedOutputs
}
outputs{
key
label
}
}
}
attachments{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
images{
id
path
filename
url
contentType
size
createdAt
updatedAt
}
status
connectorId
}
}
}
{
"serial": "string",
"id": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"device": {
"item": {
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"loraParams": {
"id": "integer",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string"
},
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"virtualAsset": {
"id": "integer",
"urlInfo": "string",
"note": "string",
"pictureUrl": "string"
},
"metering": {
"id": "integer",
"meterMID": "boolean",
"connectedMeter": "string",
"energyConsumptionEnabled": "boolean",
"pulseOneConsumptionEnabled": "boolean",
"pulseTwoConsumptionEnabled": "boolean",
"status": {
"signal": "integer",
"enabled485": "boolean",
"pulseOneEnabled": "boolean",
"pulseTwoEnabled": "boolean",
"totalActiveEnergyEnabled": "boolean",
"activePowerEnabled": "boolean",
"voltageEnabled": "boolean",
"currentEnabled": "boolean",
"powerFactorEnabled": "boolean",
"frequencyEnabled": "boolean",
"temperature": "number",
"voltage": "number",
"current": "number",
"powerFactor": "number",
"frequency": "number",
"activePower": "number",
"totalActiveEnergy": "number",
"pulseOne": "integer",
"pulseTwo": "integer",
"errors": "string",
"online": "boolean"
}
},
"lighting": {
"status": {
"signal": "integer",
"dimmingLevel": "number",
"temperature": "number",
"activeEnergy": "number",
"apparentEnergy": "number",
"activePower": "number",
"apparentPower": "number",
"energyReactive": "number",
"lampRunningHours": "number",
"nodeRunningHours": "number",
"onOffCycles": "number",
"errors": "string",
"online": "boolean",
"deviceUnixEpoch": "integer"
}
}
}
}
}
}
Groups
This section deals with management of the groups like creation of group, edit, etc.
Get Multiple Groups
Fetch list of multiple Group details
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query groups($organizationId: String, $search: String, $deviceTypes: [DeviceTypes!], $userId: String, $flat: Boolean, $page: Int, $pageSize: Int){
groups(organizationId: $organizationId, search: $search, deviceTypes: $deviceTypes, userId: $userId, flat: $flat, page: $page, pageSize: $pageSize){
status
total
page{
items{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
size
index
}
}
}
Variables
{
"organizationId": "string",
"search": "string",
"deviceTypes": [
"string"
],
"userId": "string",
"flat": "boolean",
"page": "integer",
"pageSize": "integer"
}
Try it now
query groups($organizationId: String, $search: String, $deviceTypes: [DeviceTypes!], $userId: String, $flat: Boolean, $page: Int, $pageSize: Int){
groups(organizationId: $organizationId, search: $search, deviceTypes: $deviceTypes, userId: $userId, flat: $flat, page: $page, pageSize: $pageSize){
status
total
page{
items{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
size
index
}
}
}
{
"organizationId": "string",
"search": "string",
"deviceTypes": [
"string"
],
"userId": "string",
"flat": "boolean",
"page": "integer",
"pageSize": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"groups": {
"total": "integer",
"page": {
"items": [
{
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string"
},
"children": [
{
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
}
],
"devices": [
{
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"connectorId": "string"
}
]
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Group
Fetch single group details
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query group($organizationId: String, $userId: String, $id: String!){
group(organizationId: $organizationId, userId: $userId, id: $id){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
...RecursiveGroupMapFragment
}
children{
...RecursiveGroupBaseFragment
}
devices{
...RecursiveDeviceFragment
}
}
status
connectorId
}
}
}
}
Variables
{
"organizationId": "string",
"userId": "string",
"id": "string"
}
Try it now
query group($organizationId: String, $userId: String, $id: String!){
group(organizationId: $organizationId, userId: $userId, id: $id){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
...RecursiveGroupMapFragment
}
children{
...RecursiveGroupBaseFragment
}
devices{
...RecursiveDeviceFragment
}
}
status
connectorId
}
}
}
}
{
"organizationId": "string",
"userId": "string",
"id": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"group": {
"item": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string"
},
"children": [
{
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
}
],
"devices": [
{
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"connectorId": "string"
}
]
}
}
}
}
Create Single Group
Query to create a single Group
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation createGroup($name: String!, $type: GroupTypes!, $latitude: Float, $longitude: Float, $timeZone: String, $parentId: String, $height: Float, $width: Float, $positionType: PositionTypes, $positionY: Float, $positionX: Float, $currency: String, $file: Upload){
createGroup(name: $name, type: $type, latitude: $latitude, longitude: $longitude, timeZone: $timeZone, parentId: $parentId, height: $height, width: $width, positionType: $positionType, positionY: $positionY, positionX: $positionX, currency: $currency, file: $file){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
}
}
Variables
{
"name": "string",
"type": "string",
"latitude": "number",
"longitude": "number",
"timeZone": "string",
"parentId": "string",
"height": "number",
"width": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"currency": "string"
}
Try it now
mutation createGroup($name: String!, $type: GroupTypes!, $latitude: Float, $longitude: Float, $timeZone: String, $parentId: String, $height: Float, $width: Float, $positionType: PositionTypes, $positionY: Float, $positionX: Float, $currency: String, $file: Upload){
createGroup(name: $name, type: $type, latitude: $latitude, longitude: $longitude, timeZone: $timeZone, parentId: $parentId, height: $height, width: $width, positionType: $positionType, positionY: $positionY, positionX: $positionX, currency: $currency, file: $file){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
}
}
{
"name": "string",
"type": "string",
"latitude": "number",
"longitude": "number",
"timeZone": "string",
"parentId": "string",
"height": "number",
"width": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"currency": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"createGroup": {
"item": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string"
},
"children": [
{
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
}
],
"devices": [
{
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"connectorId": "string"
}
]
}
}
}
}
Edit Single Group
Query to edit a Group
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
mutation editGroup($id: ID!, $name: String!, $type: GroupTypes!, $timeZone: String!, $currency: String!, $latitude: Float, $longitude: Float, $height: Float, $width: Float, $positionType: PositionTypes, $positionY: Float, $positionX: Float, $file: Upload){
editGroup(id: $id, name: $name, type: $type, timeZone: $timeZone, currency: $currency, latitude: $latitude, longitude: $longitude, height: $height, width: $width, positionType: $positionType, positionY: $positionY, positionX: $positionX, file: $file){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
}
}
Variables
{
"id": "string",
"name": "string",
"type": "string",
"timeZone": "string",
"currency": "string",
"latitude": "number",
"longitude": "number",
"height": "number",
"width": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number"
}
Try it now
mutation editGroup($id: ID!, $name: String!, $type: GroupTypes!, $timeZone: String!, $currency: String!, $latitude: Float, $longitude: Float, $height: Float, $width: Float, $positionType: PositionTypes, $positionY: Float, $positionX: Float, $file: Upload){
editGroup(id: $id, name: $name, type: $type, timeZone: $timeZone, currency: $currency, latitude: $latitude, longitude: $longitude, height: $height, width: $width, positionType: $positionType, positionY: $positionY, positionX: $positionX, file: $file){
status
item{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
groupMap(userId: $userId){
id
height
width
url
createdAt
updatedAt
}
children{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
devices{
id
organizationId
deviceHash
serial
name
supplier
tag
latitude
longitude
positionType
positionY
positionX
timeZone
networkType
maxLifetimeHours
maxLifetimeWarningPercentage
statusUpdateHoursOffset
referenceNumber
online
errors
statusUpdatedAt
createdAt
updatedAt
status
connectorId
}
}
}
}
{
"id": "string",
"name": "string",
"type": "string",
"timeZone": "string",
"currency": "string",
"latitude": "number",
"longitude": "number",
"height": "number",
"width": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"editGroup": {
"item": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string"
},
"children": [
{
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
}
],
"devices": [
{
"id": "string",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"maxLifetimeHours": "integer",
"maxLifetimeWarningPercentage": "integer",
"statusUpdateHoursOffset": "integer",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"connectorId": "string"
}
]
}
}
}
}
Lighting
This section deals with lighting module and some of it's main components like program and schedules.
Get Multiple Lighting Programs
Fetch list of Lighting Programs
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query lightingPrograms($sort: [LightingProgramSortingConditionInput!], $search: String, $page: Int, $pageSize: Int){
lightingPrograms(sort: $sort, search: $search, page: $page, pageSize: $pageSize){
status
total
page{
items{
id
name
organizationId
description
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
editedBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
days{
id
dayOfWeek
createdAt
updatedAt
}
}
size
index
}
}
}
Variables
{
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"page": "integer",
"pageSize": "integer"
}
Try it now
query lightingPrograms($sort: [LightingProgramSortingConditionInput!], $search: String, $page: Int, $pageSize: Int){
lightingPrograms(sort: $sort, search: $search, page: $page, pageSize: $pageSize){
status
total
page{
items{
id
name
organizationId
description
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
editedBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
days{
id
dayOfWeek
createdAt
updatedAt
}
}
size
index
}
}
}
{
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"page": "integer",
"pageSize": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"lightingPrograms": {
"total": "integer",
"page": {
"items": [
{
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
},
"editedBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string",
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
},
"days": [
{
"id": "integer"
}
]
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Lighting Program
Fetch single Lighting Program
(no description)
Example
Request Content-Types:
application/json
Query
query lightingProgram($programId: Int!){
lightingProgram(programId: $programId){
status
item{
id
name
organizationId
description
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
editedBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
days{
id
dayOfWeek
createdAt
updatedAt
}
}
}
}
Variables
{
"programId": "integer"
}
Try it now
query lightingProgram($programId: Int!){
lightingProgram(programId: $programId){
status
item{
id
name
organizationId
description
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
editedBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
days{
id
dayOfWeek
createdAt
updatedAt
}
}
}
}
{
"programId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"lightingProgram": {
"item": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
},
"editedBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string",
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
},
"days": [
{
"id": "integer"
}
]
}
}
}
}
Get Multiple Lighting Schedules
Fetch multiple Lighting Schedules
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query lightingSchedules($to: DateTimeScalar!, $from: DateTimeScalar!, $groupId: String, $programId: Int){
lightingSchedules(to: $to, from: $from, groupId: $groupId, programId: $programId){
status
items{
id
groupId
organizationId
programId
program{
id
name
organizationId
description
createdAt
updatedAt
}
programCommandId
programCommand{
id
label
groupId
status
devicesCount
confirmedDevicesCount
errorDevicesCount
commandsCount
confirmedCommandsCount
errorCommandsCount
createdAt
updatedAt
}
scheduledDate
lastRetryDate
createdAt
updatedAt
}
}
}
Variables
{
"groupId": "string",
"programId": "integer"
}
Try it now
query lightingSchedules($to: DateTimeScalar!, $from: DateTimeScalar!, $groupId: String, $programId: Int){
lightingSchedules(to: $to, from: $from, groupId: $groupId, programId: $programId){
status
items{
id
groupId
organizationId
programId
program{
id
name
organizationId
description
createdAt
updatedAt
}
programCommandId
programCommand{
id
label
groupId
status
devicesCount
confirmedDevicesCount
errorDevicesCount
commandsCount
confirmedCommandsCount
errorCommandsCount
createdAt
updatedAt
}
scheduledDate
lastRetryDate
createdAt
updatedAt
}
}
}
{
"groupId": "string",
"programId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"lightingSchedules": {
"items": [
{
"id": "integer",
"groupId": "string",
"organizationId": "string",
"programId": "integer",
"program": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string"
},
"programCommandId": "integer",
"programCommand": {
"id": "integer",
"label": "string",
"groupId": "string",
"devicesCount": "integer",
"confirmedDevicesCount": "integer",
"errorDevicesCount": "integer",
"commandsCount": "integer",
"confirmedCommandsCount": "integer",
"errorCommandsCount": "integer"
}
}
]
}
}
}
Get Single Lighting Schedule
Fetch single Lighting Schedule
(no description)
Example
Request Content-Types:
application/json
Query
query lightingSchedule($scheduleId: Int!){
lightingSchedule(scheduleId: $scheduleId){
status
item{
id
groupId
organizationId
programId
program{
id
name
organizationId
description
createdAt
updatedAt
}
programCommandId
programCommand{
id
label
groupId
status
devicesCount
confirmedDevicesCount
errorDevicesCount
commandsCount
confirmedCommandsCount
errorCommandsCount
createdAt
updatedAt
}
scheduledDate
lastRetryDate
createdAt
updatedAt
}
}
}
Variables
{
"scheduleId": "integer"
}
Try it now
query lightingSchedule($scheduleId: Int!){
lightingSchedule(scheduleId: $scheduleId){
status
item{
id
groupId
organizationId
programId
program{
id
name
organizationId
description
createdAt
updatedAt
}
programCommandId
programCommand{
id
label
groupId
status
devicesCount
confirmedDevicesCount
errorDevicesCount
commandsCount
confirmedCommandsCount
errorCommandsCount
createdAt
updatedAt
}
scheduledDate
lastRetryDate
createdAt
updatedAt
}
}
}
{
"scheduleId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"lightingSchedule": {
"item": {
"id": "integer",
"groupId": "string",
"organizationId": "string",
"programId": "integer",
"program": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string"
},
"programCommandId": "integer",
"programCommand": {
"id": "integer",
"label": "string",
"groupId": "string",
"devicesCount": "integer",
"confirmedDevicesCount": "integer",
"errorDevicesCount": "integer",
"commandsCount": "integer",
"confirmedCommandsCount": "integer",
"errorCommandsCount": "integer"
}
}
}
}
}
Parking
This section deals with parking module and some if it's main components like program and schedules.
Get Multiple Parking Programs
Fetch multiple Parking Programs
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query parkingPrograms($page: Int, $pageSize: Int, $sort: [ParkingProgramSortingConditionInput!], $search: String, $type: ParkingProgramType, $groupId: String){
parkingPrograms(page: $page, pageSize: $pageSize, sort: $sort, search: $search, type: $type, groupId: $groupId){
status
total
page{
items{
id
name
organizationId
description
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
dailyTimeSlots{
from
to
maxMinutes
emails
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
size
index
}
}
}
Variables
{
"page": "integer",
"pageSize": "integer",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"type": "string",
"groupId": "string"
}
Try it now
query parkingPrograms($page: Int, $pageSize: Int, $sort: [ParkingProgramSortingConditionInput!], $search: String, $type: ParkingProgramType, $groupId: String){
parkingPrograms(page: $page, pageSize: $pageSize, sort: $sort, search: $search, type: $type, groupId: $groupId){
status
total
page{
items{
id
name
organizationId
description
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
dailyTimeSlots{
from
to
maxMinutes
emails
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
size
index
}
}
}
{
"page": "integer",
"pageSize": "integer",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"type": "string",
"groupId": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"parkingPrograms": {
"total": "integer",
"page": {
"items": [
{
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
},
"dailyCostSlots": [
{
"from": "string",
"to": "string",
"price": "number"
}
],
"dailyTimeSlots": [
{
"from": "string",
"to": "string",
"maxMinutes": "integer",
"emails": [
"string"
]
}
],
"schedules": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string"
}
],
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Parking Program
Fetch single Parking Program
(no description)
Example
Request Content-Types:
application/json
Query
query parkingProgram($programId: Int!){
parkingProgram(programId: $programId){
status
item{
id
name
organizationId
description
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
dailyTimeSlots{
from
to
maxMinutes
emails
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
}
}
Variables
{
"programId": "integer"
}
Try it now
query parkingProgram($programId: Int!){
parkingProgram(programId: $programId){
status
item{
id
name
organizationId
description
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
dailyTimeSlots{
from
to
maxMinutes
emails
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
}
}
{
"programId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"parkingProgram": {
"item": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
},
"dailyCostSlots": [
{
"from": "string",
"to": "string",
"price": "number"
}
],
"dailyTimeSlots": [
{
"from": "string",
"to": "string",
"maxMinutes": "integer",
"emails": [
"string"
]
}
],
"schedules": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string"
}
],
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
}
}
}
}
Get Multiple Parking Schedules
Fetch multiple Parking Schedules
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query parkingSchedules($page: Int, $pageSize: Int, $from: DateTimeScalar, $to: DateTimeScalar, $groupIds: [String!], $programId: Float){
parkingSchedules(page: $page, pageSize: $pageSize, from: $from, to: $to, groupIds: $groupIds, programId: $programId){
status
total
page{
items{
id
programId
organizationId
program{
id
name
organizationId
description
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
size
index
}
}
}
Variables
{
"page": "integer",
"pageSize": "integer",
"groupIds": [
"string"
],
"programId": "number"
}
Try it now
query parkingSchedules($page: Int, $pageSize: Int, $from: DateTimeScalar, $to: DateTimeScalar, $groupIds: [String!], $programId: Float){
parkingSchedules(page: $page, pageSize: $pageSize, from: $from, to: $to, groupIds: $groupIds, programId: $programId){
status
total
page{
items{
id
programId
organizationId
program{
id
name
organizationId
description
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
size
index
}
}
}
{
"page": "integer",
"pageSize": "integer",
"groupIds": [
"string"
],
"programId": "number"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"parkingSchedules": {
"total": "integer",
"page": {
"items": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string",
"program": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"groupId": "string"
}
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Parking Schedule
Fetch single Parking Schedule
(no description)
Example
Request Content-Types:
application/json
Query
query parkingSchedule($scheduleId: Int!){
parkingSchedule(scheduleId: $scheduleId){
status
item{
id
programId
organizationId
program{
id
name
organizationId
description
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
}
}
Variables
{
"scheduleId": "integer"
}
Try it now
query parkingSchedule($scheduleId: Int!){
parkingSchedule(scheduleId: $scheduleId){
status
item{
id
programId
organizationId
program{
id
name
organizationId
description
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
}
}
{
"scheduleId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"parkingSchedule": {
"item": {
"id": "integer",
"programId": "integer",
"organizationId": "string",
"program": {
"id": "integer",
"name": "string",
"organizationId": "string",
"description": "string",
"groupId": "string"
}
}
}
}
}
Metering
This section deals with metering module and some of it's main components like program and schedules.
Get Multiple Metering Programs
Fetch multiple Metering Programs
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query meteringPrograms($page: Int, $pageSize: Int, $sort: [MeteringProgramSortingConditionInput!], $search: String, $types: [MeteringProgramTypes!], $groupId: String){
meteringPrograms(page: $page, pageSize: $pageSize, sort: $sort, search: $search, types: $types, groupId: $groupId){
status
total
page{
items{
id
name
description
organizationId
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
size
index
}
}
}
Variables
{
"page": "integer",
"pageSize": "integer",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"types": [
"string"
],
"groupId": "string"
}
Try it now
query meteringPrograms($page: Int, $pageSize: Int, $sort: [MeteringProgramSortingConditionInput!], $search: String, $types: [MeteringProgramTypes!], $groupId: String){
meteringPrograms(page: $page, pageSize: $pageSize, sort: $sort, search: $search, types: $types, groupId: $groupId){
status
total
page{
items{
id
name
description
organizationId
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
size
index
}
}
}
{
"page": "integer",
"pageSize": "integer",
"sort": [
{
"field": "string",
"order": "string"
}
],
"search": "string",
"types": [
"string"
],
"groupId": "string"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"meteringPrograms": {
"total": "integer",
"page": {
"items": [
{
"id": "integer",
"name": "string",
"description": "string",
"organizationId": "string",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
},
"dailyCostSlots": [
{
"from": "string",
"to": "string",
"price": "number"
}
],
"schedules": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string"
}
],
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Metering Program
Fetch single Metering Program
(no description)
Example
Request Content-Types:
application/json
Query
query meteringProgram($programId: Int!){
meteringProgram(programId: $programId){
status
item{
id
name
description
organizationId
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
}
}
Variables
{
"programId": "integer"
}
Try it now
query meteringProgram($programId: Int!){
meteringProgram(programId: $programId){
status
item{
id
name
description
organizationId
groupId
group{
organizationId
id
name
path
latitude
longitude
positionType
positionY
positionX
timeZone
createdAt
updatedAt
countDevices
countDevicesDeep
countChildren
countChildrenDeep
currency
type
}
type
dailyCostSlots{
from
to
price
dayOfWeek
}
schedules{
id
programId
organizationId
date
createdAt
updatedAt
}
createdBy{
id
name
lastName
email
gender
phoneNumber
avatar
confirmedAt
createdAt
updatedAt
lastAccess
createdBy{
...RecursiveUserFragment
}
}
createdAt
updatedAt
}
}
}
{
"programId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"meteringProgram": {
"item": {
"id": "integer",
"name": "string",
"description": "string",
"organizationId": "string",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "string",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"countDevices": "integer",
"countDevicesDeep": "integer",
"countChildren": "integer",
"countChildrenDeep": "integer",
"currency": "string"
},
"dailyCostSlots": [
{
"from": "string",
"to": "string",
"price": "number"
}
],
"schedules": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string"
}
],
"createdBy": {
"id": "string",
"name": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"avatar": "string"
}
}
}
}
}
Get Multiple Metering Schedules
Fetch multiple Metering Schedules
(no description)
(no description)
(no description)
(no description)
(no description)
(no description)
Example
Request Content-Types:
application/json
Query
query meteringSchedules($page: Int, $pageSize: Int, $from: DateTimeScalar, $to: DateTimeScalar, $groupIds: [String!], $programId: Float){
meteringSchedules(page: $page, pageSize: $pageSize, from: $from, to: $to, groupIds: $groupIds, programId: $programId){
status
total
page{
items{
id
programId
organizationId
program{
id
name
description
organizationId
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
size
index
}
}
}
Variables
{
"page": "integer",
"pageSize": "integer",
"groupIds": [
"string"
],
"programId": "number"
}
Try it now
query meteringSchedules($page: Int, $pageSize: Int, $from: DateTimeScalar, $to: DateTimeScalar, $groupIds: [String!], $programId: Float){
meteringSchedules(page: $page, pageSize: $pageSize, from: $from, to: $to, groupIds: $groupIds, programId: $programId){
status
total
page{
items{
id
programId
organizationId
program{
id
name
description
organizationId
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
size
index
}
}
}
{
"page": "integer",
"pageSize": "integer",
"groupIds": [
"string"
],
"programId": "number"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"meteringSchedules": {
"total": "integer",
"page": {
"items": [
{
"id": "integer",
"programId": "integer",
"organizationId": "string",
"program": {
"id": "integer",
"name": "string",
"description": "string",
"organizationId": "string",
"groupId": "string"
}
}
],
"size": "integer",
"index": "integer"
}
}
}
}
Get Single Metering Schedule
Fetch single Metering Schedule
(no description)
Example
Request Content-Types:
application/json
Query
query meteringSchedule($scheduleId: Int!){
meteringSchedule(scheduleId: $scheduleId){
status
item{
id
programId
organizationId
program{
id
name
description
organizationId
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
}
}
Variables
{
"scheduleId": "integer"
}
Try it now
query meteringSchedule($scheduleId: Int!){
meteringSchedule(scheduleId: $scheduleId){
status
item{
id
programId
organizationId
program{
id
name
description
organizationId
groupId
type
createdAt
updatedAt
}
date
createdAt
updatedAt
}
}
}
{
"scheduleId": "integer"
}
Successful operation
Response Content-Types: application/json
Response Example (200 OK)
{
"data": {
"meteringSchedule": {
"item": {
"id": "integer",
"programId": "integer",
"organizationId": "string",
"program": {
"id": "integer",
"name": "string",
"description": "string",
"organizationId": "string",
"groupId": "string"
}
}
}
}
}
Schema Definitions
AstroProgramCommandDeviceStatus: string
Lighting device astro clock program status",
-
objectCREATED
-
objectSENT
-
objectCONFIRMED
-
objectFAILED
-
objectTIMEOUT
Automation: object
- description:
- ioConfig:
- loadCellConfig:
- peopleCounterCameraConfig:
- io02Config:
Example
{
"description": "string",
"ioConfig": {
"inputs": [
{
"key": "number",
"label": "string",
"connectedOutputs": [
"number"
]
}
],
"outputs": [
{
"key": "number",
"label": "string"
}
]
},
"loadCellConfig": {
"nominalLoad": "number",
"thresholdOne": "number",
"thresholdTwo": "number"
},
"peopleCounterCameraConfig": {
"areaNumber": "number"
},
"io02Config": {
"input": [
{
"key": "number",
"label": "string"
}
],
"output": [
{
"key": "number",
"label": "string"
}
]
}
}
AutomationDigitalInputStatus: object
- signal:
- online:
- createdAt:
- updatedAt:
- receivedAt:
- digitalInputOne:
- digitalInputTwo:
Example
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalInputOne": "boolean",
"digitalInputTwo": "boolean"
}
AutomationDigitalOutputStatus: object
- signal:
- online:
- createdAt:
- updatedAt:
- receivedAt:
- digitalOutputOne:
- digitalOutputTwo:
Example
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalOutputOne": "boolean",
"digitalOutputTwo": "boolean"
}
AutomationIO01DigitalInputStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalInputOne": "boolean",
"digitalInputTwo": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationIO01DigitalOutputStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalOutputOne": "boolean",
"digitalOutputTwo": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationIO01Status: object
- online:
- digitalOutputStatus:
- digitalInputStatus:
Example
{
"online": "boolean",
"digitalOutputStatus": {
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalOutputOne": "boolean",
"digitalOutputTwo": "boolean"
},
"digitalInputStatus": {
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"digitalInputOne": "boolean",
"digitalInputTwo": "boolean"
}
}
AutomationIO02ConfigurationRequestCommandInput: object
- configurationOption:
Example
{
"configurationOption": "string"
}
AutomationIO02ControlConfig: object
- input:
- output:
Example
{
"input": [
{
"key": "number",
"label": "string"
}
],
"output": [
{
"key": "number",
"label": "string"
}
]
}
AutomationIO02ControlConfigInput: object
Example
{
"input": [
{
"key": "number",
"label": "string"
}
],
"output": [
{
"key": "number",
"label": "string"
}
]
}
AutomationIO02ControlStatus: object
- key:
- label:
- value:
- receivedAt:
- online:
Example
{
"key": "number",
"label": "string",
"value": "boolean",
"receivedAt": "object",
"online": "boolean"
}
AutomationIO02DigitalData: object
- inputCountersType1:
- frequencyMeter:
- inputCountersType2:
- outputCounter:
- receivedAt:
Example
{
"inputCountersType1": {
"measure": "number",
"counter": "number"
},
"frequencyMeter": {
"measure": "number",
"date": "object",
"frequency": "number"
},
"inputCountersType2": {
"measures": [
{
"measure": "number",
"counter": "number",
"date": "object"
}
]
},
"outputCounter": "number",
"receivedAt": "object"
}
AutomationIO02DigitalDataHistory: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"inputCountersType1": {
"measure": "number",
"counter": "number"
},
"frequencyMeter": {
"measure": "number",
"date": "object",
"frequency": "number"
},
"inputCountersType2": {
"measures": [
{
"measure": "number",
"counter": "number",
"date": "object"
}
]
},
"outputCounter": "number",
"receivedAt": "object"
}
],
"size": "number",
"index": "number"
}
}
AutomationIO02DigitalDataResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"inputCountersType1": {
"measure": "number",
"counter": "number"
},
"frequencyMeter": {
"measure": "number",
"date": "object",
"frequency": "number"
},
"inputCountersType2": {
"measures": [
{
"measure": "number",
"counter": "number",
"date": "object"
}
]
},
"outputCounter": "number",
"receivedAt": "object"
}
}
AutomationIO02FrequencyMeter: object
- measure:
- date:
- frequency:
Example
{
"measure": "number",
"date": "object",
"frequency": "number"
}
AutomationIO02GeneralSettingsCommandInput: object
- generalSettingsOption:
- enable:
Example
{
"generalSettingsOption": "string",
"enable": "boolean"
}
AutomationIO02IOCommandPayload: object
- controls:
Example
{
"controls": [
{
"key": "number",
"value": "boolean"
}
]
}
AutomationIO02InputCounterType2: object
- measures:
Example
{
"measures": [
{
"measure": "number",
"counter": "number",
"date": "object"
}
]
}
AutomationIO02InputCounterType2Measure: object
- measure:
- counter:
- date:
Example
{
"measure": "number",
"counter": "number",
"date": "object"
}
AutomationIO02PeriodCommandInput: object
- periodOption:
- minutes:
Example
{
"periodOption": "string",
"minutes": "number"
}
AutomationIO02Status: object
- signal:
- online:
- createdAt:
- updatedAt:
- receivedAt:
- input:
- output:
Example
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"input": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
],
"output": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
]
}
AutomationIO02StatusChart: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"key": "number",
"label": "string",
"value": "boolean",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationIO02StatusHistory: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"input": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
],
"output": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
]
}
],
"size": "number",
"index": "number"
}
}
AutomationIO02StatusResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"signal": "number",
"online": "boolean",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"input": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
],
"output": [
{
"key": "number",
"label": "string",
"value": "boolean"
}
]
}
}
AutomationLoadCellLoadStatusResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"nominalLoad": "number",
"thresholdOne": "number",
"thresholdTwo": "number"
}
}
AutomationLoadCellStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"weight": "number",
"batteryPercentage": "number",
"timeShift": "number",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationLoadCellThresholdStatus: string
Automation Load Cell Threshold Status
-
objectNOMINAL_LOAD
-
objectTHRESHOLD_ONE
-
objectTHRESHOLD_TWO
AutomationLoadCellTotalLoadResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"total": "number"
}
}
AutomationOPCUAPLCProtocol: object
- serialNo:
- connectionType:
- plcAddress:
- opcuaVars:
Example
{
"serialNo": {
"required": "boolean",
"path": "string"
},
"connectionType": {
"required": "boolean",
"path": "string"
},
"plcAddress": {
"required": "boolean",
"path": "string"
},
"opcuaVars": {
"required": "boolean",
"path": "string",
"isArray": "boolean",
"itemProtocol": {
"identifier": {
"required": "boolean",
"path": "string"
},
"identifierType": {
"required": "boolean",
"path": "string"
},
"namespaceIdentifier": {
"required": "boolean",
"path": "string"
},
"variableType": {
"required": "boolean",
"path": "string"
},
"variableDirection": {
"required": "boolean",
"path": "string"
},
"variableLabel": {
"required": "boolean",
"path": "string"
},
"variableUnit": {
"required": "boolean",
"path": "string"
},
"scaleFactor": {
"required": "boolean",
"path": "string"
},
"scaledVariableUnit": {
"required": "boolean",
"path": "string"
},
"variableCurrentValue": {
"required": "boolean",
"path": "string"
},
"error": {
"required": "boolean",
"path": "string"
}
}
}
}
AutomationOPCUAPLCProtocolField: object
- identifier:
- identifierType:
- namespaceIdentifier:
- variableType:
- variableDirection:
- variableLabel:
- variableUnit:
- scaleFactor:
- scaledVariableUnit:
- variableCurrentValue:
- error:
Example
{
"identifier": {
"required": "boolean",
"path": "string"
},
"identifierType": {
"required": "boolean",
"path": "string"
},
"namespaceIdentifier": {
"required": "boolean",
"path": "string"
},
"variableType": {
"required": "boolean",
"path": "string"
},
"variableDirection": {
"required": "boolean",
"path": "string"
},
"variableLabel": {
"required": "boolean",
"path": "string"
},
"variableUnit": {
"required": "boolean",
"path": "string"
},
"scaleFactor": {
"required": "boolean",
"path": "string"
},
"scaledVariableUnit": {
"required": "boolean",
"path": "string"
},
"variableCurrentValue": {
"required": "boolean",
"path": "string"
},
"error": {
"required": "boolean",
"path": "string"
}
}
AutomationOPCUAPLCProtocolInput: object
- serialNo:
- connectionType:
- plcAddress:
- opcuaVars:
Example
{
"serialNo": {
"required": "boolean",
"path": "string"
},
"connectionType": {
"required": "boolean",
"path": "string"
},
"plcAddress": {
"required": "boolean",
"path": "string"
},
"opcuaVars": {
"required": "boolean",
"path": "string",
"isArray": "boolean",
"itemProtocol": {
"identifier": {
"required": "boolean",
"path": "string"
},
"identifierType": {
"required": "boolean",
"path": "string"
},
"namespaceIdentifier": {
"required": "boolean",
"path": "string"
},
"variableType": {
"required": "boolean",
"path": "string"
},
"variableDirection": {
"required": "boolean",
"path": "string"
},
"variableLabel": {
"required": "boolean",
"path": "string"
},
"variableUnit": {
"required": "boolean",
"path": "string"
},
"scaleFactor": {
"required": "boolean",
"path": "string"
},
"scaledVariableUnit": {
"required": "boolean",
"path": "string"
},
"variableCurrentValue": {
"required": "boolean",
"path": "string"
},
"error": {
"required": "boolean",
"path": "string"
}
}
}
}
AutomationOPCUAPLCProtocolInputField: object
- identifier:
- identifierType:
- namespaceIdentifier:
- variableType:
- variableDirection:
- variableLabel:
- variableUnit:
- scaleFactor:
- scaledVariableUnit:
- variableCurrentValue:
- error:
Example
{
"identifier": {
"required": "boolean",
"path": "string"
},
"identifierType": {
"required": "boolean",
"path": "string"
},
"namespaceIdentifier": {
"required": "boolean",
"path": "string"
},
"variableType": {
"required": "boolean",
"path": "string"
},
"variableDirection": {
"required": "boolean",
"path": "string"
},
"variableLabel": {
"required": "boolean",
"path": "string"
},
"variableUnit": {
"required": "boolean",
"path": "string"
},
"scaleFactor": {
"required": "boolean",
"path": "string"
},
"scaledVariableUnit": {
"required": "boolean",
"path": "string"
},
"variableCurrentValue": {
"required": "boolean",
"path": "string"
},
"error": {
"required": "boolean",
"path": "string"
}
}
AutomationPC01Status: object
- signal:
- leftToRight:
- rightToLeft:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"leftToRight": "number",
"rightToLeft": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationPC01StatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"leftToRight": "number",
"rightToLeft": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationPC02Status: object
- signal:
- totalCounterIn:
- totalCounterOut:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"totalCounterIn": "number",
"totalCounterOut": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationPC02StatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"totalCounterIn": "number",
"totalCounterOut": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationPLCOPCUAStatus: object
- signal:
- serialNo:
- connectionType:
- plcAddress:
- opcuaVars:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"serialNo": "string",
"connectionType": "string",
"plcAddress": "string",
"opcuaVars": [
{
"identifier": "string",
"identifierType": "string",
"namespaceIdentifier": "number",
"variableType": "string",
"variableDirection": "string",
"variableLabel": "string",
"variableUnit": "string",
"scaleFactor": "number",
"scaledVariableUnit": "string",
"variableCurrentValue": "string",
"error": "string"
}
],
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationPLCOPCUAStatusOPCUAVars: object
- identifier:
- identifierType:
- namespaceIdentifier:
- variableType:
- variableDirection:
- variableLabel:
- variableUnit:
- scaleFactor:
- scaledVariableUnit:
- variableCurrentValue:
- error:
Example
{
"identifier": "string",
"identifierType": "string",
"namespaceIdentifier": "number",
"variableType": "string",
"variableDirection": "string",
"variableLabel": "string",
"variableUnit": "string",
"scaleFactor": "number",
"scaledVariableUnit": "string",
"variableCurrentValue": "string",
"error": "string"
}
AutomationPLCOPCUAStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"serialNo": "string",
"connectionType": "string",
"plcAddress": "string",
"opcuaVars": [
{
"identifier": "string",
"identifierType": "string",
"namespaceIdentifier": "number",
"variableType": "string",
"variableDirection": "string",
"variableLabel": "string",
"variableUnit": "string",
"scaleFactor": "number",
"scaledVariableUnit": "string",
"variableCurrentValue": "string",
"error": "string"
}
],
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationPeopleCounterCameraStatus: object
- signal:
- in:
- out:
- totalPeople:
- totalRegion:
- maxPeople:
- regionPeopleCount:
- regionPeoples:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"in": "number",
"out": "number",
"totalPeople": "number",
"totalRegion": "number",
"maxPeople": "number",
"regionPeopleCount": [
{
"region": "number",
"people": "number"
}
],
"regionPeoples": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationPeopleCounterCameraStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"in": "number",
"out": "number",
"totalPeople": "number",
"totalRegion": "number",
"maxPeople": "number",
"regionPeopleCount": [
{
"region": "number",
"people": "number"
}
],
"regionPeoples": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationRakAllButtonStatus: object
- buttonOneLastPressedAt:
- buttonTwoLastPressedAt:
- buttonThreeLastPressedAt:
- buttonFourLastPressedAt:
Example
{
"buttonOneLastPressedAt": "object",
"buttonTwoLastPressedAt": "object",
"buttonThreeLastPressedAt": "object",
"buttonFourLastPressedAt": "object"
}
AutomationRakAllButtonStatusResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"buttonOneLastPressedAt": "object",
"buttonTwoLastPressedAt": "object",
"buttonThreeLastPressedAt": "object",
"buttonFourLastPressedAt": "object"
}
}
AutomationRakSmartButtonStatus: object
- signal:
- buttonOne:
- buttonTwo:
- buttonThree:
- buttonFour:
- lastPressedAt:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"buttonOne": "number",
"buttonTwo": "number",
"buttonThree": "number",
"buttonFour": "number",
"lastPressedAt": {
"buttonOneLastPressedAt": "object",
"buttonTwoLastPressedAt": "object",
"buttonThreeLastPressedAt": "object",
"buttonFourLastPressedAt": "object"
},
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationRakSmartButtonStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"buttonOne": "number",
"buttonTwo": "number",
"buttonThree": "number",
"buttonFour": "number",
"lastPressedAt": {
"buttonOneLastPressedAt": "object",
"buttonTwoLastPressedAt": "object",
"buttonThreeLastPressedAt": "object",
"buttonFourLastPressedAt": "object"
},
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationST02Status: object
- signal:
- tamper:
- process:
- battery:
- fraud:
- hygrometry:
- temperature:
- di_0:
- di_1:
- power:
- valve:
- class:
- cable:
- leakage:
- receivedAt:
- online:
Example
{
"signal": "number",
"tamper": "boolean",
"process": "boolean",
"battery": "number",
"fraud": "boolean",
"hygrometry": "number",
"temperature": "number",
"di_0": "boolean",
"di_1": "boolean",
"power": "boolean",
"valve": "boolean",
"class": "string",
"cable": "boolean",
"leakage": "boolean",
"receivedAt": "object",
"online": "boolean"
}
AutomationST02StatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"tamper": "boolean",
"process": "boolean",
"battery": "number",
"fraud": "boolean",
"hygrometry": "number",
"temperature": "number",
"di_0": "boolean",
"di_1": "boolean",
"power": "boolean",
"valve": "boolean",
"class": "string",
"cable": "boolean",
"leakage": "boolean",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationST03Status: object
- signal:
- tamper:
- process:
- battery:
- fraud:
- hygrometry:
- temperature:
- di_0:
- di_1:
- power:
- valve:
- class:
- cable:
- leakage:
- receivedAt:
- online:
Example
{
"signal": "number",
"tamper": "boolean",
"process": "boolean",
"battery": "number",
"fraud": "boolean",
"hygrometry": "number",
"temperature": "number",
"di_0": "boolean",
"di_1": "boolean",
"power": "boolean",
"valve": "boolean",
"class": "string",
"cable": "boolean",
"leakage": "boolean",
"receivedAt": "object",
"online": "boolean"
}
AutomationST03StatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"tamper": "boolean",
"process": "boolean",
"battery": "number",
"fraud": "boolean",
"hygrometry": "number",
"temperature": "number",
"di_0": "boolean",
"di_1": "boolean",
"power": "boolean",
"valve": "boolean",
"class": "string",
"cable": "boolean",
"leakage": "boolean",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationTimedValveControlInput: object
- status:
- timeBase:
- interval:
Example
{
"status": "string",
"timeBase": "string",
"interval": "number"
}
AutomationTrafficCounterSensorRequestCommandInput: object
- operatingMode:
- deviceClass:
- uplinkType:
- uplinkInterval:
- linkCheckInterval:
- holdoffTime:
- radarAutotuning:
- radarSensitivity:
- LTRLaneDist:
- RTLLaneDist:
- SC0_START:
- SC0_END:
- SC1_START:
- SC1_END:
- SC2_START:
- SC2_END:
- SC3_START:
- SC3_END:
Example
{
"operatingMode": "string",
"deviceClass": "string",
"uplinkType": "string",
"uplinkInterval": "number",
"linkCheckInterval": "number",
"holdoffTime": "number",
"radarAutotuning": "boolean",
"radarSensitivity": "number",
"LTRLaneDist": "number",
"RTLLaneDist": "number",
"SC0_START": "number",
"SC0_END": "number",
"SC1_START": "number",
"SC1_END": "number",
"SC2_START": "number",
"SC2_END": "number",
"SC3_START": "number",
"SC3_END": "number"
}
AutomationTrafficCounterSensorStatus: object
- signal:
- batteryVoltage:
- solarPanelPower:
- temperature:
- leftSpeedClass0ObjectCount:
- leftSpeedClass0AvgSpeed:
- rightSpeedClass0ObjectCount:
- rightSpeedClass0AvgSpeed:
- leftSpeedClass1ObjectCount:
- leftSpeedClass1AvgSpeed:
- rightSpeedClass1ObjectCount:
- rightSpeedClass1AvgSpeed:
- leftSpeedClass2ObjectCount:
- leftSpeedClass2AvgSpeed:
- rightSpeedClass2ObjectCount:
- rightSpeedClass2AvgSpeed:
- leftSpeedClass3ObjectCount:
- leftSpeedClass3AvgSpeed:
- rightSpeedClass3ObjectCount:
- rightSpeedClass3AvgSpeed:
- createdAt:
- updatedAt:
- receivedAt:
- online:
Example
{
"signal": "number",
"batteryVoltage": "number",
"solarPanelPower": "number",
"temperature": "number",
"leftSpeedClass0ObjectCount": "number",
"leftSpeedClass0AvgSpeed": "number",
"rightSpeedClass0ObjectCount": "number",
"rightSpeedClass0AvgSpeed": "number",
"leftSpeedClass1ObjectCount": "number",
"leftSpeedClass1AvgSpeed": "number",
"rightSpeedClass1ObjectCount": "number",
"rightSpeedClass1AvgSpeed": "number",
"leftSpeedClass2ObjectCount": "number",
"leftSpeedClass2AvgSpeed": "number",
"rightSpeedClass2ObjectCount": "number",
"rightSpeedClass2AvgSpeed": "number",
"leftSpeedClass3ObjectCount": "number",
"leftSpeedClass3AvgSpeed": "number",
"rightSpeedClass3ObjectCount": "number",
"rightSpeedClass3AvgSpeed": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
AutomationTrafficCounterSensorStatusPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"signal": "number",
"batteryVoltage": "number",
"solarPanelPower": "number",
"temperature": "number",
"leftSpeedClass0ObjectCount": "number",
"leftSpeedClass0AvgSpeed": "number",
"rightSpeedClass0ObjectCount": "number",
"rightSpeedClass0AvgSpeed": "number",
"leftSpeedClass1ObjectCount": "number",
"leftSpeedClass1AvgSpeed": "number",
"rightSpeedClass1ObjectCount": "number",
"rightSpeedClass1AvgSpeed": "number",
"leftSpeedClass2ObjectCount": "number",
"leftSpeedClass2AvgSpeed": "number",
"rightSpeedClass2ObjectCount": "number",
"rightSpeedClass2AvgSpeed": "number",
"leftSpeedClass3ObjectCount": "number",
"leftSpeedClass3AvgSpeed": "number",
"rightSpeedClass3ObjectCount": "number",
"rightSpeedClass3AvgSpeed": "number",
"createdAt": "object",
"updatedAt": "object",
"receivedAt": "object",
"online": "boolean"
}
],
"size": "number",
"index": "number"
}
}
AutomationValveStatusUpdateIntervalsInput: object
- closedIntervalUnit:
- closedInterval:
- openedIntervalUnit:
- openedInterval:
Example
{
"closedIntervalUnit": "string",
"closedInterval": "number",
"openedIntervalUnit": "string",
"openedInterval": "number"
}
CommandDeviceEffect: object
- id:
- commandScheduleId:
- commandId:
- params:
- lastExecutionDate:
- executionCount:
- device:
Example
{
"id": "number",
"commandScheduleId": "number",
"commandId": "number",
"params": "object",
"lastExecutionDate": "object",
"executionCount": "number",
"device": {
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {}
}
}
CommandSchedule: object
- id:
- name:
- description:
- groupId:
- group:
- active:
- months:
- daysOfMonth:
- daysOfWeek:
- startDate:
- repeatPattern:
- createdBy:
- editedBy:
- createdAt:
- updatedAt:
- deviceEffects:
Example
{
"id": "number",
"name": "string",
"description": "string",
"groupId": "object",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string"
}
]
}
}
CommandScheduleAllowedSortingFields: string
Command schedule allowed sorting fields
-
objectname
-
objectid
-
objectcreatedAt
-
objectupdatedAt
CommandSchedulePaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"id": "number",
"name": "string",
"description": "string",
"groupId": "object",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number"
}
]
}
}
]
}
}
CommandScheduleRepetitionPattern: string
Command Schedule Repetition pattern
-
objectOnce
-
objectDaily
-
objectWeekly
-
objectMonthly
-
objectQuarterly
-
objectBiannually
CommandScheduleResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"id": "number",
"name": "string",
"description": "string",
"groupId": "object",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number"
}
]
}
}
}
CommandSchedulesSortingConditionInput: object
- field:
- order:
Example
{
"field": "string",
"order": "string"
}
Connector: object
- id:
- organizationId:
- name:
- type:
- vendor:
- topicBase:
Example
{
"id": "object",
"organizationId": "string",
"name": "string",
"type": {
"id": "string",
"name": "string"
},
"vendor": {
"id": "string",
"name": "string"
},
"topicBase": "string"
}
ConnectorCreation: object
- id:
- organizationId:
- name:
- type:
- vendor:
- username:
- password:
Example
{
"id": "object",
"organizationId": "string",
"name": "string",
"type": {
"id": "string",
"name": "string"
},
"vendor": {
"id": "string",
"name": "string"
},
"username": "string",
"password": "string"
}
ConnectorCreationResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"id": "object",
"organizationId": "string",
"name": "string",
"type": {
"id": "string",
"name": "string"
},
"vendor": {
"id": "string",
"name": "string"
},
"username": "string",
"password": "string"
}
}
ConnectorPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"id": "object",
"organizationId": "string",
"name": "string",
"type": {
"id": "string",
"name": "string"
},
"vendor": {
"id": "string",
"name": "string"
},
"topicBase": "string"
}
],
"size": "number",
"index": "number"
}
}
ConnectorResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"id": "object",
"organizationId": "string",
"name": "string",
"type": {
"id": "string",
"name": "string"
},
"vendor": {
"id": "string",
"name": "string"
},
"topicBase": "string"
}
}
ConnectorSchemaResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"createConnector": "object",
"createConnectorUser": "object"
}
}
ConnectorTypesResponse: object
- status:
- items:
Example
{
"status": "string",
"items": [
{
"id": "string",
"name": "string"
}
]
}
ConnectorUser: object
- id:
- name:
- connectorClients:
- accessType:
- removable:
Example
{
"id": "string",
"name": "string",
"connectorClients": "number",
"accessType": "string",
"removable": "boolean"
}
ConnectorUserCreation: object
- id:
- username:
- password:
- accessType:
- removable:
Example
{
"id": "string",
"username": "string",
"password": "string",
"accessType": "string",
"removable": "boolean"
}
ConnectorUserCreationResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"id": "string",
"username": "string",
"password": "string",
"accessType": "string",
"removable": "boolean"
}
}
ConnectorUsersPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"id": "string",
"name": "string",
"connectorClients": "number",
"accessType": "string",
"removable": "boolean"
}
],
"size": "number",
"index": "number"
}
}
ConnectorVendorsResponse: object
- status:
- items:
Example
{
"status": "string",
"items": [
{
"id": "string",
"name": "string"
}
]
}
ConnectorsSortingConditionInput: object
- field:
- order:
Example
{
"field": "string",
"order": "string"
}
Control: object
- id:
- title:
- columns:
- groupId:
- group:
- userIds:
- coverImage:
- logoImage:
- createdBy:
- updatedBy:
- createdAt:
- updatedAt:
- controlElements:
Example
{
"id": "object",
"title": "string",
"columns": "number",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string"
}
]
}
}
ControlAllowedSortingFields: string
Control allowed sorting fields
-
objecttitle
-
objectcreatedAt
-
objectupdatedAt
ControlCommandButton: object
- controlElementId:
- deviceSerial:
- device:
- deviceCommandId:
- params:
- deviceCommandCode:
Example
{
"controlElementId": "number",
"deviceSerial": "string",
"device": {
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {
"id": "number",
"name": "string",
"code": "string",
"createdAt": "object"
}
}
}
ControlCommandTempDimming: object
- controlElementId:
- deviceSerial:
- device:
- deviceCommandId:
- defaultTiming:
- defaultDimming:
- params:
Example
{
"controlElementId": "number",
"deviceSerial": "string",
"device": {
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {
"id": "number",
"name": "string",
"code": "string",
"createdAt": "object"
}
}
}
ControlData: object
- id:
- controlElementId:
- deviceSerial:
- device:
- deviceCommandCode:
- dataResponse:
Example
{
"id": "object",
"controlElementId": "number",
"deviceSerial": "string",
"device": {
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {
"id": "number",
"name": "string",
"code": "string"
}
}
}
ControlElement: object
- id:
- type:
- title:
- description:
- orderSequence:
- enabled:
- createdAt:
- updatedAt:
-
controlCommands:
object[]
- controlData:
Example
{
"id": "object",
"type": "string",
"title": "string",
"description": "string",
"orderSequence": "number",
"enabled": "boolean",
"createdAt": "object",
"updatedAt": "object",
"controlCommands": [
null
],
"controlData": [
{
"id": "object",
"controlElementId": "number",
"deviceSerial": "string",
"device": {
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number"
}
}
]
}
ControlElementTypes: string
Control Element Types
-
objectButton
-
objectInfo
-
objectData
-
objectTempDimming
ControlImage: object
- path:
- filename:
- url:
- contentType:
- size:
- createdAt:
- updatedAt:
Example
{
"path": "string",
"filename": "string",
"url": "string",
"contentType": "string",
"size": "number",
"createdAt": "object",
"updatedAt": "object"
}
ControlPaginatedResponse: object
- status:
- total:
- page:
Example
{
"status": "string",
"total": "number",
"page": {
"items": [
{
"id": "object",
"title": "string",
"columns": "number",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number"
}
]
}
}
]
}
}
ControlResponse: object
- status:
- item:
Example
{
"status": "string",
"item": {
"id": "object",
"title": "string",
"columns": "number",
"groupId": "string",
"group": {
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number",
"currency": "string",
"type": "string",
"groupMap": {
"id": "number",
"height": "number",
"width": "number",
"url": "string",
"createdAt": "object",
"updatedAt": "object"
},
"children": [
{
"organizationId": "string",
"id": "object",
"name": "string",
"path": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"createdAt": "object",
"updatedAt": "object",
"countDevices": "number",
"countDevicesDeep": "number",
"countChildren": "number",
"countChildrenDeep": "number"
}
]
}
}
}
ControlsSortingConditionInput: object
- field:
- order:
Example
{
"field": "string",
"order": "string"
}
CreateAutomationInput: object
- description:
- ioConfig:
- loadCellConfig:
- peopleCounterCameraConfig:
- io02Config:
Example
{
"description": "string",
"ioConfig": {
"inputs": [
{
"key": "number",
"label": "string",
"connectedOutputs": [
"number"
]
}
],
"outputs": [
{
"key": "number",
"label": "string"
}
]
},
"loadCellConfig": {
"nominalLoad": "number",
"thresholdOne": "number",
"thresholdTwo": "number"
},
"peopleCounterCameraConfig": {
"areaNumber": "number"
},
"io02Config": {
"input": [
{
"key": "number",
"label": "string"
}
],
"output": [
{
"key": "number",
"label": "string"
}
]
}
}
CreateControlCommandInput: object
- deviceSerial:
- deviceCommandId:
- deviceCommandCode:
- defaultTiming:
- defaultDimming:
- params:
Example
{
"deviceSerial": "string",
"deviceCommandId": "number",
"deviceCommandCode": "string",
"defaultTiming": "boolean",
"defaultDimming": "boolean",
"params": "object"
}
CreateControlElementInput: object
- type:
- title:
- description:
- orderSequence:
- enabled:
- controlCommands:
- controlData:
Example
{
"type": "string",
"title": "string",
"description": "string",
"orderSequence": "number",
"enabled": "boolean",
"controlCommands": [
{
"deviceSerial": "string",
"deviceCommandId": "number",
"deviceCommandCode": "string",
"defaultTiming": "boolean",
"defaultDimming": "boolean",
"params": "object"
}
],
"controlData": [
{
"deviceSerial": "string",
"deviceCommandCode": "string"
}
]
}
CreateMeteringInput: object
- meterMID:
- connectedMeter:
- energyConsumptionEnabled:
- pulseOneConsumptionEnabled:
- pulseTwoConsumptionEnabled:
- pulseOneConfig:
- pulseTwoConfig:
Example
{
"meterMID": "boolean",
"connectedMeter": "string",
"energyConsumptionEnabled": "boolean",
"pulseOneConsumptionEnabled": "boolean",
"pulseTwoConsumptionEnabled": "boolean",
"pulseOneConfig": {
"type": "string",
"unitOfMeasure": "string",
"conversionRateMultiplier": "number"
},
"pulseTwoConfig": {
"type": "string",
"unitOfMeasure": "string",
"conversionRateMultiplier": "number"
}
}
CreateMqttDeviceInput: object
- version:
- meteringProtocol:
- automationOPCUAPLCProtocol:
Example
{
"version": "string",
"meteringProtocol": {
"productManufacturer": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"productSupplier": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"productModel": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"error": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"timestamp": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"battery": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"signalLevel": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"electricVoltageL1": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"electricVoltageL2": {
"required": "boolean",
"multiplier": "number",
"unitOfMeasure": "string",
"path": "string"
},
"electricVoltageL3": {
"required": "boolean"
}
}
}
CustomizedScheduleSettingFunctionType: string
Customized Schedule Setting Function Type
-
objectLIGHTON
-
objectLIGHTOFF
-
objectSETDIMMING
DailyProgramStatus: string
Lighting daily program status
-
objectCREATED
-
objectSENT
-
objectCONFIRMED
-
objectFAILED
-
objectTIMEOUT
DateTime: object
The javascript Date
as string. Type represents date and time as the ISO Date string.
Example
object
DateTimeScalar: object
The javascript Date as string. Type represents date and time as the ISO Date string.
Example
object
DayOfWeek: string
Day of week
-
objectMONDAY
-
objectTUESDAY
-
objectWEDNESDAY
-
objectTHURSDAY
-
objectFRIDAY
-
objectSATURDAY
-
objectSUNDAY
Device: object
- id:
- organizationId:
- deviceHash:
- serial:
- name:
- supplier:
- tag:
- latitude:
- longitude:
- positionType:
- positionY:
- positionX:
- timeZone:
- networkType:
- loraParams:
- mqttParams:
- maxLifetimeHours:
- maxLifetimeWarningPercentage:
- statusUpdateHoursOffset:
- referenceNumber:
- online:
- errors:
- statusUpdatedAt:
- createdAt:
- updatedAt:
- model:
- group:
- virtualAsset:
- metering:
- lighting:
- parking:
- automation:
- attachments:
- images:
-
status:
object
- connectorId:
Example
{
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {
"id": "number",
"name": "string",
"code": "string",
"createdAt": "object",
"updatedAt": "object",
"type": {
"id": "number"
}
}
}
DeviceAllowedSortingFields: string
Device allowed sorting fields
-
objectname
-
objectserial
-
objecttypeName
-
objectmodelName
-
objectgroupName
DeviceArrayResponse: object
- status:
- items:
Example
{
"status": "string",
"items": [
{
"id": "object",
"organizationId": "string",
"deviceHash": "string",
"serial": "string",
"name": "string",
"supplier": "string",
"tag": "string",
"latitude": "number",
"longitude": "number",
"positionType": "string",
"positionY": "number",
"positionX": "number",
"timeZone": "string",
"networkType": "string",
"loraParams": {
"id": "number",
"deviceEUI": "string",
"applicationEUI": "string",
"joinEUI": "string",
"version": "string",
"loraClass": "string",
"regionalParametersRevision": "string",
"region": "string",
"activationType": "string",
"createdAt": "object",
"updatedAt": "object"
},
"mqttParams": {
"id": "number",
"version": "string",
"createdAt": "object",
"updatedAt": "object"
},
"maxLifetimeHours": "number",
"maxLifetimeWarningPercentage": "number",
"statusUpdateHoursOffset": "number",
"referenceNumber": "string",
"online": "boolean",
"errors": [
"string"
],
"statusUpdatedAt": "object",
"createdAt": "object",
"updatedAt": "object",
"model": {
"id": "number",
"name": "string",
"code": "string",
"createdAt": "object",
"updatedAt": "object"
}
}
]
}