The Tenant HTTP API
The Grafana Fleet Management Tenant API allows you to retrieve information about your stack. Calls to the API can give you aggregated analytics about your stack or tell you what limits, if any, apply.
Find the base URL
You can find the base URL for the Tenant API in the Grafana Cloud Fleet Management interface.
- In your Grafana Cloud stack, click Connections > Collector > Fleet Management in the left-side menu.
- On the Fleet Management interface, switch to the API tab.
- Find the URL in the Base URL section.
It looks like the following URL, where
<CLUSTER_NAME>is the production cluster of your stack:
https://fleet-management-<CLUSTER_NAME>.grafana.net/tenant.v1.TenantService/Note
If you need to secure your API traffic, you can configure a private endpoint in place of the base URL. You can find the service name for endpoint configuration and the private DNS name on the same API tab where the base URL is found. For more information, refer to the instructions for your cloud provider:
TenantService
TenantService is the service that provides information about the tenant.
Endpoints
Note
Protobuf field names are defined in
snake_case. Due to default protojson behavior, field names are converted tocamelCasein responses. Bothsnake_caseandcamelCasefield names are accepted in requests.
GetLimitsRequest
GetLimitsRequest is a request to retrieve the collector, pipeline, and requests per second (RPS) limits for a stack.
GetLimitsResponse
GetLimitsResponse is the response to a GetLimitsRequest.
It contains all limits applied to the stack.
If a limit field is omitted in the response, that limit does not apply to the stack.
For example, if the response does not contain the collectors field, the stack does not have a limit on the number of collectors.
RequestLimits
GetSummaryRequest
The GetSummaryRequest is a request to retrieve collector and pipeline analytics for the stack.
GetSummaryResponse
The GetSummaryResponse contains summarized analytics for collectors and pipelines, as well as the health status of your fleet.
CollectorSummary
CollectorSummary aggregates collectors by several characteristics.
If no collectors are registered, the response returns an empty collectors object and all other fields are omitted.
For all other fields, the field is omitted from the response if no collectors match.
PipelineSummary
PipelineSummary aggregates configuration pipelines in total and by external sync source.
If no pipelines exist, the response returns an empty pipelines object and all other fields are omitted.
LimitsSummary
LimitsSummary provides the current total and stack limit for collectors and configuration pipelines. The current count of collectors includes active collectors only.
Limits
Examples
The following request retrieves limits for the authorized stack. The Basic Auth username and password are set as environment variables.
curl -s \
-u "$GCLOUD_INSTANCE_ID:$GCLOUD_FM_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{}' \
https://fleet-management-prod-001.grafana.net/tenant.v1.TenantService/GetLimits \
| jqThis is the response showing all limits:
{
"pipelines": 200,
"collectors": 2000,
"requestsPerSecond": {
"collector": 20,
"api": 3
}
}The following request retrieves aggregated analytics for collectors and pipelines in the authorized stack. The Basic Auth username and password are set as environment variables.
curl -s \
-u "$GCLOUD_INSTANCE_ID:$GCLOUD_FM_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{}' \
https://fleet-management-prod-001.grafana.net/tenant.v1.TenantService/GetSummary \
| jqThis is the response showing collector and pipeline analytics:
{
"collectors": {
"total": 2000,
"healthStatus": {
"healthy": 1800,
"warning": 100,
"error": 50,
"offline": 50
},
"byType": {
"ALLOY": 1900,
"OTEL": 100
},
"byVersion": {
"v0.142.0": 100,
"v1.11.3": 1200,
"v1.12.0": 700
},
"byOs": {
"linux": 1500,
"darwin": 300,
"windows": 200
}
},
"pipelines": {
"total": 180,
"bySyncSource": {
"GIT": 130,
"TERRAFORM": 20
"UNSPECIFIED": 30
}
},
"limits": {
"collectors": {
"current": 1950,
"max": 2000
},
"pipelines": {
"current": 180,
"max": 200
}
}
}


