{
  "slug": "modules/errors",
  "title": "Errors module",
  "description": "Exception capture, fingerprinting, grouping, and triage for Cuitty services.",
  "url": "https://cuitty.com/docs/modules/errors",
  "markdown_url": "https://cuitty.com/docs/modules/errors.md",
  "json_url": "https://cuitty.com/docs/modules/errors.json",
  "frontmatter": {
    "title": "Errors module",
    "description": "Exception capture, fingerprinting, grouping, and triage for Cuitty services.",
    "order": 10,
    "section": "Modules",
    "updatedAt": "2026-05-07"
  },
  "headings": [
    {
      "depth": 1,
      "slug": "errors-module",
      "text": "Errors module"
    },
    {
      "depth": 2,
      "slug": "what-it-captures",
      "text": "What it captures"
    },
    {
      "depth": 2,
      "slug": "capture",
      "text": "Capture"
    },
    {
      "depth": 2,
      "slug": "reads",
      "text": "Reads"
    }
  ],
  "body_markdown": "# Errors module\n\nThe errors module captures exceptions, computes a stable fingerprint, groups related occurrences, and exposes grouped reads for triage.\n\n## What it captures\n\n- Exception name, message, and stack trace\n- Release, environment, service, and request context\n- Fingerprint and group status\n- First seen, last seen, and occurrence counts\n\n## Capture\n\n```\nPOST /api/errors/capture\n```\n\nUnknown fields are kept in metadata so SDKs can ship richer context without a schema migration for every framework.\n\n## Reads\n\n| Endpoint | Returns |\n| --- | --- |\n| `GET /api/errors/status` | Module health |\n| `GET /api/errors/groups?project_id=...` | Grouped exceptions |\n| `GET /api/errors/groups/{fingerprint}` | Group detail and recent occurrences |\n\nProduct page: [Errors](/product/modules/errors).",
  "body_html": "<h1 id=\"errors-module\">Errors module</h1>\n<p>The errors module captures exceptions, computes a stable fingerprint, groups related occurrences, and exposes grouped reads for triage.</p>\n<h2 id=\"what-it-captures\">What it captures</h2>\n<ul>\n<li>Exception name, message, and stack trace</li>\n<li>Release, environment, service, and request context</li>\n<li>Fingerprint and group status</li>\n<li>First seen, last seen, and occurrence counts</li>\n</ul>\n<h2 id=\"capture\">Capture</h2>\n<pre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\"><code><span class=\"line\"><span>POST /api/errors/capture</span></span></code></pre>\n<p>Unknown fields are kept in metadata so SDKs can ship richer context without a schema migration for every framework.</p>\n<h2 id=\"reads\">Reads</h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>Endpoint</th><th>Returns</th></tr></thead><tbody><tr><td><code>GET /api/errors/status</code></td><td>Module health</td></tr><tr><td><code>GET /api/errors/groups?project_id=...</code></td><td>Grouped exceptions</td></tr><tr><td><code>GET /api/errors/groups/{fingerprint}</code></td><td>Group detail and recent occurrences</td></tr></tbody></table>\n<p>Product page: <a href=\"/product/modules/errors\">Errors</a>.</p>",
  "links_out": [
    "/product/modules/errors"
  ]
}