chore: Backport openapi spec descriptions to OSS (#1894)

## Summary

Backports some additional external API spec descriptions to OSS

### References



- Linear Issue:
- Related PRs: https://github.com/DeploySentinel/hyperdx-ee/pull/1594
This commit is contained in:
Drew Davis 2026-03-13 07:42:11 -04:00 committed by GitHub
parent e05bd6b60c
commit f9ff10357a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 268 additions and 52 deletions

View file

@ -34,7 +34,8 @@
"type": "object",
"properties": {
"message": {
"type": "string"
"type": "string",
"description": "Human-readable error message."
}
}
},
@ -114,7 +115,8 @@
],
"properties": {
"type": {
"$ref": "#/components/schemas/AlertChannelType"
"$ref": "#/components/schemas/AlertChannelType",
"description": "Channel type. Must be \"webhook\" for webhook alerts."
},
"webhookId": {
"type": "string",
@ -167,6 +169,7 @@
},
"interval": {
"$ref": "#/components/schemas/AlertInterval",
"description": "Evaluation interval for the alert.",
"example": "1h"
},
"scheduleOffsetMinutes": {
@ -185,10 +188,12 @@
},
"source": {
"$ref": "#/components/schemas/AlertSource",
"description": "Alert source type (tile-based or saved search).",
"example": "tile"
},
"thresholdType": {
"$ref": "#/components/schemas/AlertThresholdType",
"description": "Threshold comparison direction.",
"example": "above"
},
"channel": {
@ -224,6 +229,7 @@
},
"state": {
"$ref": "#/components/schemas/AlertState",
"description": "Current alert state.",
"example": "ALERT"
},
"teamId": {
@ -290,7 +296,8 @@
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/AlertResponse"
"$ref": "#/components/schemas/AlertResponse",
"description": "The alert object."
}
}
},
@ -299,6 +306,7 @@
"properties": {
"data": {
"type": "array",
"description": "List of alert objects.",
"items": {
"$ref": "#/components/schemas/AlertResponse"
}
@ -533,7 +541,8 @@
"enum": [
"sql"
],
"default": "sql"
"default": "sql",
"description": "Filter type. Currently only \"sql\" is supported."
},
"condition": {
"type": "string",
@ -551,7 +560,7 @@
"summary",
"exponential histogram"
],
"description": "Metric data type for metrics data sources."
"description": "Metric data type, only for metrics data sources."
},
"TimeSeriesDisplayType": {
"type": "string",
@ -584,6 +593,7 @@
"properties": {
"output": {
"$ref": "#/components/schemas/NumberFormatOutput",
"description": "Output format applied to the number.",
"example": "number"
},
"mantissa": {
@ -639,6 +649,7 @@
"enum": [
"time"
],
"description": "Series type discriminator. Must be \"time\" for time-series charts.",
"example": "time"
},
"sourceId": {
@ -660,7 +671,7 @@
},
"field": {
"type": "string",
"description": "Field/property name to aggregate (required for most aggregation functions except count)",
"description": "Column or expression to aggregate (required for most aggregation functions except count)",
"example": "duration"
},
"alias": {
@ -690,10 +701,12 @@
]
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
},
"metricDataType": {
"$ref": "#/components/schemas/MetricDataType",
"description": "Metric data type, only for metrics data sources.",
"example": "sum"
},
"metricName": {
@ -724,6 +737,7 @@
"enum": [
"table"
],
"description": "Series type discriminator. Must be \"table\" for table charts.",
"example": "table"
},
"sourceId": {
@ -745,18 +759,22 @@
},
"field": {
"type": "string",
"description": "Column or expression to aggregate (required for most aggregation functions except count)",
"example": "duration"
},
"alias": {
"type": "string",
"description": "Display name for the series",
"example": "Total Count"
},
"where": {
"type": "string",
"description": "Filter query for the data (syntax depends on whereLanguage)",
"example": "level:error"
},
"whereLanguage": {
"$ref": "#/components/schemas/QueryLanguage",
"description": "Query language for the where clause",
"example": "lucene"
},
"groupBy": {
@ -765,6 +783,7 @@
"type": "string"
},
"maxItems": 10,
"description": "Fields to group results by (creates separate rows for each group)",
"example": [
"errorType"
]
@ -775,11 +794,12 @@
"example": "desc"
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
},
"metricDataType": {
"$ref": "#/components/schemas/MetricDataType",
"description": "Metric data type for metrics data sources",
"description": "Metric data type, only for metrics data sources.",
"example": "sum"
},
"metricName": {
@ -804,6 +824,7 @@
"enum": [
"number"
],
"description": "Series type discriminator. Must be \"number\" for single-value number charts.",
"example": "number"
},
"sourceId": {
@ -825,29 +846,36 @@
},
"field": {
"type": "string",
"description": "Column or expression to aggregate (required for most aggregation functions except count)",
"example": "duration"
},
"alias": {
"type": "string",
"description": "Display name for the series in the chart",
"example": "Total Requests"
},
"where": {
"type": "string",
"description": "Filter query for the data (syntax depends on whereLanguage)",
"example": "service:api"
},
"whereLanguage": {
"$ref": "#/components/schemas/QueryLanguage",
"description": "Query language for the where clause",
"example": "lucene"
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
},
"metricDataType": {
"$ref": "#/components/schemas/MetricDataType",
"description": "Metric data type, only for metrics data sources.",
"example": "sum"
},
"metricName": {
"type": "string",
"description": "Metric name for metrics data sources.",
"example": "http.server.duration"
}
}
@ -867,6 +895,7 @@
"enum": [
"search"
],
"description": "Series type discriminator. Must be \"search\" for search/log viewer charts.",
"example": "search"
},
"sourceId": {
@ -910,10 +939,12 @@
"enum": [
"markdown"
],
"description": "Series type discriminator. Must be \"markdown\" for markdown text widgets.",
"example": "markdown"
},
"content": {
"type": "string",
"description": "Markdown content to render inside the widget.",
"example": "# Dashboard Title\n\nThis is a markdown widget.",
"maxLength": 100000
}
@ -973,7 +1004,8 @@
"example": "Request Duration"
},
"level": {
"$ref": "#/components/schemas/QuantileLevel"
"$ref": "#/components/schemas/QuantileLevel",
"description": "Percentile level; only valid when aggFn is \"quantile\"."
},
"where": {
"type": "string",
@ -983,7 +1015,8 @@
"example": "service:api"
},
"whereLanguage": {
"$ref": "#/components/schemas/QueryLanguage"
"$ref": "#/components/schemas/QueryLanguage",
"description": "Query language for the where clause."
},
"metricName": {
"type": "string",
@ -1016,6 +1049,7 @@
"enum": [
"line"
],
"description": "Display type discriminator. Must be \"line\" for line charts.",
"example": "line"
},
"sourceId": {
@ -1054,7 +1088,8 @@
"default": true
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
},
"compareToPreviousPeriod": {
"type": "boolean",
@ -1077,6 +1112,7 @@
"enum": [
"stacked_bar"
],
"description": "Display type discriminator. Must be \"stacked_bar\" for stacked-bar charts.",
"example": "stacked_bar"
},
"sourceId": {
@ -1115,7 +1151,8 @@
"default": true
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
}
}
},
@ -1133,6 +1170,7 @@
"enum": [
"table"
],
"description": "Display type discriminator. Must be \"table\" for table charts.",
"example": "table"
},
"sourceId": {
@ -1173,7 +1211,8 @@
"example": false
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
}
}
},
@ -1191,6 +1230,7 @@
"enum": [
"number"
],
"description": "Display type discriminator. Must be \"number\" for single big-number charts.",
"example": "number"
},
"sourceId": {
@ -1208,7 +1248,8 @@
}
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
}
}
},
@ -1226,6 +1267,7 @@
"enum": [
"pie"
],
"description": "Display type discriminator. Must be \"pie\" for pie charts.",
"example": "pie"
},
"sourceId": {
@ -1249,7 +1291,8 @@
"example": "service"
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
}
}
},
@ -1268,6 +1311,7 @@
"enum": [
"search"
],
"description": "Display type discriminator. Must be \"search\" for search/log viewer tiles.",
"example": "search"
},
"sourceId": {
@ -1289,7 +1333,8 @@
"example": "level:error"
},
"whereLanguage": {
"$ref": "#/components/schemas/QueryLanguage"
"$ref": "#/components/schemas/QueryLanguage",
"description": "Query language for the where clause."
}
}
},
@ -1305,6 +1350,7 @@
"enum": [
"markdown"
],
"description": "Display type discriminator. Must be \"markdown\" for markdown text tiles.",
"example": "markdown"
},
"markdown": {
@ -1329,6 +1375,7 @@
"enum": [
"sql"
],
"description": "Must be \"sql\" to use the Raw SQL chart config variant.",
"example": "sql"
},
"connectionId": {
@ -1343,7 +1390,8 @@
"example": "SELECT count() FROM otel_logs WHERE timestamp > now() - INTERVAL 1 HOUR"
},
"numberFormat": {
"$ref": "#/components/schemas/NumberFormat"
"$ref": "#/components/schemas/NumberFormat",
"description": "Number formatting options for displayed values."
}
}
},
@ -1364,6 +1412,7 @@
"enum": [
"line"
],
"description": "Display as a line time-series chart.",
"example": "line"
},
"compareToPreviousPeriod": {
@ -1402,6 +1451,7 @@
"enum": [
"stacked_bar"
],
"description": "Display as a stacked-bar time-series chart.",
"example": "stacked_bar"
},
"fillNulls": {
@ -1435,6 +1485,7 @@
"enum": [
"table"
],
"description": "Display as a table chart.",
"example": "table"
}
}
@ -1458,6 +1509,7 @@
"enum": [
"number"
],
"description": "Display as a single big-number chart.",
"example": "number"
}
}
@ -1481,6 +1533,7 @@
"enum": [
"pie"
],
"description": "Display as a pie chart.",
"example": "pie"
}
}
@ -1673,6 +1726,7 @@
"id": {
"type": "string",
"maxLength": 36,
"description": "Unique tile ID assigned by the server.",
"example": "65f5e4a3b9e77c001a901234"
}
}
@ -1727,7 +1781,8 @@
"type": "string",
"enum": [
"QUERY_EXPRESSION"
]
],
"description": "Filter type. Must be \"QUERY_EXPRESSION\"."
},
"name": {
"type": "string",
@ -1849,16 +1904,19 @@
"name": {
"type": "string",
"maxLength": 1024,
"description": "Dashboard name.",
"example": "New Dashboard"
},
"tiles": {
"type": "array",
"description": "List of tiles/charts to include in the dashboard.",
"items": {
"$ref": "#/components/schemas/TileInput"
}
},
"tags": {
"type": "array",
"description": "Tags for organizing and filtering dashboards.",
"items": {
"type": "string",
"maxLength": 32
@ -1907,6 +1965,7 @@
"name": {
"type": "string",
"maxLength": 1024,
"description": "Dashboard name.",
"example": "Updated Dashboard Name"
},
"tiles": {
@ -1918,6 +1977,7 @@
},
"tags": {
"type": "array",
"description": "Tags for organizing and filtering dashboards.",
"items": {
"type": "string",
"maxLength": 32
@ -1968,7 +2028,8 @@
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/DashboardResponse"
"$ref": "#/components/schemas/DashboardResponse",
"description": "The dashboard object."
}
}
},
@ -1977,6 +2038,7 @@
"properties": {
"data": {
"type": "array",
"description": "List of dashboard objects.",
"items": {
"$ref": "#/components/schemas/DashboardResponse"
}
@ -2190,25 +2252,31 @@
],
"properties": {
"id": {
"type": "string"
"type": "string",
"description": "Unique source ID."
},
"name": {
"type": "string"
"type": "string",
"description": "Display name for the source."
},
"kind": {
"type": "string",
"enum": [
"log"
]
],
"description": "Source kind discriminator. Must be \"log\" for log sources."
},
"connection": {
"type": "string"
"type": "string",
"description": "ID of the ClickHouse connection used by this source."
},
"from": {
"$ref": "#/components/schemas/SourceFrom"
"$ref": "#/components/schemas/SourceFrom",
"description": "Database and table location of the source data."
},
"querySettings": {
"type": "array",
"description": "Optional ClickHouse query settings applied when querying this source.",
"items": {
"$ref": "#/components/schemas/QuerySetting"
},
@ -2224,22 +2292,27 @@
},
"serviceNameExpression": {
"type": "string",
"description": "Expression to extract the service name from log rows.",
"nullable": true
},
"severityTextExpression": {
"type": "string",
"description": "Expression to extract the severity/log level text.",
"nullable": true
},
"bodyExpression": {
"type": "string",
"description": "Expression to extract the log message body.",
"nullable": true
},
"eventAttributesExpression": {
"type": "string",
"description": "Expression to extract event-level attributes.",
"nullable": true
},
"resourceAttributesExpression": {
"type": "string",
"description": "Expression to extract resource-level attributes.",
"nullable": true
},
"displayedTimestampValueExpression": {
@ -2259,10 +2332,12 @@
},
"traceIdExpression": {
"type": "string",
"description": "Expression to extract the trace ID for correlating logs with traces.",
"nullable": true
},
"spanIdExpression": {
"type": "string",
"description": "Expression to extract the span ID for correlating logs with traces.",
"nullable": true
},
"implicitColumnExpression": {
@ -2315,25 +2390,31 @@
],
"properties": {
"id": {
"type": "string"
"type": "string",
"description": "Unique source ID."
},
"name": {
"type": "string"
"type": "string",
"description": "Display name for the source."
},
"kind": {
"type": "string",
"enum": [
"trace"
]
],
"description": "Source kind discriminator. Must be \"trace\" for trace sources."
},
"connection": {
"type": "string"
"type": "string",
"description": "ID of the ClickHouse connection used by this source."
},
"from": {
"$ref": "#/components/schemas/SourceFrom"
"$ref": "#/components/schemas/SourceFrom",
"description": "Database and table location of the source data."
},
"querySettings": {
"type": "array",
"description": "Optional ClickHouse query settings applied when querying this source.",
"items": {
"$ref": "#/components/schemas/QuerySetting"
},
@ -2349,28 +2430,35 @@
"description": "DateTime column or expression defines the start of the span"
},
"durationExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract span duration."
},
"durationPrecision": {
"type": "integer",
"minimum": 0,
"maximum": 9,
"default": 3
"default": 3,
"description": "Number of decimal digits in the duration value (e.g., 3 for milliseconds, 6 for microseconds, 9 for nanoseconds)."
},
"traceIdExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract the trace ID."
},
"spanIdExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract the span ID."
},
"parentSpanIdExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract the parent span ID."
},
"spanNameExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract the span name."
},
"spanKindExpression": {
"type": "string"
"type": "string",
"description": "Expression to extract the span kind (e.g., client, server, internal)."
},
"logSourceId": {
"type": "string",
@ -2389,22 +2477,27 @@
},
"statusCodeExpression": {
"type": "string",
"description": "Expression to extract the span status code.",
"nullable": true
},
"statusMessageExpression": {
"type": "string",
"description": "Expression to extract the span status message.",
"nullable": true
},
"serviceNameExpression": {
"type": "string",
"description": "Expression to extract the service name from trace rows.",
"nullable": true
},
"resourceAttributesExpression": {
"type": "string",
"description": "Expression to extract resource-level attributes.",
"nullable": true
},
"eventAttributesExpression": {
"type": "string",
"description": "Expression to extract event-level attributes.",
"nullable": true
},
"spanEventsValueExpression": {
@ -2457,32 +2550,39 @@
],
"properties": {
"id": {
"type": "string"
"type": "string",
"description": "Unique source ID."
},
"name": {
"type": "string"
"type": "string",
"description": "Display name for the source."
},
"kind": {
"type": "string",
"enum": [
"metric"
]
],
"description": "Source kind discriminator. Must be \"metric\" for metric sources."
},
"connection": {
"type": "string"
"type": "string",
"description": "ID of the ClickHouse connection used by this source."
},
"from": {
"$ref": "#/components/schemas/MetricSourceFrom"
"$ref": "#/components/schemas/MetricSourceFrom",
"description": "Database and optional table location of the metric source data."
},
"querySettings": {
"type": "array",
"description": "Optional ClickHouse query settings applied when querying this source.",
"items": {
"$ref": "#/components/schemas/QuerySetting"
},
"nullable": true
},
"metricTables": {
"$ref": "#/components/schemas/MetricTables"
"$ref": "#/components/schemas/MetricTables",
"description": "Mapping of metric data types to their respective table names."
},
"timestampValueExpression": {
"type": "string",
@ -2511,25 +2611,31 @@
],
"properties": {
"id": {
"type": "string"
"type": "string",
"description": "Unique source ID."
},
"name": {
"type": "string"
"type": "string",
"description": "Display name for the source."
},
"kind": {
"type": "string",
"enum": [
"session"
]
],
"description": "Source kind discriminator. Must be \"session\" for session sources."
},
"connection": {
"type": "string"
"type": "string",
"description": "ID of the ClickHouse connection used by this source."
},
"from": {
"$ref": "#/components/schemas/SourceFrom"
"$ref": "#/components/schemas/SourceFrom",
"description": "Database and table location of the source data."
},
"querySettings": {
"type": "array",
"description": "Optional ClickHouse query settings applied when querying this source.",
"items": {
"$ref": "#/components/schemas/QuerySetting"
},
@ -2576,6 +2682,7 @@
"properties": {
"data": {
"type": "array",
"description": "List of source objects.",
"items": {
"$ref": "#/components/schemas/Source"
}
@ -2750,6 +2857,7 @@
"properties": {
"data": {
"type": "array",
"description": "List of webhook objects.",
"items": {
"$ref": "#/components/schemas/Webhook"
}

View file

@ -26,6 +26,7 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* properties:
* message:
* type: string
* description: Human-readable error message.
* AlertInterval:
* type: string
* enum: [1m, 5m, 15m, 30m, 1h, 6h, 12h, 1d]
@ -70,6 +71,7 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* properties:
* type:
* $ref: '#/components/schemas/AlertChannelType'
* description: Channel type. Must be "webhook" for webhook alerts.
* webhookId:
* type: string
* description: Webhook destination ID.
@ -108,6 +110,7 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* example: 100
* interval:
* $ref: '#/components/schemas/AlertInterval'
* description: Evaluation interval for the alert.
* example: "1h"
* scheduleOffsetMinutes:
* type: integer
@ -123,9 +126,11 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* example: "2026-02-08T10:00:00.000Z"
* source:
* $ref: '#/components/schemas/AlertSource'
* description: Alert source type (tile-based or saved search).
* example: "tile"
* thresholdType:
* $ref: '#/components/schemas/AlertThresholdType'
* description: Threshold comparison direction.
* example: "above"
* channel:
* $ref: '#/components/schemas/AlertChannel'
@ -152,6 +157,7 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* example: "65f5e4a3b9e77c001a123456"
* state:
* $ref: '#/components/schemas/AlertState'
* description: Current alert state.
* example: "ALERT"
* teamId:
* type: string
@ -199,12 +205,14 @@ import { alertSchema, objectIdSchema } from '@/utils/zod';
* properties:
* data:
* $ref: '#/components/schemas/AlertResponse'
* description: The alert object.
*
* AlertsListResponse:
* type: object
* properties:
* data:
* type: array
* description: List of alert objects.
* items:
* $ref: '#/components/schemas/AlertResponse'
*

View file

@ -179,6 +179,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type: string
* enum: [sql]
* default: sql
* description: Filter type. Currently only "sql" is supported.
* condition:
* type: string
* description: SQL filter condition. For example use expressions in the form "column IN ('value')".
@ -186,7 +187,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* MetricDataType:
* type: string
* enum: [sum, gauge, histogram, summary, exponential histogram]
* description: Metric data type for metrics data sources.
* description: Metric data type, only for metrics data sources.
* TimeSeriesDisplayType:
* type: string
* enum: [stacked_bar, line]
@ -204,6 +205,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* properties:
* output:
* $ref: '#/components/schemas/NumberFormatOutput'
* description: Output format applied to the number.
* example: "number"
* mantissa:
* type: integer
@ -247,6 +249,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [time]
* description: Series type discriminator. Must be "time" for time-series charts.
* example: "time"
* sourceId:
* type: string
@ -264,7 +267,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: 0.95
* field:
* type: string
* description: Field/property name to aggregate (required for most aggregation functions except count)
* description: Column or expression to aggregate (required for most aggregation functions except count)
* example: "duration"
* alias:
* type: string
@ -287,8 +290,10 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: ["host"]
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
* metricDataType:
* $ref: '#/components/schemas/MetricDataType'
* description: Metric data type, only for metrics data sources.
* example: "sum"
* metricName:
* type: string
@ -312,6 +317,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [table]
* description: Series type discriminator. Must be "table" for table charts.
* example: "table"
* sourceId:
* type: string
@ -329,21 +335,26 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: 0.95
* field:
* type: string
* description: Column or expression to aggregate (required for most aggregation functions except count)
* example: "duration"
* alias:
* type: string
* description: Display name for the series
* example: "Total Count"
* where:
* type: string
* description: Filter query for the data (syntax depends on whereLanguage)
* example: "level:error"
* whereLanguage:
* $ref: '#/components/schemas/QueryLanguage'
* description: Query language for the where clause
* example: "lucene"
* groupBy:
* type: array
* items:
* type: string
* maxItems: 10
* description: Fields to group results by (creates separate rows for each group)
* example: ["errorType"]
* sortOrder:
* $ref: '#/components/schemas/SortOrder'
@ -351,9 +362,10 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "desc"
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
* metricDataType:
* $ref: '#/components/schemas/MetricDataType'
* description: Metric data type for metrics data sources
* description: Metric data type, only for metrics data sources.
* example: "sum"
* metricName:
* type: string
@ -372,6 +384,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [number]
* description: Series type discriminator. Must be "number" for single-value number charts.
* example: "number"
* sourceId:
* type: string
@ -389,23 +402,30 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: 0.95
* field:
* type: string
* description: Column or expression to aggregate (required for most aggregation functions except count)
* example: "duration"
* alias:
* type: string
* description: Display name for the series in the chart
* example: "Total Requests"
* where:
* type: string
* description: Filter query for the data (syntax depends on whereLanguage)
* example: "service:api"
* whereLanguage:
* $ref: '#/components/schemas/QueryLanguage'
* description: Query language for the where clause
* example: "lucene"
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
* metricDataType:
* $ref: '#/components/schemas/MetricDataType'
* description: Metric data type, only for metrics data sources.
* example: "sum"
* metricName:
* type: string
* description: Metric name for metrics data sources.
* example: "http.server.duration"
*
* SearchChartSeries:
@ -420,6 +440,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [search]
* description: Series type discriminator. Must be "search" for search/log viewer charts.
* example: "search"
* sourceId:
* type: string
@ -449,9 +470,11 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [markdown]
* description: Series type discriminator. Must be "markdown" for markdown text widgets.
* example: "markdown"
* content:
* type: string
* description: Markdown content to render inside the widget.
* example: "# Dashboard Title\n\nThis is a markdown widget."
* maxLength: 100000
*
@ -499,6 +522,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "Request Duration"
* level:
* $ref: '#/components/schemas/QuantileLevel'
* description: Percentile level; only valid when aggFn is "quantile".
* where:
* type: string
* maxLength: 10000
@ -507,6 +531,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "service:api"
* whereLanguage:
* $ref: '#/components/schemas/QueryLanguage'
* description: Query language for the where clause.
* metricName:
* type: string
* description: Name of the metric to aggregate; only applicable when the source is a metrics source.
@ -529,6 +554,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [line]
* description: Display type discriminator. Must be "line" for line charts.
* example: "line"
* sourceId:
* type: string
@ -562,6 +588,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* default: true
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
* compareToPreviousPeriod:
* type: boolean
* description: Overlay the equivalent previous time period for comparison.
@ -578,6 +605,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [stacked_bar]
* description: Display type discriminator. Must be "stacked_bar" for stacked-bar charts.
* example: "stacked_bar"
* sourceId:
* type: string
@ -611,6 +639,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* default: true
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
*
* TableBuilderChartConfig:
* type: object
@ -623,6 +652,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [table]
* description: Display type discriminator. Must be "table" for table charts.
* example: "table"
* sourceId:
* type: string
@ -658,6 +688,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: false
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
*
* NumberBuilderChartConfig:
* type: object
@ -670,6 +701,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [number]
* description: Display type discriminator. Must be "number" for single big-number charts.
* example: "number"
* sourceId:
* type: string
@ -684,6 +716,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* $ref: '#/components/schemas/SelectItem'
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
*
* PieBuilderChartConfig:
* type: object
@ -696,6 +729,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [pie]
* description: Display type discriminator. Must be "pie" for pie charts.
* example: "pie"
* sourceId:
* type: string
@ -715,6 +749,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "service"
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
*
* SearchChartConfig:
* type: object
@ -728,6 +763,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [search]
* description: Display type discriminator. Must be "search" for search/log viewer tiles.
* example: "search"
* sourceId:
* type: string
@ -746,6 +782,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "level:error"
* whereLanguage:
* $ref: '#/components/schemas/QueryLanguage'
* description: Query language for the where clause.
*
* MarkdownChartConfig:
* type: object
@ -756,6 +793,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [markdown]
* description: Display type discriminator. Must be "markdown" for markdown text tiles.
* example: "markdown"
* markdown:
* type: string
@ -774,6 +812,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* configType:
* type: string
* enum: [sql]
* description: Must be "sql" to use the Raw SQL chart config variant.
* example: "sql"
* connectionId:
* type: string
@ -786,6 +825,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* example: "SELECT count() FROM otel_logs WHERE timestamp > now() - INTERVAL 1 HOUR"
* numberFormat:
* $ref: '#/components/schemas/NumberFormat'
* description: Number formatting options for displayed values.
*
* LineRawSqlChartConfig:
* description: Raw SQL configuration for a line time-series chart.
@ -798,6 +838,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [line]
* description: Display as a line time-series chart.
* example: "line"
* compareToPreviousPeriod:
* type: boolean
@ -823,6 +864,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [stacked_bar]
* description: Display as a stacked-bar time-series chart.
* example: "stacked_bar"
* fillNulls:
* type: boolean
@ -844,6 +886,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [table]
* description: Display as a table chart.
* example: "table"
*
* NumberRawSqlChartConfig:
@ -857,6 +900,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [number]
* description: Display as a single big-number chart.
* example: "number"
*
* PieRawSqlChartConfig:
@ -870,6 +914,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* displayType:
* type: string
* enum: [pie]
* description: Display as a pie chart.
* example: "pie"
*
* LineChartConfig:
@ -1015,6 +1060,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* id:
* type: string
* maxLength: 36
* description: Unique tile ID assigned by the server.
* example: "65f5e4a3b9e77c001a901234"
*
* TileInput:
@ -1058,6 +1104,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* type:
* type: string
* enum: [QUERY_EXPRESSION]
* description: Filter type. Must be "QUERY_EXPRESSION".
* name:
* type: string
* minLength: 1
@ -1142,13 +1189,16 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* name:
* type: string
* maxLength: 1024
* description: Dashboard name.
* example: "New Dashboard"
* tiles:
* type: array
* description: List of tiles/charts to include in the dashboard.
* items:
* $ref: '#/components/schemas/TileInput'
* tags:
* type: array
* description: Tags for organizing and filtering dashboards.
* items:
* type: string
* maxLength: 32
@ -1185,6 +1235,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* name:
* type: string
* maxLength: 1024
* description: Dashboard name.
* example: "Updated Dashboard Name"
* tiles:
* type: array
@ -1193,6 +1244,7 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* description: 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:
* type: array
* description: Tags for organizing and filtering dashboards.
* items:
* type: string
* maxLength: 32
@ -1229,12 +1281,14 @@ const updateDashboardBodySchema = buildDashboardBodySchema(
* properties:
* data:
* $ref: '#/components/schemas/DashboardResponse'
* description: The dashboard object.
*
* DashboardsListResponse:
* type: object
* properties:
* data:
* type: array
* description: List of dashboard objects.
* items:
* $ref: '#/components/schemas/DashboardResponse'
*/

View file

@ -205,17 +205,23 @@ function formatExternalSource(source: SourceDocument) {
* properties:
* id:
* type: string
* description: Unique source ID.
* name:
* type: string
* description: Display name for the source.
* kind:
* type: string
* enum: [log]
* description: Source kind discriminator. Must be "log" for log sources.
* connection:
* type: string
* description: ID of the ClickHouse connection used by this source.
* from:
* $ref: '#/components/schemas/SourceFrom'
* description: Database and table location of the source data.
* querySettings:
* type: array
* description: Optional ClickHouse query settings applied when querying this source.
* items:
* $ref: '#/components/schemas/QuerySetting'
* nullable: true
@ -227,18 +233,23 @@ function formatExternalSource(source: SourceDocument) {
* description: DateTime column or expression that is part of your table's primary key.
* serviceNameExpression:
* type: string
* description: Expression to extract the service name from log rows.
* nullable: true
* severityTextExpression:
* type: string
* description: Expression to extract the severity/log level text.
* nullable: true
* bodyExpression:
* type: string
* description: Expression to extract the log message body.
* nullable: true
* eventAttributesExpression:
* type: string
* description: Expression to extract event-level attributes.
* nullable: true
* resourceAttributesExpression:
* type: string
* description: Expression to extract resource-level attributes.
* nullable: true
* displayedTimestampValueExpression:
* type: string
@ -254,9 +265,11 @@ function formatExternalSource(source: SourceDocument) {
* nullable: true
* traceIdExpression:
* type: string
* description: Expression to extract the trace ID for correlating logs with traces.
* nullable: true
* spanIdExpression:
* type: string
* description: Expression to extract the span ID for correlating logs with traces.
* nullable: true
* implicitColumnExpression:
* type: string
@ -299,17 +312,23 @@ function formatExternalSource(source: SourceDocument) {
* properties:
* id:
* type: string
* description: Unique source ID.
* name:
* type: string
* description: Display name for the source.
* kind:
* type: string
* enum: [trace]
* description: Source kind discriminator. Must be "trace" for trace sources.
* connection:
* type: string
* description: ID of the ClickHouse connection used by this source.
* from:
* $ref: '#/components/schemas/SourceFrom'
* description: Database and table location of the source data.
* querySettings:
* type: array
* description: Optional ClickHouse query settings applied when querying this source.
* items:
* $ref: '#/components/schemas/QuerySetting'
* nullable: true
@ -322,21 +341,28 @@ function formatExternalSource(source: SourceDocument) {
* description: DateTime column or expression defines the start of the span
* durationExpression:
* type: string
* description: Expression to extract span duration.
* durationPrecision:
* type: integer
* minimum: 0
* maximum: 9
* default: 3
* description: Number of decimal digits in the duration value (e.g., 3 for milliseconds, 6 for microseconds, 9 for nanoseconds).
* traceIdExpression:
* type: string
* description: Expression to extract the trace ID.
* spanIdExpression:
* type: string
* description: Expression to extract the span ID.
* parentSpanIdExpression:
* type: string
* description: Expression to extract the parent span ID.
* spanNameExpression:
* type: string
* description: Expression to extract the span name.
* spanKindExpression:
* type: string
* description: Expression to extract the span kind (e.g., client, server, internal).
* logSourceId:
* type: string
* description: HyperDX Source for logs associated with traces. Optional
@ -351,18 +377,23 @@ function formatExternalSource(source: SourceDocument) {
* nullable: true
* statusCodeExpression:
* type: string
* description: Expression to extract the span status code.
* nullable: true
* statusMessageExpression:
* type: string
* description: Expression to extract the span status message.
* nullable: true
* serviceNameExpression:
* type: string
* description: Expression to extract the service name from trace rows.
* nullable: true
* resourceAttributesExpression:
* type: string
* description: Expression to extract resource-level attributes.
* nullable: true
* eventAttributesExpression:
* type: string
* description: Expression to extract event-level attributes.
* nullable: true
* spanEventsValueExpression:
* type: string
@ -404,22 +435,29 @@ function formatExternalSource(source: SourceDocument) {
* properties:
* id:
* type: string
* description: Unique source ID.
* name:
* type: string
* description: Display name for the source.
* kind:
* type: string
* enum: [metric]
* description: Source kind discriminator. Must be "metric" for metric sources.
* connection:
* type: string
* description: ID of the ClickHouse connection used by this source.
* from:
* $ref: '#/components/schemas/MetricSourceFrom'
* description: Database and optional table location of the metric source data.
* querySettings:
* type: array
* description: Optional ClickHouse query settings applied when querying this source.
* items:
* $ref: '#/components/schemas/QuerySetting'
* nullable: true
* metricTables:
* $ref: '#/components/schemas/MetricTables'
* description: Mapping of metric data types to their respective table names.
* timestampValueExpression:
* type: string
* description: DateTime column or expression that is part of your table's primary key.
@ -442,17 +480,23 @@ function formatExternalSource(source: SourceDocument) {
* properties:
* id:
* type: string
* description: Unique source ID.
* name:
* type: string
* description: Display name for the source.
* kind:
* type: string
* enum: [session]
* description: Source kind discriminator. Must be "session" for session sources.
* connection:
* type: string
* description: ID of the ClickHouse connection used by this source.
* from:
* $ref: '#/components/schemas/SourceFrom'
* description: Database and table location of the source data.
* querySettings:
* type: array
* description: Optional ClickHouse query settings applied when querying this source.
* items:
* $ref: '#/components/schemas/QuerySetting'
* nullable: true
@ -481,6 +525,7 @@ function formatExternalSource(source: SourceDocument) {
* properties:
* data:
* type: array
* description: List of source objects.
* items:
* $ref: '#/components/schemas/Source'
*/

View file

@ -150,6 +150,7 @@ function formatExternalWebhook(
* properties:
* data:
* type: array
* description: List of webhook objects.
* items:
* $ref: '#/components/schemas/Webhook'
*/