Observability API
REST endpoints for reading Observability listings and measurements, and for toggling Volume Tracking and Freshness Tracking on containers.
- Base URL:
https://<your-deployment>/api - Authentication: Bearer token in the
Authorizationheader. See Personal Access Tokens for how to obtain one.
Complete API Reference
The full interactive OpenAPI schema is served at /api/docs and stays in sync with your deployment. Use this page for the observability-specific handoff; hit /api/docs for the always-current source of truth.
Permissions
- Listing endpoints require a signed-in workspace user with at least a Member role. Team-permission gating on the underlying datastore still applies to the returned rows.
- Modifying checks (thresholds, Maximum Age) requires the Author team permission on the datastore.
- Toggling Volume or Freshness Tracking is available to any signed-in workspace user (Member role and above) who can see the datastore. Read the note under Toggle Volume / Freshness Tracking below before assuming this is symmetric with the check-edit endpoints.
Endpoints at a glance
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/observability |
List Measures cards (Volumetric + Freshness per container) with filters, sort, timeframe, and report date. |
GET |
/quality-checks/measurements |
List Metric checks with their most recent measurements. |
PATCH |
/containers/volumetric-tracking |
Bulk update Volume Tracking and Freshness Tracking flags on containers. |
PUT |
/quality-checks/{id} |
Update thresholds, Maximum Age, or other properties on a specific check. |
List Measures
Endpoint: GET /observability
Permission: Any authenticated workspace user; datastore-level team permissions gate returned rows.
Returns a paginated list of container-observability rows for the Measures tab. Each row includes the container identity, its active anomaly count, its active-check summary, and its recent daily measurements.
Common query parameters:
| Parameter | Type | Description |
|---|---|---|
datastore |
integer | Filter to a single datastore. |
container |
integer | Filter to a single container. |
search |
string | Match container name or identifier. |
tag |
string[] | Filter by one or more tag names. |
rule_type |
string | volumetric or freshness. |
report_date |
date | Anchor the timeframe to end on this date (YYYY-MM-DD). |
timeframe |
string | week, month, quarter, or year. |
sort_name |
string | asc or desc. |
sort_container_type |
string | asc or desc. |
sort_created |
string | asc or desc. |
sort_active_anomalies |
string | asc or desc. |
sort_active_checks |
string | asc or desc. |
sort_last_scanned |
string | asc or desc. |
List Measures rows for a datastore, sorted by anomalies
List Metric measurements
Endpoint: GET /quality-checks/measurements
Permission: Any authenticated workspace user; datastore-level team permissions gate returned rows.
Returns Metric checks with their most recent measurements (up to the last 10 per check).
Common query parameters:
| Parameter | Type | Description |
|---|---|---|
id |
integer[] | Filter to a specific check id. |
template |
integer[] | Filter to checks derived from a specific template. |
datastore |
integer | Filter to a single datastore. |
container |
integer | Filter to a single container. |
field |
string[] | Filter by one or more field identifiers. |
tag |
string[] | Filter by one or more tag names. |
search |
string | Match description or identifier. |
sort_id |
string | asc or desc. |
sort_favorite |
string | asc or desc. |
sort_created |
string | asc or desc. |
sort_active_anomalies |
string | asc or desc. |
List Metric checks for a container, newest first
Toggle Volume / Freshness Tracking
Endpoint: PATCH /containers/volumetric-tracking
Permission: Any signed-in workspace user (Member role and above) who can see the datastore. This endpoint does not require the Author or Editor team permission, so it is intentionally more permissive than the check-edit endpoints above; the underlying container is still gated by the standard datastore visibility filter.
Bulk-updates the Volume Tracking and Freshness Tracking flags on one or more containers. This is the endpoint the Observability Settings modal calls.
Request body fields:
| Field | Type | Description |
|---|---|---|
containers |
integer[] | Ids of the containers to update. |
volumetric_tracking_enabled |
boolean | Toggle Volume Tracking. |
freshness_tracking_enabled |
boolean | Toggle Freshness Tracking. |
automate_volumetric_checks |
boolean | Toggle Create AI Volumetric checks. |
automate_freshness_checks |
boolean | Toggle Create AI Freshness checks. |
Turning tracking off cascades: the matching automation flag is also cleared server-side.
Enable Volume + Freshness tracking on multiple containers
curl -X PATCH 'https://<your-deployment>/api/containers/volumetric-tracking' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"containers": [123, 124],
"volumetric_tracking_enabled": true,
"freshness_tracking_enabled": true,
"automate_volumetric_checks": true,
"automate_freshness_checks": false
}'
Update thresholds or Maximum Age
Endpoint: PUT /quality-checks/{id}
Permission: Author team permission on the datastore (Editor on the datastore always allowed).
The inline Edit Threshold and Edit Maximum Age actions on the Observability chart both call this endpoint. Send only the fields you want to change.
- For Volumetric and Metric threshold edits, set
properties.min_valueandproperties.max_value. - For Freshness Maximum Age edits, set
properties.value(milliseconds).
Update Volumetric thresholds
Update Maximum Age to 3 hours
Error responses
| Status | Meaning |
|---|---|
| 400 | Malformed request payload, invalid sort direction, or invalid enum value on rule_type / timeframe. |
| 401 | Missing or expired bearer token. |
| 403 | Authenticated but the requesting user lacks the required team permission on the datastore. |
| 404 | Referenced datastore, container, or check does not exist or is not visible to the requesting user. |
| 422 | Body validation failure (for example, min_value greater than max_value, or unsupported unit value). |