---
title: "Org error-day drill-down (Health page)."
method: GET
path: "/v1/orgs/{orgId}/analytics/errors"
tags: ["dashboards"]
---

# Org error-day drill-down (Health page).

`GET /v1/orgs/{orgId}/analytics/errors`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/v1/orgs/{orgId}/analytics/errors`
- Auth: one of:
  - API key in cookie `dvt_session`
  - HTTP bearer

Every failed dashboard-render query execution on a single UTC calendar
day, grouped by element with up to 5 recent samples each — the
drill-down behind a day cell in `OrgAnalyticsPerformance.errorCalendar`
(DVT-1500). Admin or owner only (audit:read). The `data` object shape
is frozen — field names are a client contract.

## Query parameters

- `date` string, required

## Response `200`

Org error-day result.

- object
  - `data` OrgAnalyticsErrors, required: The Health page's error-day drill-down (DVT-1500): every failed dashboard-render query execution for a single UTC calendar day, grouped by element with up to 5 recent samples each. All field names are a frozen client contract.
    - `date` string, required: YYYY-MM-DD (UTC), echoing the (possibly clamped) requested date.
    - `totalErrors` integer, required: Every failed dashboard-render execution that day, including ones with no element attribution — a superset of the sum of `elements[].errors`.
    - `elements` object[], required: Up to the 50 worst element-attributed offenders, descending by error count.
      - `elementId` string, required: Element UUID.
      - `name` string, required: Element display name (spec title, else slug); 'deleted element' when unresolvable (soft-deleted / cross-org).
      - `dashboardId` string, required: Dashboard UUID, or empty string when the element is unresolvable.
      - `dashboardTitle` string, required: Dashboard title, or empty string when unresolved/untitled.
      - `page` string, required: The element's page title, or empty string when unresolved/untitled.
      - `errors` integer, required: Failed executions for this element that day.
      - `sample` object[], required: Up to 5 of this element's most recent failed executions that day, newest first.
        - `at` string, date-time, required: Execution's started_at.
        - `durationMs` integer, nullable, required: Measured duration in ms, or null (error/timeout executions commonly have no measured duration).
        - `message` string, required: The execution's captured error, truncated to 300 characters; empty string when not captured.
        - `querySql` string, required: The parameterized SQL text (params bound separately — no literal PII); empty string when not captured.
  - `meta` Meta, required: Response metadata.
    - `requestId` string, required: Correlates with the X-Request-Id header.
    - `total` integer: Item count, present on collection responses.
    - `nextCursor` string, nullable: Opaque keyset-pagination cursor, present on paginated responses (e.g. GET /v1/dashboards) when more rows exist beyond this page. Pass it back as the `cursor` query param to fetch the next page; absent or null on the last page.
    - `roleResolveDegraded` boolean: Snowflake mode only (DVT-2260), on GET /v1/dashboards: present and true when the caller's live Snowflake role resolution failed or was unavailable — role-shared dashboards may be missing from this page. Omitted (not merely false) whenever resolution succeeded or the role-share arm does not apply (off snowflake mode, an org admin/owner, or off the ingress listener).

## Other responses

- `400`: Malformed request.
- `401`: Missing, invalid, or expired session.
- `403`: The caller's role does not permit this action.
- `404`: Resource does not exist.

---

[API](https://skmtc.dev/dvt/apis/dvt-rest-api.md) · [All operations](https://skmtc.dev/dvt/apis/dvt-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dvt/apis/dvt-rest-api/revisions/00016f504165?raw)
