Skip to content

Spec for /v2/match #1100

@pudo

Description

@pudo

I want to start speccing out a revised and more clean match API. This is separate from the discussion about a bulk screening API for now. The idea is just to incorporate all the learnings we've had from the older API into a simplified interface. As we discuss this, please feel free to edit and update the sample query/response below.

Request

POST /v2/match - no scope.

{
  "filters": {
    # either a simple list of OR-joined scopes, or a complex query as a dict (see ftm #272):
    "datasets": ["sanctions"],
    # for consistency:
    "topics": ["role.pep", "sanction"],
    "changed_since": "2022-02-24",
    # big list:
    "exclude_entities": ["Q7747", ...],
    "exclude_schemata": ["Address", ...],
  },
  "algorithm": "logic-v2",
  "threshold": 0.7,
  # as before:
  "weights": {},
  "config": {},
  "query": {
    "schema": "Person",
    "properties": {}
  }
}

Behavioural differences:

  • If query contains invalid properties, return 400
  • If query property values are discarded by cleaning, return 400
  • no batching
  • dataset filter DSL

Response

{
  "query": {},
  "results": [],
}

No difference?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions