Skip to main content
POST

Restrictions

Use datasource IDs from /monit/datasource/list. Disabled datasources return datasource_disabled; alerting_enabled=false does not block tools. Errors use non-2xx HTTP status and error.code, error.message, error.reason. tool_not_supported indicates the selected executor does not provide this tool; it is not a vendor permission error. Never retry through another Edge or the legacy diagnose endpoint automatically.

Usage

  • Two tool families share this entry: diagnostic tools defined by the executing Edge (e.g. mysql.overview, prometheus.metric_trends) and query tools named <type>.query. The tool prefix must match the datasource type.
  • Query tools require the Edge cluster to support Explore queries (protocol milestone v0.68.0); diagnostic tools require the v0.71.0 base invoke protocol. Unsupported clusters fail with edge_upgrade_required, mixed_edge_versions, or edge_version_unknown; never fall back to /monit/query/data or another endpoint automatically.
  • For query tools, params follows the per-datasource schema named in the tool field description. expr and execution are always required. limit/direction only bound raw-log retrieval, never SQL rows or scanned data. Unknown extension fields are tolerated but never executed or forwarded.
  • Query data is the complete Explore result: format is explore_result.v1 and result.kind is samples, frames, or logs; log results keep applied_limit and has_more. Query results never synthesize summary or truncated.
  • Request body limit 128 KiB; complete success response limit 10 MiB for both families; diagnostic tool timeout at most 25 seconds.

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
datasource_id
integer<uint64>
required

Datasource ID from /monit/datasource/list.

Required range: x >= 1
tool
string
required

Single tool name prefixed by the datasource type. Diagnostic tools are defined by the executing Edge (e.g. mysql.overview). Query tools are <type>.query where <type> is one of prometheus, mysql, postgres, oracle, clickhouse, elasticsearch, loki, victorialogs, sls, tencent_cls; their params follow PrometheusQueryParams, MySQLQueryParams, PostgresQueryParams, OracleQueryParams, ClickHouseQueryParams, ElasticsearchQueryParams, LokiQueryParams, VictoriaLogsQueryParams, SLSQueryParams, or TencentCLSQueryParams respectively.

Required string length: 1 - 128
account_id
integer<uint64>

Optional consistency check; must equal the authenticated account.

params
object

Tool-specific JSON parameters; omitted means {}. Explicit null is invalid. Query tools (<type>.query) use the per-datasource params schemas named in the tool description.

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

Endpoint-specific payload. See each operation's 200 response schema.