---
title: "Read a counterparty and linked screening, case and monitor history"
method: GET
path: "/counterparties/{id}"
tags: ["Counterparties"]
---

# Read a counterparty and linked screening, case and monitor history

`GET /counterparties/{id}`

## Request

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

Required API key scope: results:read.

## Path parameters

- `id` string, uuid, required

## 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` CounterpartyDetail, required: Saved identity plus up to 100 rows for each related resource collection. Use /counterparties/{id}/history to paginate the complete history.
    - `counterparty` Counterparty, required
      - `id` string, uuid, required
      - `environment` 'sandbox' | 'production', required
      - `label` string, required
      - `externalId` string, nullable, required
      - `relationship` 'customer' | 'vendor' | 'employee' | 'other', required
      - `subject` Subject, required
        - `name` string, required: Name to compare with publisher records. Leading and trailing whitespace is removed; provide the fullest reliable name available.
        - `entityType` 'person' | 'organization' | 'vessel' | 'aircraft' | 'other': Type of subject. Defaults to person when omitted. Every selected source must support this type.
        - `identifiers` object[]: Typed identifiers used for exact matching, such as passport, national_id, registration, lei, imo or mmsi. Defaults to an empty array. Use the publisher’s identifier scheme; custom scheme names are accepted.
          - `type` string, required: Identifier scheme, such as passport, national_id, registration, lei, imo or mmsi. Matching normalizes supported scheme aliases.
          - `value` string, required: Identifier value. Send the original value; scheme-specific normalization is applied during matching.
          - `issuer` string: Optional issuing authority or country. Omit when unknown; do not send null.
        - `birthDate` union: Known date or partial date: YYYY, YYYY-MM or YYYY-MM-DD. Preserve known precision; do not invent a month or day. Year 0000 and invalid dates are rejected.
          - string
          - string
        - `country` string: Known country name or code used as supporting identity evidence. It is not a source-selection or geographic coverage filter.
      - `tags` string[], required
      - `status` 'active' | 'archived', required
      - `revision` integer, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `screenings` object[], required
      - `id` string, uuid, required
      - `created_at` string, date-time, required
      - `status` 'potential_match' | 'no_match' | 'expired', required
      - `evidence_state` 'available' | 'expired', required
    - `monitors` object[], required
      - `id` string, uuid, required
      - `name` string, required
      - `status` 'active' | 'paused' | 'deleted', required
      - `last_screening_id` string, uuid, nullable, required
      - `next_run_at` string, date-time, required
    - `cases` object[], required
      - `id` string, uuid, required
      - `created_at` string, date-time, required
      - `decision` 'open' | 'confirmed' | 'dismissed', required
      - `business_disposition` 'pending' | 'allow' | 'restrict' | 'escalate', required
      - `review_state` string, required
      - `screening_id` string, uuid, required
      - `latest_screening_id` string, uuid, 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.
- `404`: **not_found** — Check the identifier and selected environment. The resource must belong to your organization and remain available.
- `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.
- `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)
