AppSignal V2 API Documentation

Authentication

Most endpoints require authentication via a bearer token. Pass the token in one of two ways:

Endpoints marked with no auth do not require authentication.

Error Responses

Any endpoint can return the following non-2xx responses:

StatusWhenBody shape
401 UnauthorizedMissing or invalid bearer token on an authenticated route{"error": "Unauthorized"}
404 Not FoundRoute or resource not found{"error": "Not found"}
422 Unprocessable EntityRequest parsed but cannot be processed against the current schemaSee envelope below
500 Internal Server ErrorUnhandled server-side failure{"error": "<human message>"}

422 Unprocessable Entity envelope

Every 422 response uses this envelope so clients implement one handler:

{
  "error": "<stable_slug>",
  "message": "<human readable>",
  "details": { ... }
}

Known slugs:

errorCausedetails shape
legacy_log_query_syntaxExpression-based logs query references the legacy attributes.<name>_<type> syntax{ "field": string }

Endpoints

Metrics

Tracing

Logs

Kubernetes

Deploys

Check-ins

Saved Visuals

System

Metrics

POST /api/v2/metrics/timeseries bearer

Query metrics data as a timeseries

Detailed documentation

Query metrics data as a timeseries.

Authentication

Requires bearer token authentication via Authorization header.

User must have access to the specified site_id.

