{
  "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%.",
  "body_html": "<h1 id=\"costs-module\">Costs module</h1>\n<p>The costs module aggregates daily spend from cloud billing exports and per-service tags. It is provider-agnostic — you push the rolled-up <code>cost</code> events to <code>/api/ingest</code> and Cuitty handles storage, attribution, and alerting.</p>\n<h2 id=\"supported-providers\">Supported providers</h2>\n<ul>\n<li>GCP (Cloud Billing export to BigQuery)</li>\n<li>AWS (Cost and Usage Report)</li>\n<li>Azure (Cost Management exports)</li>\n<li>DigitalOcean (Billing API)</li>\n</ul>\n<h2 id=\"event-shape\">Event shape</h2>\n<pre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"json\"><code><span class=\"line\"><span style=\"color:#E1E4E8\">{</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">  \"type\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"cost\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">  \"ts\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"2026-04-27T00:00:00Z\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">  \"data\"</span><span style=\"color:#E1E4E8\">: {</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"provider\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"gcp\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"service\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"compute\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"region\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"us-central1\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"amount\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#79B8FF\">1234.56</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"currency\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"USD\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#79B8FF\">    \"period\"</span><span style=\"color:#E1E4E8\">: </span><span style=\"color:#9ECBFF\">\"2026-04\"</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  }</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">}</span></span></code></pre>\n<h2 id=\"budgets\">Budgets</h2>\n<p>Define budgets per project, service, or tag. The portal emits a webhook and an in-app alert when a budget crosses 50%, 80%, and 100%.</p>",
  "links_out": []
}