Skip to main content
Version: Next

API Reference V2.0.0 [BETA]

caution

You are currently looking at a work in progress version of the Relynk API V2.0.0. Consider the underlying APIs and messaging formats as stable, but many APIs are will be added over time. If you feel anything is missing or face any issues please reach out to support@relynk.io.

Relynk API (2.0.0_beta)

Download OpenAPI specification:Download

customers

Customer API

get list of customers that the user has access to

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Value: "name"

sort the returned list

name
string

filter by name

id
string <uuid>

filter by id

name__contains
string

filter by name contains

Responses

Response samples

Content type
application/json
[
  • {
    }
]

points

Point API

get list of points

get list of points. points could be sensors, actuators, parameters, commands, setpoints or alarms

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

id
string <uuid>

filter by id

fromIntegrationId
string

filter by from integration id

fromIntegrationName
string

filter by from integration name

subtype
string
Examples:
  • subtype=https://brickschema.org/schema/Brick#Temperature_Sensor - temperature sensor
  • subtype=https://brickschema.org/schema/Brick#Temperature_Setpoint - temperature setpoint
  • subtype=https://brickschema.org/schema/Brick#Occupancy_Sensor - occupancy sensor
  • subtype=https://brickschema.org/schema/Brick#CO2_Sensor - co2 sensor

filter by subtype using brickschema/real estate core standard full uri.

hasUnit
string
Examples:
  • hasUnit=http://qudt.org/vocab/unit/DEG_C - degree celsius
  • hasUnit=http://qudt.org/vocab/unit/KiloW-HR - kilo watt hours
  • hasUnit=http://qudt.org/vocab/unit/PERCENT - percent
  • hasUnit=http://qudt.org/vocab/unit/PPM - parts per million

filter by unit, using qudt/brickschema/real estate core standard full uri.

isPointOfAssetId
string <uuid>

filter by is point of asset id

isPointOfAssetName
string

filter by is point of asset name

isPointOfAssetName__contains
string

filter by is point of asset name contains

isPointOfSpaceId
string <uuid>

filter by is point of space id

isPointOfSpaceName
string

filter by is point of space name

isPointOfSpaceName__contains
string

filter by is point of space name contains

includeOptionalFields
Array of strings
Items Enum: "isPointOfAssetIds" "isPointOfSpaceIds"

include point fields that are not returned by defafault. these match the returned fields object keys that they will enable.

Responses

Response samples

Content type
application/json
[]

get list of points timeseries

get list of points timeseries, points could be sensors, actuators, parameters, commands, setpoints or alarms

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

from
string <date-time>

from date time, when provided together with parameter "to", the timespan must not exceed 6 months

to
string <date-time>

to date time, when provided together with parameter "from", the timespan must not exceed 6 months

