The dashboard uses this API, and you can too, for scripts, reports and integrations. Enums are strings in JSON ("Exception"), and numbers are also accepted on input. Lists are paged with skip and take and return { total, skip, take, items }.
Auth column:
open: no token needed.
read: the admin token or a project read key. A project key only sees its own project.
Ingest one event. Idempotent by event id. Sessions, session timeline batches, performance spans and feedback use the same endpoint with their own eventType.
POST
/events/{id}/screenshot
open
Screenshot for an event (JPEG, up to 2 MB).
Issues
Method
Path
Auth
GET
/issues
read
projectId, status (Unresolved/Resolved/Ignored), q, release, level, eventType, assignedTo, skip, take
GET
/issues/{id}
read
PATCH
/issues/{id}
read
{ "status": "Resolved", "resolvedInRelease": "2.4.1", "assignedTo": "ana" }. Any subset of these fields.
GET
/issues/{id}/events
read
Latest occurrences.
GET
/issues/{id}/distributions
read
Breakdown by platform, OS, device, release, environment and tags.
GET
/issues/{id}/users
read
Affected users with event counts.
GET
/issues/{id}/feedback
read
POST
/issues/{id}/external/{provider}
read
github or jira. Creates (or drafts) a tracker issue.
GET
/issues/export
read
projectId, status, format (csv or json)
POST
/admin/issues/backfill
admin
Regroup stored events into issues.
Events
Method
Path
Auth
GET
/events
read
projectId, eventType, q, level, release, environment, platform, operatingSystem, deviceModel, userId, tag=key:value (repeatable), from, to, skip, take
GET
/events/{id}
read
Full detail: exception tree, breadcrumbs, device state, tags.
GET
/events/{id}/screenshot
read
Also accepts ?access_token= for <img> tags.
GET
/events/{id}/feedback
read
GET
/events/export
read
The /events filters plus format (csv or json).
Health, releases and performance
Method
Path
Auth
GET
/stats/crash-free
read
projectId, environment, release, days (default 14)
GET
/stats/events-per-hour
read
GET
/releases
read
projectId, environment, days (default 30)
GET
/performance
read
projectId, operation, release, environment, days (default 7)
Multipart. Portable PDBs, assemblies with embedded PDBs, or an Android mapping.txt (which also needs the projectId and release form fields).
GET
/symbols
admin
Uploaded files.
DELETE
/symbols/{id}
admin
Integrations and operations
Method
Path
Auth
GET
/integrations
read
Which issue trackers are configured.
GET
/health/live
open
GET
/health/ready
open
Checks the database.
GET
/metrics
admin
Prometheus. Open if Telemetry:Prometheus:RequireAuth is false.
Live updates
The SignalR hub at /hubs/events (read auth, ?access_token= for WebSockets) pushes eventReceived, issueUpserted, sessionUpdated (a session started or changed) and timelineReceived (new timeline steps of a session) messages.
Example
# Unresolved issues in 2.4.0, newest first
curl -H"Authorization: Bearer $AVIZORO_TOKEN"\"https://avizoro.example.com/issues?projectId=my-app&status=Unresolved&release=2.4.0"# Resolve one in the next release
curl -X PATCH -H"Authorization: Bearer $AVIZORO_TOKEN"-H"Content-Type: application/json"\-d'{ "status": "Resolved", "resolvedInRelease": "2.4.1" }'\"https://avizoro.example.com/issues/$ISSUE_ID"