Skip to main content
Lucent exposes two HTTP APIs: The ingest API is what the @lucenthq/sdk package talks to in production. You can also call it directly from your own instrumentation — for example, a native mobile app that already speaks rrweb, or a server-side relay. The Data API exposes Lucent data over plain REST. Use it for scripts, dashboards, or services that need Lucent data or need to update issue status without using the dashboard.

Ingest base URL

All endpoints are relative to this base URL. If you self‑host the ingest service, point the SDK at your own base URL via the ingestBaseUrl option.

Endpoint

See the Replay endpoint for the full request and response schema.

Data API endpoints

See the Data API page for authentication, query parameters, and response examples.
The current @lucenthq/sdk browser package uses hardcoded defaults (flushIntervalMs: 10000, maxEventsPerBatch: 500, maxBatchBytes: 1 MiB) and posts directly to /api/sdk/replay without an init handshake. If you’re building a custom integration on top of the ingest API, do the same — the only runtime endpoint you need is /api/sdk/replay.

Authentication

Ingest requests use luc_pk_ public keys. Data API requests use API keys or OAuth bearer tokens with the read:lucent scope. See Authentication for both formats.

Content encoding

Replay batches can be large. The /api/sdk/replay endpoint accepts either plain JSON or gzip‑compressed JSON — set Content-Encoding: gzip on the request and the server will decompress the body before parsing. The browser SDK compresses by default.