API ReferenceSpending

Get cost breakdown

GET
/api/v1/spending/breakdown

Authorization

BearerAuth
AuthorizationBearer <token>

API key with l4_live_ or l4_test_ prefix

In: header

Query Parameters

format?string

Response format: table (paginated UI), chart (aggregated stacked bar), csv (export), raw (all records)

Default"table"
Match^(table|chart|csv|raw)$
period?|

Period in YYYY-MM format (defaults to current month)

provider_id?|

Filter by provider: aws, gcp, azure, k8s

granularity?string

Granularity: 'daily' or 'monthly' (used for chart format)

Default"daily"
Match^(daily|monthly)$
group_by?|

Grouping dimension for chart format: 'provider' (default) or 'account_id'

start?|

Start date in ISO 8601 format (e.g., 2026-02-01T00:00:00.000Z). Used for chart and table formats

end?|

End date in ISO 8601 format (e.g., 2026-02-01T00:00:00.000Z). Used for chart and table formats

page?integer

Page number (1-indexed, table format only)

Default1
Range1 <= value
page_size?integer

Items per page (max 100, table format only)

Default10
Range1 <= value <= 100
sort_by?string

Sort field: cost, service, region, account_id, change_percentage

Default"cost"
Match^(cost|service|region|account_id|change_percentage)$
sort_order?string

Sort order: asc or desc

Default"desc"
Match^(asc|desc)$

Header Parameters

authorization*string

Response Body

application/json

application/json

curl -X GET "https://api.levelfour.ai/api/v1/spending/breakdown" \  -H "authorization: string"
{
  "success": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "data": {
    "period": "string",
    "items": [
      {
        "service": "string",
        "provider_id": "string",
        "environment": "string",
        "region": "string",
        "account_id": "string",
        "tag_key": "string",
        "tag_value": "string",
        "cost": 0,
        "previous_cost": 0,
        "change_percentage": 0
      }
    ],
    "pagination": {
      "total_items": 0,
      "total_pages": 0,
      "current_page": 0,
      "page_size": 0,
      "has_next": true,
      "has_previous": true
    }
  }
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}