limit
integer [ 1 .. 2000 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Value: "timestamp"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

id
string <uuid>

filter by id

fromIntegrationId
string

filter by from integration id

fromIntegrationName
string

filter by from integration name

subtype
string
Examples:
  • subtype=https://brickschema.org/schema/Brick#Temperature_Sensor - temperature sensor
  • subtype=https://brickschema.org/schema/Brick#Temperature_Setpoint - temperature setpoint
  • subtype=https://brickschema.org/schema/Brick#Occupancy_Sensor - occupancy sensor
  • subtype=https://brickschema.org/schema/Brick#CO2_Sensor - co2 sensor

filter by subtype using brickschema/real estate core standard full uri.

hasUnit
string
Examples:
  • hasUnit=http://qudt.org/vocab/unit/DEG_C - degree celsius
  • hasUnit=http://qudt.org/vocab/unit/KiloW-HR - kilo watt hours

filter by unit

isPointOfAssetId
string <uuid>

filter by is point of asset id

isPointOfAssetName
string

filter by is point of asset name

isPointOfAssetName__contains
string

filter by is point of asset name contains

isPointOfSpaceId
string <uuid>

filter by is point of space id

isPointOfSpaceName
string

filter by is point of space name

isPointOfSpaceName__contains
string

filter by is point of space name contains

includeOptionalFields
Array of strings
Items Enum: "hasUnit" "name" "subtype"

include point value fields that are not returned by defafault. these match the returned fields object keys that they will enable.

Responses

Response samples

Content type
application/json
[]

get list of points latest values

get list of points latest values, points could be sensors, actuators, parameters, commands, setpoints or alarms

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name" "value" "timestamp"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

id
string <uuid>

filter by id

fromIntegrationId
string

filter by from integration id

fromIntegrationName
string

filter by from integration name

subtype
string
Examples:
  • subtype=https://brickschema.org/schema/Brick#Temperature_Sensor - temperature sensor
  • subtype=https://brickschema.org/schema/Brick#Temperature_Setpoint - temperature setpoint
  • subtype=https://brickschema.org/schema/Brick#Occupancy_Sensor - occupancy sensor
  • subtype=https://brickschema.org/schema/Brick#CO2_Sensor - co2 sensor

filter by subtype using brickschema/real estate core standard full uri.

hasUnit
string
Examples:
  • hasUnit=http://qudt.org/vocab/unit/DEG_C - degree celsius
  • hasUnit=http://qudt.org/vocab/unit/KiloW-HR - kilo watt hours

filter by unit, using qudt/brickschema/real estate core standard full uri.

isPointOfAssetId
string <uuid>

filter by is point of asset id

isPointOfAssetName
string

filter by is point of asset name

isPointOfAssetName__contains
string

filter by is point of asset name contains

isPointOfSpaceId
string <uuid>

filter by is point of space id

isPointOfSpaceName
string

filter by is point of space name

isPointOfSpaceName__contains
string

filter by is point of space name contains

includeOptionalFields
Array of strings
Items Enum: "hasUnit" "name" "subtype"

include point value fields that are not returned by defafault. these match the returned fields object keys that they will enable.

Responses

Response samples

Content type
application/json
[]

spaces

Space API

get list of spaces

get list of spaces, these include rooms, floors/levels, buildings, etc.

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

displayName
string

filter by display name

displayName__contains
string

filter by display name contains

id
string <uuid>

filter by id

type
string
Examples:
  • type=https://w3id.org/rec#Room - Room
  • type=https://w3id.org/rec#Level - Level / Floor
  • type=https://w3id.org/rec#Building - Building

filter by category using brickschema/real estate core standard full uri.

subtype
string
Examples:
  • subtype=https://w3id.org/rec#Room - Room
  • subtype=https://w3id.org/rec#MeetingRoom - Meeting Room
  • subtype=https://w3id.org/rec#Office - Office

filter by subtype using brickschema/real estate core standard full uri.

levelNumber
integer

filter by level number

isPartOfSpaceId
string <uuid>

filter by is part of space id

path__contains
string

filter by path contains space ids . seperated

includeOptionalFields
Array of strings
Items Enum: "hasPartSpaceIds" "isLocationOfAssetIds" "isLocationOfBuildingElementIds" "hasGeometryIds" "hasFileIds" "hasPointIds" "isFedByAssetIds" "isOwnedByAgentIds" "includedByCollectionIds" "meteredByAssetIds"

include optional fields

Responses

Response samples

Content type
application/json
[
  • {
    }
]

get latest status of spaces

get latest status of spaces

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

displayName
string

filter by display name

displayName__contains
string

filter by display name contains

id
string <uuid>

filter by id

type
string
Examples:
  • type=https://w3id.org/rec#Room - Room
  • type=https://w3id.org/rec#Level - Level / Floor

filter by type using brickschema/real estate core standard full uri.

subtype
string
Examples:
  • subtype=https://w3id.org/rec#Room - Room
  • subtype=https://w3id.org/rec#MeetingRoom - Meeting Room
  • subtype=https://w3id.org/rec#Office - Office

filter by subtype using brickschema/real estate core standard full uri.

levelNumber
integer

filter by level number

isPartOfSpaceId
string <uuid>

filter by is part of space id

path__contains
string

filter by path contains

includeOptionalFields
Array of strings
Items Enum: "name" "displayName" "occupancy" "occupancyCount" "temperature" "humidity" "co2" "todaysBookingEvents"

include status fields

Responses

Response samples

Content type
application/json
[]

assets

Asset API

Get all assets

Get all assets, these are the physical assets in the customer's environment like air handling units, chillers, radiators, dampers, etc.

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

id
string <uuid>

filter by id

type
string
Examples:
  • type=https://brickschema.org/schema/Brick#Equipment - Equipment
  • type=https://brickschema.org/schema/Brick#Furniture - Furniture

filter by category using brickschema/real estate core standard full uri.

subtype
string
Examples:
  • subtype=https://brickschema.org/schema/Brick#Air_Handling_Unit - Air Handling Unit
  • subtype=https://brickschema.org/schema/Brick#Damper - Damper

filter by subtype using brickschema/real estate core standard full uri.

path__contains
string

filter by path contains space or asset id

includedByCollectionName
string

filter by included by collection name

includedByCollectionName__contains
string

filter by included by collection name contains

includeOptionalFields
Array of strings
Items Enum: "locatedInSpaces" "hasAssetParts" "isPartOfAssets" "hasPointIntegrationDataSources" "hasPointIds" "feedsAssets" "feedsSpaces" "fedByAssets" "ownedByAgents" "includedByCollections" "isSubMeterOfAssets" "isMeterOfAssets" "metersAssets" "meteredByAssets" "metersSpaces" "metersAgents" "metersCollections"

include optional fields that are not included in response by default, these match the keys in response object

Responses

Response samples

Content type
application/json
[
  • {
    }
]

collections

Collection API

get list of collections

get list of collections, these can include collections of assets, spaces, building elements, etc.

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (Limit) [ 1 .. 500 ]

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

order
string (Order)
Enum: "asc" "desc"

order the returned list

sort
string
Enum: "id" "name"

sort the returned list

name
string

filter by name

name__contains
string

filter by name contains

id
string <uuid>

filter by id

subtype
string

filter by subtype

includeOptionalFields
Array of strings
Items Enum: "includesAssetIds" "includesSpaceIds" "includesBuildingElementIds" "isOwnedByAgentIds" "isMeteredByAssetIds"

include optional fields

Responses

Response samples

Content type
application/json
[
  • {
    }
]

export

Bulk export API for resources, relationships, and point events

bulk export of tenant resources

Returns a paginated flat list of resources for bulk sync or ETL. Only resources whose main type is one of Agent, Space, Asset, Collection, BuildingElement, or Point are included; integration and internal export types are omitted. Results are ordered by resource id. Use limit and offset to page through the full dataset (default page size 50 000, maximum 200 000).

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (ExportLimit) [ 1 .. 200000 ]
Default: 50000

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

id
string <uuid>

filter by resource id

name
string

filter by exact resource name

name__contains
string

filter by resource name contains (case-insensitive)

mainType
string

filter by REC main type category, e.g. Point, Space, Asset, Collection, BuildingElement, Agent

rdfType
string
partOfBuildingResourceId
string <uuid>

filter by building resource id the resource belongs to

Responses

Response samples

Content type
application/json
[
  • {
    }
]

bulk export of tenant relationships

Returns a paginated flat list of relationships for bulk sync or ETL. Only relationships where both source and destination resources are of an included main type (Agent, Space, Asset, Collection, BuildingElement, or Point) are returned. Results are ordered by relationship id. Use limit and offset to page through the full dataset (default page size 50 000, maximum 200 000).

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

limit
integer (ExportLimit) [ 1 .. 200000 ]
Default: 50000

limit the number returned

offset
integer (Offset) >= 0

offset the returned list

rdfRelationshipType
string

filter by RDF relationship type URI, e.g. https://brickschema.org/schema/Brick#Has_Point

srcResourceId
string <uuid>

filter by source resource id

dstResourceId
string <uuid>

filter by destination resource id

srcResourceName
string

filter by exact source resource name

srcResourceName__contains
string

filter by source resource name contains (case-insensitive)

dstResourceName
string

filter by exact destination resource name

dstResourceName__contains
string

filter by destination resource name contains (case-insensitive)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

bulk export of point event timeseries

Returns up to 200 000 point events per request together with a nextUrl for the following page. Designed for full historical export of a customer's point event data and continuous delta export.

Initial request — POST with only customerId. The server finds the earliest observation time for the customer and returns events from that time onwards`.

Continuation — Follow nextUrl from the previous response (or pass its cursor query parameter manually). The cursor value is the cursor value from the previous response.

Repeat POST requests using each nextUrl until the export 0 events is returned. To get future events, store the nextUrl and use this at a scheduled interval to receive future events ensuring to always store and use the latest nextUrl from last response.

Authorizations:
BearerAuthApiKeyAuth
query Parameters
customerId
required
string <uuid>

customer id context, id can be fetched from /customers endpoint

cursor
string
Example: cursor=MTcwNDA2NzIwMDow

pagination cursor

Responses

Response samples

Content type
application/json
{}