---
title: "Summarize recent run totals, open error count (excluding ignored/resolved), ignored/resolved counts, still-running co..."
method: GET
path: "/v1/runs/summary"
tags: ["runs"]
---

# Summarize recent run totals, open error count (excluding ignored/resolved), ignored/resolved counts, still-running co...

`GET /v1/runs/summary`

## Request

- Base URL: `https://api.kody.codes`
- URL: `https://api.kody.codes/v1/runs/summary`
- Auth: HTTP bearer

Summarize recent run totals, open error count (excluding ignored/resolved), ignored/resolved counts, still-running count, and per-surface breakdown to answer "is anything broken?" before drilling into runList or runGet. Use runUpdate to mark handled error noise. Counts include successful ad-hoc execute runs. Records are retained about 30 days, capped per user, and pruned failure-last.

Org permission: `job:read`.

## Query parameters

- `since` string: Optional ISO 8601 lower bound (inclusive). Defaults to the earliest retained record when omitted.

## Response `200`

Success.

- object
  - `since` string, required
  - `total` integer, required
  - `errors` integer, required: Open (not ignored/resolved) error count.
  - `ignored` integer, required: Error runs marked ignored.
  - `resolved` integer, required: Error runs marked resolved.
  - `running` integer, required
  - `by_surface` object[], required
    - `surface` 'execute' | 'export' | 'subscription' | 'app_fetch' | 'app_realtime' | 'job' | 'workflow' | 'retriever' | 'webhook', required
    - `total` integer, required
    - `errors` integer, required

## Other responses

- `400`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `401`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `403`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `404`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `409`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `413`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `429`: Too many requests (edge IP/token limit) or an entitlement / plan-cap limit. Wait at least `Retry-After` seconds before retrying.
- `500`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `503`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `default`: Error envelope `{ "error": { "code", "message", "details"? } }`.

---

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