Base URL
/api/v1/.
Authentication
The management API accepts two kinds of credentials:- Session cookie. What the dashboard uses. The session must have an active organization.
- API key. Send
Authorization: Bearer ig_.... Create keys in Settings → API Keys.
API keys act as their creator
An API key does not have its own permissions. It acts with the current role and per-member overrides of the person who created it. If that person’s role changes, the key’s access changes with it. If that person leaves the organization, the key stops working and returns401. See Roles and permissions.
Errors
Validation errors are not uniform across routes. Check the status and body shape per endpoint. Rate limits, body size limits, and the full error format are in Limits and errors.
Public routes
These routes need no session. Some still need a key in the request body or header.
Other routes not covered on this page (
/api/v1/billing/webhook, /api/v1/admin/ops/*, /api/v1/ingest/*) are for Igris’s own infrastructure or log-ingestion integrations. They are not part of the client management API.
Response format
Single resources and action results come back wrapped indata. Example bodies below show the full envelope. Action results such as { "deleted": true } are also inside data:
meta object:
meta.nextCursor is present on cursor-paginated lists (audit events, incidents). Audit events also add meta.archive when the from/to range overlaps archived data.
Pagination
Most lists uselimit and offset:
Cursors. Audit events and incidents return
meta.nextCursor when the page is full. Pass it back as cursor to get the next page. When a page is not full, nextCursor is null and there is nothing more to fetch. Incidents ignore offset.
Other endpoints
These routes exist but are not documented in detail here. Each shows the permission it requires.
For permission names and which roles hold them, see Roles and permissions.