One recording with its events, each {k, t, ...fields}: pages, clicks with a role, a name and a selector, scroll depth, focus and visibility, timings and the Core Web Vitals, long tasks, scrubbed errors, rage and dead clicks. Never anything typed.
Needs scope trail:read.
bearerAuthorizationBearer <token>An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (docs.inorbit.hr). The gateway verifies it; the audience is iohr-api.
recording_id*stringThe recording's id, trec_ and a ULID, from List recordings.
iohr.trails.v1.GetRecordingResponse
application/json- response
iohr.trails.v1.GetRecordingResponse
recording?iohr.trails.v1.Recording
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.trails.getRecording("<recording_id>"); console.log(value);} catch (e) { if (!(e instanceof ApiError)) throw e; console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`);}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.
{ "recording": { "account_id": "string", "bytes": 0, "client": "string", "created_at": "string", "created_by": "string", "dropped": 0, "duration_ms": 0, "event_count": 0, "events": [ { "fields": { "property1": { "bool_value": true, "list_value": { "values": [ {} ] }, "null_value": "NULL_VALUE", "number_value": 0.1, "string_value": "string", "struct_value": {} }, "property2": { "bool_value": true, "list_value": { "values": [ {} ] }, "null_value": "NULL_VALUE", "number_value": 0.1, "string_value": "string", "struct_value": {} } } } ], "pages": 0, "recording_id": "string", "rejected": 0, "site": "string", "started_at": "string" }}List recordings GET
The account's trail recordings (RFC 0055), newest first, without their events: each one's site, client, when it started and was kept, how many events it holds and how many were dropped by the client or by the service. Admins only until trails open. Needs scope `trail:read`.
Upload a recording POST
Keep one recording in the account: the site's host, the client (`extension` or `script`), when it started, the client's drop count and 1 to 5000 events, at most 256 KiB. The service checks every event against the kinds and fields the recorder sends and drops the rest, counted in `rejected`; names and messages are scrubbed again. 500 uploads per account per day; kept 90 days. Needs scope `trail:write`.