---
title: "List findings (agent contract v2)"
method: GET
path: "/api/v1/runs/{runId}/findings"
tags: ["findings"]
---

# List findings (agent contract v2)

`GET /api/v1/runs/{runId}/findings`

## Request

- Base URL: `https://index365.co`
- URL: `https://index365.co/api/v1/runs/{runId}/findings`
- Auth: HTTP bearer

Severity-ordered findings with run-scoped ids, evidence, affected URLs, and remediation. Read get_report_context first for orientation, then page through here. Filter with severity/category.

## Path parameters

- `runId` string, uuid, required

## Query parameters

- `limit` integer
- `cursor` string
- `severity` 'critical' | 'high' | 'medium' | 'low' | 'info'
- `category` 'discoverability' | 'structured_data' | 'metadata' | 'content_structure' | 'accessibility' | 'answerability' | 'agent_operability' | 'performance' | 'security' | 'general' | 'findability' | 'measurement' | 'conversion_path' | 'offer_clarity' | 'trust_proof' | 'schema_metadata' | 'social_preview' | 'performance_ux' | 'consent_privacy_signal' | 'connected_account'
- `stage` 'find' | 'trust' | 'act' | 'measure' | 'improve': Marketing Signal funnel stage (Marketing Signal findings only).
- `marketingCategory` 'seo' | 'content' | 'aeo' | 'analytics_tracking' | 'conversion' | 'trust_proof'

## Response `200`

Finding page.

- object
  - `schemaVersion` integer
  - `runId` string
  - `findingsTotal` integer
  - `findings` object[]
    - `findingId` string, required
    - `runId` string, uuid, required
    - `projectId` string, uuid, nullable
    - `category` 'discoverability' | 'structured_data' | 'metadata' | 'content_structure' | 'accessibility' | 'answerability' | 'agent_operability' | 'performance' | 'security' | 'general' | 'findability' | 'measurement' | 'conversion_path' | 'offer_clarity' | 'trust_proof' | 'schema_metadata' | 'social_preview' | 'performance_ux' | 'consent_privacy_signal' | 'connected_account', required
    - `marketingCategory` object: Marketing Signal findings only: the report category this finding sits under. Separate from `category`, which is the shared cross-product taxonomy and carries no Marketing Signal values. Optional, so legacy findings stay valid.
      - `key` 'seo' | 'content' | 'aeo' | 'analytics_tracking' | 'conversion' | 'trust_proof', required
      - `label` string, required
    - `status` 'open' | 'acknowledged' | 'resolved' | 'wont_fix', required: Existing v2 workflow enum retained for response compatibility. Scan projections currently emit open only; do not infer acknowledgement, resolution, or fix verification from a later run.
    - `severity` 'critical' | 'high' | 'medium' | 'low' | 'info', required
    - `confidence` 'high' | 'medium' | 'low', required
    - `title` string, required
    - `detail` string, required
    - `evidence` object[], required
      - `type` 'page' | 'file' | 'check', required
      - `url` string
      - `summary` string, required
    - `affectedUrls` string[], required
    - `remediation` string, required
    - `agentActions` object[], required
      - `type` 'remediation', required
      - `description` string, required
    - `humanUrl` string, required: Human-readable dashboard view of this run.
    - `source` object
      - `scanMode` string, nullable
      - `model` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `stage` 'find' | 'trust' | 'act' | 'measure' | 'improve': Marketing Signal funnel stage (Marketing Signal findings only).
  - `pagination` object
    - `nextCursor` string, nullable
    - `limit` integer

## Other responses

- `401`: Missing/unknown/revoked API key.
- `403`: Key lacks the required scope (error.code=insufficient_scope).
- `404`: Resource not found in this organization.
- `409`: run_not_completed: findings exist only after completion.
- `429`: Rate limit exceeded (60 req/min per key). Honor Retry-After.

---

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