Skip to main content

Metrics

The API Control Plane displays aggregated API call information within selected timeframes, including sums, averages, and time-series data. Metrics can be viewed for both APIs (provider perspective) and applications (consumer perspective).

The platform supports two approaches for collecting metrics:

  • Raw metrics (preferred) — Retrieves individual API request data from the gateway and stores it in a time-series database, enabling faster queries and richer analytics. Raw metrics only capture data from the moment the agent connects — historical data is not retroactively imported.
  • Aggregated metrics (fallback) — The gateway provides pre-aggregated data via its REST API. This approach is used when raw metrics aren't supported by the platform and may be slower.

Platform support varies: AWS, Azure, Kong, Gravitee, and WSO2 each have different metric capabilities. Check your gateway platform's documentation for details on what's available.

Query metrics

curl -X POST "https://<your-subdomain>.backend.<region>.controlplane.boomi.com/metrics" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"type": "API",
"id": "<api-id>",
"environment": "<environment-id>",
"start": "2026-02-01",
"end": "2026-02-23"
}'

Required fields

FieldTypeDescription
typeenumAPI or APP — what to query metrics for
idUUIDID of the API or application
environmentUUIDEnvironment to query
startdateStart date (format: YYYY-MM-DD)
enddateEnd date (format: YYYY-MM-DD)
tip

Use "type": "APP" with an application ID to get metrics from the consumer perspective.

Response structure

The metrics response contains aggregated sums and time-series details:

{
"metadata": {
"type": "API",
"id": "a1b2c3d4-...",
"environment": "e5f6a7b8-...",
"start": "2026-02-01",
"end": "2026-02-23"
},
"sums": {
"hits": {
"total": 15420,
"perSecond": 8.2,
"byCode": {
"200": 14200,
"404": 520,
"500": 100
}
},
"responseTime": {
"min": 12.0,
"max": 2400.0,
"avg": 145.0
}
},
"details": {
"hits": {
"total": [520, 480, 610, ...],
"byCode": {
"200": [500, 460, 590, ...],
"404": [15, 12, 18, ...],
"500": [5, 8, 2, ...]
}
},
"responseTime": {
"min": [10.0, 12.0, 8.0, ...],
"max": [800.0, 1200.0, 600.0, ...],
"avg": [140.0, 150.0, 135.0, ...]
}
}
}
FieldDescription
sums.hits.totalTotal number of API calls
sums.hits.perSecondAverage calls per second
sums.hits.byCodeHit counts grouped by HTTP status code
sums.responseTime.minMinimum response time (ms)
sums.responseTime.maxMaximum response time (ms)
sums.responseTime.avgAverage response time (ms)
details.hits.totalTime-series array of hit counts
details.responseTime.*Time-series arrays of response time metrics

The API returns 204 No Content if no metrics data is available, or 501 Not Implemented if the gateway doesn't support metrics.

note

Querying metrics requires the METRICS_READ scope on your access token.