Skip to main content

SDK setup overview

Errora is Sentry-wire-compatible. You install the official Sentry SDK for your platform, set the DSN to your Errora project, and everything else — errors, tracing, logs, replays, profiles, metrics, cron check-ins, user feedback — flows over the same connection.

There is no Errora SDK. If your platform has a Sentry SDK (the full list), it works here.

The DSN​

https://<public_key>@<your-errora-host>/<project_id>

Find it on the project page (Projects → your project), or over the API at GET /api/v1/organizations/{org_id}/projects/{project_id}/keys.

Keep the DSN in an environment variable, never hardcoded:

SENTRY_DSN=https://a1b2c3…@errora.example.com/6f1e…

Options that matter​

OptionWhy you want it
dsnWhere events go. Empty DSN = SDK disabled, which is how you turn Errora off in tests.
environmentproduction / staging / … — filterable everywhere, and cron monitors keep per-environment state.
releasemyapp@1.4.2. Required for source maps and useful for regression hunting.
traces_sample_rateTurns on performance/tracing. 1.0 in development, lower in production.
profiles_sample_rateTurns on profiling (fraction of sampled transactions).
replaysSessionSampleRateBrowser only — turns on session replay.
send_default_piiAttaches user/IP/request data. Off by default; enable deliberately.
sample_rateClient-side error sampling (separate from the project's server-side sample rate).
attach_stacktraceAttaches stack traces to plain capture_message calls too.
before_sendYour last chance to scrub secrets from a payload before it leaves the process.

What each product needs​

ProductTurn on
ErrorsNothing — the SDK captures unhandled exceptions once initialized
Tracingtraces_sample_rate (or traces_sampler)
LogsThe SDK's logging integration (enable_logs / _experiments: { enableLogs: true })
Session replayreplayIntegration() + sample rates (browser)
Profilingprofiles_sample_rate or continuous profiling
MetricsThe SDK's metrics API, or send statsd lines
Cron monitoringThe SDK's monitor decorator/captureCheckIn, or plain curl
User feedbackfeedbackIntegration(), showReportDialog(), or the report API
AI monitoringThe SDK's AI-agents / MCP integration (emits gen_ai.* spans)
Source mapsUpload artifacts per release from CI

How the SDK talks to Errora​

Modern SDKs POST envelopes to:

POST https://<host>/api/<project_id>/envelope/

Older or minimal clients use the legacy error endpoint:

POST https://<host>/api/<project_id>/store/

Authentication is the DSN public key, sent in the X-Sentry-Auth header, as ?sentry_key= (browser SDKs), or in the envelope header's dsn field (tunnelled envelopes). Gzip-compressed bodies are accepted. Errora answers 202 Accepted as soon as the payload is queued.

See Ingestion API for the full endpoint reference, including the three non-SDK endpoints (cron check-ins, CSP reports, the crash-report modal).

Verifying the connection​

  1. Send a deliberate error (sentry_sdk.capture_exception(Exception("smoke test"))).
  2. Watch for 202 in your app's egress logs (or turn on the SDK's debug=True).
  3. Look in Issues in the UI.

If the SDK reports 401, the public key is wrong or the key was deactivated. 404 means the project id in the DSN path is wrong. 429 means you are being rate limited.

Per-platform guides​