DSN — Data Source Name
DSN — Data Source Name
A DSN is a connection string that uniquely identifies your Argus project. You paste it into Argus parses the DSN into four parts at startup:
A malformed DSN (missing public key, missing project ID, or an invalid URL) throws an error immediately at
init() once; every SDK call after that uses it automatically.Format:| Part | Where in the URL | Purpose |
|---|---|---|
protocol | https (or http) | Determines whether the request is encrypted |
publicKey | The username before @ | Authenticates your SDK with the ingest API |
host | Hostname and optional port | Routes the request to the right Argus server |
projectId | The path segment after / | Scopes the event to your project |
init() — loudly, so you catch misconfiguration at startup rather than silently dropping events in production.You can find your DSN at any time under Project Settings → DSN.Envelope — the event payload
Envelope — the event payload
An envelope is the JSON payload that the SDK builds and sends to the Argus ingest endpoint every time an error is captured.Envelope fields:
Invalid envelopes return
| Field | Type | Description |
|---|---|---|
level | fatal | error | warning | info | debug | Severity of the event |
timestamp | number (milliseconds) | Date.now() at capture time — must be ms, not seconds |
environment | string | e.g. "production", "staging" — set in init() |
release | string | Your app version — ties errors to a specific deploy |
exception | object | { type, value, stacktrace: { frames[] } } |
user | object | Optional { id, email } for user-scoped error views |
breadcrumbs | array | Ordered trail of events leading up to the error |
tags | object | Arbitrary key–value strings for filtering |
request | object | { url, method, headers } — auto-populated in the browser SDK |
HTTP 400 with details. The timestamp field is strictly enforced in milliseconds — a Unix seconds value is rejected.Event — a single error occurrence
Event — a single error occurrence
An event is one captured occurrence of an error in your application. Every time the SDK sends an envelope and Argus accepts it, Argus creates an event record containing:
- The full stack trace with filenames, function names, line numbers, and column numbers
- Context such as the browser or OS, the URL where the crash happened, and any tags you attached
- Metadata including the severity level, timestamp, environment, and release
Fingerprint — how duplicates are detected
Fingerprint — how duplicates are detected
Argus automatically groups identical errors into the same issue using a fingerprint — a hash derived from the top stack frames of an exception. This means:
- The same bug triggered by different users maps to the same issue
- The same bug occurring across multiple deploys maps to the same issue (until the relevant code locations change)
- Different bugs with the same error message but different stack traces map to different issues
Minified production builds can cause multiple distinct bugs to collapse into a single fingerprint if minification maps many source lines to the same output line. Source map resolution (planned) will address this.
Issue Status — managing the lifecycle
Issue Status — managing the lifecycle
Every issue moves through a simple lifecycle controlled by you:
Change an issue’s status from the Issue Detail page using the Resolve or Ignore buttons, or via the REST API (
| Status | Meaning |
|---|---|
UNRESOLVED | The issue is active. New matching events increment its count. |
RESOLVED | You’ve fixed the bug. Argus stops alerting on this fingerprint. |
IGNORED | You’ve acknowledged the issue but don’t plan to fix it. Alerts silence. |
PATCH /api/v1/issues/:id).Alert Rule — getting notified
Alert Rule — getting notified
An alert rule defines the condition that triggers a notification and where that notification goes.Current rule type:
Delivery channels:
| Type | When it fires |
|---|---|
NEW_ISSUE | The first time a new fingerprint is seen — i.e., a bug Argus has never grouped before |
- Email — Argus sends a formatted notification to the address you configure on the rule
- Webhook — Argus POSTs a JSON payload to any HTTPS URL you provide, so you can pipe alerts into Slack, PagerDuty, or your own tooling
Quota — monthly event limits
Quota — monthly event limits
Argus enforces a monthly event quota per organization, reset at the start of each billing period.
When your organization hits its cap:
| Plan | Monthly limit |
|---|---|
| Free | 10,000 events |
| Pro | 500,000 events |
- The ingest endpoint returns HTTP 429
- The SDK detects the 429 response and drops the event silently — no retry, no exception thrown in your app
- Your application continues running normally
Explore the Platform
Issues
Browse, filter, and triage the issues Argus has grouped from your events.
Alerts
Configure email and webhook rules so the right people hear about new bugs instantly.
Performance
Track transaction durations and web vitals across your application.
Usage & Billing
Monitor your monthly event consumption and manage your plan.