OpenSanctions · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OpenSanctions Matching API

3 actions 3 updates phrasing extends openapi/opensanctions-matching-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for OpenSanctions's API. It is a proposal applied on top of the contract, not a document OpenSanctions publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 3

$.info
$.paths['/match/{dataset}'].post
$.paths['/search/{dataset}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for OpenSanctions Matching API
  version: 1.0.0
extends: openapi/opensanctions-matching-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 2
- target: $.paths['/match/{dataset}'].post
  update:
    x-apievangelist-phrasing:
      intent: Screen people or companies against sanctions lists
      effect: read
      questions:
      - How do I screen a customer by name, date of birth and nationality against sanctions lists?
      - Can I submit a batch of people and companies to be matched in one request?
      - What score threshold decides whether a candidate counts as a match?
      - Which scoring algorithm should I name to tune how strictly entities are matched?
      instructions:
      - text: Screen these entities {queries} against the {dataset} collection.
        slots:
          queries: requestBody.queries
          dataset: path.dataset
      - text: Match {queries} in {dataset} using the {algorithm} algorithm with a threshold of {threshold}.
        slots:
          queries: requestBody.queries
          dataset: path.dataset
          algorithm: query.algorithm
          threshold: query.threshold
      - text: Run my batch {queries} against {dataset} but only flag matches tagged with topics {topics}.
        slots:
          queries: requestBody.queries
          dataset: path.dataset
          topics: query.topics
      method: generated
      generated: '2026-10-01'
- target: $.paths['/search/{dataset}'].get
  update:
    x-apievangelist-phrasing:
      intent: Search entities by a name or text
      effect: read
      questions:
      - Can I do a quick free-text name search across sanctioned and politically exposed people?
      - Does the text search support wildcards and fuzzy spelling?
      - Is it possible to narrow a name search to a country or to only company records?
      instructions:
      - text: Search {dataset} for the name {q}.
        slots:
          dataset: path.dataset
          q: query.q
      - text: Look up {q} in {dataset}, limited to entities from countries {countries}.
        slots:
          q: query.q
          dataset: path.dataset
          countries: query.countries
      - text: Run a fuzzy text search for {q} in {dataset} restricted to the {schema} type.
        slots:
          q: query.q
          dataset: path.dataset
          schema: query.schema
      method: generated
      generated: '2026-10-01'