> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lucenthq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> The Lucent HTTP APIs for submitting session recordings, reading Lucent data, and updating issue status.

Lucent exposes two HTTP APIs:

| API                                          | Base URL                                 | Purpose                                                  | Auth                        |
| -------------------------------------------- | ---------------------------------------- | -------------------------------------------------------- | --------------------------- |
| [Ingest API](/api-reference/endpoint/replay) | `https://batch-jobs-lucent.onrender.com` | Submit session replay events.                            | `luc_pk_` public key        |
| [Data API](/api-reference/data-api)          | `https://app.lucenthq.com`               | Read issues, signals, and insights; update issue status. | `Authorization: Bearer ...` |

The ingest API is what the [`@lucenthq/sdk`](/sdk/installation) 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

```text theme={null}
https://batch-jobs-lucent.onrender.com
```

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

| Method | Path              | Purpose                                       |
| ------ | ----------------- | --------------------------------------------- |
| `POST` | `/api/sdk/replay` | Submit a batch of rrweb events for a session. |

See the [Replay endpoint](/api-reference/endpoint/replay) for the full request
and response schema.

## Data API endpoints

| Method  | Path                       | Purpose              |
| ------- | -------------------------- | -------------------- |
| `GET`   | `/api/v1/issues`           | List issues.         |
| `GET`   | `/api/v1/issues/{issueId}` | Fetch one issue.     |
| `PATCH` | `/api/v1/issues/{issueId}` | Update issue status. |
| `GET`   | `/api/v1/signals`          | List signals.        |
| `GET`   | `/api/v1/insights`         | List insights.       |

See the [Data API](/api-reference/data-api) page for authentication, query
parameters, and response examples.

<Note>
  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`.
</Note>

## 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](/api-reference/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.
