Projects & DSN keys
A project is one application whose data you want kept together: its issues, logs, replays, monitors, metrics, profiles and feedback.
Create a project
Projects → New project: name and platform.
curl -X POST "$ERRORA/api/v1/organizations/$ORG_ID/projects" \
-H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Checkout API","platform":"python"}'
Platforms: python, php, php-laravel, node, javascript, go, other. The platform
only drives the icon and the suggested snippet.
The slug is derived from the name and is unique within the organization.
How many projects?
One per deployable service. Use environments (production, staging) inside a project
rather than separate projects — filters work across environments, and a staging project that
nobody watches just hides bugs.
DSN keys
Each project gets a key on creation:
https://<public_key>@<your-errora-host>/<project_id>
- Create additional keys (labelled) to rotate without downtime: ship the new DSN, wait for traffic to move, then deactivate the old key.
- Deactivating a key (
is_active: false) makes ingestion with it fail401immediately. - The public key is not a secret in the "never expose it" sense — browser SDKs ship it — but anyone holding it can write events to your project. Rotate if it leaks somewhere that invites abuse.
GET /api/v1/organizations/{org_id}/projects/{project_id}/keys
POST /api/v1/organizations/{org_id}/projects/{project_id}/keys
Project settings
| Setting | Effect |
|---|---|
| Name / slug | Display and URLs |
| Platform | Icon and setup snippet |
| Sample rate | Fraction of arriving events that get stored (1.0 keeps everything). Server-side cost control, independent of SDK sampling. |
| Repository | The linked source repo, used by AI auto-fix — see Integrations |
GET/PATCH/DELETE /api/v1/organizations/{org_id}/projects/{project_id}
GET /api/v1/organizations/{org_id}/projects/stats
Project settings require the project:manage capability.
Deleting a project
Deletes every event, issue, log, replay, monitor, profile, metric and feedback item it owns. Irreversible — export anything you need first.
Troubleshooting
| Symptom | Cause / fix |
|---|---|
401 from ingestion | Wrong public key, or the key was deactivated |
404 from ingestion | Wrong project id in the DSN path |
| Events accepted but missing | Sample rate below 1.0, or retention already purged them |
| Wrong project got the events | Two DSNs in your environment files — check the one actually loaded at runtime |