GET /v1/metrics/summary
Get aggregated metrics (runs time-series, failure rate, top errors, recent activity) in a single request.
GET
/v1/metrics/summary
Get aggregated metrics (runs time-series, failure rate, top errors, recent activity) in a single request.
Query Parameters
from
integer
required
query
Start timestamp (Unix milliseconds)
to
integer
required
query
End timestamp (Unix milliseconds)
granularity
string
required
query
Granularity (hourly or daily)
topErrorsLimit
integer
optional
query
Top errors limit (default 10)
recentActivityLimit
integer
optional
query
Recent activity limit (default 50)
status
string
optional
query
Filter recent activity by status (success, failure, running)
Responses
200
OK
application/jsoncode
integer
data
object
failureRate
object
failed
integer
failureRate
number
percentage (0-100)
total
integer
failureRateError
string
recentActivity
object[]
Array of:
durationMs
number
error
string
finishedAt
string
runId
string
startedAt
string
status
string
Enum:
running, waiting, success, failure, cancelledworkflowId
string
workflowName
string
recentActivityError
string
runsTimeSeries
object
data
object[]
Time-series data points
Array of:
bucketStart
string
failure
integer
success
integer
total
integer
granularity
string
"hourly" or "daily"
runsTimeSeriesError
string
topErrors
object[]
Array of:
count
integer
error
string
lastOccurred
string
topErrorsError
string
message
string
requestId
string
400
Bad Request
500
Internal Server Error
curl -X GET 'https://api.example.com/v1/metrics/summary?from=0&to=0&granularity=string' \ -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://api.example.com/v1/metrics/summary?from=0&to=0&granularity=string', { method: 'GET', headers: { "Authorization": "Bearer YOUR_API_TOKEN" }});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://api.example.com/v1/metrics/summary?from=0&to=0&granularity=string', headers=headers)print(response.json())
package mainimport ( "fmt" "io" "net/http")func main() { req, _ := http.NewRequest("GET", "https://api.example.com/v1/metrics/summary?from=0&to=0&granularity=string", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() result, _ := io.ReadAll(resp.Body) fmt.Println(string(result))}
200
Response
{ "code": 200, "data": { "failureRate": { "failed": 123, "failureRate": 123, "total": 123 }, "failureRateError": "<string>", "recentActivity": [ { "durationMs": 123, "error": "<string>", "finishedAt": "<string>", "runId": "<string>", "startedAt": "<string>", "status": "running", "workflowId": "<string>", "workflowName": "<string>" } ], "recentActivityError": "<string>", "runsTimeSeries": { "data": [ { "bucketStart": "<string>", "failure": 123, "success": 123, "total": 123 } ], "granularity": "<string>" }, "runsTimeSeriesError": "<string>", "topErrors": [ { "count": 123, "error": "<string>", "lastOccurred": "<string>" } ], "topErrorsError": "<string>" }, "message": "success", "requestId": "abc-123"}
API Playground
Try this endpoint
GET
/v1/metrics/summary
