Get Attempt Metrics
Returns aggregated delivery attempt metrics. Supports time bucketing via granularity, dimensional grouping, and filtering.
Measures: count, successful_count, failed_count, error_rate, first_attempt_count, retry_count, manual_retry_count, avg_attempt_number, rate, successful_rate, failed_rate
Dimensions: tenant_id (admin-only), destination_id, destination_type, topic, status, code, manual, attempt_number
Filters: tenant_id (admin-only), destination_id, destination_type, topic, status, code, manual, attempt_number
Query parameters
Time range for the metrics query.
{
"start": "2026-03-02T00:00:00Z",
"end": "2026-03-03T00:00:00Z"
}Time bucketing granularity. Pattern: <number><unit>. Units: s (1-60), m (1-60), h (1-24), d (1-31), w (1-4), M (1-12). When omitted, returns a single aggregate row per dimension combination.
Measures to compute. At least one required. Rate measures (rate, successful_rate, failed_rate) are throughput in events/second. Use bracket notation for multiple values (e.g., measures[0]=count&measures[1]=error_rate).
Dimensions to group results by. Use bracket notation for multiple values (e.g., dimensions[0]=status&dimensions[1]=destination_id).
Filter by destination ID(s). Use bracket notation for multiple values (e.g., filters[destination_id][0]=d1&filters[destination_id][1]=d2).
Filter by destination type(s). Use bracket notation for multiple values (e.g., filters[destination_type][0]=webhook&filters[destination_type][1]=aws_sqs).
Filter by topic name(s). Use bracket notation for multiple values (e.g., filters[topic][0]=user.created&filters[topic][1]=user.updated).
Filter by attempt status(es). Use bracket notation for multiple values (e.g., filters[status][0]=success&filters[status][1]=failed).
Filter by HTTP status code(s). Use bracket notation for multiple values (e.g., filters[code][0]=200&filters[code][1]=500).
Filter by manual retry flag.
Filter by attempt number(s). Use bracket notation for multiple values (e.g., filters[attempt_number][0]=1&filters[attempt_number][1]=2).
Filter by tenant ID(s). Admin-only — rejected with 403 for JWT callers. Use bracket notation for multiple values (e.g., filters[tenant_id][0]=t1&filters[tenant_id][1]=t2).
Response
Aggregated attempt metrics.
Example response
{
"data": [
{
"time_bucket": "2026-03-02T14:00:00Z",
"dimensions": {
"destination_id": "dest_abc",
"topic": "user.created"
},
"metrics": {
"count": 1423,
"error_rate": 0.02
}
}
],
"metadata": {
"granularity": "1h",
"query_time_ms": 42,
"row_count": 2,
"row_limit": 100000
}
}