Request Body (JSON)
  • `site_id` (string, required): The site ID to query metrics for
  • `from` (DateTime<Utc>, required): Start timestamp for query range
  • `to` (DateTime<Utc>, required): End timestamp for query range
  • `resolution` (string, optional): Time bucket resolution (e.g., "hourly", "minutely")
  • `select` (array, required): Metrics to query, each containing:
  • `name` (string, required): Metric name
  • `field` (string, required): Field type (e.g., "gauge", "counter", "mean", "p90", "p95")
  • `tags` (object, required): Tag filters as key-value pairs
  • `aggregation` (string, optional): Aggregation function
  • `draw_null_as_zero` (boolean, optional): Render null values as zero
  • `limit` (integer, optional): Maximum number of results
  • Response (JSON)

    Returns a timeseries object with:

  • `from` (DateTime<Utc>): Actual start timestamp
  • `to` (DateTime<Utc>): Actual end timestamp
  • `resolution` (string): Time bucket resolution used
  • `series` (array): Array of metric series data points
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "resolution": "hourly",
    "select": [{
    "name": "cpu",
    "field": "gauge",
    "tags": {"hostname": "server-1", "state": "user"}
    }]
    }
    

    Request Body — TimeseriesQuery

    FieldTypeDescription
    from (required)string (ISO 8601)Start of the time range to query (inclusive).
    to (required)string (ISO 8601)End of the time range to query (inclusive).
    resolution (optional)Resolution | nullThe desired interval between data points. When `null`, a resolution is
    site_id (required)stringThe site to fetch metrics for.
    select (required)TimeseriesSelector[]Selectors that define which metrics and fields to fetch. Each selector
    limit (optional)number | nullMaximum number of unique series to return. When `null`, no limit is applied.

    Response — Timeseries

    FieldTypeDescription
    resolution (required)ResolutionThe time interval between consecutive data points (e.g. one minute, one hour).
    from (required)string (ISO 8601)Start of the queried time range (inclusive).
    to (required)string (ISO 8601)End of the queried time range (inclusive).
    series (required)Serie[]The individual timeseries that matched the query.
    POST /api/v2/metrics/list bearer

    Query metrics data as a list with grouping

    Detailed documentation

    Query aggregated metrics data as a list/table.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): The site ID to query metrics for
  • `from` (DateTime<Utc>, required): Start timestamp for query range
  • `to` (DateTime<Utc>, required): End timestamp for query range
  • `resolution` (string, optional): Time bucket resolution
  • `select` (array, required): Metrics to query (similar to timeseries)
  • `group_by` (array, required): Tags to group results by
  • `limit` (integer, optional): Maximum number of results
  • Response (JSON)

    Returns a list object with:

  • `from` (DateTime<Utc>): Actual start timestamp
  • `to` (DateTime<Utc>): Actual end timestamp
  • `resolution` (string): Time bucket resolution used
  • `rows` (array): Array of grouped metric data rows
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "select": [{
    "name": "cpu",
    "field": "gauge",
    "tags": {"hostname": "*"}
    }],
    "group_by": ["hostname"]
    }
    

    Request Body — ListQuery

    FieldTypeDescription
    from (required)string (ISO 8601)Start of the time range to query (inclusive).
    to (required)string (ISO 8601)End of the time range to query (inclusive).
    resolution (optional)Resolution | nullThe desired interval for aggregation. When `null`, a resolution is
    site_id (required)stringThe site to fetch metrics for.
    select (required)ListSelector[]Selectors that define which metrics and fields to fetch. Each selector contributes
    group_by (required)GroupBy[]How to group metrics into rows. Each unique combination of group-by values produces
    limit (optional)number | nullMaximum number of rows to return. When `null`, no limit is applied.

    Response — List

    FieldTypeDescription
    resolution (required)ResolutionThe time interval used for aggregation (e.g. one minute, one hour).
    from (required)string (ISO 8601)Start of the queried time range (inclusive).
    to (required)string (ISO 8601)End of the queried time range (inclusive).
    rows (required)Row[]The rows of aggregated metric data.
    GET /api/v2/metrics/names/{site_id} bearer

    List all metric names for a site

    Detailed documentation

    Retrieve all available metric names for a site.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Path Parameters
  • `site_id` (string, required): The site ID to retrieve metric names for
  • Response (JSON)

    Returns an array of metric name strings.

    Example Response
    ["cpu", "memory", "disk_io", "network_tx"]
    

    Response — string[]

    Returns an array of string

    GET /api/v2/metrics/type_and_tags/{site_id}/{metric_name} bearer

    Get metric type and available tags for a metric

    Detailed documentation

    Retrieve metric type and available tag combinations for a specific metric.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Path Parameters
  • `site_id` (string, required): The site ID
  • `metric_name` (string, required): The metric name to query
  • Response (JSON)

    Returns an object containing:

  • `metric_type` (string): Type of metric (e.g., "measurement", "counter", "gauge")
  • `available_tags` (array): Array of available tag key-value combinations
  • Error Responses
  • 404 Not Found: Metric does not exist
  • Example Response
    {
    "metric_type": "measurement",
    "available_tags": [
    {"hostname": "server-1", "state": "user"},
    {"hostname": "server-2", "state": "system"}
    ]
    }
    

    Response — MetricTypeAndTags

    FieldTypeDescription
    metric_type (required)MetricTypeThe category of the metric (gauge, counter or measurement).
    available_tags (required)string[][]The tag combinations available for this metric. Each inner vector represents one

    Tracing

    POST /api/v2/tracing/locator bearer

    Locate a trace across sites by trace ID

    Detailed documentation

    Locate performance actions and error incidents associated with a trace.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search across
  • `trace_id` (string, required): Trace ID to locate
  • Response (JSON)

    Returns locations object with:

  • `performance` (array): Performance action locations, each containing:
  • `site_id` (string): Site ID
  • `namespace` (string): Application namespace
  • `action_name` (string): Action name
  • `errors` (array): Error incident locations, each containing:
  • `site_id` (string): Site ID
  • `incident_number` (integer): Incident number
  • `exception_name` (string): Exception class name
  • Query Behavior
  • TTL enforcement based on account settings
  • Queries both ClickHouse (spans) and MongoDB (incidents)
  • Deduplicates incident digests per site
  • Example Request
    {
    "site_ids": ["abc123"],
    "trace_id": "5baa0559ff2f4d35f3b2cd90d312bac3"
    }
    

    Request Body — TraceLocatorQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to search for the trace.
    trace_id (required)stringThe trace ID to locate.

    Response — TraceLocation

    FieldTypeDescription
    performance (required)PerformanceLocation[]Performance actions where this trace appears.
    errors (required)ErrorLocation[]Error incidents where this trace appears.
    POST /api/v2/tracing/trace bearer

    Get all spans for a specific trace

    Detailed documentation

    Retrieve all spans for a specific trace.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search
  • `trace_id` (string, required): Trace ID to retrieve
  • Response (JSON)

    Returns array of span objects, each containing:

  • `span_id`, `trace_id`, `parent_span_id` (string): Span identifiers
  • `start_time`, `end_time` (DateTime<Utc>): Span timestamps
  • `duration` (float): Duration in milliseconds
  • `site_id`, `namespace`, `action_name`, `span_name` (string): Span metadata
  • `span_kind`, `status_code`, `status_message` (string): Span status
  • `span_attributes`, `resource_attributes` (object): Attribute maps
  • `events.*` (arrays): Span events with timestamps, names, attributes
  • `links.*` (arrays): Span links with trace IDs, span IDs, attributes
  • Query Behavior
  • TTL enforcement based on account settings
  • Spans ordered by start_time ASC
  • Returns empty array if trace not found
  • Example Request
    {
    "site_ids": ["abc123"],
    "trace_id": "5baa0559ff2f4d35f3b2cd90d312bac3"
    }
    

    Request Body — TraceDetailQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to search for the trace.
    trace_id (required)stringThe trace ID to look up.

    Response — TraceSpan[]

    Returns an array of TraceSpan

    FieldTypeDescription
    start_time (required)string (ISO 8601)Timestamp when the span started.
    end_time (required)string (ISO 8601)Timestamp when the span ended.
    trace_id (required)stringUnique identifier for the entire trace.
    parent_span_id (required)stringSpan ID of the parent span, empty for root spans.
    span_id (required)stringUnique identifier for this span.
    digest (required)stringHash digest identifying the span's operation.
    duration (required)numberDuration of the span in milliseconds.
    trace_state (required)stringW3C trace state header value.
    subtrace_root (required)booleanWhether this span is the root of a subtrace (a separate service boundary).
    resource_attributes (required)objectResource-level attributes (e.g. host, service metadata).
    service_name (required)stringName of the service that produced this span.
    namespace (required)stringNamespace the span belongs to (e.g. `"web"`, `"background"`).
    revision (required)stringGit revision or deployment identifier active when the span was recorded.
    scope_name (required)stringInstrumentation scope name (e.g. the library that produced the span).
    scope_version (required)stringInstrumentation scope version.
    action_name (required)stringAction name for the span (e.g. `"POST /api/users"`).
    span_name (required)stringLow-cardinality name of the operation (e.g. `"HTTP GET"`).
    span_kind (required)stringSpan kind (e.g. `"server"`, `"client"`, `"internal"`).
    span_attributes (required)objectSpan-level attributes (e.g. HTTP headers, database statements).
    status_code (required)stringOpenTelemetry status code (e.g. `"OK"`, `"ERROR"`).
    status_message (required)stringHuman-readable status message, typically set on error.
    events.timestamp (required)string[]Timestamps of span events.
    events.name (required)string[]Names of span events (e.g. `"exception"`).
    events.attributes (required)object[]Attributes for each span event.
    links.trace_id (required)string[]Trace IDs of linked spans.
    links.span_id (required)string[]Span IDs of linked spans.
    links.trace_state (required)string[]Trace state values of linked spans.
    links.attributes (required)object[]Attributes for each span link.
    POST /api/v2/tracing/trace/performance bearer

    Get spans for a performance trace

    Detailed documentation

    Retrieve a trace for a specific performance action.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search
  • `namespace` (string, required): Application namespace
  • `action_name` (string, required): Action name
  • `trace_id` (string, optional): Specific trace ID, or "last" for most recent
  • Response (JSON)

    Returns array of TraceSpan objects (see /api/v2/tracing/trace for schema).

    Query Behavior
  • If trace_id is "last" or omitted, returns most recent trace
  • Returns 404 if no trace found
  • TTL enforcement applied
  • Example Request
    {
    "site_ids": ["abc123"],
    "namespace": "web",
    "action_name": "POST /api/v2/metrics/timeseries",
    "trace_id": "last"
    }
    

    Request Body — TracesQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to query traces for.
    digests (optional)string[] | nullOptional list of trace digests to filter by.
    action_name (optional)string | nullOptional action name filter (e.g. `"POST /api/users"`).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    query (optional)string | nullOptional free-text search query.
    duration (optional)number (milliseconds) | nullOptional minimum duration filter.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).
    pagination (required)Pagination<TracePagination>Pagination settings for the result set.
    ttl (optional)number | nullTTL in seconds for data retention boundary.

    Response — TraceSpan[]

    Returns an array of TraceSpan

    FieldTypeDescription
    start_time (required)string (ISO 8601)Timestamp when the span started.
    end_time (required)string (ISO 8601)Timestamp when the span ended.
    trace_id (required)stringUnique identifier for the entire trace.
    parent_span_id (required)stringSpan ID of the parent span, empty for root spans.
    span_id (required)stringUnique identifier for this span.
    digest (required)stringHash digest identifying the span's operation.
    duration (required)numberDuration of the span in milliseconds.
    trace_state (required)stringW3C trace state header value.
    subtrace_root (required)booleanWhether this span is the root of a subtrace (a separate service boundary).
    resource_attributes (required)objectResource-level attributes (e.g. host, service metadata).
    service_name (required)stringName of the service that produced this span.
    namespace (required)stringNamespace the span belongs to (e.g. `"web"`, `"background"`).
    revision (required)stringGit revision or deployment identifier active when the span was recorded.
    scope_name (required)stringInstrumentation scope name (e.g. the library that produced the span).
    scope_version (required)stringInstrumentation scope version.
    action_name (required)stringAction name for the span (e.g. `"POST /api/users"`).
    span_name (required)stringLow-cardinality name of the operation (e.g. `"HTTP GET"`).
    span_kind (required)stringSpan kind (e.g. `"server"`, `"client"`, `"internal"`).
    span_attributes (required)objectSpan-level attributes (e.g. HTTP headers, database statements).
    status_code (required)stringOpenTelemetry status code (e.g. `"OK"`, `"ERROR"`).
    status_message (required)stringHuman-readable status message, typically set on error.
    events.timestamp (required)string[]Timestamps of span events.
    events.name (required)string[]Names of span events (e.g. `"exception"`).
    events.attributes (required)object[]Attributes for each span event.
    links.trace_id (required)string[]Trace IDs of linked spans.
    links.span_id (required)string[]Span IDs of linked spans.
    links.trace_state (required)string[]Trace state values of linked spans.
    links.attributes (required)object[]Attributes for each span link.
    POST /api/v2/tracing/trace/error bearer

    Get spans for an error trace

    Detailed documentation

    Retrieve a trace for a specific error incident.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search
  • `digests` (array of strings, required): Error incident digests
  • `trace_id` (string, optional): Specific trace ID, or "last" for most recent
  • Response (JSON)

    Returns array of TraceSpan objects (see /api/v2/tracing/trace for schema).

    Query Behavior
  • If trace_id is "last" or omitted, returns most recent trace with matching digest
  • Returns 404 if no trace found
  • TTL enforcement applied
  • Example Request
    {
    "site_ids": ["abc123"],
    "digests": ["1234567890"],
    "trace_id": "last"
    }
    

    Request Body — TracesQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to query traces for.
    digests (optional)string[] | nullOptional list of trace digests to filter by.
    action_name (optional)string | nullOptional action name filter (e.g. `"POST /api/users"`).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    query (optional)string | nullOptional free-text search query.
    duration (optional)number (milliseconds) | nullOptional minimum duration filter.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).
    pagination (required)Pagination<TracePagination>Pagination settings for the result set.
    ttl (optional)number | nullTTL in seconds for data retention boundary.

    Response — TraceSpan[]

    Returns an array of TraceSpan

    FieldTypeDescription
    start_time (required)string (ISO 8601)Timestamp when the span started.
    end_time (required)string (ISO 8601)Timestamp when the span ended.
    trace_id (required)stringUnique identifier for the entire trace.
    parent_span_id (required)stringSpan ID of the parent span, empty for root spans.
    span_id (required)stringUnique identifier for this span.
    digest (required)stringHash digest identifying the span's operation.
    duration (required)numberDuration of the span in milliseconds.
    trace_state (required)stringW3C trace state header value.
    subtrace_root (required)booleanWhether this span is the root of a subtrace (a separate service boundary).
    resource_attributes (required)objectResource-level attributes (e.g. host, service metadata).
    service_name (required)stringName of the service that produced this span.
    namespace (required)stringNamespace the span belongs to (e.g. `"web"`, `"background"`).
    revision (required)stringGit revision or deployment identifier active when the span was recorded.
    scope_name (required)stringInstrumentation scope name (e.g. the library that produced the span).
    scope_version (required)stringInstrumentation scope version.
    action_name (required)stringAction name for the span (e.g. `"POST /api/users"`).
    span_name (required)stringLow-cardinality name of the operation (e.g. `"HTTP GET"`).
    span_kind (required)stringSpan kind (e.g. `"server"`, `"client"`, `"internal"`).
    span_attributes (required)objectSpan-level attributes (e.g. HTTP headers, database statements).
    status_code (required)stringOpenTelemetry status code (e.g. `"OK"`, `"ERROR"`).
    status_message (required)stringHuman-readable status message, typically set on error.
    events.timestamp (required)string[]Timestamps of span events.
    events.name (required)string[]Names of span events (e.g. `"exception"`).
    events.attributes (required)object[]Attributes for each span event.
    links.trace_id (required)string[]Trace IDs of linked spans.
    links.span_id (required)string[]Span IDs of linked spans.
    links.trace_state (required)string[]Trace state values of linked spans.
    links.attributes (required)object[]Attributes for each span link.
    POST /api/v2/tracing/traces/performance bearer

    List performance traces

    Detailed documentation

    Query performance traces for a specific action.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search
  • `namespace` (string, required): Application namespace
  • `action_name` (string, required): Action name
  • `query` (string, optional): Filter query (supports revision, tag filters)
  • `duration_ms` (integer, optional): Minimum duration in milliseconds
  • `from` (DateTime<Utc>, optional): Start timestamp
  • `to` (DateTime<Utc>, optional): End timestamp
  • `pagination` (object, required):
  • `per_page` (integer, required): Results per page (max 100)
  • `order` (string, required): "asc" or "desc"
  • `cursor` (object): `{"time": DateTime<Utc>}` for pagination
  • Response (JSON)

    Returns array of trace summary objects with:

  • `span_id`, `trace_id` (string): Identifiers
  • `time` (DateTime<Utc>): Trace end time
  • `duration` (float): Duration in milliseconds
  • `namespace`, `action_name`, `revision` (string): Trace metadata
  • `tags` (object): Custom tags
  • Example Request
    {
    "site_ids": ["abc123"],
    "namespace": "web",
    "action_name": "POST /api",
    "duration_ms": 1000,
    "pagination": {"per_page": 50, "order": "desc", "cursor": {"time": null}}
    }
    

    Request Body — TracesQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to query traces for.
    digests (optional)string[] | nullOptional list of trace digests to filter by.
    action_name (optional)string | nullOptional action name filter (e.g. `"POST /api/users"`).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    query (optional)string | nullOptional free-text search query.
    duration (optional)number (milliseconds) | nullOptional minimum duration filter.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).
    pagination (required)Pagination<TracePagination>Pagination settings for the result set.
    ttl (optional)number | nullTTL in seconds for data retention boundary.

    Response — Trace[]

    Returns an array of Trace

    FieldTypeDescription
    span_id (required)stringUnique identifier for the root span.
    trace_id (required)stringUnique identifier for the entire trace.
    site_id (required)stringSite identifier this trace belongs to.
    namespace (optional)string | nullNamespace the trace belongs to (e.g. `"web"`, `"background"`).
    revision (optional)string | nullGit revision or deployment identifier active when the trace was recorded.
    action_name (optional)string | nullAction name for the trace (e.g. `"POST /api/users"`).
    time (required)string (ISO 8601)Timestamp when the trace ended.
    duration (required)numberTotal duration of the trace in milliseconds.
    tags (required)objectUser-defined tags extracted from span attributes.
    has_npo (required)booleanWhether this trace contains N+1 query detection results.
    POST /api/v2/tracing/traces/errors bearer

    List error traces

    Detailed documentation

    Query error traces for specific incident digests.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_ids.

    Request Body (JSON)
  • `site_ids` (array of strings, required): Site IDs to search
  • `digests` (array of strings, required): Error incident digests
  • `query` (string, optional): Filter query (supports revision, tag filters)
  • `pagination` (object, required):
  • `per_page` (integer, required): Results per page (max 100)
  • `order` (string, required): "asc" or "desc"
  • `cursor` (object): `{"time": DateTime<Utc>}` for pagination
  • Response (JSON)

    Returns array of trace summary objects (see /api/v2/tracing/traces/performance).

    Example Request
    {
    "site_ids": ["abc123"],
    "digests": ["1234567890"],
    "pagination": {"per_page": 50, "order": "desc", "cursor": {"time": null}}
    }
    

    Request Body — TracesQuery

    FieldTypeDescription
    site_ids (required)string[]Site identifiers to query traces for.
    digests (optional)string[] | nullOptional list of trace digests to filter by.
    action_name (optional)string | nullOptional action name filter (e.g. `"POST /api/users"`).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    query (optional)string | nullOptional free-text search query.
    duration (optional)number (milliseconds) | nullOptional minimum duration filter.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).
    pagination (required)Pagination<TracePagination>Pagination settings for the result set.
    ttl (optional)number | nullTTL in seconds for data retention boundary.

    Response — Trace[]

    Returns an array of Trace

    FieldTypeDescription
    span_id (required)stringUnique identifier for the root span.
    trace_id (required)stringUnique identifier for the entire trace.
    site_id (required)stringSite identifier this trace belongs to.
    namespace (optional)string | nullNamespace the trace belongs to (e.g. `"web"`, `"background"`).
    revision (optional)string | nullGit revision or deployment identifier active when the trace was recorded.
    action_name (optional)string | nullAction name for the trace (e.g. `"POST /api/users"`).
    time (required)string (ISO 8601)Timestamp when the trace ended.
    duration (required)numberTotal duration of the trace in milliseconds.
    tags (required)objectUser-defined tags extracted from span attributes.
    has_npo (required)booleanWhether this trace contains N+1 query detection results.
    POST /api/v2/tracing/actions bearer

    List performance actions with aggregated metrics

    Detailed documentation

    List performance actions with aggregated metrics.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `namespaces` (array of strings, optional): Filter by namespaces (default: all)
  • `revision` (string, optional): Filter by deployment revision
  • `action` (string, optional): Filter by action name
  • Response (JSON)

    Returns array of action summary objects with:

  • `namespace` (string): Application namespace
  • `action` (string): Action name
  • `digest` (string): Action digest
  • `mean` (float): Mean duration in milliseconds
  • `throughput` (float): Request count
  • `error_rate` (float): Error percentage
  • `has_npo` (bool): Does action have an N+1 detected
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "namespaces": ["web"]
    }
    

    Request Body — ActionsQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to scope the query to.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Namespaces to filter by. When empty, all namespaces are included.
    revision (optional)string | nullOptional deployment revision to filter by.
    action (optional)string | nullOptional action name to filter by.

    Response — ActionRow[]

    Returns an array of ActionRow

    FieldTypeDescription
    namespace (required)stringApplication namespace (e.g. "web", "background").
    action (required)stringAction name (e.g. "UsersController#show").
    digest (required)stringAction digest identifier.
    mean (required)numberMean duration in milliseconds.
    throughput (required)numberTotal request count in the queried time range.
    error_rate (required)numberError percentage (0.0–100.0).
    has_npo (required)booleanWhether an N+1 query has been detected for this action.
    POST /api/v2/tracing/action_edges bearer

    Upstream and downstream edges for a focused action

    Detailed documentation

    List upstream (callers) and downstream (callees) edges for a focused

    (site_id, namespace, action) tuple. Used by the distributed tracing

    timeline UX.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Focused site ID
  • `namespace` (string, required): Focused `"<service>/<namespace>"`
  • (e.g. `"PublicApi/web"`). Both halves are required; a value without

    a `/`, or with an empty half, returns `400 Bad Request`.

  • `action` (string, required): Focused action name
  • `from` (DateTime<Utc>, required): Start timestamp (inclusive)
  • `to` (DateTime<Utc>, required): End timestamp (exclusive)
  • Response (JSON)

    Returns an object with two arrays of edges:

  • `upstream`: callers into the focused action
  • `downstream`: callees the focused action invoked
  • Each edge contains:

  • `site_id` (string|null): Peer site ID if accessible to the user, else null
  • `service`, `namespace`, `action` (strings): Peer identity
  • `caller_kind`, `callee_kind` (strings): OTel span kinds
  • `edge_type` (string): `SYNC` or `ASYNC`
  • `count` (integer), `error_count` (integer)
  • `mean`, `p_90`, `p_95` (floats, milliseconds)
  • Query Behavior
  • Edges whose peer belongs to an inaccessible site are excluded entirely;
  • edges with no peer site_id (external services) are always included

  • `peer_site_id` is resolved at ingestion (rename-stable); peer
  • `service` is looked up at query time so responses always reflect

    the current name

  • TTL clamps `from` to no earlier than `now - account.ttl`
  • Request Body — ActionEdgesApiQuery

    FieldTypeDescription
    site_id (required)stringSite ID that anchors the query (the focused action's site).
    namespace (required)stringFocused action's `"<service>/<namespace>"` (e.g. `"PublicApi/web"`).
    action (required)stringAction name of the focused action.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (exclusive).

    Response — ActionEdgesResponse

    FieldTypeDescription
    upstream (required)ActionEdge[]Upstream edges (callers into the focused action).
    downstream (required)ActionEdge[]Downstream edges (callees the focused action invoked).
    POST /api/v2/tracing/site_edges bearer

    Upstream, downstream, and internal service edges for a focused site

    Detailed documentation

    List upstream (external callers), downstream (external callees), and

    internal (same-site) service edges for a focused site_id. Used by the

    application dashboard service dependency map.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Focused site ID
  • `from` (DateTime<Utc>, required): Start timestamp (inclusive)
  • `to` (DateTime<Utc>, required): End timestamp (exclusive)
  • Response (JSON)

    Returns an object with three arrays of service edges:

  • `upstream`: external services calling into this site
  • `downstream`: external services this site calls
  • `internal`: services within this site that it calls internally
  • Each edge contains:

  • `site_id` (string|null): Peer site ID if accessible to the user, else null
  • `service` (string): Peer service name
  • `count` (integer), `error_count` (integer)
  • `mean`, `p_90`, `p_95` (floats, milliseconds)
  • Request Body — SiteEdgesApiQuery

    FieldTypeDescription
    site_id (required)stringSite ID that anchors the query.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (exclusive).

    Response — SiteEdgesResponse

    FieldTypeDescription
    upstream (required)SiteEdge[]External services calling into this site (upstream).
    downstream (required)SiteEdge[]External services this site calls (downstream).
    internal (required)SiteEdge[]Internal services this site calls within itself (both sides share the focused site_id).
    POST /api/v2/tracing/slow_events/actions bearer

    List actions related to slow events

    Detailed documentation

    List actions related to slow events by digest.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `digest` (string, required): Slow event digest to find related actions
  • Response (JSON)

    Returns array of related trace items with action details.

    Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "digest": "1234567890"
    }
    

    Request Body — RelatedTracesQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to query related traces for.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    digest (required)stringSlow event digest to find related traces for.

    Response — RelatedTraceItem[]

    Returns an array of RelatedTraceItem

    FieldTypeDescription
    action_name (required)stringName of the action containing the slow event.
    namespace (required)stringNamespace the action belongs to.
    count (required)numberNumber of times the slow event appeared in this action.
    trace_id (required)stringTrace ID of the most recent occurrence.
    start_time (required)string (ISO 8601)Start time of the most recent occurrence.
    POST /api/v2/tracing/slow_events bearer

    List slow events with aggregated stats

    Detailed documentation

    Query slow event spans (e.g., slow database queries).

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `span_kind` (enum, optional): Span kind to filter by (e.g., "Client", "Server", "Internal", "Producer", "Consumer")
  • `excluded_attributes` (array, optional): Attribute keys to exclude; a span is excluded if any listed key is present
  • `wanted_attributes` (object, required): Attribute requirements by category:
  • `<category>` (object): Category name (e.g., "payload", "system")
  • `Required` (array): At least one attribute must be present, or
  • `Optional` (array): Attributes to include if present
  • Response (JSON)

    Returns array of slow event items with span details and attributes.

    Query Behavior
  • Limit: 100 results
  • TTL enforcement applied
  • Filters spans by wanted attribute presence
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "wanted_attributes": {
    "payload": {"Required": ["db.query.text", "db.statement"]},
    "system": {"Optional": ["db.system.name"]}
    }
    }
    

    Request Body — SlowEventsQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to query slow events for.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    span_kind (optional)SpanKind | nullSpan kind to filter slow events by.
    wanted_attributes (required)objectAttributes to include in the results, mapped by span category.
    excluded_attributes (optional)string[]Attribute keys to exclude. A span is excluded if ANY of the listed keys is present.
    limit (optional)numberMaximum number of slow events to return. Defaults to 100.

    Response — SlowEventItem[]

    Returns an array of SlowEventItem

    FieldTypeDescription
    digest (required)stringHash digest identifying the slow event's operation.
    count (required)numberNumber of times this slow event occurred in the time range.
    mean (required)numberMean duration of this slow event in milliseconds.
    impact (required)numberRelative impact score (higher means more total time spent).
    attributes (required)objectAdditional attributes for the slow event (e.g. query body, category).

    Logs

    POST /api/v2/logs/lines bearer

    Query log lines with optional streaming support

    Detailed documentation

    Query log lines with optional streaming support.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): The site ID to query logs for
  • `from` (DateTime<Utc>, optional): Start timestamp for log query range
  • `to` (DateTime<Utc>, optional): End timestamp for log query range
  • `source_ids` (array of strings, required): Log source IDs to query
  • `query` (string, required): Search query string (can be empty for all logs)
  • `use_expressions` (boolean, optional, default: false): Use expression-based query parser
  • `pagination` (object, required):
  • `per_page` (integer, required): Number of results per page (max 100)
  • `order` (string, required): Sort order, either "asc" or "desc"
  • `cursor` (object, required):
  • `time` (DateTime<Utc>, optional): Pagination cursor timestamp
  • Response

    Supports two response formats based on Accept header:

    ### JSON Response (default)

    Content-Type: application/json

    Returns an array of log line objects with:

  • Full log line data
  • Metadata and attributes
  • Timestamps
  • ### Server-Sent Events (SSE) Response

    Content-Type: text/event-stream

    Accepts: text/event-stream

    Streams log query progress and results with event types:

  • `Progress`: Query execution progress with statistics
  • `Data`: Batches of log line results
  • `Complete`: Query finished successfully
  • `Error`: Error occurred during query
  • Query Behavior
  • Timestamps are validated and bounded by account TTL settings
  • Future timestamps are clamped to current time
  • Queries are executed in chunks for better performance
  • Results respect pagination limits
  • Empty source_ids or site_id returns empty results
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "source_ids": ["source-1", "source-2"],
    "query": "error",
    "pagination": {
    "per_page": 50,
    "order": "desc",
    "cursor": {"time": null}
    }
    }
    

    Request Body — LogsQueryParams

    FieldTypeDescription
    site_id (required)stringSite identifier to scope the query to.
    from (optional)string (ISO 8601) | nullStart of the time range. Defaults to the TTL lower bound when absent.
    to (optional)string (ISO 8601) | nullEnd of the time range. Defaults to the current time when absent.
    source_ids (required)string[]Log source IDs to query. At least one must be provided.
    query (required)stringSearch query string to filter log lines.
    pagination (required)Pagination<LogPagination>Pagination cursor and direction.
    use_expressions (optional)booleanWhen true, use the expression-based query parser instead of the

    Response — LogLineQueryResult[]

    Returns an array of LogLineQueryResult

    Kubernetes

    POST /api/v2/kubernetes/nodes bearer

    Query Kubernetes node metrics

    Detailed documentation

    Query Kubernetes node metrics.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `node_name` (string, optional): Filter by specific node name
  • Response (JSON)

    Returns array of node metric objects with:

  • `timestamp` (DateTime<Utc>): Latest metric timestamp
  • `node_name` (string): Node name
  • `cpu_usage_nano_cores` (float): CPU usage in nanocores
  • `memory_rss_bytes`, `memory_usage_bytes`, `memory_working_set_bytes` (float): Memory metrics
  • `memory_page_faults`, `memory_major_page_faults` (float): Page fault metrics
  • `fs_used_bytes`, `fs_available_bytes`, `fs_capacity_bytes` (float): Filesystem metrics
  • `fs_inodes_free`, `fs_inodes_used`, `fs_inodes` (float): Inode metrics
  • `network_rx_bytes`, `network_tx_bytes` (float): Network metrics
  • `phase` (integer): Node phase
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "node_name": "node-1"
    }
    

    Request Body — NodesQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to query nodes for.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    node_name (optional)stringOptional node name filter. Empty string means no filter.

    Response — NodesRow[]

    Returns an array of NodesRow

    FieldTypeDescription
    timestamp (required)string (ISO 8601)Timestamp of the metrics snapshot.
    node_name (required)stringName of the Kubernetes node.
    cpu_usage_nano_cores (required)numberCPU usage in nanocores.
    memory_rss_bytes (required)numberResident set size (RSS) memory in bytes.
    memory_usage_bytes (required)numberTotal memory usage in bytes.
    memory_working_set_bytes (required)numberWorking set memory in bytes.
    memory_page_faults (required)numberNumber of page faults.
    memory_major_page_faults (required)numberNumber of major page faults.
    fs_used_bytes (required)numberFilesystem space used in bytes.
    fs_available_bytes (required)numberFilesystem space available in bytes.
    fs_capacity_bytes (required)numberTotal filesystem capacity in bytes.
    fs_inodes_free (required)numberNumber of free filesystem inodes.
    fs_inodes_used (required)numberNumber of used filesystem inodes.
    fs_inodes (required)numberTotal number of filesystem inodes.
    network_rx_bytes (required)numberNetwork bytes received.
    network_tx_bytes (required)numberNetwork bytes transmitted.
    phase (required)numberNode phase as a numeric value.
    POST /api/v2/kubernetes/pods bearer

    Query Kubernetes pod metrics

    Detailed documentation

    Query Kubernetes pod metrics.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `namespaces` (array of strings, optional): Filter by namespaces
  • `pod_name` (string, optional): Filter by pod name (supports partial match)
  • `node_names` (array of strings, optional): Filter by node names
  • `state` (string, optional): Filter by pod state ("Unknown", "Pending", "Running", "Succeeded", "Failed")
  • Response (JSON)

    Returns array of pod metric objects with:

  • `timestamp` (DateTime<Utc>): Latest metric timestamp
  • `pod_name`, `pod_namespace`, `node_name` (string): Pod identifiers
  • `cpu_usage_nano_cores`, `cpu_usage_core_nano_seconds` (float): CPU metrics
  • `memory_*` (float): Memory metrics (rss, usage, working set, page faults)
  • `ephemeral_storage_*` (float): Storage metrics
  • `network_rx_bytes`, `network_tx_bytes` (float): Network metrics
  • `process_count` (float): Number of processes
  • `phase` (string): Pod phase
  • `state` (string): Computed pod state
  • `containers` (array): Container statuses
  • `pod_restart_count` (integer): Total restarts
  • `pod_uptime_seconds` (integer): Pod uptime
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "namespaces": ["default", "kube-system"],
    "state": "Running"
    }
    

    Request Body — PodsQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to query pods for.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Optional namespace filter. Empty means all namespaces.
    pod_name (optional)stringOptional pod name filter. Empty string means no filter.
    node_names (optional)string[]Optional node name filter. Empty means all nodes.
    state (optional)PodState | nullOptional pod state filter.

    Response — PodsRow[]

    Returns an array of PodsRow

    FieldTypeDescription
    timestamp (required)string (ISO 8601)Timestamp of the metrics snapshot.
    pod_name (required)stringName of the pod.
    pod_namespace (required)stringKubernetes namespace the pod belongs to.
    node_name (required)stringName of the node this pod is running on.
    cpu_usage_nano_cores (required)numberCPU usage in nanocores.
    cpu_usage_core_nano_seconds (required)numberCumulative CPU usage in core-nanoseconds.
    memory_rss_bytes (required)numberResident set size (RSS) memory in bytes.
    memory_usage_bytes (required)numberTotal memory usage in bytes.
    memory_working_set_bytes (required)numberWorking set memory in bytes.
    memory_page_faults (required)numberNumber of page faults.
    memory_major_page_faults (required)numberNumber of major page faults.
    ephemeral_storage_used_bytes (required)numberEphemeral storage used in bytes.
    ephemeral_storage_capacity_bytes (required)numberEphemeral storage capacity in bytes.
    network_rx_bytes (required)numberNetwork bytes received.
    network_tx_bytes (required)numberNetwork bytes transmitted.
    process_count (required)numberNumber of running processes.
    phase (required)PodPhaseCurrent phase of the pod lifecycle.
    state (required)PodStateDerived pod state based on phase and container statuses.
    containers (required)Container[]Containers running in this pod.
    pod_restart_count (required)numberTotal number of container restarts for this pod.
    pod_uptime_seconds (required)numberPod uptime in seconds.
    POST /api/v2/kubernetes/pods/overview bearer

    Query Kubernetes pod overview with labels and status

    Detailed documentation

    Query Kubernetes pod overview with metadata.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `from` (DateTime<Utc>, required): Start timestamp
  • `to` (DateTime<Utc>, required): End timestamp
  • `namespaces` (array of strings, optional): Filter by namespaces
  • `query` (string, optional): Filter by pod name (partial match)
  • Response (JSON)

    Returns array of pod overview objects with:

  • `timestamp` (DateTime<Utc>): Latest metric timestamp
  • `pod_name`, `pod_namespace`, `node_name`, `pod_uuid` (string): Pod identifiers
  • `phase` (string): Pod phase
  • `state` (string): Computed pod state
  • `labels` (object): Pod labels
  • `owner_references` (array): Pod owner references (name, kind, namespace)
  • `containers` (array): Container statuses with name, status, exit_code, reason
  • `pod_restart_count` (integer): Total restarts
  • `pod_uptime_seconds` (integer): Pod uptime
  • Example Request
    {
    "site_id": "abc123",
    "from": "2024-01-01T00:00:00Z",
    "to": "2024-01-01T01:00:00Z",
    "namespaces": ["default"],
    "query": "nginx"
    }
    

    Request Body — PodOverviewsQuery

    FieldTypeDescription
    site_id (required)stringSite identifier to query pod overviews for.
    from (required)string (ISO 8601)Start of the time range (inclusive).
    to (required)string (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Optional namespace filter. Empty means all namespaces.
    query (optional)stringOptional free-text search query for filtering pods.

    Response — PodOverviewRow[]

    Returns an array of PodOverviewRow

    FieldTypeDescription
    timestamp (required)string (ISO 8601)Timestamp of the metrics snapshot.
    node_name (required)stringName of the node this pod is running on.
    pod_name (required)stringName of the pod.
    pod_namespace (required)stringKubernetes namespace the pod belongs to.
    pod_uuid (required)stringUnique pod identifier.
    phase (required)PodPhaseCurrent phase of the pod lifecycle.
    labels (required)objectKubernetes labels attached to the pod.
    owner_references (required)OwnerReference[]Owner references (e.g. Deployment, ReplicaSet) for this pod.
    containers (required)Container[]Containers running in this pod.
    state (required)PodStateDerived pod state based on phase and container statuses.
    pod_restart_count (required)numberTotal number of container restarts for this pod.
    pod_uptime_seconds (required)numberPod uptime in seconds.

    Deploys

    POST /api/v2/deploys/stats bearer

    Get deployment statistics

    Detailed documentation

    Retrieve deployment statistics for a specific revision.

    Authentication

    Requires bearer token authentication via Authorization header.

    User must have access to the specified site_id.

    Request Body (JSON)
  • `site_id` (string, required): Site ID to query
  • `revision` (string, required): Deployment revision/commit SHA
  • `namespace` (string, optional): Filter by namespace
  • Response (JSON)

    Returns deployment statistics object with:

  • `throughput` (integer): Total request count for this revision
  • `mean` (float): Mean response time in milliseconds
  • `error_rate` (float): Error rate as a percentage
  • Query Behavior
  • Queries enriched trace metrics
  • Null values are returned as zero
  • Aggregates across all actions for the revision
  • Example Request
    {
    "site_id": "abc123",
    "revision": "abc-123",
    "namespace": "web"
    }
    
    Example Response
    {
    "throughput": 1001,
    "mean": 1.95,
    "error_rate": 1.05
    }
    

    Request Body — StatsQuery

    FieldTypeDescription
    site_id (required)stringSite identifier (MongoDB ObjectId as string)
    revision (required)stringGit revision or deployment identifier
    namespace (optional)string | nullOptional namespace filter (e.g., "web", "api")

    Response — DeployStatsResult

    FieldTypeDescription
    throughput (required)numberTotal number of requests for this deployment
    mean (required)numberAverage response time in milliseconds
    error_rate (required)numberError rate as percentage (0-100)

    Check-ins

    POST /api/v2/check_ins/test_cron bearer

    Test and validate cron schedule expressions

    Detailed documentation

    Test and validate cron schedule expressions.

    Authentication

    No authentication required (public endpoint).

    Request Body (JSON)
  • `cron` (string, required): Cron expression to test
  • `wait_time_minutes` (integer, required): Wait time in minutes for check-in window
  • `timestamp` (integer, optional): Unix timestamp to test against (default: current time)
  • `timezone` (string, optional): Timezone for cron evaluation (default: UTC)
  • Response (JSON)

    Returns cron test result object with:

  • `now` (DateTime<Utc>, optional): Current/provided timestamp
  • `next_start` (DateTime<Utc>, optional): Next scheduled start time
  • `next_end` (DateTime<Utc>, optional): Next scheduled end time (start + wait_time)
  • `error` (string, optional): Error message if cron expression is invalid
  • Example Request
    {
    "cron": "0 6 * * *",
    "wait_time_minutes": 5,
    "timestamp": 1614556800,
    "timezone": "Europe/Amsterdam"
    }
    
    Example Response (success)
    {
    "now": "2021-03-01T00:00:00Z",
    "next_start": "2021-03-01T05:00:00Z",
    "next_end": "2021-03-01T05:05:00Z",
    "error": null
    }
    
    Example Response (error)
    {
    "now": "2021-03-01T00:00:00Z",
    "next_start": null,
    "next_end": null,
    "error": "Invalid pattern: ..."
    }
    

    Request Body — CronQuery

    FieldTypeDescription
    cron (required)stringCron expression to test (e.g. `"0 * * * *"`).
    wait_time_minutes (required)numberWait time in minutes for the check-in window.
    timestamp (optional)number | nullOptional Unix timestamp to evaluate against. Defaults to the current time.
    timezone (optional)stringTimezone for cron evaluation (e.g. `"Europe/Amsterdam"`). Defaults to UTC.

    Response — CronQueryResult

    FieldTypeDescription
    now (optional)string (ISO 8601) | nullThe timestamp used for evaluation (current time or the provided timestamp).
    next_start (optional)string (ISO 8601) | nullNext scheduled start time according to the cron expression.
    next_end (optional)string (ISO 8601) | nullNext scheduled end time (start + wait time).
    error (optional)string | nullError message if the cron expression is invalid.

    Saved Visuals

    GET /api/v2/saved_visuals/{id} no auth

    Retrieve a saved visual as JSON

    Detailed documentation

    Retrieve a saved visual as JSON.

    Authentication

    No authentication required (public endpoint).

    Path Parameters
  • `id` (string, required): MongoDB ObjectId of the saved visual
  • Response (JSON)

    Returns saved visual object with:

  • `id` (string): Visual ID
  • `resolution` (string): Time resolution (e.g., "HOURLY", "MINUTELY")
  • `value_format` (string): Value format type (e.g., "number", "duration")
  • `value_input` (string, optional): Input format specification
  • `series` (array): Array of series objects, each containing:
  • `color` (string): Series color (e.g., "rgb(0,0,0)")
  • `name` (string): Series name
  • `renderer` (string): Renderer type (e.g., "line", "area")
  • `data` (array): Array of data points with:
  • `x` (DateTime<Utc>): Timestamp
  • `y` (float): Value
  • `y0`, `y1` (float, optional): Additional values for area charts
  • Error Responses
  • 404 Not Found: Visual does not exist
  • Example Response
    {
    "id": "60f3b3b3b3b3b3b3b3b3b3b3",
    "resolution": "HOURLY",
    "value_format": "number",
    "value_input": null,
    "series": [{
    "color": "rgb(0,0,0)",
    "name": "test",
    "renderer": "line",
    "data": [{"x": "2020-04-12T22:10:57Z", "y": 1.0}]
    }]
    }
    

    Response — SavedVisualOut

    FieldTypeDescription
    id (required)stringMongoDB ObjectId of the saved visual (hex-encoded).
    resolution (required)stringTime resolution (e.g. `"HOURLY"`, `"MINUTELY"`).
    value_format (required)stringValue format type (e.g. `"number"`, `"duration"`).
    value_input (optional)string | nullOptional input format specification.
    series (required)SerieOut[]Data series contained in this visual.
    GET /api/v2/saved_visuals/{id}/csv no auth

    Download a saved visual as CSV

    Detailed documentation

    Export a saved visual as CSV format.

    Authentication

    No authentication required (public endpoint).

    Path Parameters
  • `id` (string, required): MongoDB ObjectId of the saved visual
  • Response

    Content-Type: text/csv; charset=utf-8

    Content-Disposition: attachment; filename="{id}.csv"

    Returns CSV data with:

  • First column: timestamp (ISO 8601 format)
  • Subsequent columns: series data (one column per series)
  • Missing data points filled with 0
  • Rows sorted by timestamp
  • Error Responses
  • 404 Not Found: Visual does not exist
  • Example Response
    timestamp,line one,line two
    2020-04-12T22:00:00+00:00,1,10
    2020-04-12T22:01:00+00:00,0,10
    2020-04-12T22:02:00+00:00,1,0
    

    Response — CSV

    System

    GET /api/v2/auth bearer

    Test authentication endpoint

    Detailed documentation

    Test authentication endpoint.

    Authentication

    Requires bearer token authentication via Authorization header.

    Response (JSON)

    Returns authentication confirmation with:

  • `message` (string): Confirmation message including authenticated user ID
  • Example Response
    {
    "message": "Authenticated user 6694fca622fa81b8dd2e7178"
    }
    

    Response — AuthResponse

    FieldTypeDescription
    message (required)stringConfirmation message including the authenticated user ID.
    GET /api/v2/raise_error bearer

    Test endpoint that always returns an error

    Detailed documentation

    Test endpoint that always returns an error.

    Authentication

    Requires bearer token authentication via Authorization header.

    Response

    Always returns 500 Internal Server Error with error message.

    Purpose

    Used for testing error handling and monitoring systems.

    Response — Error

    Type Reference

    ActionEdge (object)

    A single edge in the upstream or downstream list.

    FieldTypeDescription
    site_id (optional)string | nullSite ID of the peer service if it is one the user has access to,
    site_name (optional)string | nullCurrent display name of the peer site, if accessible to the user.
    site_environment (optional)string | nullEnvironment of the peer site (e.g. "production"), if accessible to the user.
    servicestringPeer service (app name) on the other end of the edge. For peers
    namespacestringPeer namespace.
    actionstringPeer action name.
    caller_kindstringOTel span kind on the caller side.
    callee_kindstringOTel span kind on the callee side.
    edge_typestring`SYNC` or `ASYNC`.
    countnumberTotal request count over the time range.
    error_countnumberTotal error count over the time range.
    meannumberMean duration in milliseconds (count-weighted across the range).
    p_90number90th percentile duration in milliseconds. Approximation: traffic-weighted
    p_95number95th percentile duration in milliseconds. Approximation: traffic-weighted

    ActionEdgesApiQuery (object)

    Query parameters for listing upstream and downstream action edges.

    FieldTypeDescription
    site_idstringSite ID that anchors the query (the focused action's site).
    namespacestringFocused action's `"<service>/<namespace>"` (e.g. `"PublicApi/web"`).
    actionstringAction name of the focused action.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (exclusive).

    ActionEdgesQuery (object)

    Query parameters for fetching upstream and downstream action edges

    FieldTypeDescription
    site_idstringThe focused site that anchors the query.
    servicestringService of the focused action (e.g. "PublicApi"). Distinct from
    namespacestringApplication namespace of the focused action (e.g. "web", "background").
    actionstringAction name of the focused action (e.g. "UsersController#show").
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (exclusive).
    accessible_site_idsstring[]Site IDs the user has access to in the focused site's account.

    ActionEdgesResponse (object)

    Response shape for the action edges endpoint.

    FieldTypeDescription
    upstreamActionEdge[]Upstream edges (callers into the focused action).
    downstreamActionEdge[]Downstream edges (callees the focused action invoked).

    ActionRow (object)

    A single row in the actions list response, representing aggregated metrics

    FieldTypeDescription
    namespacestringApplication namespace (e.g. "web", "background").
    actionstringAction name (e.g. "UsersController#show").
    digeststringAction digest identifier.
    meannumberMean duration in milliseconds.
    throughputnumberTotal request count in the queried time range.
    error_ratenumberError percentage (0.0–100.0).
    has_npobooleanWhether an N+1 query has been detected for this action.

    ActionsQuery (object)

    Query parameters for listing performance actions with aggregated metrics.

    FieldTypeDescription
    site_idstringSite identifier to scope the query to.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Namespaces to filter by. When empty, all namespaces are included.
    revision (optional)string | nullOptional deployment revision to filter by.
    action (optional)string | nullOptional action name to filter by.

    Aggregation (enum)

    The aggregation function applied when combining multiple values within a time bucket.

    ValueDescription
    sumSum all values in the time bucket.
    avgArithmetic mean of all values in the time bucket.
    minSmallest value in the time bucket.
    maxLargest value in the time bucket.
    firstEarliest value in the time bucket.
    lastMost recent value in the time bucket.

    AttributeRequirement (enum)

    Attribute requirement for slow event queries

    ValueDescription
    Required
    Optional

    AuthResponse (object)

    Response body for the authentication test endpoint.

    FieldTypeDescription
    messagestringConfirmation message including the authenticated user ID.

    Container (object)

    A container within a Kubernetes pod.

    FieldTypeDescription
    namestringName of the container.
    statusContainerStatusCurrent status of the container.
    exit_codenumberExit code of the container process (0 means success).
    reasonstringHuman-readable reason for the container's current status.

    ContainerStatus (enum)

    Status of a container within a pod.

    ValueDescription
    RunningContainer is executing normally.
    TerminatedContainer has exited (check `exit_code` for success/failure).
    WaitingContainer is waiting to start (e.g. pulling image).
    UnknownContainer status could not be determined.

    CronQuery (object)

    Query parameters for testing and validating a cron schedule expression.

    FieldTypeDescription
    cronstringCron expression to test (e.g. `"0 * * * *"`).
    wait_time_minutesnumberWait time in minutes for the check-in window.
    timestamp (optional)number | nullOptional Unix timestamp to evaluate against. Defaults to the current time.
    timezone (optional)stringTimezone for cron evaluation (e.g. `"Europe/Amsterdam"`). Defaults to UTC.

    CronQueryResult (object)

    Result of evaluating a cron schedule expression.

    FieldTypeDescription
    now (optional)string (ISO 8601) | nullThe timestamp used for evaluation (current time or the provided timestamp).
    next_start (optional)string (ISO 8601) | nullNext scheduled start time according to the cron expression.
    next_end (optional)string (ISO 8601) | nullNext scheduled end time (start + wait time).
    error (optional)string | nullError message if the cron expression is invalid.

    DataPointOut (object)

    A single data point in a saved visual series.

    FieldTypeDescription
    xstring (ISO 8601)Timestamp of this data point.
    ynumberPrimary value.

    DeployStatsResult (object)

    Deployment statistics result

    FieldTypeDescription
    throughputnumberTotal number of requests for this deployment
    meannumberAverage response time in milliseconds
    error_ratenumberError rate as percentage (0-100)

    ErrorLocation (object)

    Error incident where a trace appears.

    FieldTypeDescription
    site_idstringSite identifier.
    incident_numbernumberIncident number that groups related errors.
    exception_namestringName of the exception (e.g. `"RuntimeError"`).

    Field (enum)

    The specific measurement within a metric to retrieve.

    ValueDescription
    gaugeCurrent point-in-time value (e.g. CPU usage, memory consumption).
    counterCumulative count that only increases (e.g. total requests served).
    meanAverage value over the time bucket (e.g. average response time).
    countNumber of observations in the time bucket.
    minSmallest observed value in the time bucket.
    maxLargest observed value in the time bucket.
    p_9999th percentile.
    p_9595th percentile.
    p_9090th percentile.
    p_8080th percentile.
    p_7575th percentile (Core Web Vitals are officially rated here).
    p_7070th percentile.
    p_6060th percentile.
    p_5050th percentile (median).
    p_4040th percentile.
    p_3030th percentile.
    p_2020th percentile.
    p_1010th percentile.

    GroupBy (enum)

    Specifies how rows in a [`List`](super::output::List) are grouped.

    ValueDescription
    TagGroup by the value of a specific tag (e.g. `"hostname"`). The tag value becomes
    NameGroup by the metric name itself.

    Helper (object)

    FieldTypeDescription
    timestampstring (ISO 8601)
    pod_namestring
    pod_namespacestring
    node_namestring
    cpu_usage_nano_coresnumber
    cpu_usage_core_nano_secondsnumber
    memory_rss_bytesnumber
    memory_usage_bytesnumber
    memory_working_set_bytesnumber
    memory_page_faultsnumber
    memory_major_page_faultsnumber
    ephemeral_storage_used_bytesnumber
    ephemeral_storage_capacity_bytesnumber
    network_rx_bytesnumber
    network_tx_bytesnumber
    process_countnumber
    phasePodPhase
    containersContainer[]
    pod_restart_countnumber
    pod_uptime_secondsnumber

    IncidentKind (enum)

    Whether something represents an exception or a performance incident.

    ValueDescription
    Exception
    Performance

    List (object)

    A tabular collection of [`Row`]s, returned for list-view queries.

    FieldTypeDescription
    resolutionResolutionThe time interval used for aggregation (e.g. one minute, one hour).
    fromstring (ISO 8601)Start of the queried time range (inclusive).
    tostring (ISO 8601)End of the queried time range (inclusive).
    rowsRow[]The rows of aggregated metric data.

    ListQuery (object)

    Query for fetching aggregated metric data in tabular form, used to populate list views.

    FieldTypeDescription
    fromstring (ISO 8601)Start of the time range to query (inclusive).
    tostring (ISO 8601)End of the time range to query (inclusive).
    resolution (optional)Resolution | nullThe desired interval for aggregation. When `null`, a resolution is
    site_idstringThe site to fetch metrics for.
    selectListSelector[]Selectors that define which metrics and fields to fetch. Each selector contributes
    group_byGroupBy[]How to group metrics into rows. Each unique combination of group-by values produces
    limit (optional)number | nullMaximum number of rows to return. When `null`, no limit is applied.

    ListSelector (object)

    Selects a specific metric, field and tag combination to include in a list response.

    FieldTypeDescription
    idstringThe key under which this selector's aggregated value appears in
    namestringThe metric name to query (e.g. `"cpu_usage"`, `"transaction_duration"`).
    tagsTagsTag key-value pairs to filter on. May contain wildcard values (`*`) for tags
    fieldFieldThe specific measurement field to retrieve (e.g. `Gauge`, `Mean`, `P95`).
    aggregation (optional)Aggregation | nullThe aggregation function to apply when combining values within a time bucket.

    LogLine (object)

    A single log line with all its attributes.

    FieldTypeDescription
    timestampstring (ISO 8601)Timestamp when the log line was recorded.
    id (optional)string | nullUnique identifier for this log line.
    source_id (optional)string | nullLog source identifier.
    group (optional)string | nullLog group name.
    severity (optional)string | nullSeverity level (e.g. `"info"`, `"error"`, `"warn"`).
    message (optional)string | nullLog message body.
    hostname (optional)string | nullHostname that produced this log line.
    attributesobjectMerged attributes from all types, with type-suffixed keys.
    json (optional)string | nullRaw JSON body of the log line, if available.

    LogLinesChunk (object)

    A chunk of log lines with progress information.

    FieldTypeDescription
    logsLogLineQueryResult[]Log lines returned in this chunk.
    progressQueryProgressCurrent execution progress.

    LogLinesQuery (object)

    Query for fetching log lines with chunked execution

    FieldTypeDescription
    queryLogsQueryThe underlying logs query
    tablestringThe log table name to query
    chunk_sizenumber (milliseconds)Duration of each time chunk for chunked execution

    LogMetric (object)

    Log metric data point for timeseries.

    FieldTypeDescription
    namestringMetric series name (e.g. `"count"` or a severity level).
    timestampstring (ISO 8601)Timestamp of this data point.
    counternumberValue of this data point.

    LogMetricType (enum)

    Type of log metric to fetch in a timeseries query.

    ValueDescription
    CountCount of all log lines
    SeveritiesCount by severity level

    LogMetricsQuery (object)

    Query for fetching log metrics/timeseries

    FieldTypeDescription
    site_idstringSite ID to query metrics for
    source_idsstring[]Source IDs to aggregate metrics for
    fromstring (ISO 8601)Start of time range
    tostring (ISO 8601)End of time range
    querystringQuery string for filtering
    metricLogMetricTypeMetric type: "count" or "severities"
    resolutionResolutionTime resolution for aggregation
    ttl (optional)number | nullTTL in seconds (for data retention boundary)

    LogPagination (object)

    Pagination cursor for logs (time-based).

    FieldTypeDescription
    time (optional)string (ISO 8601) | nullCursor timestamp for keyset pagination.

    LogStreamEvent (enum)

    Server-sent event types emitted during a log query stream.

    ValueDescription
    ProgressIntermediate progress update with query statistics.
    DataA batch of log line results.
    CompleteSignals the stream has finished successfully.
    ErrorAn error occurred during streaming.

    LogStreamResponse (object)

    Custom stream wrapper that implements the Stream trait for SSE compatibility.

    FieldTypeDescription
    rxmpsc::Receiver<Result<LogStreamEvent, anyhow::Error>>

    LogUsage (object)

    Log usage statistics for a source.

    FieldTypeDescription
    source_idstringLog source identifier.
    size_bytesnumberTotal size of log data in bytes.
    countnumberTotal number of log lines.

    LogUsageQuery (object)

    Query for fetching log usage statistics

    FieldTypeDescription
    site_idstringSite ID to query usage for
    source_idsstring[]Source IDs to aggregate usage for
    fromstring (ISO 8601)Start of time range
    tostring (ISO 8601)End of time range
    ttl (optional)number | nullTTL in seconds (for data retention boundary)

    LogsQuery (object)

    Query for searching log lines

    FieldTypeDescription
    site_idstringSite ID to query logs for
    source_idsstring[]Source IDs to filter logs by
    fromstring (ISO 8601)Start of time range (inclusive)
    tostring (ISO 8601)End of time range (inclusive)
    querystringQuery string for filtering (supports field:value syntax)
    use_expressionsbooleanWhether to use expression-based query parsing
    paginationPagination<LogPagination>Pagination settings
    ttl (optional)number | nullTTL in seconds (for data retention boundary)

    LogsQueryParams (object)

    Query parameters for fetching log lines.

    FieldTypeDescription
    site_idstringSite identifier to scope the query to.
    from (optional)string (ISO 8601) | nullStart of the time range. Defaults to the TTL lower bound when absent.
    to (optional)string (ISO 8601) | nullEnd of the time range. Defaults to the current time when absent.
    source_idsstring[]Log source IDs to query. At least one must be provided.
    querystringSearch query string to filter log lines.
    paginationPagination<LogPagination>Pagination cursor and direction.
    use_expressions (optional)booleanWhen true, use the expression-based query parser instead of the

    MetricNames (type alias)

    A list of available metric names for a given site.

    Alias for string[]

    MetricType (enum)

    The category of a metric, which determines how its values are interpreted.

    ValueDescription
    gaugeA point-in-time value that can go up or down (e.g. CPU usage, memory consumption).
    counterA cumulative value that only increases over time (e.g. total requests served).
    measurementA distribution of observed values with statistical fields like mean and percentiles

    MetricTypeAndTags (object)

    Metadata describing a metric's type and the tag combinations it can be queried with.

    FieldTypeDescription
    metric_typeMetricTypeThe category of the metric (gauge, counter or measurement).
    available_tagsstring[][]The tag combinations available for this metric. Each inner vector represents one

    NodesQuery (object)

    Query for fetching Kubernetes node metrics.

    FieldTypeDescription
    site_idstringSite identifier to query nodes for.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    node_name (optional)stringOptional node name filter. Empty string means no filter.

    NodesRow (object)

    A row of Kubernetes node metrics at a point in time.

    FieldTypeDescription
    timestampstring (ISO 8601)Timestamp of the metrics snapshot.
    node_namestringName of the Kubernetes node.
    cpu_usage_nano_coresnumberCPU usage in nanocores.
    memory_rss_bytesnumberResident set size (RSS) memory in bytes.
    memory_usage_bytesnumberTotal memory usage in bytes.
    memory_working_set_bytesnumberWorking set memory in bytes.
    memory_page_faultsnumberNumber of page faults.
    memory_major_page_faultsnumberNumber of major page faults.
    fs_used_bytesnumberFilesystem space used in bytes.
    fs_available_bytesnumberFilesystem space available in bytes.
    fs_capacity_bytesnumberTotal filesystem capacity in bytes.
    fs_inodes_freenumberNumber of free filesystem inodes.
    fs_inodes_usednumberNumber of used filesystem inodes.
    fs_inodesnumberTotal number of filesystem inodes.
    network_rx_bytesnumberNetwork bytes received.
    network_tx_bytesnumberNetwork bytes transmitted.
    phasenumberNode phase as a numeric value.

    Order (enum)

    Sort order for query results

    ValueDescription
    ASCAscending order (oldest first, A-Z, 0-9)
    DESCDescending order (newest first, Z-A, 9-0)

    OwnerReference (object)

    A Kubernetes owner reference linking a pod to its controller.

    FieldTypeDescription
    namestringName of the owning resource (e.g. `"my-deployment-abc123"`).
    kindstringKind of the owning resource (e.g. `"ReplicaSet"`, `"DaemonSet"`).
    namespacestringNamespace of the owning resource.

    Pagination (object)

    Generic pagination structure for logs.

    FieldTypeDescription
    per_pagenumberNumber of results per page.
    orderOrderSort order for results.
    cursorTCursor position for keyset pagination.

    PerformanceLocation (object)

    Performance action where a trace appears.

    FieldTypeDescription
    site_idstringSite identifier.
    namespacestringNamespace of the action (e.g. `"web"`).
    action_namestringName of the action (e.g. `"POST /api/users"`).

    PodOverviewRow (object)

    A Kubernetes pod overview with metadata and status information.

    FieldTypeDescription
    timestampstring (ISO 8601)Timestamp of the metrics snapshot.
    node_namestringName of the node this pod is running on.
    pod_namestringName of the pod.
    pod_namespacestringKubernetes namespace the pod belongs to.
    pod_uuidstringUnique pod identifier.
    phasePodPhaseCurrent phase of the pod lifecycle.
    labelsobjectKubernetes labels attached to the pod.
    owner_referencesOwnerReference[]Owner references (e.g. Deployment, ReplicaSet) for this pod.
    containersContainer[]Containers running in this pod.
    statePodStateDerived pod state based on phase and container statuses.
    pod_restart_countnumberTotal number of container restarts for this pod.
    pod_uptime_secondsnumberPod uptime in seconds.

    PodOverviewsQuery (object)

    Query for fetching Kubernetes pod overview data.

    FieldTypeDescription
    site_idstringSite identifier to query pod overviews for.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Optional namespace filter. Empty means all namespaces.
    query (optional)stringOptional free-text search query for filtering pods.

    PodPhase (enum)

    Kubernetes pod lifecycle phase.

    ValueDescription
    RunningPod has been bound to a node and all containers are running.
    SucceededAll containers terminated successfully.
    PendingPod is waiting to be scheduled or containers are starting.
    FailedAll containers terminated and at least one terminated in failure.
    UnknownPod phase could not be determined.

    PodState (enum)

    Derived state of a pod, combining phase and container statuses.

    ValueDescription
    UnknownPod state could not be determined.
    PendingPod is waiting to be scheduled or containers are starting.
    RunningPod is running and all containers are healthy.
    SucceededPod completed successfully (all containers exited with code 0).
    FailedPod or one of its containers has failed.

    PodsQuery (object)

    Query for fetching detailed Kubernetes pod metrics.

    FieldTypeDescription
    site_idstringSite identifier to query pods for.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    namespaces (optional)string[]Optional namespace filter. Empty means all namespaces.
    pod_name (optional)stringOptional pod name filter. Empty string means no filter.
    node_names (optional)string[]Optional node name filter. Empty means all nodes.
    state (optional)PodState | nullOptional pod state filter.

    PodsRow (object)

    A row of detailed Kubernetes pod metrics at a point in time.

    FieldTypeDescription
    timestampstring (ISO 8601)Timestamp of the metrics snapshot.
    pod_namestringName of the pod.
    pod_namespacestringKubernetes namespace the pod belongs to.
    node_namestringName of the node this pod is running on.
    cpu_usage_nano_coresnumberCPU usage in nanocores.
    cpu_usage_core_nano_secondsnumberCumulative CPU usage in core-nanoseconds.
    memory_rss_bytesnumberResident set size (RSS) memory in bytes.
    memory_usage_bytesnumberTotal memory usage in bytes.
    memory_working_set_bytesnumberWorking set memory in bytes.
    memory_page_faultsnumberNumber of page faults.
    memory_major_page_faultsnumberNumber of major page faults.
    ephemeral_storage_used_bytesnumberEphemeral storage used in bytes.
    ephemeral_storage_capacity_bytesnumberEphemeral storage capacity in bytes.
    network_rx_bytesnumberNetwork bytes received.
    network_tx_bytesnumberNetwork bytes transmitted.
    process_countnumberNumber of running processes.
    phasePodPhaseCurrent phase of the pod lifecycle.
    statePodStateDerived pod state based on phase and container statuses.
    containersContainer[]Containers running in this pod.
    pod_restart_countnumberTotal number of container restarts for this pod.
    pod_uptime_secondsnumberPod uptime in seconds.

    Point (object)

    A single data point in a timeseries, representing a value at a specific moment in time.

    FieldTypeDescription
    timestampstring (ISO 8601)The moment in time this data point represents, aligned to the query's timeframe resolution.
    valuenumberThe numeric metric value at this timestamp.

    QueryProgress (object)

    Progress tracking for chunked log query execution.

    FieldTypeDescription
    rows_readnumberNumber of rows read so far across all chunks.
    bytes_readnumberNumber of bytes read so far across all chunks.
    total_rows_to_readnumberEstimated total rows to read across all chunks.
    progress_percentagenumberOverall progress as a percentage (0.0–100.0).
    processed_chunksnumberNumber of time chunks processed so far.
    total_chunksnumberTotal number of time chunks to process.
    rows_returnednumberNumber of rows included in the response so far.

    RelatedTraceItem (object)

    Related trace item showing an action where a slow event appears.

    FieldTypeDescription
    action_namestringName of the action containing the slow event.
    namespacestringNamespace the action belongs to.
    countnumberNumber of times the slow event appeared in this action.
    trace_idstringTrace ID of the most recent occurrence.
    start_timestring (ISO 8601)Start time of the most recent occurrence.

    RelatedTracesQuery (object)

    Query for related traces by digest.

    FieldTypeDescription
    site_idstringSite identifier to query related traces for.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    digeststringSlow event digest to find related traces for.

    Resolution (enum)

    Enum to signify the supported resolutions for timeseries data

    ValueDescription
    HOURLY
    MINUTELY
    FIVE_MINUTELY
    TEN_MINUTELY
    FIFTEEN_MINUTELY
    DAILY

    Row (object)

    A single row in a [`List`], representing aggregated metric values for one group of tags.

    FieldTypeDescription
    idstringUnique identifier for this row, typically derived from the group tag values.
    groupobjectTag key-value pairs that define this row's grouping
    dataobjectAggregated metric values keyed by selector id (e.g. `{"mean": 42.5, "count": 100.0}`).

    SampleKind (enum)

    Specifies whether to search errors, performance samples, or both.

    ValueDescription
    AllReturn both errors and performance samples.
    ExceptionReturn only error/exception samples.
    PerformanceReturn only performance samples.

    SavedVisualOut (object)

    JSON response representation of a saved visual (chart).

    FieldTypeDescription
    idstringMongoDB ObjectId of the saved visual (hex-encoded).
    resolutionstringTime resolution (e.g. `"HOURLY"`, `"MINUTELY"`).
    value_formatstringValue format type (e.g. `"number"`, `"duration"`).
    value_input (optional)string | nullOptional input format specification.
    seriesSerieOut[]Data series contained in this visual.

    SearchQuery (object)

    Query for the unified search endpoint.

    FieldTypeDescription
    site_idsstring[]Site identifiers to search.
    tokensSearchToken[]Parsed search tokens (action, error, message, tag, or default terms).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    kindSampleKindFilter by sample kind: errors, performance, or all.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).

    SearchResult (object)

    A search result item returned by the unified search endpoint.

    FieldTypeDescription
    result_typeIncidentKindWhether this is an exception or performance result.
    sourceSearchResultSourceWhether this result came from a ClickHouse trace or an ES sample.
    trace_idstringUnique identifier for the trace (ES doc `_id` or CH `trace_id`).
    site_idstringSite identifier this result belongs to.
    namespace (optional)string | nullNamespace the sample belongs to (e.g. `"web"`, `"background"`).
    revision (optional)string | nullGit revision or deployment identifier active when the sample was recorded.
    action_name (optional)string | nullAction name for the sample (e.g. `"POST /api/users"`).
    timestring (ISO 8601)Timestamp when the sample was recorded.
    durationnumberTotal duration of the sample in milliseconds.
    tagsobjectUser-defined tags extracted from span/sample attributes.
    exception_name (optional)string | nullException (error) name — present for error samples only.
    exception_message (optional)string | nullException (error) message — present for error samples only.
    incident_digest (optional)string | nullIncident digest used to link to the incident page.
    incident_number (optional)number | nullIncident number — populated after MongoDB enrichment for error samples.

    SearchResultSource (enum)

    Whether a search result originates from a ClickHouse trace or an

    ValueDescription
    Trace
    Sample

    Serie (object)

    A single timeseries: a named sequence of [`Point`]s that share the same tags and field.

    FieldTypeDescription
    idstringUnique identifier for this series, composed of the metric name, sorted tags and field
    namestringThe metric name (e.g. `"cpu_usage"`, `"transaction_duration"`).
    tagsobjectTag key-value pairs that distinguish this series from others with the same name
    maxnumberThe maximum value across all data points in this series.
    minnumberThe minimum value across all data points in this series.
    fieldFieldThe type of measurement this series represents (e.g. gauge, mean, a percentile).
    dataPoint[]The ordered sequence of data points, aligned to the query's timeframe resolution.

    SerieOut (object)

    A single data series within a saved visual.

    FieldTypeDescription
    colorstringSeries color as a CSS color string (e.g. `"rgb(0,0,0)"`).
    namestringDisplay name of the series.
    rendererstringRenderer type (e.g. `"line"`, `"area"`).
    dataDataPointOut[]Ordered data points in this series.

    SiteEdge (object)

    A single service-level edge for the site dependency map. Unlike

    FieldTypeDescription
    site_id (optional)string | nullSite ID of the peer service if accessible to the user, else `null`.
    site_name (optional)string | nullCurrent display name of the peer site, if accessible to the user.
    site_environment (optional)string | nullEnvironment of the peer site (e.g. "production"), if accessible to the user.
    servicestringPeer service name (app name on the other end of the edge).
    countnumberTotal request count over the time range.
    error_countnumberTotal error count over the time range.
    meannumberMean duration in milliseconds (count-weighted across the range).
    p_90number90th percentile duration in milliseconds. Approximation: traffic-weighted
    p_95number95th percentile duration in milliseconds. Approximation: traffic-weighted

    SiteEdgesApiQuery (object)

    Query parameters for listing site-level service dependency edges.

    FieldTypeDescription
    site_idstringSite ID that anchors the query.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (exclusive).

    SiteEdgesQuery (object)

    Query parameters for fetching site-level service dependency edges.

    FieldTypeDescription
    site_idstringThe focused site that anchors the query.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (exclusive).
    accessible_site_idsstring[]Site IDs the user has access to in the focused site's account.

    SiteEdgesResponse (object)

    Response shape for the site edges endpoint.

    FieldTypeDescription
    upstreamSiteEdge[]External services calling into this site (upstream).
    downstreamSiteEdge[]External services this site calls (downstream).
    internalSiteEdge[]Internal services this site calls within itself (both sides share the focused site_id).

    SlowEventItem (object)

    A slow event aggregation (e.g. a slow database query).

    FieldTypeDescription
    digeststringHash digest identifying the slow event's operation.
    countnumberNumber of times this slow event occurred in the time range.
    meannumberMean duration of this slow event in milliseconds.
    impactnumberRelative impact score (higher means more total time spent).
    attributes (flattened)objectAdditional attributes for the slow event (e.g. query body, category).

    SlowEventsQuery (object)

    Query for slow events (e.g., slow database queries).

    FieldTypeDescription
    site_idstringSite identifier to query slow events for.
    fromstring (ISO 8601)Start of the time range (inclusive).
    tostring (ISO 8601)End of the time range (inclusive).
    span_kind (optional)SpanKind | nullSpan kind to filter slow events by.
    wanted_attributesobjectAttributes to include in the results, mapped by span category.
    excluded_attributes (optional)string[]Attribute keys to exclude. A span is excluded if ANY of the listed keys is present.
    limit (optional)numberMaximum number of slow events to return. Defaults to 100.

    SpanKind (enum)

    ValueDescription
    Client
    Server
    Internal
    Producer
    Consumer

    StatsQuery (object)

    Query for fetching deployment statistics

    FieldTypeDescription
    site_idstringSite identifier (MongoDB ObjectId as string)
    revisionstringGit revision or deployment identifier
    namespace (optional)string | nullOptional namespace filter (e.g., "web", "api")

    Tag (object)

    FieldTypeDescription
    keystring
    valuestring

    Timeseries (object)

    A collection of [`Serie`]s over a time range, returned for timeseries graph queries.

    FieldTypeDescription
    resolutionResolutionThe time interval between consecutive data points (e.g. one minute, one hour).
    fromstring (ISO 8601)Start of the queried time range (inclusive).
    tostring (ISO 8601)End of the queried time range (inclusive).
    seriesSerie[]The individual timeseries that matched the query.

    TimeseriesQuery (object)

    Query for fetching timeseries metric data, used to populate graphs.

    FieldTypeDescription
    fromstring (ISO 8601)Start of the time range to query (inclusive).
    tostring (ISO 8601)End of the time range to query (inclusive).
    resolution (optional)Resolution | nullThe desired interval between data points. When `null`, a resolution is
    site_idstringThe site to fetch metrics for.
    selectTimeseriesSelector[]Selectors that define which metrics and fields to fetch. Each selector
    limit (optional)number | nullMaximum number of unique series to return. When `null`, no limit is applied.

    TimeseriesSelector (object)

    Selects a specific metric, field and tag combination to include in a timeseries response.

    FieldTypeDescription
    namestringThe metric name to query (e.g. `"cpu_usage"`, `"transaction_duration"`).
    tagsTagsTag key-value pairs to filter on (e.g. `{"hostname": "frontend1"}`).
    fieldFieldThe specific measurement field to retrieve (e.g. `Gauge`, `Mean`, `P95`).
    aggregation (optional)Aggregation | nullThe aggregation function to apply when combining values within a time bucket.
    draw_null_as_zerobooleanWhen `true`, missing data points are filled with `0.0`. When `false`, the previous

    Trace (object)

    A trace summary representing a root span.

    FieldTypeDescription
    span_idstringUnique identifier for the root span.
    trace_idstringUnique identifier for the entire trace.
    site_idstringSite identifier this trace belongs to.
    namespace (optional)string | nullNamespace the trace belongs to (e.g. `"web"`, `"background"`).
    revision (optional)string | nullGit revision or deployment identifier active when the trace was recorded.
    action_name (optional)string | nullAction name for the trace (e.g. `"POST /api/users"`).
    timestring (ISO 8601)Timestamp when the trace ended.
    durationnumberTotal duration of the trace in milliseconds.
    tagsobjectUser-defined tags extracted from span attributes.
    has_npobooleanWhether this trace contains N+1 query detection results.

    TraceDetailQuery (object)

    Query for fetching a single trace with all spans.

    FieldTypeDescription
    site_idsstring[]Site identifiers to search for the trace.
    trace_idstringThe trace ID to look up.

    TraceLocation (object)

    Locations of a trace in performance and error contexts.

    FieldTypeDescription
    performancePerformanceLocation[]Performance actions where this trace appears.
    errorsErrorLocation[]Error incidents where this trace appears.

    TraceLocatorQuery (object)

    Query for locating a trace in performance/error contexts.

    FieldTypeDescription
    site_idsstring[]Site identifiers to search for the trace.
    trace_idstringThe trace ID to locate.

    TracePagination (enum)

    Pagination cursor type for traces.

    ValueDescription
    TimeTime-based cursor for paginating through traces by timestamp.
    DurationDuration-based cursor for paginating through traces by time range.

    TraceSpan (object)

    A complete span with all attributes, used for the trace detail view.

    FieldTypeDescription
    start_timestring (ISO 8601)Timestamp when the span started.
    end_timestring (ISO 8601)Timestamp when the span ended.
    trace_idstringUnique identifier for the entire trace.
    parent_span_idstringSpan ID of the parent span, empty for root spans.
    span_idstringUnique identifier for this span.
    digeststringHash digest identifying the span's operation.
    durationnumberDuration of the span in milliseconds.
    trace_statestringW3C trace state header value.
    subtrace_rootbooleanWhether this span is the root of a subtrace (a separate service boundary).
    resource_attributesobjectResource-level attributes (e.g. host, service metadata).
    service_namestringName of the service that produced this span.
    namespacestringNamespace the span belongs to (e.g. `"web"`, `"background"`).
    revisionstringGit revision or deployment identifier active when the span was recorded.
    scope_namestringInstrumentation scope name (e.g. the library that produced the span).
    scope_versionstringInstrumentation scope version.
    action_namestringAction name for the span (e.g. `"POST /api/users"`).
    span_namestringLow-cardinality name of the operation (e.g. `"HTTP GET"`).
    span_kindstringSpan kind (e.g. `"server"`, `"client"`, `"internal"`).
    span_attributesobjectSpan-level attributes (e.g. HTTP headers, database statements).
    status_codestringOpenTelemetry status code (e.g. `"OK"`, `"ERROR"`).
    status_messagestringHuman-readable status message, typically set on error.
    events.timestampstring[]Timestamps of span events.
    events.namestring[]Names of span events (e.g. `"exception"`).
    events.attributesobject[]Attributes for each span event.
    links.trace_idstring[]Trace IDs of linked spans.
    links.span_idstring[]Span IDs of linked spans.
    links.trace_statestring[]Trace state values of linked spans.
    links.attributesobject[]Attributes for each span link.

    TracesQuery (object)

    Generic query for fetching a list of traces.

    FieldTypeDescription
    site_idsstring[]Site identifiers to query traces for.
    digests (optional)string[] | nullOptional list of trace digests to filter by.
    action_name (optional)string | nullOptional action name filter (e.g. `"POST /api/users"`).
    namespace (optional)string | nullOptional namespace filter (e.g. `"web"`, `"background"`).
    query (optional)string | nullOptional free-text search query.
    duration (optional)number (milliseconds) | nullOptional minimum duration filter.
    from (optional)string (ISO 8601) | nullStart of the time range (inclusive).
    to (optional)string (ISO 8601) | nullEnd of the time range (inclusive).
    paginationPagination<TracePagination>Pagination settings for the result set.
    ttl (optional)number | nullTTL in seconds for data retention boundary.