/docs/api

REST API

The obsrv API speaks JSON over HTTPS. Every SDK feature is exposed as a public endpoint — there is no proprietary protocol, no client-only feature.

Base URL

https://api.obsrv.tech

Authentication

Send your project API key with x-api-key. Bearer tokens are accepted for compatibility, but SDKs use x-api-key. See Authentication.

x-api-key: tk_live_…

Endpoints

MethodPathPurpose
POST/v1/tracesIngest a new trace
POST/v1/traces/:id/stepsAppend steps (NDJSON)
GET/v1/tracesList traces (filter + cursor)
GET/v1/traces/:idFetch a single trace
GET/v1/traces/tailLive tail (SSE)
POST/v1/media/uploadUpload an artifact (multipart)
GET/v1/media/serveStream an artifact (browser-safe)
GET/v1/media/signed-urlMint a signed PUT URL
POST/v1/metricsCreate a metric definition
GET/v1/metricsList metric definitions
POST/v1/metrics/eventsRecord a metric event
POST/v1/searchFull-text search across traces
GET/v1/clustersList clusters
GET/v1/clusters/:idGet cluster detail
POST/v1/clusters/discoverTrigger cluster discovery
POST/v1/annotationsAnnotate a trace or step
GET/v1/saved-filtersList saved filters
POST/v1/saved-filtersCreate a saved filter
GET/v1/orgsList orgs the user belongs to
GET/v1/orgs/:id/projectsList projects in an org
POST/v1/projects/:id/keysCreate an API key
DELETE/v1/projects/:id/keys/:keyIdRevoke an API key
GET/v1/projects/:id/membersList members
POST/v1/projects/:id/webhooksCreate a webhook
GET/v1/usageUsage summary
POST/v1/otel/tracesOTLP ingest (HTTP)

Pagination

List endpoints return a cursor in the response when more results are available. Pass it back as ?cursor=… to fetch the next page.

Rate limits

Default: 1,000 requests per second per project for ingest endpoints, 100/s for read endpoints. Enterprise customers can lift the cap. Rate-limit headers (X-RateLimit-*) accompany every response.

Errors

See Errors & limits for the complete error code reference.