Skip to content

HTTP API Reference

The HTTP API is rooted at /api/v1. The generated OpenAPI document is served at:

GET /api/v1/openapi.json

JSON API responses use:

{
"data": {},
"error": null,
"meta": {}
}

Errors use the diagnostic registry:

{
"data": null,
"error": {
"code": "ORL-3006",
"message": "permission denied: telemetry:query required",
"status": 403
}
}
MethodPath
GET/healthz
GET/readyz
GET/internal/metrics
GET/api/v1/meta
GET/api/v1/openapi.json
POST/api/v1/auth/login
GET/api/v1/auth/oidc/{slug}/start
GET/api/v1/auth/oidc/{slug}/callback
POST/api/v1/auth/signup
GET/api/v1/invitations/{token}
POST/api/v1/invitations/{token}/accept
MethodPath
POST/api/v1/auth/logout
GET/api/v1/auth/me
GET/api/v1/permissions

Browser sessions use the oriel_session cookie. API tokens use bearer auth. Feature-flag SDK routes use environment-pinned flag keys, also passed as bearer tokens.

AreaRoutes
WorkspacesGET/POST /workspaces, PATCH/DELETE /workspaces/{ws}
MembersGET/POST /workspaces/{ws}/members, member delete, grant get/put
InvitationsGET/POST /workspaces/{ws}/invitations, delete by ID
RolesGET/POST /workspaces/{ws}/roles, role get/patch/delete
ProjectsGET/POST /workspaces/{ws}/projects, project patch/delete
EnvironmentsGET/POST/PATCH/DELETE /workspaces/{ws}/projects/{p}/environments...
ServicesGET /services, GET/PATCH /services/{name}
TokensGET/POST /tokens, DELETE /tokens/{id}
AuditGET /audit

All workspace-control paths are under:

/api/v1/workspaces/{ws}
MethodPathPurpose
POST/workspaces/{ws}/queryRun OQL.
GET/workspaces/{ws}/traces/{trace_id}Fetch trace detail.
GET/workspaces/{ws}/fieldsField autocomplete.
GET/workspaces/{ws}/exemplarsMetric exemplars.
GET/workspaces/{ws}/tailLive tail stream.
GET/workspaces/{ws}/service-mapService-map edges.
POST/workspaces/{ws}/contrastAttribute distribution comparison.
AreaRoutes
Alert rulesGET/POST /alert-rules, get/patch/delete by ID
Alert instancesGET /alert-instances
SilencesGET/POST /silences, delete by ID
ChannelsGET/POST /channels, delete by ID, test by ID
Saved queriesGET/POST /saved-queries, delete by ID
Query historyGET /query-history
DashboardsGET/POST /dashboards, get/put/delete by ID

All feature flag management paths are under:

/api/v1/workspaces/{ws}/projects/{p}
AreaRoutes
FlagsGET/POST /flags, GET/PATCH/DELETE /flags/{key}
TargetingGET/PUT /environments/{e}/flags/{key}
Rollout analyticsGET /environments/{e}/flags/{key}/rollout
PrerequisitesGET/PUT /flags/{key}/prerequisites
HistoryGET /flags/{key}/changes
SegmentsGET/POST /segments, GET/PATCH/DELETE /segments/{skey}
SDK keysPOST /flag-keys

Experiment paths are project-scoped under:

/api/v1/workspaces/{ws}/projects/{p}/experiments
AreaRoutes
ExperimentsGET/POST /, GET/PUT/DELETE /{id}
LifecyclePOST /{id}/start, POST /{id}/stop, POST /{id}/archive
Goal metricsGET/PUT /{id}/metrics
ResultsGET /{id}/results, GET /{id}/results/timeseries

SDK routes authenticate with a flag key minted for one project and environment. They are not authorized by browser sessions or general API tokens.

MethodPathPurpose
POST/api/v1/sdk/flags/evaluate/{key}Evaluate one flag for a context.
POST/api/v1/sdk/flags/evaluateEvaluate every non-archived flag for a context.
GET/api/v1/sdk/flags/rulesetFetch the full evaluable ruleset; supports ETag.
GET/api/v1/sdk/flags/streamReceive ruleset updates over Server-Sent Events.