{
  "slug": "modules/costs",
  "title": "Costs module",
  "description": "Track cloud spend across GCP, AWS, Azure, and DigitalOcean with budgets and alerts.",
  "url": "https://cuitty.com/docs/modules/costs",
  "markdown_url": "https://cuitty.com/docs/modules/costs.md",
  "json_url": "https://cuitty.com/docs/modules/costs.json",
  "frontmatter": {
    "title": "Costs module",
    "description": "Track cloud spend across GCP, AWS, Azure, and DigitalOcean with budgets and alerts.",
    "order": 2,
    "section": "Modules",
    "updatedAt": "2026-04-27"
  },
  "headings": [
    {
      "depth": 1,
      "slug": "costs-module",
      "text": "Costs module"
    },
    {
      "depth": 2,
      "slug": "supported-providers",
      "text": "Supported providers"
    },
    {
      "depth": 2,
      "slug": "event-shape",
      "text": "Event shape"
    },
    {
      "depth": 2,
      "slug": "budgets",
      "text": "Budgets"
    }
  ],
  "body_markdown": "# Costs module\n\nThe costs module aggregates daily spend from cloud billing exports and per-service tags. It is provider-agnostic — you push the rolled-up `cost` events to `/api/ingest` and Cuitty handles storage, attribution, and alerting.\n\n## Supported providers\n\n- GCP (Cloud Billing export to BigQuery)\n- AWS (Cost and Usage Report)\n- Azure (Cost Management exports)\n- DigitalOcean (Billing API)\n\n## Event shape\n\n```json\n{\n  \"type\": \"cost\",\n  \"ts\": \"2026-04-27T00:00:00Z\",\n  \"data\": {\n    \"provider\": \"gcp\",\n    \"service\": \"compute\",\n    \"region\": \"us-central1\",\n    \"amount\": 1234.56,\n    \"currency\": \"USD\",\n    \"period\": \"2026-04\"\n  }\n}\n```\n\n## Budgets\n\nDefine budgets per project, service, or tag. The portal emits a webhook and an in-app alert when a budget crosses 50%, 80%, and 100%.",
  "links_out": []
}