API reference
Register a sensor
A new sensor bound to the producer that registers it (an agent, a device or a script's key): only that producer writes its readings. Its kind, unit and schema version are fixed; a closed set of label keys is capped.
Needs scope atlas-signals:write.
bearerAuthorizationBearer <JWT>An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (developers.inorbit.hr). The gateway verifies it; the audience is iohr-api.
iohr.sensors.v1.RegisterRequest; path variables override their fields
application/json- body
iohr.sensors.v1.RegisterRequest
account_id?stringinterval_seconds?integerint32kind?stringlabel_keys?array<string>name?stringproducer_kind?stringproducer_ref?stringschema_version?integerint32source?stringunit?stringiohr.sensors.v1.RegisterResponse
application/json- response
iohr.sensors.v1.RegisterResponse
sensor?iohr.sensors.v1.Sensor
import { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try { const { value } = await api.sensors.register({ kind: "<kind>", label_keys: ["<label_keys>"], name: "<name>", producer_kind: "<producer_kind>", }); console.log(value);} catch (e) { if (!(e instanceof ApiError)) throw e; console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`); process.exitCode = 1;}npm install @inorbithr/sdk. Calls the package's public surface; an operation newer than your package needs the next release or a client generated for your account. The SDKs.
{ "sensor": { "account_id": "string", "builtin": true, "created_at": "string", "health": "string", "interval_seconds": 0, "kind": "string", "label_keys": [ "string" ], "last_seen_at": "string", "name": "string", "owner": "string", "producer_kind": "string", "producer_ref": "string", "rate_per_minute": 0.1, "revoked_at": "string", "schema_version": 0, "sensor_id": "string", "source": "string", "state": "string", "unit": "string" }}