Not logged in - Login / Register

Retrieving points and groups

Small requests keep your application responsive

While it may be convenient to retrieve an entire tree (or retrieve data recursively) it will slow down your application significantly. Try to keep requests confined to the smallest group possible if responsiveness is important within your application.

Before you can get measurement data you need the id of a point or group.

You can find the top level group(s) you have access to with the GET /users/me/info call:

{
  "userName": "demo",
  "displayName": "Developer Demo",
  "emailAddress": "demo@qwiksense.com",
  "assignedMeasurementGroupIds": [
    "mpg2"
  ]
}

Group info can be retrieved using GET /groups/{id}:

{
  "id": "mpg2",
  "displayName": "Root",
  "mpgType": "company",
  "thresholds": [
    {
      "parameter": "temperature",
      "lowerThreshold": 19,
      "upperThreshold": 23
    },
    {
      "parameter": "humidity",
      "lowerThreshold": 30,
      "upperThreshold": 60
    },
    {
      "parameter": "co2",
      "lowerThreshold": 360,
      "upperThreshold": 1000
    }
  ],
  "workingHours": {
    "startTime": "09:00",
    "stopTime": "17:00"
  },
  "childIds": {
    "groupIds": [],
    "pointIds": [
      "mp2",
      "mp4"
    ]
  }
}

In the example response above you can see the pointIds that are contained within this group. The id's of contained groups are also shown if available.

If you would like to have a recursive tree of the sensor and group hierarchy you can set the includeDescendants parameter to true:

{
  "id": "mpg2",
  "displayName": "Root",
  "mpgType": "company",
  "thresholds": [
    {
      "parameter": "temperature",
      "lowerThreshold": 19,
      "upperThreshold": 23
    },
    {
      "parameter": "humidity",
      "lowerThreshold": 30,
      "upperThreshold": 60
    },
    {
      "parameter": "co2",
      "lowerThreshold": 360,
      "upperThreshold": 1000
    }
  ],
  "workingHours": {
    "startTime": "09:00",
    "stopTime": "17:00"
  },
  "children": {
    "subgroups": [],
    "points": [
      {
        "assigned": {
          "startTime": 1421921620,
          "stopTime": 1581606400
        },
        "id": "mp2",
        "displayName": "SIG1647C",
        "parentId": "mpg2"
      },
      {
        "assigned": {
          "startTime": 1478768400,
          "stopTime": 1510272000
        },
        "available": {
          "startTime": 1479128097,
          "stopTime": 1489585506
        },
        "id": "mp4",
        "displayName": "Iotta (movement)",
        "parentId": "mpg3",
        "parameters": [
          "temperature",
          "humidity",
          "co2",
          "movement"
        ]
      }
    ]
  }
}

Getting info for a specific point is also possible, using GET /points/{id}:

{
  "assigned": {
    "startTime": 1421921620,
    "stopTime": 1581606400
  },
  "available": {
    "startTime": 1469091190,
    "stopTime": 1489586131
  },
  "id": "mp2",
  "displayName": "SIG1647C",
  "parentId": "mpg2",
  "parameters": [
    "temperature",
    "humidity",
    "co2"
  ]
}