REST API for programmatic log ingestion and analysis retrieval.
API access requires Starter plan or higher. Generate keys from Dashboard → Settings → API Keys.
Base URL
https://app.errorlens.ai
On a self-hosted deployment, replace this with your NEXT_PUBLIC_APP_URL.
Authentication
Send your API key in the x-api-key header on every request. Keys start with the prefix el_live_.
x-api-key: el_live_your_key_here
POST /api/connectors/ingest
Submit a log payload for analysis. The analysis runs asynchronously — fetch the result with the dashboard or with GET /api/analysis/:id using a session token.
Per-key rate limit: Starter 30 req/min · Pro 60 req/min · Team 120 req/min · Enterprise 300 req/min. Exceeding it returns 429 with a Retry-After header.
GET /api/analysis
List recent analyses for the authenticated user. Use a session bearer token from the dashboard, not an API key — this endpoint is intended for the web app.
Pass ?poll=1 on repeat requests during status polling — the response will skip the up-to-100KB error_log field.
Error codes
400 Bad Request — missing or invalid request body
401 Unauthorized — invalid or missing API key / session token
403 Forbidden — plan does not include API access
429 Too Many Requests — per-IP or per-key rate limit exceeded
(Retry-After header included)
500 Internal Error — server-side failure, safe to retry after 30s
Rate limits
The ingest endpoint is rate-limited per API key:
Free: Not available (Starter or higher required)
Starter: 30 req/min per key
Pro: 60 req/min per key
Team: 120 req/min per key
Enterprise: 300 req/min per key
Outbound webhooks (integrations)
ErrorLens does not currently expose a registration endpoint for webhooks. To receive analysis.completed events on your own server, configure a Custom Webhook integration from Dashboard → Integrations — ErrorLens will then POST a signed JSON payload to your URL whenever an analysis completes.
Verify the X-ErrorLens-Signature header by recomputing hmac-sha256(body, sharedSecret) and comparing with constant-time equality.
SDKs
Official SDKs are on the roadmap; for now, calling the REST API directly with fetch /curl / requests is supported on every plan. See the quick-start guide for ready-to-paste examples in five languages.