Skip to main content

Quickstart

Five minutes from zero to a captured exception.

1. Sign in​

Errora authenticates with an Iranian mobile number (09XXXXXXXXX).

  1. Open the app and go to Sign in.
  2. Enter your mobile number. Errora answers whether the number already has an account and whether it has a password.
  3. Sign in with your password, or with the one-time code sent to you over SMS.

A brand-new number gets an account on first sign-in, plus a personal organization and signup credit (100,000 Toman by default). See Authentication for passwords, OTP and two-factor.

2. Create a project​

A project is one application (or one service) whose events you want kept apart.

  1. Go to Projects → New project.
  2. Give it a name and pick a platform — javascript, node, python, php, php-laravel, go or other. The platform only drives the icon and the setup snippet; ingestion works the same for all of them.
  3. Errora creates the project and a DSN key for it.

3. Copy the DSN​

The DSN is shown on the project page. It is in Sentry's standard format:

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

Anything holding this DSN can send events to the project, so treat it like a write-only credential. You can create additional keys, or rotate one, from the project page — see Projects & DSN keys.

4. Install the official Sentry SDK​

Errora speaks the Sentry wire protocol, so you use the official Sentry SDK for your platform. Nothing Errora-specific gets installed.

pip install sentry-sdk # Python
npm install @sentry/node # Node.js
npm install @sentry/browser # Browser
composer require sentry/sentry-laravel # Laravel
go get github.com/getsentry/sentry-go # Go

Point it at your DSN:

import sentry_sdk

sentry_sdk.init(
dsn="https://<public_key>@<your-errora-host>/<project_id>",
environment="production",
release="myapp@1.4.2",
traces_sample_rate=1.0, # performance/tracing
)

Full per-platform guides: SDK setup.

5. Send a test event​

Trigger an exception on purpose:

sentry_sdk.capture_exception(Exception("Hello from Errora"))

Or, without any SDK, curl the store endpoint directly:

curl -X POST "https://<your-errora-host>/api/<project_id>/store/" \
-H "Content-Type: application/json" \
-H "X-Sentry-Auth: Sentry sentry_version=7, sentry_key=<public_key>" \
-d '{
"event_id": "'"$(uuidgen | tr -d - | tr "A-Z" "a-z")"'",
"timestamp": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'",
"platform": "other",
"level": "error",
"exception": {"values": [{"type": "SmokeTest", "value": "Hello from Errora"}]}
}'

The endpoint answers 202 Accepted immediately — grouping happens right after, so the event appears in the UI a moment later.

6. See it in the UI​

Open Issues. Your exception is there, grouped by type and stack trace, with times_seen, first/last seen, the stack trace, breadcrumbs, request context and tags.

If nothing arrives:

SymptomLikely cause
401 from the ingest endpointWrong or disabled DSN key, or a key that belongs to a different project
202 but no issue after a minuteThe project's sample rate is below 1.0, so the event was not stored
429 with a "suspended" messageThe organization's wallet is past its credit line — see Wallet
Nothing leaves your appThe SDK never initialized — turn on its debug option and check for a startup error

Next steps​