---
title: "List the firm's sanctions-screening providers (owner-only) · 0 credits"
method: GET
path: "/api/v1/screening-providers"
tags: ["BYO-Screening"]
---

# List the firm's sanctions-screening providers (owner-only) · 0 credits

`GET /api/v1/screening-providers`

## Request

- Base URL: `https://legal.nexusquantum.legal`
- URL: `https://legal.nexusquantum.legal/api/v1/screening-providers`
- Auth: HTTP bearer

Lists YOUR firm's screening providers. It NEVER returns credentials — only `key_fingerprint` and non-secret fields. Returns `effective_provider` as well, so an empty list is not read as 'there is no screening': without a provider of yours, screening runs LOCALLY against lists downloaded to our infrastructure, and no party name leaves it. Owner-only firm-scoped. Scope: mcp | * (NOT cases).

## Response `200`

Providers, plus the effective provider and the locally available lists.

- ScreeningProviderList: List response. `effective_provider` exists so an EMPTY `data` is not ambiguous: without a provider of yours, screening does not stop existing — it runs against local lists; and if those are not populated either, it is not 'configure one', it is 'not offered yet'. The three states used to be served identically.
  - `data` ScreeningProvider[]
    - `id` string, uuid
    - `label` string: How you will recognise this provider later (1–60).
    - `kind` 'opensanctions_compatible': Shape of the provider's API. Covers any endpoint exposing an equivalent /match.
    - `base_url` string: Your provider's endpoint (validated against SSRF).
    - `key_fingerprint` string, nullable: NON-reversible hash of the credential (e.g. `sha256:a1b2c3d4`). Not head+tail: on a short key, showing start and end reveals almost all of it. The credential itself NEVER leaves.
    - `lists` string[]: The lists YOU declare as contracted. Shown to the reader verbatim. We do NOT verify them: the report says 'according to what your provider covers', never 'this is covered'.
    - `enabled` boolean
    - `last_verified_at` string, date-time, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `effective_provider` 'byo' | 'local' | 'none': `byo` = a provider of yours is enabled · `local` = matched against lists downloaded to our infrastructure, no name leaves it · `none` = local lists are not populated in this deployment, so screening returns nothing at all.
  - `local_lists` string[]: Lists available for local matching. Empty when `effective_provider` is `none`.
  - `requestId` string

---

[API](https://skmtc.dev/nexusquantum/apis/nexus-legal-api.md) · [All operations](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/revisions/4084d8d4eb0b?raw)
