---
title: "List retained results"
method: GET
path: "/results"
tags: ["Screening and evidence"]
---

# List retained results

`GET /results`

## Request

- Base URL: `https://www.sanctionskit.com/api/v1`
- URL: `https://www.sanctionskit.com/api/v1/results`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sanctionskit/apis/sanctionskit-api/docs/results/get.ts> (a function with typed inputs; its response is checked against the schema)

Required API key scope: results:read.

## Query parameters

- `limit` integer
- `cursor` string, uuid
- `summary` boolean
- `q` string
- `status` 'potential_match' | 'no_match'
- `review` 'open' | 'confirmed' | 'dismissed' | 'unreviewed'
- `origin` 'manual' | 'api' | 'batch' | 'monitor' | 'unknown'

## Response `200`

Successful response. JSON object with the required data key. All properties marked required are present, including keys whose value may be null. Unmarked properties can be omitted; clients should tolerate additional response properties.

- object
  - `data` union, required
    - object
      - `items` ScreeningResult[], required
        - `id` string, uuid, required: Screening UUID; use it to retrieve retained result/evidence and locate linked review cases.
        - `environment` 'sandbox' | 'production', required: Environment owned by the API key. Sandbox evidence is synthetic.
        - `status` 'potential_match' | 'no_match', required: potential_match requires review of candidates; no_match means no returned candidates within the selected coverage and matching rules. Neither is a business approval or legal clearance.
        - `createdAt` string, date-time, required: Screening creation timestamp in ISO 8601 UTC.
        - `matches` object[], required: Candidate records with field evidence and conflicts. Always an array; empty for no_match. No silent truncation is performed.
          - `record` SourceRecord, required
            - `id` string, required
            - `sourceId` string, required
            - `authority` string, required
            - `list` string, required
            - `sourceUrl` string, required
            - `entityType` 'person' | 'organization' | 'vessel' | 'aircraft' | 'other', required
            - `names` object[], required
              - …
            - `identifiers` object[], required
              - …
            - `birthDates` object[], required
              - …
            - `addresses` object[], required
              - …
            - `nationalities` string[], required
            - `designations` object[], required
              - …
            - `dataThrough` string, date: Inclusive publisher data-availability deadline; not a legal end date.
            - `screeningPeriods` object[]: Inclusive UTC date intervals for current screening. Omitted means no date filter; an empty array excludes the record from current screening.
              - …
            - `publicContext` object[]
              - …
            - `extensions` object, required: Source-specific published extensions. Keys and value shapes vary by source; preserve unknown values without assuming a fixed schema.
          - `score` number, required: Legacy composite review score retained for compatibility. Use assessment.name.similarity for name similarity and assessment for corroboration and conflicts. Not a probability of identity or wrongdoing.
          - `assessment` MatchAssessment: Retained name similarity, identity comparison states and review evidence tier. Contains no copied subject values. Missing information, conflicts and partial dates remain distinct; an evidence tier is not a finding of identity or wrongdoing.
            - `name` object, nullable, required
              - …
            - `identifiers` object, required
              - …
            - `birthDate` object, required
              - …
            - `country` object, required
              - …
            - `entityType` object, required
              - …
            - `reviewTier` 'identifier' | 'corroborated' | 'conflicting' | 'name_only', required
            - `alertBasis` 'identifier' | 'name' | 'name_and_birth_date' | 'partial_name', required
            - `hasConflicts` boolean, required
            - `sameNameCandidates` integer, required
          - `evidence` object[], required
            - `field` string, required
            - `queryValue` string, required
            - `sourceValue` string, required
            - `method` string, required
            - `contribution` number, required
            - `explanation` string, required
          - `conflicts` string[], required
        - `coverage` Coverage[], required: Exact source versions used, including freshness and retained publisher notices. Always present, including no_match.
          - `sourceId` string, required
          - `version` string, required
          - `retrievedAt` string, date-time, required
          - `publishedAt` union: Authority-supplied publication date (YYYY-MM-DD) or RFC 3339 timestamp, preserving the precision supplied by the publisher. A date-only value does not imply midnight or a timezone. Omitted when no genuine publication date or timestamp is supplied.
            - string, date
            - string, date-time
          - `fresh` boolean, required
          - `sourceNotice` SourceNotice
            - `text` string, required: Required publisher attribution and reuse notices captured when screening runs.
            - `sourceUrl` string, uri, required
            - `termsUrl` string, uri, required
            - `licenseUrl` string, uri: Only included for a reviewed explicit license instrument.
            - `databaseDownloadUrl` string, uri-reference: Free complete derivative database for the exact immutable source version, where required. A relative path resolves against this API origin.
        - `versions` object, required: Dataset, matching engine and policy versions used for this result. package is included only for package-based coverage.
          - `dataset` string, required
          - `matchingEngine` string, required
          - `policy` string, required
          - `package` string
        - `disclaimer` string, required: Interpretation limits supplied with this result; preserve them when presenting or exporting evidence.
        - `policySnapshot` ScreeningPolicySnapshot
          - `name` string, required
          - `purpose` string, required
          - `jurisdictions` string[], required
          - `matching` object
            - `profile` 'standard' | 'focused', required
            - `partialNames` 'review' | 'exclude'
          - `requiredSources` object, required
          - `optionalSources` object, required
          - `exclusions` string[], required
          - `externalChecks` string[], required
          - `externalCheckGuidance` object[]
            - `label` string, required
            - `instructions` string, required
            - `evidenceExample` string
          - `review` object, required
            - `requireSecondReview` boolean
            - `secondReviewFor` string[]
            - `approverRoles` string[]
          - `monitoringIntervalHours` union, required
            - 6
            - 24
            - 168
          - `retentionTrigger` 'review_completed' | 'relationship_ended' | 'business_event', required
          - `id` string, uuid, required
          - `version` integer, required
          - `environment` 'sandbox' | 'production', required
          - `createdAt` string, date-time, required
        - `matching` AppliedMatchingPolicy: Effective matching profile, partial-name policy and retrieval version retained at screening, including no-match results. Historical results can omit this snapshot. Partial names are excluded unless an approved policy explicitly enables review. Scores are not population-calibrated probabilities.
          - `version` string, required
          - `profile` 'standard' | 'focused', required
          - `nameThreshold` integer, required
          - `corroboratedNameThreshold` integer, required
          - `retrievalVersion` string, required
          - `partialNames` 'review' | 'exclude'
        - `warnings` object[]: Input limitations without copied subject values. A one-word person name produces limited_name_information; legitimate single-word names are accepted. Preserve this warning with no-match outcomes and retained evidence. Historical results may omit it.
          - `code` 'limited_name_information', required
          - `message` string, required
      - `nextCursor` string, nullable, required
    - object
      - `items` ScreeningSummary[], required
        - `id` string, uuid, required
        - `status` 'potential_match' | 'no_match', required
        - `createdAt` string, date-time, required
        - `subjectName` string, nullable, required
        - `entityType` string, nullable, required
        - `retention` 'standard' | 'minimal', required
        - `expiresAt` string, date-time, nullable, required
        - `origin` string, required
        - `caseId` string, uuid, nullable, required
        - `reviewDecision` 'open' | 'confirmed' | 'dismissed', nullable, required
        - `reviewBusinessDisposition` 'pending' | 'allow' | 'restrict' | 'escalate', nullable, required
        - `matchCount` integer, required
        - `batchId` string, uuid, nullable, required
        - `monitorId` string, uuid, nullable, required
      - `nextCursor` string, nullable, required

## Other responses

- `400`: **invalid_request** — Correct the request fields, resource identifiers, JSON body or query parameters before retrying.
- `401`: **authentication_required** — Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key. **invalid_api_key** — Use an active key for the intended environment.
- `403`: **permission_denied** — Ask an organization owner to grant the required role or API-key scope. **insufficient_scope** — Use a key with the scope stated in this operation.
- `405`: **method_not_allowed** — Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
- `413`: **response_too_large** — Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated.
- `422`: **result_too_large** — Use more precise screening input. Large results are rejected rather than silently truncated.
- `429`: **rate_limited** — Wait for the request window to reset and retry with backoff.
- `500`: **internal_error** — Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
- `503`: **temporarily_unavailable** — Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists.

---

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