---
title: "Screen a supplier name against public sanctions lists (batch-friendly)"
method: POST
path: "/v1/screen"
tags: ["Compliance"]
---

# Screen a supplier name against public sanctions lists (batch-friendly)

`POST /v1/screen`

## Request

- Base URL: `https://jp-verify.obolpay.xyz`
- URL: `https://jp-verify.obolpay.xyz/v1/screen`
- Auth: one of:
  - none
  - API key in header `X-API-Key`

## Headers

- `X-API-Key` string

## Request body

- object: ``POST /v1/screen`` body.
  - `name` string, required: supplier name to screen
  - `aliases` string[], nullable: alternative names to also screen
  - `id_numbers` object[], nullable: IDs to also screen, e.g. [{"scheme": "passport", "number": "..."}]
    - `scheme` string: ID scheme, e.g. 'passport'; blank screens the number under every scheme present on the loaded lists
    - `number` string, required: the ID value to screen
  - `dob` string, nullable: date of birth (individuals), passed through as-is — ISO 'yyyy-mm-dd', 'dd Mon yyyy', or a bare year
  - `proofs` boolean, nullable: include per-key Merkle non-membership proofs on a CLEAR result

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Malformed input — refused before metering; nothing was charged.
- `401`: Unknown, inactive, or expired API key.
- `413`: Request body over the size cap — refused before it was buffered or parsed; nothing was charged.
- `422`: Validation Error
- `429`: Quota exceeded for the caller's tier.
- `503`: The register, or an optional feature, is unavailable or not configured on this deployment. A register 503 (since 1.4.1) also carries the mirror's `data_as_of` with the source fields — `source_latest_diff_date` (the newest 差分 the NTA 公表サイト listed when the sync last read it), `source_checked_at`, `source_gap_business_days` and `freshness.rule` (`stale` here) — so a caller can tell a mirror that is behind its source (`data_date` older than `source_latest_diff_date`) from a source that has not published (equal, but `source_checked_at` older than `freshness.source_check_max_hours`); `data_as_of` is null when the mirror is absent. Nothing was charged.

---

[API](https://skmtc.dev/obolpay/apis/jp-verify.md) · [All operations](https://skmtc.dev/obolpay/apis/jp-verify/llms.txt) · [OpenAPI document](https://skmtc.dev/obolpay/apis/jp-verify/revisions/bf8851690df0?raw)
