API reference
Watch impact
- SSE
- GET https://api.inorbit.hr/v1/impact/eventsAccept: text/event-stream; one data: line of JSON per event
- WebSocket
- wss://api.inorbit.hr/v1/ws{"type":"call","id":"1","method":"iohr.impact.v1.ImpactService/WatchImpact","body":{…}}
- MQTT 5
- wss://api.inorbit.hr/v1/mqttsubscribe to impact/events
The same picture as it changes: the current counts first, then one frame per change naming the client that changed, with a rising seq.
Needs scope impact:read.
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.
client?stringOnly this assistant client in clients, claude or codex; empty for all. The totals cover every client.
A stream of iohr.impact.v1.WatchImpactResponse events, one JSON object per data:; a failure is an error event carrying Problem
text/event-stream- response
iohr.impact.v1.WatchImpactResponse
changed_client*stringcounts?iohr.impact.v1.Counts
kind*stringretained*stringseq*stringint64updated_at*stringimport { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try { for await (const event of api.impact.watchImpact()) { console.log(event); }} 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.
{ "changed_client": "string", "counts": { "all": { "approx": true, "caught_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "client": "string", "corrections": { "by_class": { "property1": "string", "property2": "string" }, "by_fixer": { "property1": "string", "property2": "string" }, "by_stage": { "property1": "string", "property2": "string" }, "cells": [ { "class": "string", "fixer": "string", "n": "string", "stage": "string" } ], "ids": [ "string" ], "total": "string" }, "lookups": { "declined": "string", "failed": "string", "named": "string", "ok": "string", "total": "string" }, "method": "string", "named_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "ok_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "sessions": "string", "writes": { "declined": "string", "failed": "string", "ok": "string", "total": "string" } }, "clients": [ { "approx": true, "caught_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "client": "string", "corrections": { "by_class": { "property1": "string", "property2": "string" }, "by_fixer": { "property1": "string", "property2": "string" }, "by_stage": { "property1": "string", "property2": "string" }, "cells": [ { "class": "string", "fixer": "string", "n": "string", "stage": "string" } ], "ids": [ "string" ], "total": "string" }, "lookups": { "declined": "string", "failed": "string", "named": "string", "ok": "string", "total": "string" }, "method": "string", "named_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "ok_rate": { "high": 0.1, "k": "string", "low": 0.1, "n": "string", "rate": 0.1 }, "sessions": "string", "writes": { "declined": "string", "failed": "string", "ok": "string", "total": "string" } } ] }, "kind": "string", "retained": "string", "seq": "string", "updated_at": "string"}