RelynkLearn
Builder APIAPI referencePoints

points.list (version 1)

Points (sensors, meters, setpoints, commands) with their unit and latest reading, for a building, for given equipment or rooms (resourceIds: the points they have), or by id. Give at least one of buildingId, resourceIds or ids. To find a kind of point on a kind of resource (room temperatures, the supply air temperature of air handling units), first list those resources with resources.list (typeKeys from resourceTypes.list), then pass their ids as resourceIds together with the point typeKeys: a point type with only a buildingId also matches points of every other resource in the building, and typeKeys include subtypes (brick_Temperature_Sensor also matches supply, return and outside air temperature sensors). Each point names its exact typeKey and its resourceIds. Pages by id: pass nextCursor back until it is null. Feed the ids to points.timeseries, points.summary or points.raw.

POST
/points.list/v1

Authorization

bearer
headerAuthorizationBearer <JWT>

A signed-in Relynk user's access token: OAuth 2.0 authorization code with PKCE at https://auth.relynk.io/authorize and https://auth.relynk.io/oauth/token, with audience https://ai.relynk.io/builder. The caller sees exactly what that user may see.

Query Parameters

tenantId?string

The tenant to read. May be left out when the caller belongs to exactly one tenant; GET /me lists them.

Formatuuid

Request Body

application/json
  1. body
buildingId?string

A building id (from buildings.list). Matches the building itself and everything that is part of it

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
resourceIds?array<>

Only points of these resources (equipment, rooms, meters)

Items1 <= items <= 1000
ids?array<>

Only these points

Items1 <= items <= 1000
typeKeys?array<>

Only these types and their subtypes, e.g. ["rec_Room"] (keys from resourceTypes.list)

Items1 <= items <= 100
unitKeys?array<>

Only these units, e.g. ["unit_Kilo_W_hr"]

Items1 <= items <= 50
search?string

Only names containing this text, ignoring case

Length1 <= length <= 200
limit?integer
Range1 <= value <= 2000
Default500
cursor?string

nextCursor from the previous page; omit for the first page

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Response Body

The function output

application/json
  1. response
points*array<>
Itemsitems <= 2000
nextCursor*|

Pass as cursor for the next page; null on the last

Example Request
curl -X POST 'https://ai.relynk.io/builder/v1/points.list/v1' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "points": [    {      "id": "string",      "name": "string",      "typeKey": "string",      "typeName": "string",      "typePath": "string",      "unitKey": "string",      "unit": "string",      "resourceIds": [        "string"      ],      "buildingId": "string",      "latest": {        "time": "string",        "value": 0,        "text": "string"      }    }  ],  "nextCursor": "string"}