Skip to main content
POST
Query structured data

Restrictions

Usage

  • Treat monit-edge v0.65.0 as the minimum supported Edge version for this public API. WebAPI retains migration adapters for older Edge versions: query.v2 results may still preserve frames, records, or samples, while legacy rows can expose only the information they retained. These adapters do not change the support floor; older protocols lack query.v3 cancellation and error-lifecycle semantics, and data already lost by legacy rows cannot be recovered.
  • The public response format is always query_result.v1 and is independent of the internal Edge query protocol. Dispatch on result.kind (frames, records, or samples); do not infer the result shape from ds_type or the Edge version.
  • A frames result may contain multiple table or time-series frames. Field values are columnar and all fields in one frame have the same length.
  • A records result may contain nested JSON and null records. Integer literals outside JavaScript’s safe integer range are returned as decimal strings.
  • A samples result contains label sets and instant values. A value may be a number or one of the strings NaN, +Inf, and -Inf.
  • The final success response is limited to 8 MiB and query results are limited to 1,000 rows. Narrow the time range, reduce fields, or aggregate at the source when a request exceeds a limit.
  • Query failures use non-2xx HTTP status codes and the standard error envelope. Do not transparently fall back to the deprecated /monit/query/rows endpoint.
  • Query execution may take up to 35 seconds across WebAPI forwarding and Edge execution. Configure client timeouts to at least 40 seconds and propagate cancellation when the caller abandons a query.

Authorizations

app_key
string
query
required

App key issued from the Flashduty console under Account → APP Keys. Required on every public API call. Keep it secret — it grants the same access as the owning account.

Body

application/json

Request for the stable structured query endpoint. It uses the same query fields as the deprecated rows endpoint.

ds_type
string
required

Data source type; must match a configured data source under the tenant. Examples: prometheus, loki, victorialogs, sls, elasticsearch, mysql, postgres, oracle, clickhouse.

ds_name
string
required

Data source name; must match a configured data source under the tenant.

expr
string
required

Query expression. Syntax depends on ds_type and is interpreted by the corresponding monit-edge client (PromQL for Prometheus, LogQL for Loki, SQL for SQL sources, etc.).

account_id
integer<int64>

Optional consistency check. Must equal the authenticated account when supplied; mismatched values are rejected. Business execution always uses the authenticated account.

delay_seconds
integer
default:0

Look-back offset in seconds applied to point-in-time queries (Prometheus, Loki stats, VictoriaLogs stats). Ignored for raw / detail queries.

args
object

Polymorphic key/value extension parameters forwarded verbatim to monit-edge. All values must be strings, and keys are always namespaced by source (e.g. sls.project, loki.type). Validation depends on ds_type: SLS requires sls.project + sls.logstore. Elasticsearch accepts es.type of sql, or omitted — any other value is rejected. Loki and VictoriaLogs accept <source>.type of stats, raw, or omitted; raw additionally requires a time range, either <source>.start + <source>.end or <source>.timespan.value + <source>.timespan.unit (unit one of s, m, h, d). Prometheus and the remaining SQL sources ignore args entirely.

Response

Success

Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.

request_id
string
required

Unique ID for this request. Mirrored in the Flashcat-Request-Id response header. Include it when reporting issues.

Example:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
required

Stable, Edge-version-independent structured query response.