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:

Flow

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:

playground


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.

docs


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.

schema


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)

search:
string

(no description)

page:
integer

(no description)

pageSize:
integer

(no description)

deviceModels:

(no description)

deviceTypes:

(no description)

groupId:
string

(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
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

serial:
string

(no description)

id:
string

(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
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

organizationId:
string

(no description)

search:
string

(no description)

deviceTypes:

(no description)

userId:
string

(no description)

flat:
boolean

(no description)

page:
integer

(no description)

pageSize:
integer

(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
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

organizationId:
string

(no description)

userId:
string

(no description)

id:
string

(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
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

name:
string

(no description)

type:

(no description)

latitude:
number

(no description)

longitude:
number

(no description)

timeZone:
string

(no description)

parentId:
string

(no description)

height:
number

(no description)

width:
number

(no description)

positionType:

(no description)

positionY:
number

(no description)

positionX:
number

(no description)

currency:
string

(no description)

file:
object

(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
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

id:
string

(no description)

name:
string

(no description)

type:

(no description)

timeZone:
string

(no description)

currency:
string

(no description)

latitude:
number

(no description)

longitude:
number

(no description)

height:
number

(no description)

width:
number

(no description)

positionType:

(no description)

positionY:
number

(no description)

positionX:
number

(no description)

file:
object

(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
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)

search:
string

(no description)

page:
integer

(no description)

pageSize:
integer

(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
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

programId:
integer

(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
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

to:
object

(no description)

from:
object

(no description)

groupId:
string

(no description)

programId:
integer

(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
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

scheduleId:
integer

(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
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

page:
integer

(no description)

pageSize:
integer

(no description)

(no description)

search:
string

(no description)

(no description)

groupId:
string

(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
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

programId:
integer

(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
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

page:
integer

(no description)

pageSize:
integer

(no description)

from:
object

(no description)

to:
object

(no description)

groupIds:
string[]

(no description)

programId:
number

(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
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

scheduleId:
integer

(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
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

page:
integer

(no description)

pageSize:
integer

(no description)

(no description)

search:
string

(no description)

(no description)

groupId:
string

(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
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

programId:
integer

(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
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

page:
integer

(no description)

pageSize:
integer

(no description)

from:
object

(no description)

to:
object

(no description)

groupIds:
string[]

(no description)

programId:
number

(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
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

scheduleId:
integer

(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
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",

object
CREATED
object
SENT
object
CONFIRMED
object
FAILED
object
TIMEOUT

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:
Int
online:
createdAt:
updatedAt:
receivedAt:
digitalInputOne:
digitalInputTwo:
Example
{
  "signal": "number",
  "online": "boolean",
  "createdAt": "object",
  "updatedAt": "object",
  "receivedAt": "object",
  "digitalInputOne": "boolean",
  "digitalInputTwo": "boolean"
}

AutomationDigitalOutputStatus: object

signal:
Int
online:
createdAt:
updatedAt:
receivedAt:
digitalOutputOne:
digitalOutputTwo:
Example
{
  "signal": "number",
  "online": "boolean",
  "createdAt": "object",
  "updatedAt": "object",
  "receivedAt": "object",
  "digitalOutputOne": "boolean",
  "digitalOutputTwo": "boolean"
}

AutomationIO01DigitalInputStatusPaginatedResponse: object

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

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

Example
{
  "input": [
    {
      "key": "number",
      "label": "string"
    }
  ],
  "output": [
    {
      "key": "number",
      "label": "string"
    }
  ]
}

AutomationIO02ControlConfigInput: object

Example
{
  "input": [
    {
      "key": "number",
      "label": "string"
    }
  ],
  "output": [
    {
      "key": "number",
      "label": "string"
    }
  ]
}

AutomationIO02ControlConfigInputItem: object

key:
Int
label:
Example
{
  "key": "number",
  "label": "string"
}

AutomationIO02ControlConfigItem: object

key:
Int
label:
Example
{
  "key": "number",
  "label": "string"
}

AutomationIO02ControlStatus: object

key:
Int
label:
value:
receivedAt:
online:
Example
{
  "key": "number",
  "label": "string",
  "value": "boolean",
  "receivedAt": "object",
  "online": "boolean"
}

AutomationIO02ControlStatusBase: object

key:
Int
label:
value:
Example
{
  "key": "number",
  "label": "string",
  "value": "boolean"
}

AutomationIO02DigitalData: object

inputCountersType1:
frequencyMeter:
inputCountersType2:
outputCounter:
Int
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

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

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:
Int
date:
frequency:
Int
Example
{
  "measure": "number",
  "date": "object",
  "frequency": "number"
}

AutomationIO02GeneralSettingsCommandInput: object

generalSettingsOption:
enable:
Example
{
  "generalSettingsOption": "string",
  "enable": "boolean"
}

AutomationIO02IOCommandControl: object

key:
Int
value:
Example
{
  "key": "number",
  "value": "boolean"
}

AutomationIO02IOCommandPayload: object

Example
{
  "controls": [
    {
      "key": "number",
      "value": "boolean"
    }
  ]
}

AutomationIO02InputCounterType1: object

measure:
Int
counter:
Int
Example
{
  "measure": "number",
  "counter": "number"
}

AutomationIO02InputCounterType2: object

Example
{
  "measures": [
    {
      "measure": "number",
      "counter": "number",
      "date": "object"
    }
  ]
}

AutomationIO02InputCounterType2Measure: object

measure:
Int
counter:
Int
date:
Example
{
  "measure": "number",
  "counter": "number",
  "date": "object"
}

AutomationIO02PeriodCommandInput: object

periodOption:
minutes:
Int
Example
{
  "periodOption": "string",
  "minutes": "number"
}

AutomationIO02Status: object

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

Example
{
  "status": "string",
  "total": "number",
  "page": {
    "items": [
      {
        "key": "number",
        "label": "string",
        "value": "boolean",
        "receivedAt": "object",
        "online": "boolean"
      }
    ],
    "size": "number",
    "index": "number"
  }
}

AutomationIO02StatusHistory: object

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

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"
      }
    ]
  }
}

AutomationLoadCellLoadStatus: object

nominalLoad:
Int
thresholdOne:
Int
thresholdTwo:
Int
Example
{
  "nominalLoad": "number",
  "thresholdOne": "number",
  "thresholdTwo": "number"
}

AutomationLoadCellLoadStatusResponse: object

Example
{
  "status": "string",
  "item": {
    "nominalLoad": "number",
    "thresholdOne": "number",
    "thresholdTwo": "number"
  }
}

AutomationLoadCellStatus: object

signal:
Int
weight:
batteryPercentage:
Int
timeShift:
Int
receivedAt:
online:
Example
{
  "signal": "number",
  "weight": "number",
  "batteryPercentage": "number",
  "timeShift": "number",
  "receivedAt": "object",
  "online": "boolean"
}

AutomationLoadCellStatusPaginatedResponse: object

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

object
NOMINAL_LOAD
object
THRESHOLD_ONE
object
THRESHOLD_TWO

AutomationLoadCellTotalLoad: object

total:
Example
{
  "total": "number"
}

AutomationLoadCellTotalLoadResponse: object

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

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"
  }
}

AutomationOutputInput: object

output:
Example
{
  "output": "boolean"
}

AutomationPC01Status: object

signal:
Int
leftToRight:
Int
rightToLeft:
Int
createdAt:
updatedAt:
receivedAt:
online:
Example
{
  "signal": "number",
  "leftToRight": "number",
  "rightToLeft": "number",
  "createdAt": "object",
  "updatedAt": "object",
  "receivedAt": "object",
  "online": "boolean"
}

AutomationPC01StatusPaginatedResponse: object

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:
Int
totalCounterIn:
Int
totalCounterOut:
Int
createdAt:
updatedAt:
receivedAt:
online:
Example
{
  "signal": "number",
  "totalCounterIn": "number",
  "totalCounterOut": "number",
  "createdAt": "object",
  "updatedAt": "object",
  "receivedAt": "object",
  "online": "boolean"
}

AutomationPC02StatusPaginatedResponse: object

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:
Int
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:
Int
variableType:
variableDirection:
variableLabel:
variableUnit:
scaleFactor:
Int
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

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"
  }
}

AutomationPeopleCounterCameraRegionData: object

region:
Int
people:
Int
Example
{
  "region": "number",
  "people": "number"
}

AutomationPeopleCounterCameraStatus: object

signal:
Int
in:
Int
out:
Int
totalPeople:
Int
totalRegion:
Int
maxPeople:
Int
regionPeopleCount:
regionPeoples:
Int
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

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

Example
{
  "status": "string",
  "item": {
    "buttonOneLastPressedAt": "object",
    "buttonTwoLastPressedAt": "object",
    "buttonThreeLastPressedAt": "object",
    "buttonFourLastPressedAt": "object"
  }
}

AutomationRakSmartButtonStatus: object

signal:
Int
buttonOne:
Int
buttonTwo:
Int
buttonThree:
Int
buttonFour:
Int
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

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:
Int
tamper:
process:
battery:
Int
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

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:
Int
tamper:
process:
battery:
Int
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

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:
Int
Example
{
  "status": "string",
  "timeBase": "string",
  "interval": "number"
}

AutomationTrafficCounterSensorRequestCommandInput: object

operatingMode:
deviceClass:
uplinkType:
uplinkInterval:
Int
linkCheckInterval:
Int
holdoffTime:
Int
radarAutotuning:
radarSensitivity:
Int
LTRLaneDist:
Int
RTLLaneDist:
Int
SC0_START:
Int
SC0_END:
Int
SC1_START:
Int
SC1_END:
Int
SC2_START:
Int
SC2_END:
Int
SC3_START:
Int
SC3_END:
Int
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:
Int
batteryVoltage:
solarPanelPower:
temperature:
leftSpeedClass0ObjectCount:
Int
leftSpeedClass0AvgSpeed:
Int
rightSpeedClass0ObjectCount:
Int
rightSpeedClass0AvgSpeed:
Int
leftSpeedClass1ObjectCount:
Int
leftSpeedClass1AvgSpeed:
Int
rightSpeedClass1ObjectCount:
Int
rightSpeedClass1AvgSpeed:
Int
leftSpeedClass2ObjectCount:
Int
leftSpeedClass2AvgSpeed:
Int
rightSpeedClass2ObjectCount:
Int
rightSpeedClass2AvgSpeed:
Int
leftSpeedClass3ObjectCount:
Int
leftSpeedClass3AvgSpeed:
Int
rightSpeedClass3ObjectCount:
Int
rightSpeedClass3AvgSpeed:
Int
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

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:
Int
openedIntervalUnit:
openedInterval:
Int
Example
{
  "closedIntervalUnit": "string",
  "closedInterval": "number",
  "openedIntervalUnit": "string",
  "openedInterval": "number"
}

Boolean: boolean

The Boolean scalar type represents true or false.

Example
boolean

BooleanParamInput: object

value:
Example
{
  "value": "boolean"
}

CommandDeviceEffect: object

id:
Int
commandScheduleId:
Int
commandId:
Int
params:
lastExecutionDate:
executionCount:
Int
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": {}
  }
}

CommandDeviceEffectInput: object

deviceSerial:
commandId:
Int
params:
Example
{
  "deviceSerial": "string",
  "commandId": "number",
  "params": "object"
}

CommandSchedule: object

id:
Int
name:
description:
groupId:
ID
group:
active:
months:
Int
daysOfMonth:
Int
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

object
name
object
id
object
createdAt
object
updatedAt

CommandSchedulePaginatedResponse: object

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

object
Once
object
Daily
object
Weekly
object
Monthly
object
Quarterly
object
Biannually

CommandScheduleResponse: object

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

Example
{
  "field": "string",
  "order": "string"
}

Connector: object

id:
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:
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

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

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"
  }
}

ConnectorSchema: object

createConnector:
createConnectorUser:
Example
{
  "createConnector": "object",
  "createConnectorUser": "object"
}

ConnectorSchemaResponse: object

Example
{
  "status": "string",
  "item": {
    "createConnector": "object",
    "createConnectorUser": "object"
  }
}

ConnectorType: object

id:
name:
Example
{
  "id": "string",
  "name": "string"
}

ConnectorTypesResponse: object

status:
items:
Example
{
  "status": "string",
  "items": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

ConnectorUser: object

id:
name:
connectorClients:
Int
accessType:
removable:
Example
{
  "id": "string",
  "name": "string",
  "connectorClients": "number",
  "accessType": "string",
  "removable": "boolean"
}

ConnectorUserAccessType: string

Connector User Access Type

object
READONLY
object
WRITE

ConnectorUserCreation: object

id:
username:
password:
accessType:
removable:
Example
{
  "id": "string",
  "username": "string",
  "password": "string",
  "accessType": "string",
  "removable": "boolean"
}

ConnectorUserCreationResponse: object

Example
{
  "status": "string",
  "item": {
    "id": "string",
    "username": "string",
    "password": "string",
    "accessType": "string",
    "removable": "boolean"
  }
}

ConnectorUsersPaginatedResponse: object

Example
{
  "status": "string",
  "total": "number",
  "page": {
    "items": [
      {
        "id": "string",
        "name": "string",
        "connectorClients": "number",
        "accessType": "string",
        "removable": "boolean"
      }
    ],
    "size": "number",
    "index": "number"
  }
}

ConnectorVendor: object

id:
name:
Example
{
  "id": "string",
  "name": "string"
}

ConnectorVendorsResponse: object

Example
{
  "status": "string",
  "items": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

ConnectorsAllowedSortingFields: string

Connectors Allowed Sorting Fields

object
name
object
type

ConnectorsSortingConditionInput: object

Example
{
  "field": "string",
  "order": "string"
}

ConnectorsTypeNames: string

Connectors Type Names

object
MQTT
object
TTNLora

Control: object

id:
ID
title:
columns:
Int
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

object
title
object
createdAt
object
updatedAt

ControlCommandButton: object

controlElementId:
Int
deviceSerial:
device:
deviceCommandId:
Int
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:
Int
deviceSerial:
device:
deviceCommandId:
Int
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:
ID
controlElementId:
Int
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:
ID
type:
title:
description:
orderSequence:
Int
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

object
Button
object
Info
object
Data
object
TempDimming

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:
Int
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

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:
Int
deviceCommandCode:
defaultTiming:
defaultDimming:
params:
Example
{
  "deviceSerial": "string",
  "deviceCommandId": "number",
  "deviceCommandCode": "string",
  "defaultTiming": "boolean",
  "defaultDimming": "boolean",
  "params": "object"
}

CreateControlDataInput: object

deviceSerial:
deviceCommandCode:
Example
{
  "deviceSerial": "string",
  "deviceCommandCode": "string"
}

CreateControlElementInput: object

type:
title:
description:
orderSequence:
Int
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"
    }
  }
}

CreateOrganizationsUserInput: object

email:
organizationRoleId:
Example
{
  "email": "string",
  "organizationRoleId": "string"
}

CreateParkingInput: object

class:
Example
{
  "class": "string"
}

CreateParkingVirtualSlotInput: object

serial:
name:
latitude:
longitude:
positionY:
positionX:
Example
{
  "serial": "string",
  "name": "string",
  "latitude": "number",
  "longitude": "number",
  "positionY": "number",
  "positionX": "number"
}

CreateVirtualAssetInput: object

deviceCategoryId:
Int
urlInfo:
note:
Example
{
  "deviceCategoryId": "number",
  "urlInfo": "string",
  "note": "string"
}

CustomizedScheduleSettingFunctionType: string

Customized Schedule Setting Function Type

object
LIGHTON
object
LIGHTOFF
object
SETDIMMING

DailyProgramStatus: string

Lighting daily program status

object
CREATED
object
SENT
object
CONFIRMED
object
FAILED
object
TIMEOUT

DataReportingIntervalInput: object

interval:
Example
{
  "interval": "number"
}

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

object
MONDAY
object
TUESDAY
object
WEDNESDAY
object
THURSDAY
object
FRIDAY
object
SATURDAY
object
SUNDAY

Device: object

id:
ID
organizationId:
deviceHash:
serial:
name:
supplier:
tag:
latitude:
longitude:
positionType:
positionY:
positionX:
timeZone:
networkType:
loraParams:
mqttParams:
maxLifetimeHours:
Int
maxLifetimeWarningPercentage:
Int
statusUpdateHoursOffset:
Int
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

object
name
object
serial
object
typeName
object
modelName
object
groupName

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"
      }
    }
  ]
}

DeviceAttachment: object

id:
path:
filename:
url:
contentType:
size:
createdAt:
updatedAt:
Example
{
  "id": "string",
  "path": "string",
  "filename": "string",
  "url": "string",
  "contentType": "string",
  "size": "number",
  "createdAt": "object",
  "updatedAt": "object"
}

DeviceAttachmentArrayResponse: object