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
| Field | Type | Description |
|---|---|---|
type | enum | API or APP — what to query metrics for |
id | UUID | ID of the API or application |
environment | UUID | Environment to query |
start | date | Start date (format: YYYY-MM-DD) |
end | date | End date (format: YYYY-MM-DD) |
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, ...]
}
}
}
| Field | Description |
|---|---|
sums.hits.total | Total number of API calls |
sums.hits.perSecond | Average calls per second |
sums.hits.byCode | Hit counts grouped by HTTP status code |
sums.responseTime.min | Minimum response time (ms) |
sums.responseTime.max | Maximum response time (ms) |
sums.responseTime.avg | Average response time (ms) |
details.hits.total | Time-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.
Querying metrics requires the METRICS_READ scope on your access token.