---
title: "Get an adverse media run with its findings"
method: GET
path: "/api/v1/screening/adverse-media/runs/{id}"
tags: ["Screening"]
---

# Get an adverse media run with its findings

`GET /api/v1/screening/adverse-media/runs/{id}`

## Request

- Base URL: `https://api.korala.ai`
- URL: `https://api.korala.ai/api/v1/screening/adverse-media/runs/{id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - `bearer` (a scheme the document does not define)

## Path parameters

- `id` string, required

## Headers

- `X-Korala-Mode` 'live' | 'test'

## Response `200`

- AdverseMediaRunDto
  - `id` string, uuid, required
  - `status` 'clear' | 'possible_finding' | 'finding' | 'incomplete' | 'error', required: finding: an open finding about the subject, or a confirmed one. possible_finding: open findings whose subject is unclear. clear: nothing found by a complete run. incomplete: nothing found, but something was not searched or judged. error: nothing could be searched or judged.
  - `incomplete` boolean, required: Something was not searched or judged. Never a clear result, whatever the status.
  - `incompleteReasons` string[], required
  - `errorCode` 'missing_name' | 'name_too_long' | 'not_configured' | 'retrieval_failed' | 'judge_failed' | 'concurrency_limited' | 'invalid_config' | 'no_session', nullable, required
  - `trigger` 'check_step' | 'api', required
  - `sandbox` boolean, required
  - `simulated` boolean, required: The fake provider and judge answered: nothing was sent to a search API or a model. Every test-mode run is simulated.
  - `sessionId` string, uuid, nullable, required
  - `participantId` string, uuid, nullable, required
  - `riskSubjectId` string, uuid, nullable, required
  - `workflowRunId` string, uuid, nullable, required
  - `retrieval` AdverseMediaRunRetrievalDto, required
    - `provider` string, required: aws_agentcore_web_search, gdelt, or fake (every sandbox run).
    - `queries` AdverseMediaRunQueryDto[], required: Each query sent; never its text.
      - `kind` 'name' | 'adverse', required: The name alone, or the name with adverse terms.
      - `nameIndex` number, required: 0 the name, 1 the alias.
      - `language` string, required: Language of the adverse terms (ISO 639-1).
      - `results` number, required
      - `failure` string, nullable, required: Why the query failed ('timeout', 'http_429', ...).
    - `articlesRetrieved` number, required
    - `articlesDropped` number, required: Results without a usable http(s) URL.
    - `articlesUnique` number, required: Distinct articles after de-duplication.
  - `judge` AdverseMediaRunJudgeDto, required
    - `provider` string, required: vertex, or fake (every sandbox run).
    - `model` string, nullable, required: The model as served; null when no article needed judging or no call answered.
    - `promptVersion` string, required
    - `rulesVersion` string, required
    - `articlesJudged` number, required
    - `articlesUnjudged` number, required
  - `riskFact` string, required: screening.adverse_media
  - `riskSource` string, required: The risk source its evidence is recorded under: korala:screening:adverse_media:v1.
  - `findingCount` number, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `findings` AdverseMediaFindingDto[], required
    - `id` string, uuid, required
    - `url` string, required
    - `title` string, nullable, required
    - `publishedAt` string, nullable, required: As the provider gave it: a date or a timestamp.
    - `snippet` string, nullable, required: At most 280 characters of the provider's text.
    - `aboutSubject` 'yes' | 'unclear', required: Whether the judge read the article as about this subject. Articles it read as about someone else are not kept.
    - `category` 'fraud' | 'bribery_corruption' | 'money_laundering' | 'market_abuse' | 'tax_fraud' | 'sanctions_evasion' | 'terrorism_financing' | 'other_crime', required
    - `stage` 'allegation' | 'investigation' | 'charge' | 'conviction' | 'sanction', required: How far the matter had gone; null when the article does not say.
    - `reason` string, nullable, required: The judge's reason, at most 300 characters.
    - `foundBy` string[], required: The queries that found it: 'name:0', 'adverse:1:ko'.
    - `retrievalProvider` string, required
    - `judgeModel` string, required
    - `promptVersion` string, required
    - `decision` 'pending' | 'confirmed' | 'false_positive', required
    - `decidedBy` string, nullable, required
    - `decidedAt` string, date-time, nullable, required
    - `decisionReason` string, nullable, required

## Other responses

- `400`: Malformed UUID in path parameter (`id`).

---

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