Reference
Get provider service breakdown
Returns service breakdown in different formats: table (paginated), chart (aggregated), csv (export), raw (all records)
Authorization
BearerAuth In: header
Path Parameters
Query Parameters
Response format: table (paginated UI), chart (aggregated stacked bar), csv (export), raw (all records)
Start date in ISO 8601 format (e.g., 2026-02-01T00:00:00.000Z). Defaults to first of current month
End date in ISO 8601 format (e.g., 2026-02-01T00:00:00.000Z). Defaults to today
Granularity: 'daily' or 'monthly' (used for chart format)
Page number (1-indexed, table format only)
Items per page (max 100, table format only)
Field to sort by (service, environment, region, account_id, cost, previous_cost, change_percentage)
Sort order
Sort by a specific date's cost (YYYY-MM-DD for daily, YYYY-MM for monthly). Overrides sort_by.
Date preset: '30D', '6M', or '12M' (takes precedence over start/end)
Filter by service(s) - can be repeated for multiple values
Filter by environment(s) - can be repeated for multiple values
Filter by account ID(s) - can be repeated for multiple values
Filter by region(s) - can be repeated for multiple values
Filter by tag key(s) - required when group_by=tag
Filter by tag value(s) - can be repeated for multiple values
Virtual tag key, by id or name (case-insensitive). Required when group_by=virtual_tag. One key per request
Filter by value(s) of virtual_tag_key. unallocated matches cost no config matched
Group by field(s), for example service, account_id, region, tag or virtual_tag
Cost metric: unblended, blended, amortized, net_unblended, net_amortized, or usage_value (usage priced at list price, an estimate, for the providers that declare it)
Filter by instance type(s)
Filter by usage type(s)
Filter by usage type group(s)
Filter by charge type(s)
Filter by availability zone(s)
Filter by platform(s)
Filter by purchase option(s)
Filter by tenancy type(s)
Filter by database engine(s)
Filter by legal entity
Filter by billing entity
Filter by API operation(s)
Filter by resource ID(s)
Filter by cost category key(s)
Filter by cost category value(s)
Filter by payer account ID(s)
Filter by project(s), for a connector that collects an inventory. Table format only
Filter by billed SKU(s), for a connector provider. Table format only
Case-insensitive substring match across service, account id and name, region, tag key/value, resource id, and usage type. Applies to the table format only.
Cost basis for Google Cloud: after credits (default) or before them. AWS stays on its invoiced basis.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/providers/string/costs/breakdown"{
"success": true,
"timestamp": "2019-08-24T14:15:22Z",
"data": {
"provider_id": "string",
"provider_name": "string",
"period": "string",
"start_date": "string",
"end_date": "string",
"total_period_cost": 0,
"items": [
{
"service": "string",
"environment": "string",
"region": "string",
"account_id": "string",
"tag_key": "string",
"tag_value": "string",
"resource": "string",
"sku": "string",
"project": "string",
"usage_type": "string",
"cost_category": "string",
"purchase_type": "string",
"instance_type": "string",
"charge_type": "string",
"virtual_tag": "string",
"cost": 0,
"previous_cost": 0,
"change_percentage": 0,
"spendings_by_date": [
{
"date": "string",
"value": 0,
"change_percentage": 0
}
]
}
],
"pagination": {
"total_items": 0,
"total_pages": 0,
"current_page": 0,
"page_size": 0,
"has_next": true,
"has_previous": true
},
"totals_by_date": [
{
"date": "string",
"value": 0,
"change_percentage": 0
}
]
}
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"details": null
},
"timestamp": "2019-08-24T14:15:22Z"
}