KYCCentral.Sanctions (KYC Central v0.9.0)

Copy Markdown View Source

Screen names against OFAC, the UN Security Council, the UK Sanctions List and the EU Financial Sanctions Files.

Matching is approximate — these lists carry transliterated names, aliases and date-of-birth ranges — so treat every hit as a candidate for human review rather than a confirmed match.

Summary

Types

Maximum names per batch, as declared in the API schema.

Functions

Browse the underlying sanctions entities.

Maximum number of names accepted by screen_names/3.

Provenance of the loaded lists: sources, publication dates, record counts.

Screen a single name.

Screen up to 500 names in one request.

Whether the screening dataset is loaded and ready.

Types

result()

@type result() :: {:ok, map()} | {:error, KYCCentral.Error.t()}

Maximum names per batch, as declared in the API schema.

Functions

entities(client, opts \\ [])

@spec entities(
  KYCCentral.t(),
  keyword()
) :: result()

Browse the underlying sanctions entities.

Options

  • :search — substring filter on entity name.
  • :entity_type — e.g. "person" or "organization".
  • :sanctioned — filter to currently-designated entities.
  • :dataset — restrict to one source list, e.g. "gb_fcdo_sanctions".
  • :page, :page_size

max_names()

@spec max_names() :: pos_integer()

Maximum number of names accepted by screen_names/3.

meta(client)

@spec meta(KYCCentral.t()) :: result()

Provenance of the loaded lists: sources, publication dates, record counts.

screen(client, name, opts \\ [])

@spec screen(KYCCentral.t(), String.t(), keyword()) :: result()

Screen a single name.

Options

  • :threshold — minimum overall match score to return, between 0 and 1. Raising it returns fewer, stronger candidates.
  • :vector_threshold — minimum semantic-similarity score for the nearest-neighbour stage that shortlists candidates.

screen_names(client, names)

@spec screen_names(KYCCentral.t(), [String.t()]) :: result()

Screen up to 500 names in one request.

Far cheaper than a loop over screen/3: one request against your rate limit instead of one per name.

status(client)

@spec status(KYCCentral.t()) :: result()

Whether the screening dataset is loaded and ready.