Download OpenAPI specification:Download
API for managing HyperDX alerts and dashboards
Retrieves a list of all dashboards for the authenticated team
{- "data": [
- {
- "id": "65f5e4a3b9e77c001a567890",
- "name": "Infrastructure Monitoring",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901234",
- "name": "Server CPU",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "avg",
- "valueExpression": "cpu.usage",
- "where": "host:server-01"
}
]
}
}
], - "tags": [
- "infrastructure",
- "monitoring"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301001",
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}, - {
- "id": "65f5e4a3b9e77c001a567891",
- "name": "API Monitoring",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901235",
- "name": "API Errors",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "table",
- "sourceId": "65f5e4a3b9e77c001a111112",
- "select": [
- {
- "aggFn": "count",
- "where": "level:error"
}
], - "groupBy": "service",
- "orderBy": "count DESC"
}
}
], - "tags": [
- "api",
- "monitoring"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301002",
- "type": "QUERY_EXPRESSION",
- "name": "Service",
- "expression": "service_name",
- "sourceId": "65f5e4a3b9e77c001a111112"
}
]
}
]
}Creates a new dashboard
| name required | string <= 1024 characters Dashboard name. |
required | Array of objects (TileInput) List of tiles/charts to include in the dashboard. |
| tags | Array of strings <= 50 items [ items <= 32 characters ] Tags for organizing and filtering dashboards. |
Array of objects (FilterInput) Dashboard filter keys to add to the dashboard and apply across all tiles | |
| savedQuery | string or null Optional default dashboard query to persist on the dashboard. |
| savedQueryLanguage | string (QueryLanguage) Enum: "sql" "lucene" Query language for the where clause. |
Array of objects (SavedFilterValue) Optional default dashboard filter values to persist on the dashboard. |
{- "name": "API Monitoring Dashboard",
- "tiles": [
- {
- "name": "API Request Volume",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "service:api"
}
]
}
}
], - "tags": [
- "api",
- "monitoring"
], - "filters": [
- {
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}{- "data": {
- "id": "65f5e4a3b9e77c001a567890",
- "name": "API Monitoring Dashboard",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901234",
- "name": "API Request Volume",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "service:api"
}
]
}
}
], - "tags": [
- "api",
- "monitoring"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301004",
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}
}Retrieves a specific dashboard by ID
| id required | string Example: 65f5e4a3b9e77c001a567890 Dashboard ID |
{- "data": {
- "id": "65f5e4a3b9e77c001a567890",
- "name": "Infrastructure Monitoring",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901234",
- "name": "Server CPU",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "avg",
- "valueExpression": "cpu.usage",
- "where": "host:server-01"
}
]
}
}, - {
- "id": "65f5e4a3b9e77c001a901235",
- "name": "Memory Usage",
- "x": 6,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "avg",
- "valueExpression": "memory.usage",
- "where": "host:server-01"
}
]
}
}
], - "tags": [
- "infrastructure",
- "monitoring"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301003",
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}
}Updates an existing dashboard
| id required | string Example: 65f5e4a3b9e77c001a567890 Dashboard ID |
| name required | string <= 1024 characters Dashboard name. |
required | Array of objects (TileInput) Full list of tiles for the dashboard. Existing tiles are matched by ID; tiles with an ID that does not match an existing tile will be assigned a new generated ID. |
| tags | Array of strings <= 50 items [ items <= 32 characters ] Tags for organizing and filtering dashboards. |
Array of objects (Filter) Dashboard filter keys on the dashboard, applied across all tiles | |
| savedQuery | string or null Optional default dashboard query to persist on the dashboard. |
| savedQueryLanguage | string (QueryLanguage) Enum: "sql" "lucene" Query language for the where clause. |
Array of objects (SavedFilterValue) Optional default dashboard filter values to persist on the dashboard. |
{- "name": "Updated Dashboard Name",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901234",
- "name": "Updated Line Chart",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "level:error"
}
]
}
}, - {
- "id": "new-tile-123",
- "name": "New Number Chart",
- "x": 6,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "number",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "level:info"
}
]
}
}
], - "tags": [
- "production",
- "updated"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301005",
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}{- "data": {
- "id": "65f5e4a3b9e77c001a567890",
- "name": "Updated Dashboard Name",
- "tiles": [
- {
- "id": "65f5e4a3b9e77c001a901234",
- "name": "Updated Line Chart",
- "x": 0,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "line",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "level:error"
}
]
}
}, - {
- "id": "new-tile-123",
- "name": "New Number Chart",
- "x": 6,
- "y": 0,
- "w": 6,
- "h": 3,
- "config": {
- "displayType": "number",
- "sourceId": "65f5e4a3b9e77c001a111111",
- "select": [
- {
- "aggFn": "count",
- "where": "level:info"
}
]
}
}
], - "tags": [
- "production",
- "updated"
], - "filters": [
- {
- "id": "65f5e4a3b9e77c001a301005",
- "type": "QUERY_EXPRESSION",
- "name": "Environment",
- "expression": "environment",
- "sourceId": "65f5e4a3b9e77c001a111111"
}
]
}
}Retrieves a specific alert by ID
| id required | string Example: 65f5e4a3b9e77c001a123456 Alert ID |
{- "data": {
- "id": "65f5e4a3b9e77c001a123456",
- "threshold": 80,
- "interval": "5m",
- "thresholdType": "above",
- "source": "tile",
- "state": "ALERT",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "teamId": "65f5e4a3b9e77c001a345678",
- "tileId": "65f5e4a3b9e77c001a901234",
- "dashboardId": "65f5e4a3b9e77c001a567890",
- "createdAt": "2023-03-15T10:20:30.000Z",
- "updatedAt": "2023-03-15T14:25:10.000Z"
}
}Updates an existing alert
| id required | string Example: 65f5e4a3b9e77c001a123456 Alert ID |
| dashboardId | string or null Dashboard ID for tile-based alerts. |
| tileId | string or null Tile ID for tile-based alerts. May not be a Raw-SQL-based tile. |
| savedSearchId | string or null Saved search ID for saved_search alerts. |
| groupBy | string or null Group-by key for saved search alerts. |
| threshold required | number Threshold value for triggering the alert. |
| interval required | string (AlertInterval) Enum: "1m" "5m" "15m" "30m" "1h" "6h" "12h" "1d" Evaluation interval. |
| scheduleOffsetMinutes | integer or null >= 0 Offset from the interval boundary in minutes. For example, 2 with a 5m interval evaluates windows at :02, :07, :12, etc. (UTC). |
| scheduleStartAt | string or null <date-time> Absolute UTC start time anchor. Alert windows start from this timestamp and repeat every interval. |
| source | string (AlertSource) Enum: "saved_search" "tile" Alert source type. |
| thresholdType required | string (AlertThresholdType) Enum: "above" "below" Threshold comparison direction. |
required | any (AlertChannel) |
| name | string or null Human-friendly alert name. |
| message | string or null Alert message template. |
{- "threshold": 500,
- "interval": "1h",
- "thresholdType": "above",
- "source": "tile",
- "dashboardId": "65f5e4a3b9e77c001a567890",
- "tileId": "65f5e4a3b9e77c001a901234",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "name": "Updated Alert Name",
- "message": "Updated threshold and interval"
}{- "data": {
- "dashboardId": "65f5e4a3b9e77c001a567890",
- "tileId": "65f5e4a3b9e77c001a901234",
- "savedSearchId": "65f5e4a3b9e77c001a345678",
- "groupBy": "ServiceName",
- "threshold": 100,
- "interval": "1m",
- "scheduleOffsetMinutes": 2,
- "scheduleStartAt": "2026-02-08T10:00:00.000Z",
- "source": "saved_search",
- "thresholdType": "above",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "name": "Test Alert",
- "message": "Test Alert Message",
- "id": "65f5e4a3b9e77c001a123456",
- "state": "ALERT",
- "teamId": "65f5e4a3b9e77c001a345678",
- "silenced": {
- "by": "65f5e4a3b9e77c001a234567",
- "at": "2026-03-19T08:00:00.000Z",
- "until": "2026-03-20T08:00:00.000Z"
}, - "createdAt": "2023-01-01T00:00:00.000Z",
- "updatedAt": "2023-01-01T00:00:00.000Z"
}
}Retrieves a list of all alerts for the authenticated team
{- "data": [
- {
- "id": "65f5e4a3b9e77c001a123456",
- "threshold": 100,
- "interval": "15m",
- "thresholdType": "above",
- "source": "tile",
- "state": "OK",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "teamId": "65f5e4a3b9e77c001a345678",
- "tileId": "65f5e4a3b9e77c001a901234",
- "dashboardId": "65f5e4a3b9e77c001a567890",
- "createdAt": "2023-01-01T00:00:00.000Z",
- "updatedAt": "2023-01-01T00:00:00.000Z"
}
]
}Creates a new alert
| dashboardId | string or null Dashboard ID for tile-based alerts. |
| tileId | string or null Tile ID for tile-based alerts. May not be a Raw-SQL-based tile. |
| savedSearchId | string or null Saved search ID for saved_search alerts. |
| groupBy | string or null Group-by key for saved search alerts. |
| threshold required | number Threshold value for triggering the alert. |
| interval required | string (AlertInterval) Enum: "1m" "5m" "15m" "30m" "1h" "6h" "12h" "1d" Evaluation interval. |
| scheduleOffsetMinutes | integer or null >= 0 Offset from the interval boundary in minutes. For example, 2 with a 5m interval evaluates windows at :02, :07, :12, etc. (UTC). |
| scheduleStartAt | string or null <date-time> Absolute UTC start time anchor. Alert windows start from this timestamp and repeat every interval. |
| source | string (AlertSource) Enum: "saved_search" "tile" Alert source type. |
| thresholdType required | string (AlertThresholdType) Enum: "above" "below" Threshold comparison direction. |
required | any (AlertChannel) |
| name | string or null Human-friendly alert name. |
| message | string or null Alert message template. |
{- "dashboardId": "65f5e4a3b9e77c001a567890",
- "tileId": "65f5e4a3b9e77c001a901234",
- "threshold": 100,
- "interval": "1h",
- "source": "tile",
- "thresholdType": "above",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "name": "Error Spike Alert",
- "message": "Error rate has exceeded 100 in the last hour"
}{- "data": {
- "dashboardId": "65f5e4a3b9e77c001a567890",
- "tileId": "65f5e4a3b9e77c001a901234",
- "savedSearchId": "65f5e4a3b9e77c001a345678",
- "groupBy": "ServiceName",
- "threshold": 100,
- "interval": "1m",
- "scheduleOffsetMinutes": 2,
- "scheduleStartAt": "2026-02-08T10:00:00.000Z",
- "source": "saved_search",
- "thresholdType": "above",
- "channel": {
- "type": "webhook",
- "webhookId": "65f5e4a3b9e77c001a789012"
}, - "name": "Test Alert",
- "message": "Test Alert Message",
- "id": "65f5e4a3b9e77c001a123456",
- "state": "ALERT",
- "teamId": "65f5e4a3b9e77c001a345678",
- "silenced": {
- "by": "65f5e4a3b9e77c001a234567",
- "at": "2026-03-19T08:00:00.000Z",
- "until": "2026-03-20T08:00:00.000Z"
}, - "createdAt": "2023-01-01T00:00:00.000Z",
- "updatedAt": "2023-01-01T00:00:00.000Z"
}
}Retrieves time series data based on configured series parameters
required | Array of objects (ChartSeries) [ 1 .. 5 ] items Array of series configurations |
| startTime required | number Start timestamp in milliseconds |
| endTime required | number End timestamp in milliseconds |
| granularity | string Enum: "30s" "1m" "5m" "10m" "15m" "30m" "1h" "2h" "6h" "12h" "1d" "2d" "7d" "30d" "auto" Time bucket size for aggregations |
| seriesReturnType | string Enum: "ratio" "column" Format of the returned data |
{- "startTime": 1647014400000,
- "endTime": 1647100800000,
- "granularity": "1h",
- "series": [
- {
- "sourceId": "65f5e4a3b9e77c001a123456",
- "aggFn": "count",
- "where": "SeverityText:error",
- "groupBy": [ ]
}
]
}{- "data": [
- {
- "ts_bucket": 1647014400000,
- "series_0.data": 42
}, - {
- "ts_bucket": 1647018000000,
- "series_0.data": 37
}, - {
- "ts_bucket": 1647021600000,
- "series_0.data": 53
}
]
}Retrieves a list of all sources for the authenticated team
{- "data": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Logs",
- "kind": "log",
- "connection": "507f1f77bcf86cd799439012",
- "from": {
- "databaseName": "otel",
- "tableName": "otel_logs"
}, - "querySettings": [
- {
- "setting": "max_threads",
- "value": "4"
}
], - "defaultTableSelectExpression": "Timestamp, ServiceName, SeverityText, Body",
- "timestampValueExpression": "Timestamp",
- "serviceNameExpression": "ServiceName",
- "severityTextExpression": "SeverityText",
- "bodyExpression": "Body",
- "eventAttributesExpression": "LogAttributes",
- "resourceAttributesExpression": "ResourceAttributes",
- "displayedTimestampValueExpression": "TimestampTime",
- "metricSourceId": "507f1f77bcf86cd799439013",
- "traceSourceId": "507f1f77bcf86cd799439014",
- "traceIdExpression": "TraceId",
- "spanIdExpression": "SpanId",
- "implicitColumnExpression": "Body",
- "highlightedTraceAttributeExpressions": [
- {
- "sqlExpression": "SpanAttributes['http.status_code']",
- "luceneExpression": "http.status_code",
- "alias": "HTTP Status Code"
}
], - "highlightedRowAttributeExpressions": [
- {
- "sqlExpression": "SpanAttributes['http.status_code']",
- "luceneExpression": "http.status_code",
- "alias": "HTTP Status Code"
}
], - "materializedViews": [
- {
- "databaseName": "otel",
- "tableName": "otel_logs_mv_5m",
- "dimensionColumns": "ServiceName, SeverityText",
- "minGranularity": "5m",
- "minDate": "2025-01-01T00:00:00Z",
- "timestampColumn": "Timestamp",
- "aggregatedColumns": [
- {
- "sourceColumn": "Duration",
- "aggFn": "sum",
- "mvColumn": "sum__Duration"
}
]
}
]
}
]
}Retrieves a list of all webhooks for the authenticated team
{- "data": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Production Alerts",
- "service": "slack",
- "description": "Sends critical alerts to the",
- "updatedAt": "2025-06-15T10:30:00.000Z",
- "createdAt": "2025-01-01T00:00:00.000Z"
}
]
}