openapi: 3.0.3
info:
title: 'Pascal API Documentation'
description: ''
version: 1.0.0
servers:
-
url: 'https://app.pascal.vartion.com'
tags:
-
name: 'Bank Accounts'
description: ''
-
name: Batches
description: ''
-
name: Cases
description: ''
-
name: Clients
description: ''
-
name: 'Onboarding forms'
description: ''
-
name: 'One time case links'
description: "The usual flow for a one time case link is as follows:\n1. Create a one time case link using your personal access token.\n2. Store the generated one time case link id and token somewhere secure.\n3. Use a one time case link (this is done by your user). See: Authenticate using a one time case link"
-
name: Reports
description: ''
-
name: 'Transaction monitoring risk config'
description: ''
-
name: Transactions
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your personal settings page and clicking Add API token.'
security:
-
default: []
paths:
/api/v1/bank-accounts/import:
post:
summary: 'Import bank accounts'
operationId: importBankAccounts
description: "Import a list of bank accounts asynchronously.\nYou can provide up to 200 bank accounts per request.\nThe returned `id` is a batch ID, which you can use to check the progress of the import using the 'Get batch' endpoint.\n\n**Note:** Access to transaction monitoring is required to use this endpoint."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
created_at: '2024-06-10T12:00:00.000000Z'
finished_at: null
properties:
id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: "The unique identifier of the batch. It can be used to check the status of the import using the 'Get batch' endpoint."
enum: []
created_at:
type: string
example: '2024-06-10T12:00:00.000000Z'
description: 'The date and time the batch was created. An ISO 8601 date string.'
enum: []
finished_at:
type: string
example: null
description: 'The date and time the batch finished. Can be `null` if it is still processing. An ISO 8601 date string.'
enum: []
tags:
- 'Bank Accounts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
bank_accounts:
type: array
description: 'List of bank accounts to import.'
example: null
items:
type: object
properties:
name:
type: string
description: 'Name or identifier for the bank account. Must not be larger than 255.'
example: 'Main Business Account'
nullable: false
account_number:
type: string
description: 'Bank account number (IBAN or local format). Must not be larger than 255.'
example: NL91ABNA0417164300
nullable: false
swift_code:
type: string
description: 'SWIFT/BIC code of the bank account. Must not be larger than 255.'
example: ABNANL2A
nullable: true
bank_name:
type: string
description: 'Name of the bank. Must not be larger than 255.'
example: 'ABN AMRO Bank N.V.'
nullable: true
currency:
type: string
description: 'The currency code of the bank account.'
example: EUR
nullable: false
account_type:
type: string
description: 'Type of bank account (e.g., current, savings, etc.). Must not be larger than 255.'
example: current
nullable: false
account_creation_date:
type: string
description: 'Date when the bank account was created. This field must be a valid date.'
example: '2024-01-15'
nullable: true
clients:
type: array
description: 'A list of client names associated with this account. Must not be larger than 255.'
example:
- 'Client A'
items:
type: string
client_identifiers:
type: array
description: "A list of identifiers of clients associated with this account. If a client with this identifier does not exist, a 422 response will be returned. You should make sure to create the clients first using the 'Create client' or 'Import clients' endpoints. Must not be larger than 255."
example:
- ID123
items:
type: string
active:
type: boolean
description: 'Can be set to false to deactivate the account (default: true).'
example: false
nullable: true
required:
- name
- account_number
- currency
- account_type
batch_id:
type: string
description: 'Because each import request is limited to 200 items, you can use this parameter to add more items to an existing batch. If the batch does not exist or is already finished, a 404 response will be returned. This field must be a valid UUID.'
example: 99cbb5f6-49a7-492c-a1de-92ff356d98d8
nullable: true
count:
type: integer
description: 'When you want to import using multiple requests in a single batch, you should provide the total number of items to import in your first request (without a batch_id). When a batch has nothing to process, it will remain active for 1 minute, allowing you to add more items to it. When the total number of items has been processed, the batch will be marked as finished. Must not be smaller than 1.'
example: 150
nullable: true
required:
- bank_accounts
'/api/v1/batches/{id}':
get:
summary: 'Get batch'
operationId: getBatch
description: "This endpoint allows you to retrieve the status of a batch.\nBatches are created when importing cases, clients, transactions, or bank accounts.\nWhen a batch is finished (`finished_at` is not `null`), all jobs have been processed.\nThis allows you to track the progress of long-running imports.\nA finished batch is deleted 48 hours after it is finished and can no longer be found.\nIf a batch is not finished after 72 hours, it is also deleted and can no longer be found.\nYou can find the batch ID in the response when starting an import."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
created_at: '2024-06-10T12:00:00.000000Z'
finished_at: null
properties:
id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: 'The unique identifier of the resource.'
enum: []
created_at:
type: string
example: '2024-06-10T12:00:00.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
finished_at:
type: string
example: null
description: 'The date and time the resource finished. Can be `null` if it is still processing. An ISO 8601 date string.'
enum: []
tags:
- Batches
parameters:
-
in: path
name: id
description: 'The ID of the batch.'
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
required: true
schema:
type: string
/api/v1/cases/import:
post:
summary: 'Import cases'
operationId: importCases
description: "Import and search a list of new cases asynchronously.\nAfter making a request, a list of case UUIDs will be returned in the same order as your request.\nA list of \"imported\" case UUIDs will also be returned. This allows you to distinguish between cases that were imported and those that were deduplicated.\nYou can use the 'Search cases' endpoint to check the status of the imported cases.\nThe returned `id` is a batch ID, which you can use to check the progress of the import using the 'Get batch' endpoint."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
created_at: '2024-06-10T12:00:00.000000Z'
finished_at: null
uuids:
- a2546955-de2d-4907-a533-0846ee46f719
- d6253422-5197-429c-a8eb-4af7f6f7fffc
- 052c7db6-bdca-4b95-b872-363b4287200f
imported:
- a2546955-de2d-4907-a533-0846ee46f719
properties:
id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: "The unique identifier of the batch. It can be used to check the status of the import using the 'Get batch' endpoint."
enum: []
created_at:
type: string
example: '2024-06-10T12:00:00.000000Z'
description: 'The date and time the batch was created. An ISO 8601 date string.'
enum: []
finished_at:
type: string
example: null
description: 'The date and time the batch finished. Can be `null` if it is still processing. An ISO 8601 date string.'
enum: []
uuids:
type: array
example:
- a2546955-de2d-4907-a533-0846ee46f719
- d6253422-5197-429c-a8eb-4af7f6f7fffc
- 052c7db6-bdca-4b95-b872-363b4287200f
description: 'The list of case UUIDs in the same order as the request.'
enum: []
items:
type: string
imported:
type: array
example:
- a2546955-de2d-4907-a533-0846ee46f719
description: 'The list of imported case UUIDs. This allows for distinguishing between cases that were imported and those that were deduplicated.'
enum: []
items:
type: string
tags:
- Cases
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
cases:
type: array
description: 'An array of cases to be imported. You can import up to 200 cases per request.'
example:
- []
items:
type: object
properties:
type:
type: string
description: 'Must be one of Person, Business, or Asset.'
example: Person
nullable: false
enum:
- Person
- Business
- Asset
status:
type: string
description: 'Must be one of: Preview or In review.'
example: 'In review'
nullable: false
enum:
- 'In review'
- Preview
name:
type: string
description: 'The name to be checked. Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example: 'John Doe'
nullable: false
confidence:
type: string
description: 'The search confidence of the case. "Exact" will only find hits if all fields that are filled in are exact matches, while "Relative" can do partial matches. Must be one of Exact or Relative.'
example: Relative
nullable: false
enum:
- Relative
- Exact
aliases:
type: array
description: 'A list of additional name variations to be checked. Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example:
- 'J. Doe'
items:
type: string
additional_terms:
type: array
description: 'A list of words that boost confidence if present in any visible text field. Is case-insensitive. Must not be larger than 255.'
example:
- CEO
items:
type: string
description:
type: string
description: 'Additional information to be displayed in the case.'
example: 'Relation of a high risk client'
nullable: true
clients:
type: array
description: 'A list of client names that should be linked to the case. If a client with this name exists, it will be linked. If not, a new client will be created and linked. Must not be larger than 255.'
example:
- "['Johns']"
items:
type: string
client_identifiers:
type: array
description: "A list of identifiers of clients that should be linked to the created case. If a client with this identifier does not exist, a 422 response will be returned. You should make sure to create the clients first using the 'Create client' or 'Import clients' endpoints. Must not be larger than 255."
example:
- ID123
items:
type: string
sources:
type: array
description: 'If provided, will only enable these sources in the created case. Must be one or more of: sanctions, enforcements, peps, news, other. Sources that are not enabled in the organization will be skipped.'
example:
- sanctions
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
gender:
type: string
description: '[Person case] Must be one of Male or Female. This field is required when cases.0.passportVerificationForm is present.'
example: Male
nullable: true
enum:
- Female
- Male
nationalities:
type: array
description: '[Person case][Asset case] An array of max 10 nationalities. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_birth:
type: string
description: '[Person case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
country_of_residence:
type: string
description: '[Person case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
date_of_birth:
type: string
description: '[Person case] ISO date string. This field is required when cases.0.passportVerificationForm is present. Must be a valid date in the format Y-m-d.'
example: '2000-01-31'
nullable: true
passportVerificationForm:
type: object
description: '[Person case] Optional passport check information to be added to the case.'
example: null
nullable: true
properties:
country:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code This field is required when cases.0.passportVerificationForm is present.'
example: NLD
nullable: false
dateOfExpiry:
type: string
description: 'This field is required when cases.0.passportVerificationForm is present. Must be a valid date in the format Y-m-d.'
example: '2025-11-01'
nullable: false
documentNumber:
type: string
description: 'This field is required when cases.0.passportVerificationForm is present. Must not be smaller than 6. Must not be larger than 9.'
example: bngzmiy
nullable: false
givenNames:
type: string
description: 'This field is required when cases.0.passportVerificationForm is present. Must not be larger than 255.'
example: v
nullable: false
lastName:
type: string
description: 'This field is required when cases.0.passportVerificationForm is present. Must not be larger than 255.'
example: d
nullable: false
nationality:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code This field is required when cases.0.passportVerificationForm is present.'
example: NLD
nullable: false
optionalData:
type: string
description: 'Must not be larger than 14.'
example: ljnikhwaykcmyu
nullable: true
company_number:
type: string
description: '[Business case]. Must not be larger than 255.'
example: NL123
nullable: true
country:
type: string
description: '[Business case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
address:
type: string
description: '[Business case]. Must not be larger than 255.'
example: '3721 West Fork Street, Montana'
nullable: true
asset_type:
type: string
description: '[Asset case] Must be one of vessel or aircraft.'
example: vessel
nullable: true
enum:
- vessel
- aircraft
identifier:
type: string
description: '[Asset case]. Must not be larger than 255.'
example: '123456'
nullable: true
user_id:
type: integer
description: 'The assignee of the case. If both this and group_id are missing, the case is assigned to the default assignee specified in the organisation policies. If either is provided but neither specifies an id, the case is unassigned.'
example: null
nullable: true
group_id:
type: integer
description: 'The assigned group of the case. If both this and user_id are missing, the case is assigned to the default assignee specified in the organisation policies. If either is provided but neither specifies an id, the case is unassigned.'
example: null
nullable: true
required:
- type
- name
- confidence
- aliases
- nationalities
deduplicate:
type: boolean
description: 'Whether or not to skip any cases that already exist in the organisation. A case is considered a duplicate if all of the following fields are an exact match (case insensitive): name, aliases, additional_terms, gender, date_of_birth, nationalities, country_of_birth, country_of_residence, address, country, company_number, asset_type, and identifier.'
example: false
nullable: true
update_duplicates:
type: boolean
description: "When a duplicate case is found, perform a new search.\nIf the existing case is 'archived', its status will be changed to 'in review'.\nSearch is skipped if the case is already monitored."
example: false
nullable: true
update_duplicates_clients:
type: boolean
description: 'If a case with the same name already exists, its client(s) will be updated with the provided information.'
example: false
nullable: true
batch_id:
type: string
description: 'Because each import request is limited to 200 items, you can use this parameter to add more items to an existing batch. If the batch does not exist or is already finished, a 404 response will be returned. This field must be a valid UUID.'
example: 99cbb5f6-49a7-492c-a1de-92ff356d98d8
nullable: true
count:
type: integer
description: 'When you want to import using multiple requests in a single batch, you should provide the total number of items to import in your first request (without a batch_id). When a batch has nothing to process, it will remain active for 1 minute, allowing you to add more items to it. When the total number of items has been processed, the batch will be marked as finished. Must not be smaller than 1.'
example: 150
nullable: true
required:
- cases
/api/v1/cases:
post:
summary: 'Create and search case'
operationId: createAndSearchCase
description: "Create and search a single case synchronously, returning results immediately.\nCase deduplication is optional - when enabled, the first matching case will be searched for changes and returned instead of creating duplicates.\n"
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
additional_terms:
- CEO
address: '3721 West Fork Street, Montana'
aliases:
- 'J. Doe'
asset_type: null
clients:
-
name: 'John Doe'
id: 1
company_number: null
confidence: Relative
country: null
country_of_birth: NLD
country_of_residence: NLD
created_at: '2023-08-02T18:48:22.000000Z'
date_of_birth: null
deleted_at: null
description: 'Relation of a high risk client'
excluded_terms: []
gender: null
group_id: null
id: 2049050
identifier: null
monitoring_frequency_sanctions: 90
monitoring_frequency_peps: 90
monitoring_frequency_news: 90
monitoring_frequency_enforcements: 90
monitoring_frequency_other: 90
name: 'My test case'
nationalities: null
organization_id: 19
origin: public-api
risk: 0.12
searched_at: '2023-08-02T18:48:32.000000Z'
hits_unresolved_count: 0
resolve_progress: 100
hit_counts:
negative:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
positive:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
unresolved:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
sources:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
status: Monitored
type: Person
unresolved_risk: 0
updated_at: '2023-08-02T18:48:22.000000Z'
user_id: null
uuid: a2546955-de2d-4907-a533-0846ee46f719
properties:
additional_terms:
type: array
example:
- CEO
description: 'A list of words that boost confidence of hits if present in any visible text field.'
enum: []
items:
type: string
address:
type: string
example: '3721 West Fork Street, Montana'
description: '[Business case] The address of the resource.'
enum: []
aliases:
type: array
example:
- 'J. Doe'
items:
type: string
asset_type:
type: string
example: null
description: '[Asset case] The type of asset the resource is. Possible values: "vessel", "aircraft".'
enum: []
clients:
type: array
example:
-
name: 'John Doe'
id: 1
description: 'The clients associated with the resource.'
enum: []
items:
type: object
properties:
name:
type: string
example: 'John Doe'
description: 'The name of the client.'
enum: []
id:
type: integer
example: 1
description: 'The globally unique identifier of the client.'
enum: []
company_number:
type: string
example: null
description: '[Business case] The company number of the resource.'
enum: []
confidence:
type: string
example: Relative
description: 'The confidence level of the resource. Possible values: "Relative", "Exact"'
enum: []
country:
type: string
example: null
description: '[Business case] The country of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_birth:
type: string
example: NLD
description: '[Person case] The country of birth of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_residence:
type: string
example: NLD
description: '[Person case] The country of residence of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
created_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
date_of_birth:
type: string
example: null
description: '[Person case] The date of birth of the resource, in YYYY-MM-DD format.'
enum: []
deleted_at:
type: string
example: null
description: 'The date and time the resource was deleted. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'Relation of a high risk client'
description: 'Additional information displayed in the resource.'
enum: []
excluded_terms:
type: array
example: []
description: ''
enum: []
gender:
type: string
example: null
description: '[Person case] The gender of the resource. Possible values: "Female", "Male"'
enum: []
group_id:
type: string
example: null
description: 'The group linked to the resource.If both this and `user_id` are missing, the resource is unassigned.'
enum: []
id:
type: integer
example: 2049050
description: 'A globally unique identifier of the resource.'
enum: []
identifier:
type: string
example: null
description: '[Asset case] The identifier of the resource, such as the registration number of a vessel or aircraft.'
enum: []
monitoring_frequency_sanctions:
type: integer
example: 90
description: 'The monitoring frequency of Sanctions for the resource, in days.'
enum: []
monitoring_frequency_peps:
type: integer
example: 90
description: 'The monitoring frequency of PEPs for the resource, in days.'
enum: []
monitoring_frequency_news:
type: integer
example: 90
description: 'The monitoring frequency of Media for the resource, in days.'
enum: []
monitoring_frequency_enforcements:
type: integer
example: 90
description: 'The monitoring frequency of Enforcements for the resource, in days.'
enum: []
monitoring_frequency_other:
type: integer
example: 90
description: 'The monitoring frequency of Other sources for the resource, in days.'
enum: []
name:
type: string
example: 'My test case'
description: 'The name of the resource.'
enum: []
nationalities:
type: string
example: null
description: '[Person case] [Asset case] The nationalities of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
organization_id:
type: integer
example: 19
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
origin:
type: string
example: public-api
description: 'The origin of the resource. Possible values: "person-check", "business-check", "hyperlink", "import", "public-api"'
enum: []
risk:
type: number
example: 0.12
description: 'The risk score of the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:32.000000Z'
description: 'The date and time the resource was most recently searched. An ISO 8601 date string.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits for the resource. Only present when requested by passing `hitCounts` to the `with` parameter.'
enum: []
resolve_progress:
type: integer
example: 100
hit_counts:
type: object
properties:
negative:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
positive:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
unresolved:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
sources:
type: array
example:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
description: 'The sources used by the resource.'
enum: []
items:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the source is active.'
enum: []
case_id:
type: integer
example: 2049050
description: 'The ID of the case the source belongs to.'
enum: []
data_source:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the data source is active.'
enum: []
deactivated_at:
type: string
example: '2023-02-21T12:57:31.000000Z'
description: 'If not active, the date and time the data source was deactivated. An ISO 8601 date string.'
enum: []
id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
source:
type: string
example: peps
description: 'The source of the data source. Possible values: "sanctions", "enforcements", "peps", "news", "other".'
enum: []
vendor:
type: string
example: default
description: 'The vendor of the data source.'
enum: []
description: 'The data source details.'
data_source_id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
id:
type: integer
example: 18320030
description: 'The ID of the source'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the source was most recently searched. An ISO 8601 date string.'
enum: []
succeeded:
type: boolean
example: true
description: 'Whether the last search attempt succeeded.'
enum: []
status:
type: string
example: Monitored
description: 'The status of the resource. Possible values: "In Review", "Monitored", "Preview"'
enum: []
type:
type: string
example: Person
unresolved_risk:
type: integer
example: 0
description: 'The risk score of the unresolved hits for the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
updated_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
user_id:
type: string
example: null
description: 'The user linked to the resource.If both this and `group_id` are missing, the resource is unassigned.'
enum: []
uuid:
type: string
example: a2546955-de2d-4907-a533-0846ee46f719
description: 'A universally unique identifier of the resource.'
enum: []
201:
description: ''
content:
application/json:
schema:
type: object
example:
additional_terms:
- CEO
address: '3721 West Fork Street, Montana'
aliases:
- 'J. Doe'
asset_type: null
clients:
-
name: 'John Doe'
id: 1
company_number: null
confidence: Relative
country: null
country_of_birth: NLD
country_of_residence: NLD
created_at: '2023-08-02T18:48:22.000000Z'
date_of_birth: null
deleted_at: null
description: 'Relation of a high risk client'
excluded_terms: []
gender: null
group_id: null
id: 2049050
identifier: null
monitoring_frequency_sanctions: 90
monitoring_frequency_peps: 90
monitoring_frequency_news: 90
monitoring_frequency_enforcements: 90
monitoring_frequency_other: 90
name: 'My test case'
nationalities: null
organization_id: 19
origin: public-api
risk: 0.12
searched_at: '2023-08-02T18:48:32.000000Z'
hits_unresolved_count: 0
resolve_progress: 100
hit_counts:
negative:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
positive:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
unresolved:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
sources:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
status: Monitored
type: Person
unresolved_risk: 0
updated_at: '2023-08-02T18:48:22.000000Z'
user_id: null
uuid: a2546955-de2d-4907-a533-0846ee46f719
properties:
additional_terms:
type: array
example:
- CEO
description: 'A list of words that boost confidence of hits if present in any visible text field.'
enum: []
items:
type: string
address:
type: string
example: '3721 West Fork Street, Montana'
description: '[Business case] The address of the resource.'
enum: []
aliases:
type: array
example:
- 'J. Doe'
items:
type: string
asset_type:
type: string
example: null
description: '[Asset case] The type of asset the resource is. Possible values: "vessel", "aircraft".'
enum: []
clients:
type: array
example:
-
name: 'John Doe'
id: 1
description: 'The clients associated with the resource.'
enum: []
items:
type: object
properties:
name:
type: string
example: 'John Doe'
description: 'The name of the client.'
enum: []
id:
type: integer
example: 1
description: 'The globally unique identifier of the client.'
enum: []
company_number:
type: string
example: null
description: '[Business case] The company number of the resource.'
enum: []
confidence:
type: string
example: Relative
description: 'The confidence level of the resource. Possible values: "Relative", "Exact"'
enum: []
country:
type: string
example: null
description: '[Business case] The country of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_birth:
type: string
example: NLD
description: '[Person case] The country of birth of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_residence:
type: string
example: NLD
description: '[Person case] The country of residence of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
created_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
date_of_birth:
type: string
example: null
description: '[Person case] The date of birth of the resource, in YYYY-MM-DD format.'
enum: []
deleted_at:
type: string
example: null
description: 'The date and time the resource was deleted. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'Relation of a high risk client'
description: 'Additional information displayed in the resource.'
enum: []
excluded_terms:
type: array
example: []
description: ''
enum: []
gender:
type: string
example: null
description: '[Person case] The gender of the resource. Possible values: "Female", "Male"'
enum: []
group_id:
type: string
example: null
description: 'The group linked to the resource.If both this and `user_id` are missing, the resource is unassigned.'
enum: []
id:
type: integer
example: 2049050
description: 'A globally unique identifier of the resource.'
enum: []
identifier:
type: string
example: null
description: '[Asset case] The identifier of the resource, such as the registration number of a vessel or aircraft.'
enum: []
monitoring_frequency_sanctions:
type: integer
example: 90
description: 'The monitoring frequency of Sanctions for the resource, in days.'
enum: []
monitoring_frequency_peps:
type: integer
example: 90
description: 'The monitoring frequency of PEPs for the resource, in days.'
enum: []
monitoring_frequency_news:
type: integer
example: 90
description: 'The monitoring frequency of Media for the resource, in days.'
enum: []
monitoring_frequency_enforcements:
type: integer
example: 90
description: 'The monitoring frequency of Enforcements for the resource, in days.'
enum: []
monitoring_frequency_other:
type: integer
example: 90
description: 'The monitoring frequency of Other sources for the resource, in days.'
enum: []
name:
type: string
example: 'My test case'
description: 'The name of the resource.'
enum: []
nationalities:
type: string
example: null
description: '[Person case] [Asset case] The nationalities of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
organization_id:
type: integer
example: 19
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
origin:
type: string
example: public-api
description: 'The origin of the resource. Possible values: "person-check", "business-check", "hyperlink", "import", "public-api"'
enum: []
risk:
type: number
example: 0.12
description: 'The risk score of the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:32.000000Z'
description: 'The date and time the resource was most recently searched. An ISO 8601 date string.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits for the resource. Only present when requested by passing `hitCounts` to the `with` parameter.'
enum: []
resolve_progress:
type: integer
example: 100
hit_counts:
type: object
properties:
negative:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
positive:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
unresolved:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
sources:
type: array
example:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
description: 'The sources used by the resource.'
enum: []
items:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the source is active.'
enum: []
case_id:
type: integer
example: 2049050
description: 'The ID of the case the source belongs to.'
enum: []
data_source:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the data source is active.'
enum: []
deactivated_at:
type: string
example: '2023-02-21T12:57:31.000000Z'
description: 'If not active, the date and time the data source was deactivated. An ISO 8601 date string.'
enum: []
id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
source:
type: string
example: peps
description: 'The source of the data source. Possible values: "sanctions", "enforcements", "peps", "news", "other".'
enum: []
vendor:
type: string
example: default
description: 'The vendor of the data source.'
enum: []
description: 'The data source details.'
data_source_id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
id:
type: integer
example: 18320030
description: 'The ID of the source'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the source was most recently searched. An ISO 8601 date string.'
enum: []
succeeded:
type: boolean
example: true
description: 'Whether the last search attempt succeeded.'
enum: []
status:
type: string
example: Monitored
description: 'The status of the resource. Possible values: "In Review", "Monitored", "Preview"'
enum: []
type:
type: string
example: Person
unresolved_risk:
type: integer
example: 0
description: 'The risk score of the unresolved hits for the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
updated_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
user_id:
type: string
example: null
description: 'The user linked to the resource.If both this and `group_id` are missing, the resource is unassigned.'
enum: []
uuid:
type: string
example: a2546955-de2d-4907-a533-0846ee46f719
description: 'A universally unique identifier of the resource.'
enum: []
422:
description: ''
content:
application/json:
schema:
oneOf:
-
description: 'concurrency limit'
type: object
example:
message: 'Maximum concurrent requests (3) reached. Please wait for existing requests to complete.'
properties:
message:
type: string
example: 'Maximum concurrent requests (3) reached. Please wait for existing requests to complete.'
-
description: 'duplicate conversion'
type: object
example:
message: "Duplicate case found in 'Preview' status. Set 'allow_duplicate_conversion' to true to allow conversion to a searchable status, or update the case status manually."
id: 1
uuid: a41199d4-69eb-459e-809e-d169fb94a076
properties:
message:
type: string
example: "Duplicate case found in 'Preview' status. Set 'allow_duplicate_conversion' to true to allow conversion to a searchable status, or update the case status manually."
id:
type: integer
example: 1
description: 'A globally unique identifier of the resource.'
enum: []
uuid:
type: string
example: a41199d4-69eb-459e-809e-d169fb94a076
description: 'A universally unique identifier of the resource.'
enum: []
500:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Search failed'
properties:
message:
type: string
example: 'Search failed'
tags:
- Cases
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: 'Must be one of Person, Business, or Asset.'
example: Person
nullable: false
enum:
- Person
- Business
- Asset
status:
type: string
description: 'Must be one of: Preview or In review. Defaults to In review if not provided..'
example: 'In review'
nullable: false
enum:
- 'In review'
- Preview
- Monitored
name:
type: string
description: 'The name to be checked. Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example: 'John Doe'
nullable: false
aliases:
type: array
description: 'A list of additional name variations to be checked. Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example:
- 'J. Doe'
items:
type: string
confidence:
type: string
description: 'The search confidence of the case. "Exact" will only find hits if all fields that are filled in are exact matches, while "Relative" can do partial matches. Must be one of Exact or Relative. Defaults to Relative if not provided..'
example: Relative
nullable: false
enum:
- Relative
- Exact
additional_terms:
type: array
description: 'A list of words that boost confidence if present in any visible text field. Is case-insensitive. Must not be larger than 255.'
example:
- CEO
items:
type: string
client_ids:
type: array
description: 'A list of client IDs to link to this case. Must not be smaller than 1.'
example:
- 1
items:
type: integer
sources:
type: array
description: "If provided, will only enable these sources in the created case. Must be one or more of: sanctions, enforcements, peps, news, other. Defaults to organization's policy Default case sources if not provided.."
example: null
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
deduplicate:
type: boolean
description: 'When true, checks for existing cases with matching details. If found, returns and re-searches the existing case instead of creating a duplicate. If multiple duplicates are found, the most recent case is used and Monitored or In review cases are prioritized. Note: Deduplication cannot be used when requesting a Preview case.'
example: false
nullable: false
allow_duplicate_conversion:
type: boolean
description: 'When true, allows automatic conversion of duplicate cases in Preview or Archived status to searchable statuses (In review or the status specified in the request). When false or not provided, an error will be thrown if a duplicate is found in Preview or Archived status, requiring the calling application to handle the status update or retry without deduplication. Only relevant when deduplicate is true.'
example: false
nullable: false
gender:
type: string
description: '[Person case] Must be one of Male or Female.'
example: Male
nullable: true
enum:
- Female
- Male
nationalities:
type: array
description: '[Person case] array of max 10 nationalities, nationality ISO 3166-1 alpha-2 or alpha-3 country code string. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_birth:
type: string
description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
country_of_residence:
type: string
description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
date_of_birth:
type: string
description: '[Person case] ISO date string. Must be a valid date in the format Y-m-d.'
example: '2000-01-31'
nullable: true
company_number:
type: string
description: '[Business case] string of max 255 characters. Must not be larger than 255.'
example: NL123
nullable: true
country:
type: string
description: '[Business case] ISO 3166-1 alpha-2 or alpha-3 country code string. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NL
nullable: false
address:
type: string
description: '[Business case] string of max 255 characters. Must not be larger than 255.'
example: '3721 West Fork Street, Montana'
nullable: true
asset_type:
type: string
description: '[Asset case] Must be one of vessel or aircraft.'
example: vessel
nullable: true
enum:
- vessel
- aircraft
identifier:
type: string
description: '[Asset case] string of max 255 characters. Must not be larger than 255.'
example: '123456'
nullable: true
required:
- type
- name
- aliases
- client_ids
- nationalities
/api/v1/cases/searches:
post:
summary: 'List cases'
operationId: listCases
description: "Search for cases using filters.\nReturning basic information on a list of cases.\nPaginating through results is possible using the per_page and page parameters."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
additional_terms:
- CEO
address: '3721 West Fork Street, Montana'
aliases:
- 'J. Doe'
asset_type: null
clients:
-
name: 'John Doe'
id: 1
company_number: null
confidence: Relative
country: null
country_of_birth: NLD
country_of_residence: NLD
created_at: '2023-08-02T18:48:22.000000Z'
date_of_birth: null
deleted_at: null
description: 'Relation of a high risk client'
excluded_terms: []
gender: null
group_id: null
id: 2049050
identifier: null
monitoring_frequency_sanctions: 90
monitoring_frequency_peps: 90
monitoring_frequency_news: 90
monitoring_frequency_enforcements: 90
monitoring_frequency_other: 90
name: 'My test case'
nationalities: null
organization_id: 19
origin: import
risk: 0.12
searched_at: '2023-08-02T18:48:32.000000Z'
hits_unresolved_count: 0
resolve_progress: 100
hit_counts:
negative:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
positive:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
unresolved:
enforcements: 0
news: 0
other: 0
peps: 0
sanctions: 0
sources:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
status: Monitored
type: Person
unresolved_risk: 0
updated_at: '2023-08-02T18:48:22.000000Z'
user_id: null
uuid: a2546955-de2d-4907-a533-0846ee46f719
properties:
additional_terms:
type: array
example:
- CEO
items:
type: string
address:
type: string
example: '3721 West Fork Street, Montana'
aliases:
type: array
example:
- 'J. Doe'
items:
type: string
asset_type:
type: string
example: null
clients:
type: array
example:
-
name: 'John Doe'
id: 1
items:
type: object
properties:
name:
type: string
example: 'John Doe'
id:
type: integer
example: 1
company_number:
type: string
example: null
confidence:
type: string
example: Relative
country:
type: string
example: null
country_of_birth:
type: string
example: NLD
country_of_residence:
type: string
example: NLD
created_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
date_of_birth:
type: string
example: null
deleted_at:
type: string
example: null
description:
type: string
example: 'Relation of a high risk client'
excluded_terms:
type: array
example: []
gender:
type: string
example: null
group_id:
type: string
example: null
id:
type: integer
example: 2049050
identifier:
type: string
example: null
monitoring_frequency_sanctions:
type: integer
example: 90
monitoring_frequency_peps:
type: integer
example: 90
monitoring_frequency_news:
type: integer
example: 90
monitoring_frequency_enforcements:
type: integer
example: 90
monitoring_frequency_other:
type: integer
example: 90
name:
type: string
example: 'My test case'
nationalities:
type: string
example: null
organization_id:
type: integer
example: 19
origin:
type: string
example: import
risk:
type: number
example: 0.12
searched_at:
type: string
example: '2023-08-02T18:48:32.000000Z'
hits_unresolved_count:
type: integer
example: 0
resolve_progress:
type: integer
example: 100
hit_counts:
type: object
properties:
negative:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
positive:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
unresolved:
type: object
properties:
enforcements:
type: integer
example: 0
news:
type: integer
example: 0
other:
type: integer
example: 0
peps:
type: integer
example: 0
sanctions:
type: integer
example: 0
sources:
type: array
example:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
items:
type: object
properties:
active:
type: boolean
example: true
case_id:
type: integer
example: 2049050
data_source:
type: object
properties:
active:
type: boolean
example: true
deactivated_at:
type: string
example: '2023-02-21T12:57:31.000000Z'
id:
type: integer
example: 409
source:
type: string
example: peps
vendor:
type: string
example: default
data_source_id:
type: integer
example: 409
id:
type: integer
example: 18320030
searched_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
succeeded:
type: boolean
example: true
status:
type: string
example: Monitored
type:
type: string
example: Person
unresolved_risk:
type: integer
example: 0
updated_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
user_id:
type: string
example: null
uuid:
type: string
example: a2546955-de2d-4907-a533-0846ee46f719
tags:
- Cases
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
per_page:
type: integer
description: 'Number of results per page. Must not be smaller than 1. Must not be larger than 1000.'
example: 10
nullable: false
page:
type: integer
description: 'Page to be returned. Must not be smaller than 1.'
example: 1
nullable: false
sort_by:
type: string
description: 'Field to sort the results by. Can be one of updated_at, status, uuid, name, type, confidence, risk, unresolved_risk, searched_at. Defaults to updated_at.'
example: updated_at
nullable: true
enum:
- updated_at
- status
- uuid
- name
- type
- confidence
- assignee
- risk
- unresolved_risk
- searched_at
- passport_expiry_date
- organization_name
sort_order:
type: string
description: 'The sorting order for the results. Can be one of asc or desc. Defaults to desc.'
example: desc
nullable: false
secondary_sort_by:
type: string
description: 'Field to use as secondary sort for the results when the primary sort field values are equal. Can be one of updated_at, status, uuid, name, type, confidence, risk, unresolved_risk, searched_at. Defaults to updated_at.'
example: uuid
nullable: true
enum:
- updated_at
- status
- uuid
- name
- type
- confidence
- assignee
- risk
- unresolved_risk
- searched_at
- passport_expiry_date
- organization_name
secondary_sort_order:
type: string
description: 'The sorting order for the results. Can be one of asc or desc. Defaults to desc.'
example: desc
nullable: false
with:
type: array
description: 'Adds additional values to the results. Must be one of: hitCounts, hitCountsPerSource.'
example:
- hitCountsPerSource
items:
type: string
enum:
- hitCounts
- hitCountsPerSource
id:
type: array
description: 'Case IDs to be filtered on. Must not be smaller than 1.'
example: null
items:
type: integer
type:
type: array
description: 'Must be one of Person, Business, or Asset.'
example: null
items:
type: string
enum:
- Person
- Business
- Asset
status:
type: array
description: ''
example: null
items:
type: string
enum:
- Preview
- 'In review'
- Archived
- Monitored
user_id:
type: array
description: 'Filter on case assignees using user ids. Use null for unassigned cases.'
example:
- 1
items:
type: integer
nullable: true
group_id:
type: array
description: 'Filter on case assignees using group ids.'
example:
- 1
items:
type: integer
nullable: true
organization_id:
type: array
description: 'Filter on cases from a specific organization (if token has access to multiple organizations).'
example: null
items:
type: integer
origin:
type: array
description: ''
example: null
items:
type: string
enum:
- person-check
- business-check
- hyperlink
confidence:
type: array
description: ''
example: null
items:
type: string
enum:
- Exact
- Relative
created_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
updated_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
name:
type: string
description: 'Search on case names. Supports SQL LIKE wildcards. Must not be larger than 255.'
example: null
nullable: true
client_id:
type: array
description: 'Cases associated to a list of clients. Must not be smaller than 1.'
example: null
items:
type: integer
nullable: true
exclude_client_id:
type: array
description: 'Exclude cases associated to any of a list of clients. Must not be smaller than 1.'
example: null
items:
type: integer
nullable: true
deleted:
type: boolean
description: ''
example: false
nullable: false
uuid:
type: array
description: 'Search on case UUIDs. Supports SQL LIKE wildcards. This field must be a valid UUID.'
example:
- a2546955-de2d-4907-a533-0846ee46f719
items:
type: string
query:
type: string
description: 'Must not be larger than 255.'
example: null
nullable: true
nationalities:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_birth:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_residence:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
date_of_birth:
type: array
description: 'This field must be a valid date.'
example: null
items:
type: string
nullable: true
company_number:
type: string
description: 'Must not be larger than 255.'
example: b
nullable: true
address:
type: string
description: 'Must not be larger than 255.'
example: 'n'
nullable: true
country:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
identifier:
type: array
description: 'The identifier of an asset. Must not be larger than 255.'
example: null
items:
type: string
nullable: true
risk:
type: array
description: ''
example: null
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
- 'no risk'
hit_resolution:
type: array
description: 'Filter on the resolution status of hits associated to the case.'
example:
- positive
items:
type: string
enum:
- unresolved
- positive
- negative
hit_source:
type: array
description: 'Filter on the source of hits associated to the case.'
example: null
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
hit_time_range:
type: object
description: 'A date range for the associated hits, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
client_status:
type: array
description: 'Filter on the status of associated clients.'
example:
- Active
items:
type: string
enum:
- Active
- Archived
clients:
type: object
description: ''
example: null
nullable: false
properties:
cases_count:
type: array
description: 'Filter on the number of cases in associated clients by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
clients_count:
type: array
description: 'Filter on the number of clients in associated clients by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
created_at:
type: object
description: 'A date range for the creation date of associated clients, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
risk:
type: array
description: 'Filter on the screening risk of associated clients.'
example:
- 'very high'
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
updated_at:
type: object
description: 'A date range for the update date of associated clients, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
identifier:
type: array
description: 'Filter on the identifier of associated clients. Must not be larger than 255.'
example:
- ID123
items:
type: string
nullable: true
required:
- with
- hit_resolution
- hit_source
- client_status
'/api/v1/cases/{id}':
patch:
summary: 'Update case'
operationId: updateCase
description: "Edit the specifications or status of an existing case.\nOnly fields provided will be updated, fields that are not provided will remain in the current state.\nWill return the updated case information.\n"
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
additional_terms:
- CEO
address: '3721 West Fork Street, Montana'
aliases:
- 'J. Doe'
asset_type: null
clients:
-
name: 'John Doe'
id: 1
company_number: null
confidence: Relative
country: null
country_of_birth: NLD
country_of_residence: NLD
created_at: '2023-08-02T18:48:22.000000Z'
date_of_birth: null
deleted_at: null
description: 'Relation of a high risk client'
excluded_terms: []
gender: null
group_id: null
id: 2049050
identifier: null
monitoring_frequency_sanctions: 90
monitoring_frequency_peps: 90
monitoring_frequency_news: 90
monitoring_frequency_enforcements: 90
monitoring_frequency_other: 90
name: 'My test case'
nationalities: null
organization_id: 19
origin: import
risk: 0.12
searched_at: '2023-08-02T18:48:32.000000Z'
sources:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
status: Monitored
type: Person
unresolved_risk: 0
updated_at: '2023-08-02T18:48:22.000000Z'
user_id: null
uuid: a2546955-de2d-4907-a533-0846ee46f719
properties:
additional_terms:
type: array
example:
- CEO
description: 'A list of words that boost confidence of hits if present in any visible text field.'
enum: []
items:
type: string
address:
type: string
example: '3721 West Fork Street, Montana'
description: '[Business case] The address of the resource.'
enum: []
aliases:
type: array
example:
- 'J. Doe'
items:
type: string
asset_type:
type: string
example: null
description: '[Asset case] The type of asset the resource is. Possible values: "vessel", "aircraft".'
enum: []
clients:
type: array
example:
-
name: 'John Doe'
id: 1
description: 'The clients associated with the resource.'
enum: []
items:
type: object
properties:
name:
type: string
example: 'John Doe'
description: 'The name of the client.'
enum: []
id:
type: integer
example: 1
description: 'The globally unique identifier of the client.'
enum: []
company_number:
type: string
example: null
description: '[Business case] The company number of the resource.'
enum: []
confidence:
type: string
example: Relative
description: 'The confidence level of the resource. Possible values: "Relative", "Exact"'
enum: []
country:
type: string
example: null
description: '[Business case] The country of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_birth:
type: string
example: NLD
description: '[Person case] The country of birth of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
country_of_residence:
type: string
example: NLD
description: '[Person case] The country of residence of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
created_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
date_of_birth:
type: string
example: null
description: '[Person case] The date of birth of the resource, in YYYY-MM-DD format.'
enum: []
deleted_at:
type: string
example: null
description: 'The date and time the resource was deleted. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'Relation of a high risk client'
description: 'Additional information displayed in the resource.'
enum: []
excluded_terms:
type: array
example: []
description: ''
enum: []
gender:
type: string
example: null
description: '[Person case] The gender of the resource. Possible values: "Female", "Male"'
enum: []
group_id:
type: string
example: null
description: 'The group linked to the resource.If both this and `user_id` are missing, the resource is unassigned.'
enum: []
id:
type: integer
example: 2049050
description: 'A globally unique identifier of the resource.'
enum: []
identifier:
type: string
example: null
description: '[Asset case] The identifier of the resource, such as the registration number of a vessel or aircraft.'
enum: []
monitoring_frequency_sanctions:
type: integer
example: 90
description: 'The monitoring frequency of Sanctions for the resource, in days.'
enum: []
monitoring_frequency_peps:
type: integer
example: 90
description: 'The monitoring frequency of PEPs for the resource, in days.'
enum: []
monitoring_frequency_news:
type: integer
example: 90
description: 'The monitoring frequency of Media for the resource, in days.'
enum: []
monitoring_frequency_enforcements:
type: integer
example: 90
description: 'The monitoring frequency of Enforcements for the resource, in days.'
enum: []
monitoring_frequency_other:
type: integer
example: 90
description: 'The monitoring frequency of Other sources for the resource, in days.'
enum: []
name:
type: string
example: 'My test case'
description: 'The name of the resource.'
enum: []
nationalities:
type: string
example: null
description: '[Person case] [Asset case] The nationalities of the resource. ISO 3166-1 alpha-3 country code string.'
enum: []
organization_id:
type: integer
example: 19
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
origin:
type: string
example: import
description: 'The origin of the resource. Possible values: "person-check", "business-check", "hyperlink", "import", "public-api"'
enum: []
risk:
type: number
example: 0.12
description: 'The risk score of the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:32.000000Z'
description: 'The date and time the resource was most recently searched. An ISO 8601 date string.'
enum: []
sources:
type: array
example:
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 409
source: peps
vendor: default
data_source_id: 409
id: 18320030
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
-
active: true
case_id: 2049050
data_source:
active: true
deactivated_at: '2023-02-21T12:57:31.000000Z'
id: 413
source: news
vendor: default
data_source_id: 413
id: 18320031
searched_at: '2023-08-02T18:48:22.000000Z'
succeeded: true
description: 'The sources used by the resource.'
enum: []
items:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the source is active.'
enum: []
case_id:
type: integer
example: 2049050
description: 'The ID of the case the source belongs to.'
enum: []
data_source:
type: object
properties:
active:
type: boolean
example: true
description: 'Whether the data source is active.'
enum: []
deactivated_at:
type: string
example: '2023-02-21T12:57:31.000000Z'
description: 'If not active, the date and time the data source was deactivated. An ISO 8601 date string.'
enum: []
id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
source:
type: string
example: peps
description: 'The source of the data source. Possible values: "sanctions", "enforcements", "peps", "news", "other".'
enum: []
vendor:
type: string
example: default
description: 'The vendor of the data source.'
enum: []
description: 'The data source details.'
data_source_id:
type: integer
example: 409
description: 'The ID of the data source.'
enum: []
id:
type: integer
example: 18320030
description: 'The ID of the source'
enum: []
searched_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the source was most recently searched. An ISO 8601 date string.'
enum: []
succeeded:
type: boolean
example: true
description: 'Whether the last search attempt succeeded.'
enum: []
status:
type: string
example: Monitored
description: 'The status of the resource. Possible values: "In Review", "Monitored", "Archived", "Preview"'
enum: []
type:
type: string
example: Person
unresolved_risk:
type: integer
example: 0
description: 'The risk score of the unresolved hits for the resource. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
updated_at:
type: string
example: '2023-08-02T18:48:22.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
user_id:
type: string
example: null
description: 'The user linked to the resource.If both this and `group_id` are missing, the resource is unassigned.'
enum: []
uuid:
type: string
example: a2546955-de2d-4907-a533-0846ee46f719
description: 'A universally unique identifier of the resource.'
enum: []
tags:
- Cases
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
clients:
type: array
description: "List of clients to link this case to. Each item can be either a number (client id) or string (client name). If a client with the given name doesn't exist, it will be created. Any previously linked clients that are not in this list will be unlinked. If you don't provide this parameter, the linked clients will not change. Must not be larger than 255."
example: null
items:
type: string
excluded_terms:
type: array
description: 'List terms that should not be matched on when searching for new hits in this case. Must not be larger than 255.'
example: null
items:
type: string
status:
type: string
description: ''
example: Monitored
nullable: false
enum:
- 'In review'
- Archived
- Monitored
description:
type: string
description: 'Additional information to be displayed in the case.'
example: null
nullable: true
monitoring_frequency:
type: integer
description: ''
example: '365'
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
monitoring_frequency_sanctions:
type: integer
description: 'The frequency in days that the case should be monitored for new Sanctions hits. Must be one of 0, 1, 7, 28, 90, 365. If set to 0, the case will not be monitored for Sanctions hits.'
example: null
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
monitoring_frequency_enforcements:
type: integer
description: 'The frequency in days that the case should be monitored for new Enforcement hits. Must be one of 0, 1, 7, 28, 90, 365. If set to 0, the case will not be monitored for Enforcement hits.'
example: null
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
monitoring_frequency_peps:
type: integer
description: 'The frequency in days that the case should be monitored for new PEP hits. Must be one of 0, 1, 7, 28, 90, 365. If set to 0, the case will not be monitored for PEP hits.'
example: null
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
monitoring_frequency_other:
type: integer
description: 'The frequency in days that the case should be monitored for new hits from Other sources. Must be one of 0, 1, 7, 28, 90, 365. If set to 0, the case will not be monitored for hits from Other sources.'
example: null
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
monitoring_frequency_news:
type: integer
description: 'The frequency in days that the case should be monitored for new Media hits. Must be one of 0, 1, 7, 28, 90, 365. If set to 0, the case will not be monitored for Media hits.'
example: null
nullable: true
enum:
- '0'
- '1'
- '7'
- '28'
- '90'
- '365'
name:
type: string
description: 'Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example: 'John Doe'
nullable: false
aliases:
type: array
description: 'Must match the regex /[^'' '',\-\/\.]/. Must not be smaller than 2. Must not be larger than 255.'
example: null
items:
type: string
confidence:
type: string
description: ''
example: Relative
nullable: false
enum:
- Relative
- Exact
additional_terms:
type: array
description: 'Must not be larger than 255.'
example: null
items:
type: string
sources:
type: array
description: 'If provided, will update the enabled case sources to the selection. Must be one or more of: sanctions, enforcements, peps, news, other.'
example: null
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
gender:
type: string
description: '[Person case] Must be one of Male or Female. This field is required when cases.passportVerificationForm is present.'
example: Male
nullable: true
enum:
- Female
- Male
nationalities:
type: array
description: '[Person case] An array of max 10 nationalities. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_birth:
type: string
description: '[Person case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
country_of_residence:
type: string
description: '[Person case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
date_of_birth:
type: string
description: '[Person case] ISO date string. Must be a valid date in the format Y-m-d.'
example: '2000-01-31'
nullable: true
passportVerificationForm:
type: object
description: '[Person case] Optional passport check information to be added to the case.'
example: null
nullable: true
properties:
country:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code This field is required when cases.passportVerificationForm is present.'
example: NLD
nullable: false
dateOfExpiry:
type: string
description: 'This field is required when cases.passportVerificationForm is present. Must be a valid date in the format Y-m-d.'
example: '2025-11-01'
nullable: false
documentNumber:
type: string
description: 'This field is required when cases.passportVerificationForm is present. Must not be smaller than 6. Must not be larger than 9.'
example: bngzmiy
nullable: false
givenNames:
type: string
description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 255.'
example: v
nullable: false
lastName:
type: string
description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 255.'
example: d
nullable: false
nationality:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code This field is required when cases.passportVerificationForm is present.'
example: NLD
nullable: false
optionalData:
type: string
description: 'Must not be larger than 14.'
example: ljnikhwaykcmyu
nullable: true
company_number:
type: string
description: '[Business case]. Must not be larger than 255.'
example: NL123
nullable: true
country:
type: string
description: '[Business case]. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
address:
type: string
description: '[Business case]. Must not be larger than 255.'
example: '3721 West Fork Street, Montana'
nullable: true
asset_type:
type: string
description: '[Asset case] Must be one of vessel or aircraft.'
example: vessel
nullable: true
enum:
- vessel
- aircraft
identifier:
type: string
description: '[Asset case]. Must not be larger than 255.'
example: '123456'
nullable: true
search:
type: boolean
description: "Controls whether or not to initiate a new search after updating the case. By default, this parameter is set to false.\n\nWhen search is set to false (the default), the operation will not trigger a new search on the case. This means that no changes will be made to the existing hits, resolved or unresolved.\nHowever, when you set search to true, the API will perform a new search on the case. Here's what happens when you initiate a new search:\n\nUnresolved Hits: Will be deleted. \nResolved Hits: Any existing resolved hits, regardless of their current state, will not be deleted.\n\nPossible refound hits: It is possible that some hits that were previously unresolved might be refound during the new search. These hits will reappear as unresolved items. \nPossible new hits: The new search might also discover new hits that were not present in the previous search. These hits will be added as unresolved items."
example: null
nullable: true
required:
- clients
- aliases
- nationalities
parameters:
-
in: path
name: id
description: 'The ID of the case.'
example: B3b1a0de-E464-0660-dEBB-cE54cDE1a84b|15
required: true
schema:
type: string
'/api/v1/cases/{id}/hits-key-information':
get:
summary: 'Case hits key information'
operationId: caseHitsKeyInformation
description: "Retrieve the key information of a case's hits."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
unresolved:
enforcements:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: unresolved
source: enforcements
sanctions:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: unresolved
source: sanctions
positive:
enforcements:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: positive
source: enforcements
sanctions:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: positive
source: sanctions
properties:
unresolved:
type: object
properties:
enforcements:
type: array
example:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: unresolved
source: enforcements
items:
type: object
properties:
data:
type: object
properties:
birth_dates:
type: string
example: null
connections:
type: string
example: null
name:
type: string
example: 'John Doe'
nationalities:
type: array
example:
-
country: 'United States of America'
items:
type: object
properties:
country: { type: string, example: 'United States of America' }
resolution:
type: string
example: unresolved
source:
type: string
example: enforcements
sanctions:
type: array
example:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: unresolved
source: sanctions
items:
type: object
properties:
data:
type: object
properties:
birth_dates:
type: string
example: null
connections:
type: string
example: null
name:
type: string
example: 'John Doe'
nationalities:
type: array
example:
-
country: 'United States of America'
items:
type: object
properties:
country: { type: string, example: 'United States of America' }
resolution:
type: string
example: unresolved
source:
type: string
example: sanctions
positive:
type: object
properties:
enforcements:
type: array
example:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: positive
source: enforcements
items:
type: object
properties:
data:
type: object
properties:
birth_dates:
type: string
example: null
connections:
type: string
example: null
name:
type: string
example: 'John Doe'
nationalities:
type: array
example:
-
country: 'United States of America'
items:
type: object
properties:
country: { type: string, example: 'United States of America' }
resolution:
type: string
example: positive
source:
type: string
example: enforcements
sanctions:
type: array
example:
-
data:
birth_dates: null
connections: null
name: 'John Doe'
nationalities:
-
country: 'United States of America'
resolution: positive
source: sanctions
items:
type: object
properties:
data:
type: object
properties:
birth_dates:
type: string
example: null
connections:
type: string
example: null
name:
type: string
example: 'John Doe'
nationalities:
type: array
example:
-
country: 'United States of America'
items:
type: object
properties:
country: { type: string, example: 'United States of America' }
resolution:
type: string
example: positive
source:
type: string
example: sanctions
tags:
- Cases
parameters:
-
in: path
name: id
description: 'The ID of the case.'
example: B3b1a0de-E464-0660-dEBB-cE54cDE1a84b|15
required: true
schema:
type: string
/api/v1/clients:
post:
summary: 'Create client'
operationId: createClient
description: 'Create a new client.'
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
id: 13152
name: 'Pauline Lindgren III'
organization_id: 91
created_at: '2025-08-28T13:40:59.000000Z'
updated_at: '2025-08-28T13:40:59.000000Z'
description: 'Accusantium quod voluptas ut. Rerum dolorum soluta rerum dolores. Ut officia quia velit maxime non ducimus.'
status: Active
assignee_user_id: null
onboarding_status: null
onboarding_risk: null
cases_count: 8
risk: 0.12
hits_total_count: 0
hits_unresolved_count: 0
resolve_progress: 100
approval_steps: []
properties:
id:
type: integer
example: 13152
description: 'A globally unique identifier of the resource.'
enum: []
name:
type: string
example: 'Pauline Lindgren III'
description: 'The name of the resource.'
enum: []
organization_id:
type: integer
example: 91
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
created_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
updated_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'Accusantium quod voluptas ut. Rerum dolorum soluta rerum dolores. Ut officia quia velit maxime non ducimus.'
description: 'The description of the resource.'
enum: []
status:
type: string
example: Active
description: 'The status of the resource. Possible values: "Active", "Archived".'
enum: []
assignee_user_id:
type: string
example: null
description: 'The ID of the user assigned to the resource.'
enum: []
onboarding_status:
type: string
example: null
description: 'The onboarding status of the resource. Possible values: "waiting for client", "in review", "waiting for approval", "completed", "declined".'
enum: []
onboarding_risk:
type: string
example: null
description: 'The onboarding risk level of the resource. Possible values: "very low", "low", "medium", "high", "very high".'
enum: []
cases_count:
type: integer
example: 8
description: 'The number of cases linked to the resource.'
enum: []
risk:
type: number
example: 0.12
description: 'The screening risk of the resource, based on the highest risk of all linked cases. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
hits_total_count:
type: integer
example: 0
description: 'The total number of hits linked to the resource.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits linked to the resource.'
enum: []
resolve_progress:
type: integer
example: 100
description: 'The percentage of resolved hits linked to the resource, between 0 and 100.'
enum: []
approval_steps:
type: array
example: []
-
description: ''
type: object
example:
id: 1
name: 'My client'
identifier: ABC-123
organization_id: 1
created_at: '2025-08-28T13:40:59.000000Z'
updated_at: '2025-08-28T14:20:59.000000Z'
description: 'A description of the client.'
status: Active
assignee_user_id: null
onboarding_status: 'waiting for approval'
onboarding_risk: null
cases_count: 8
risk: 0.12
hits_total_count: 0
hits_unresolved_count: 0
resolve_progress: 100
approval_steps:
-
id: 328
user_id: 2194
approved: true
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: 'Compliance Officer'
user_name: 'John Smith'
-
id: 329
user_id: null
approved: null
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: null
user_name: null
properties:
id:
type: integer
example: 1
description: 'A globally unique identifier of the resource.'
enum: []
name:
type: string
example: 'My client'
description: 'The name of the resource.'
enum: []
identifier:
type: string
example: ABC-123
organization_id:
type: integer
example: 1
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
created_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
updated_at:
type: string
example: '2025-08-28T14:20:59.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'A description of the client.'
description: 'The description of the resource.'
enum: []
status:
type: string
example: Active
description: 'The status of the resource. Possible values: "Active", "Archived".'
enum: []
assignee_user_id:
type: string
example: null
description: 'The ID of the user assigned to the resource.'
enum: []
onboarding_status:
type: string
example: 'waiting for approval'
description: 'The onboarding status of the resource. Possible values: "waiting for client", "in review", "waiting for approval", "completed", "declined".'
enum: []
onboarding_risk:
type: string
example: null
description: 'The onboarding risk level of the resource. Possible values: "very low", "low", "medium", "high", "very high".'
enum: []
cases_count:
type: integer
example: 8
description: 'The number of cases linked to the resource.'
enum: []
risk:
type: number
example: 0.12
description: 'The screening risk of the resource, based on the highest risk of all linked cases. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
hits_total_count:
type: integer
example: 0
description: 'The total number of hits linked to the resource.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits linked to the resource.'
enum: []
resolve_progress:
type: integer
example: 100
description: 'The percentage of resolved hits linked to the resource, between 0 and 100.'
enum: []
approval_steps:
type: array
example:
-
id: 328
user_id: 2194
approved: true
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: 'Compliance Officer'
user_name: 'John Smith'
-
id: 329
user_id: null
approved: null
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: null
user_name: null
items:
type: object
properties:
id:
type: integer
example: 328
user_id:
type: integer
example: 2194
approved:
type: boolean
example: true
updated_at:
type: string
example: '2025-08-28T14:20:59.000000Z'
approved_by_function:
type: string
example: 'Compliance Officer'
user_name:
type: string
example: 'John Smith'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name of the client. Must not be larger than 255.'
example: 'My client'
nullable: false
identifier:
type: string
description: 'A unique, case sensitive identifier for the client. Must not be larger than 255.'
example: ID123
nullable: true
description:
type: string
description: 'A description of the client. Must not be larger than 2000.'
example: 'A description of the client.'
nullable: true
required:
- name
'/api/v1/clients/{id}':
get:
summary: 'Get client'
operationId: getClient
description: 'Get detailed information on a specific client.'
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1
name: 'My client'
identifier: ABC-123
organization_id: 1
created_at: '2025-08-28T13:40:59.000000Z'
updated_at: '2025-08-28T14:20:59.000000Z'
description: 'A description of the client.'
status: Active
assignee_user_id: null
onboarding_status: 'waiting for approval'
onboarding_risk: null
cases_count: 8
risk: 0.12
hits_total_count: 0
hits_unresolved_count: 0
resolve_progress: 100
approval_steps:
-
id: 328
user_id: 2194
approved: true
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: 'Compliance Officer'
user_name: 'John Smith'
-
id: 329
user_id: null
approved: null
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: null
user_name: null
properties:
id:
type: integer
example: 1
description: 'A globally unique identifier of the resource.'
enum: []
name:
type: string
example: 'My client'
description: 'The name of the resource.'
enum: []
identifier:
type: string
example: ABC-123
description: 'A unique, case-sensitive identifier for the resource.'
enum: []
organization_id:
type: integer
example: 1
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
created_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
updated_at:
type: string
example: '2025-08-28T14:20:59.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'A description of the client.'
description: 'The description of the resource.'
enum: []
status:
type: string
example: Active
description: 'The status of the resource. Possible values: "Active", "Archived".'
enum: []
assignee_user_id:
type: string
example: null
description: 'The ID of the user assigned to the resource.'
enum: []
onboarding_status:
type: string
example: 'waiting for approval'
description: 'The onboarding status of the resource. Possible values: "waiting for client", "in review", "waiting for approval", "completed", "declined".'
enum: []
onboarding_risk:
type: string
example: null
description: 'The onboarding risk level of the resource. Possible values: "very low", "low", "medium", "high", "very high".'
enum: []
cases_count:
type: integer
example: 8
description: 'The number of cases linked to the resource.'
enum: []
risk:
type: number
example: 0.12
description: 'The screening risk of the resource, based on the highest risk of all linked cases. Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
hits_total_count:
type: integer
example: 0
description: 'The total number of hits linked to the resource.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits linked to the resource.'
enum: []
resolve_progress:
type: integer
example: 100
description: 'The percentage of resolved hits linked to the resource, between 0 and 100.'
enum: []
approval_steps:
type: array
example:
-
id: 328
user_id: 2194
approved: true
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: 'Compliance Officer'
user_name: 'John Smith'
-
id: 329
user_id: null
approved: null
updated_at: '2025-08-28T14:20:59.000000Z'
approved_by_function: null
user_name: null
description: 'The approval steps linked to the resource.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 328
description: 'The ID of the approval step.'
enum: []
user_id:
type: integer
example: 2194
description: 'The ID of the user who approved this step. `null` if the step has not been approved yet.'
enum: []
approved:
type: boolean
example: true
description: 'The approval status. `true` means approved, `false` means explicitly rejected, and `null` means pending (not yet reviewed).'
enum: []
updated_at:
type: string
example: '2025-08-28T14:20:59.000000Z'
description: 'The date and time the approval step was last updated. An ISO 8601 date string.'
enum: []
approved_by_function:
type: string
example: 'Compliance Officer'
description: 'The organisation function name that approved this step. `null` if not yet approved.'
enum: []
user_name:
type: string
example: 'John Smith'
description: "The name of the user at the time of approval. This field captures the user's name when the approval was made and does not change if the user's name is later updated. `null` if not yet approved."
enum: []
tags:
- Clients
parameters:
-
in: path
name: id
description: 'The ID of the client.'
example: '564'
required: true
schema:
type: string
/api/v1/clients/searches:
post:
summary: 'List clients'
operationId: listClients
description: "Search for clients using filters.\nReturning basic information on a list of clients.\nPaginating through results is possible using the per_page and page parameters."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 1
identifier: ABC-123
name: 'My client'
organization_id: 1
created_at: '2025-08-28T13:40:59.000000Z'
updated_at: '2025-08-28T13:40:59.000000Z'
description: 'A description of the client.'
status: Active
assignee_user_id: null
onboarding_status: null
onboarding_risk: null
cases_count: 8
risk: 0.12
hits_total_count: 0
hits_unresolved_count: 0
resolve_progress: 100
approval_steps: []
meta:
current_page: 1
from: 1
last_page: 1
per_page: 10
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 1
identifier: ABC-123
name: 'My client'
organization_id: 1
created_at: '2025-08-28T13:40:59.000000Z'
updated_at: '2025-08-28T13:40:59.000000Z'
description: 'A description of the client.'
status: Active
assignee_user_id: null
onboarding_status: null
onboarding_risk: null
cases_count: 8
risk: 0.12
hits_total_count: 0
hits_unresolved_count: 0
resolve_progress: 100
approval_steps: []
description: 'The list of resources.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 1
description: 'A globally unique identifier of the resource.'
enum: []
identifier:
type: string
example: ABC-123
description: 'A unique, case-sensitive identifier for the resource.'
enum: []
name:
type: string
example: 'My client'
description: 'The name of the resource.'
enum: []
organization_id:
type: integer
example: 1
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
created_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
updated_at:
type: string
example: '2025-08-28T13:40:59.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
description:
type: string
example: 'A description of the client.'
description: 'The description of the resource.'
enum: []
status:
type: string
example: Active
description: 'The status of the resource. Possible values: "Active", "Archived".'
enum: []
assignee_user_id:
type: string
example: null
description: 'The ID of the user assigned to the resource.'
enum: []
onboarding_status:
type: string
example: null
description: 'The onboarding status of the resource. Possible values: "waiting for client", "in review", "waiting for approval", "completed", "declined".'
enum: []
onboarding_risk:
type: string
example: null
description: 'The onboarding risk level of the resource. Possible values: "very low", "low", "medium", "high", "very high".'
enum: []
cases_count:
type: integer
example: 8
description: 'The number of cases linked to the resource.'
enum: []
risk:
type: number
example: 0.12
description: 'The "screening" risk of the resource, based on the highest risk of all linked cases. It can also be `null` if no risk has been found (due to various reasons such as no cases, or no resolved hits). Possible values: 0.03 (very low), 0.06 (low), 0.12 (moderate), 0.24 (high), 0.25 (very high).'
enum: []
hits_total_count:
type: integer
example: 0
description: 'The total number of hits linked to the resource.'
enum: []
hits_unresolved_count:
type: integer
example: 0
description: 'The number of unresolved hits linked to the resource.'
enum: []
resolve_progress:
type: integer
example: 100
description: 'The percentage of resolved hits linked to the resource. A value between 0 and 100.'
enum: []
approval_steps:
type: array
example: []
description: 'The approval steps linked to the resource. Only present when requested by passing `approvalSteps` to the `with` parameter.'
enum: []
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
per_page:
type: integer
example: 10
to:
type: integer
example: 1
total:
type: integer
example: 1
description: 'Pagination information.'
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: array
description: 'Client IDs to be filtered on. Must not be smaller than 1.'
example: null
items:
type: integer
not_id:
type: array
description: 'Client IDs to be excluded. Must not be smaller than 1.'
example: null
items:
type: integer
identifier:
type: array
description: 'Client identifiers to be filtered on. Must not be larger than 255.'
example:
- ID123
items:
type: string
nullable: true
assignee_user_id:
type: array
description: 'Must not be smaller than 1.'
example:
- 16
items:
type: integer
client_client_id:
type: array
description: 'Must not be smaller than 1.'
example:
- 22
items:
type: integer
not_client_client_id:
type: array
description: 'Must not be smaller than 1.'
example:
- 67
items:
type: integer
not_cases_id:
type: array
description: 'Must not be smaller than 1.'
example:
- 66
items:
type: integer
name:
type: string
description: 'Search on client names. Supports SQL LIKE wildcards.'
example: null
nullable: true
onboarding_status:
type: array
description: ''
example:
- 'in review'
items:
type: string
enum:
- 'waiting for client'
- 'in review'
- 'waiting for approval'
- completed
- declined
organization_id:
type: array
description: 'Filter on clients from a specific organization (if token has access to multiple organizations). Must not be smaller than 1.'
example: null
items:
type: integer
page:
type: integer
description: 'Page to be returned. Must not be smaller than 1.'
example: 1
nullable: false
per_page:
type: integer
description: 'Number of results per page. Must not be smaller than 1. Must not be larger than 1000.'
example: 10
nullable: false
sort_by:
type: string
description: 'Field to sort the results by. Can be one of updated_at, name, status, onboarding_status. Defaults to updated_at.'
example: updated_at
nullable: true
enum:
- updated_at
- name
- risk
- resolve_progress
- status
- onboarding_status
sort_order:
type: string
description: 'The sorting order for the results. Can be one of asc or desc. Defaults to desc.'
example: desc
nullable: false
status:
type: array
description: ''
example: null
items:
type: string
enum:
- Active
- Archived
updated_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
created_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
risk:
type: array
description: 'Filter on the screening risk.'
example:
-
- high
- 'very high'
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
cases_count:
type: array
description: 'Filter on the number of cases in the client by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
clients_count:
type: array
description: 'Filter on the number of linked clients by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
custom_filters:
type: array
description: "Specific filters: - 'has_onboarding_forms': Filter clients that have at least one onboarding form."
example:
- has_onboarding_forms
items:
type: string
enum:
- has_onboarding_forms
cases:
type: object
description: ''
example: null
nullable: false
properties:
group_id:
type: array
description: 'Filter on case collaborators using group ids. Must not be smaller than 1.'
example:
- 1
items:
type: integer
user_id:
type: array
description: 'Filter on case assignees using user ids. Must not be smaller than 1.'
example:
- 1
items:
type: integer
nullable: true
country:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
created_at:
type: object
description: 'A date range for the creation date of associated cases, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
identifier:
type: array
description: 'Filter on the identifier of an associated asset. Must not be larger than 255.'
example: null
items:
type: string
nullable: true
name:
type: string
description: 'Search on names of associated cases. Supports SQL LIKE wildcards. Must not be larger than 255.'
example: null
nullable: true
nationalities:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
risk:
type: array
description: ''
example: null
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
- 'no risk'
status:
type: array
description: ''
example: null
items:
type: string
enum:
- Preview
- 'In review'
- Archived
- Monitored
type:
type: array
description: 'Filter on the type of associated cases. Must be one of Person, Business or Asset.'
example: null
items:
type: string
enum:
- Person
- Business
- Asset
updated_at:
type: object
description: 'A date range for the update date of associated cases, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
uuid:
type: array
description: 'Filter on the UUID of associated cases. Supports SQL LIKE wildcards. This field must be a valid UUID.'
example: null
items:
type: string
hits:
type: object
description: ''
example: null
nullable: false
properties:
resolution:
type: array
description: 'Filter on the resolution status of hits associated to the case.'
example:
-
- unresolved
- positive
items:
type: string
enum:
- unresolved
- positive
- negative
source:
type: array
description: 'Filter on the source of hits associated to the case.'
example: null
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
time_range:
type: object
description: 'A date range for the hits associated to the case, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
required:
- resolution
- source
required:
- group_id
- status
- type
with:
type: array
description: 'Additional information to include with the clients. Must be one of: approvalSteps.'
example:
- approvalSteps
items:
type: string
enum:
- approvalSteps
required:
- id
- not_id
- assignee_user_id
- client_client_id
- not_client_client_id
- not_cases_id
- organization_id
- with
'/api/v1/clients/{id}/clients':
post:
summary: 'Link clients'
operationId: linkClients
description: 'Link a client to other clients.'
parameters: []
responses:
204:
description: 'Clients linked successfully.'
content:
application/json:
schema:
type: object
nullable: true
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
client_ids:
type: array
description: "The list of client id's to link to the client."
example:
- 2
- 3
items:
type: string
required:
- client_ids
delete:
summary: 'Unlink clients'
operationId: unlinkClients
description: 'Unlink a client from other clients.'
parameters: []
responses:
204:
description: 'Clients unlinked successfully.'
content:
application/json:
schema:
type: object
nullable: true
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
client_ids:
type: array
description: "The list of client id's to unlink from the client."
example:
- 2
- 3
items:
type: string
required:
- client_ids
parameters:
-
in: path
name: id
description: 'The id of the client that you want to link to other clients.'
example: 1
required: true
schema:
type: integer
/api/v1/clients/import:
post:
summary: 'Import clients'
operationId: importClients
description: "Import a list of clients asynchronously.\nYou can use the 'Search clients' endpoint to check the status of the imported clients.\nThe returned 'batch_id' is a batch ID, which you can use to check the progress of the import using the 'Get batch' endpoint."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
batch_id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
properties:
batch_id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: "The unique identifier of the batch. It can be used to check the status of the import using the 'Get batch' endpoint."
enum: []
tags:
- Clients
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
clients:
type: array
description: 'Must not be smaller than 1. Must not be larger than 200.'
example:
- []
items:
type: object
properties:
type:
type: string
description: 'Must be one of Person or Business. Defaults to null.'
example: Person
nullable: true
enum:
- Person
- Business
name:
type: string
description: 'The name of the client. Must not be larger than 255.'
example: 'John Doe'
nullable: false
identifier:
type: string
description: 'An optional identifier for the client. This must be unique across all clients in your organization. Must not be larger than 255.'
example: ID123
nullable: true
status:
type: string
description: 'The status of the client. Must be one of Active or Archived. Defaults to Active.'
example: Active
nullable: true
enum:
- Active
- Archived
address:
type: string
description: 'The address of the client. Must not be larger than 255.'
example: '123 Main St, Springfield'
nullable: true
phone_number:
type: string
description: 'Must be a valid phone number in E.164 format.'
example: '+31612345678'
nullable: true
email:
type: string
description: 'The email address of the client. This field must be a valid email address.'
example: john.doe@example.com
nullable: true
incorporation_date:
type: string
description: '[Business client] The incorporation date of the client. This field must be a valid date.'
example: '2020-01-31'
nullable: true
company_number:
type: string
description: '[Business client] The company number of the client. Must not be larger than 255.'
example: '12345678'
nullable: true
country:
type: string
description: '[Business client] The country of the client. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
nationalities:
type: array
description: '[Person client] The nationalities of the client. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
date_of_birth:
type: string
description: '[Person client] The date of birth of the client. This field must be a valid date.'
example: '1990-01-31'
nullable: true
standard_industry_classifications:
type: array
description: 'Standard industry classifications (SIC) codes for the client. Must not be larger than 255.'
example:
- '01110'
items:
type: string
account_creation_date:
type: string
description: 'The client account creation date. This field must be a valid date.'
example: '2023-01-31'
nullable: true
risk_indicators:
type: array
description: 'Must be a valid risk indicator as defined by your organization.'
example:
- PEP
items:
type: string
estimated_incoming_amount:
type: number
description: 'The estimated incoming amount for the client. Must not be smaller than 0. Must not be larger than 999999999999999.'
example: 100000.0
nullable: true
estimated_incoming_currency:
type: string
description: 'The currency code for the estimated incoming amount.'
example: EUR
nullable: true
estimated_outgoing_amount:
type: number
description: 'The estimated outgoing amount for the client. Must not be smaller than 0. Must not be larger than 999999999999999.'
example: 50000.0
nullable: true
estimated_outgoing_currency:
type: string
description: 'The currency code for the estimated outgoing amount.'
example: EUR
nullable: true
description:
type: string
description: 'A description for the client. Must not be larger than 2000.'
example: 'Important client'
nullable: true
user_risk_score:
type: number
description: 'A risk score overwritten by you. Must be one of 0.03 (Very low), 0.06 (Low), 0.12 (Medium), 0.24 (High), or 0.25 (Very high).'
example: 0.06
nullable: true
enum:
- '0.03'
- '0.06'
- '0.12'
- '0.24'
- '0.25'
assignee_user_id:
type: integer
description: 'The assignee of the client. null is unassigned. Defaults to null.'
example: 1
nullable: true
collaborator_user_ids:
type: array
description: ''
example: null
items:
type: string
profession:
type: string
description: 'The profession of the client. Must not be larger than 255.'
example: 'Software Engineer'
nullable: true
gender:
type: string
description: 'The gender of the client. Must be one of male, female, or non-binary.'
example: male
nullable: true
enum:
- male
- female
- non-binary
cash_incoming_currency:
type: string
description: 'The currency code for cash incoming.'
example: USD
nullable: true
cash_incoming_amount:
type: number
description: 'Amount of cash incoming. Must not be smaller than 0. Must not be larger than 999999999999999.'
example: 10000.0
nullable: true
cash_outgoing_currency:
type: string
description: 'The currency code for cash outgoing.'
example: USD
nullable: true
cash_outgoing_amount:
type: number
description: 'Amount of cash outgoing. Must not be smaller than 0. Must not be larger than 999999999999999.'
example: 5000.0
nullable: true
cash_percentage:
type: number
description: 'Percentage of cash transactions. Must not be smaller than 0. Must not be larger than 100.'
example: 12.5
nullable: true
transaction_count:
type: integer
description: 'Total number of transactions. Must not be smaller than 0.'
example: 120
nullable: true
transaction_volume_incoming:
type: integer
description: 'Total incoming transaction volume. Must not be smaller than 0.'
example: 200000
nullable: true
transaction_volume_outgoing:
type: integer
description: 'Total outgoing transaction volume. Must not be smaller than 0.'
example: 150000
nullable: true
transaction_count_cross_border:
type: integer
description: 'Number of cross-border transactions. Must not be smaller than 0.'
example: 10
nullable: true
transaction_volume_cross_border_incoming:
type: integer
description: 'Incoming cross-border transaction volume. Must not be smaller than 0.'
example: 50000
nullable: true
transaction_volume_cross_border_outgoing:
type: integer
description: 'Outgoing cross-border transaction volume. Must not be smaller than 0.'
example: 30000
nullable: true
transaction_countries:
type: array
description: 'Countries involved in transactions. Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
required:
- name
deduplication_fields:
type: array
description: 'Clients will be considered duplicates if they match on identifieror all of the given fields. Duplicate clients will be updated with the values from the import. If any of the selected deduplication fields are empty in an import record, while an existing record has the same field filled in, the record will not be seen as a duplicate and a new client will be created. Possible values are: name, address, phone_number, email, profession, gender, incorporation_date, company_number, country, nationalities, date_of_birth, or account_creation_date.'
example:
- name
items:
type: string
enum:
- name
- address
- phone_number
- email
- profession
- gender
- incorporation_date
- company_number
- country
- nationalities
- date_of_birth
- account_creation_date
ignore_empty_fields:
type: boolean
description: "If set to true, empty fields in the import records will be ignored when updating existing clients (i.e. existing values will not be overwritten with empty values). This allows you to do 'partial' updates to your existing clients. Empty values are: null, empty string, or empty array. Defaults to false."
example: false
nullable: true
batch_id:
type: string
description: 'Because each import request is limited to 200 items, you can use this parameter to add more items to an existing batch. If the batch does not exist or is already finished, a 404 response will be returned. This field must be a valid UUID.'
example: 99cbb5f6-49a7-492c-a1de-92ff356d98d8
nullable: true
count:
type: integer
description: 'When you want to import using multiple requests in a single batch, you should provide the total number of items to import in your first request (without a batch_id). When a batch has nothing to process, it will remain active for 1 minute, allowing you to add more items to it. When the total number of items has been processed, the batch will be marked as finished. Must not be smaller than 1.'
example: 250
nullable: true
required:
- clients
/api/v1/onboarding-form-templates/searches:
post:
summary: 'List onboarding form templates'
operationId: listOnboardingFormTemplates
description: "Search for any created onboarding form templates.\nPaginating through results is possible using the per_page and page parameters."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
created_at: '2024-11-28T08:34:03.000000Z'
external_name: 'Standard Form'
id: 88
name: 'Standard Form'
organization_id: 15
updated_at: '2024-11-28T08:34:03.000000Z'
meta:
current_page: 1
from: 1
last_page: 1
per_page: 10
to: 1
total: 1
properties:
data:
type: array
example:
-
created_at: '2024-11-28T08:34:03.000000Z'
external_name: 'Standard Form'
id: 88
name: 'Standard Form'
organization_id: 15
updated_at: '2024-11-28T08:34:03.000000Z'
description: 'The list of resources.'
enum: []
items:
type: object
properties:
created_at:
type: string
example: '2024-11-28T08:34:03.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
external_name:
type: string
example: 'Standard Form'
description: 'The external name of the resource seen by external users.'
enum: []
id:
type: integer
example: 88
description: 'A globally unique identifier of the resource.'
enum: []
name:
type: string
example: 'Standard Form'
description: 'The name of the resource.'
enum: []
organization_id:
type: integer
example: 15
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
updated_at:
type: string
example: '2024-11-28T08:34:03.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
per_page:
type: integer
example: 10
to:
type: integer
example: 1
total:
type: integer
example: 1
description: 'Pagination information.'
tags:
- 'Onboarding forms'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
id:
type: array
description: 'Must not be smaller than 1.'
example: null
items:
type: integer
page:
type: integer
description: 'Page to be returned. Must not be smaller than 1.'
example: 1
nullable: false
per_page:
type: integer
description: 'Number of results per page. Must not be smaller than 1. Must not be larger than 1000.'
example: 10
nullable: false
updated_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
sort_by:
type: string
description: 'Field to sort the results by. Can be one of created_at, updated_at, name. Defaults to updated_at.'
example: updated_at
nullable: true
enum:
- created_at
- updated_at
- name
sort_order:
type: string
description: 'The sorting order for the results. Can be one of asc or desc. Defaults to desc.'
example: desc
nullable: false
organization_id:
type: array
description: 'Must not be smaller than 1.'
example: null
items:
type: integer
name:
type: string
description: 'Must not be larger than 255.'
example: null
nullable: true
/api/v1/onboarding-forms:
post:
summary: 'Create onboarding form'
operationId: createOnboardingForm
description: "Create an onboarding form for an existing client. \nAdding an onboarding form to a client will make it visible in the Onboarding application."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
assignee_user_id: 24
client_id: 2834
created_at: '2025-03-31T11:22:10.000000Z'
external_name: 'Standard Form'
external_questions_open: 1
external_questions_total: 1
id: 273
name: 'Standard Form'
organization_id: 10240
questions_open: 1
questions_total: 1
status: 'in progress'
updated_at: '2025-03-31T11:22:10.000000Z'
properties:
assignee_user_id:
type: integer
example: 24
description: 'The ID of the user assigned to this resource.'
enum: []
client_id:
type: integer
example: 2834
description: 'The ID of the client associated with this resource.'
enum: []
created_at:
type: string
example: '2025-03-31T11:22:10.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
external_name:
type: string
example: 'Standard Form'
description: 'The external name of the resource, visible to external users.'
enum: []
external_questions_open:
type: integer
example: 1
description: 'The number of external questions that are still open in the resource.'
enum: []
external_questions_total:
type: integer
example: 1
description: 'The total number of external questions in the resource.'
enum: []
id:
type: integer
example: 273
description: 'A globally unique identifier of the resource.'
enum: []
name:
type: string
example: 'Standard Form'
description: 'The internal name of the resource.'
enum: []
organization_id:
type: integer
example: 10240
description: 'The globally unique identifier of the organisation that owns the resource.'
enum: []
questions_open:
type: integer
example: 1
description: 'The number of questions in the resource that are still open.'
enum: []
questions_total:
type: integer
example: 1
description: 'The total number of questions in the resource.'
enum: []
status:
type: string
example: 'in progress'
description: 'The status of the resource. Possible values: "in progress", "submitted by client", "completed", "declined".'
enum: []
updated_at:
type: string
example: '2025-03-31T11:22:10.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
tags:
- 'Onboarding forms'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
assignee_user_email:
type: string
description: 'This field must be a valid email address of a user in the organisation. Leaving this empty will assign the onboarding form to the authenticated user that performs the API call.'
example: gbailey@example.net
nullable: true
external_users:
type: array
description: 'A list of all the individuals you want to send the onboarding form to. These individuals will receive an email requesting they fill out the form. Must not be smaller than 1.'
example:
- []
items:
type: object
properties:
first_name:
type: string
description: 'Must not be larger than 255.'
example: g
nullable: false
last_name:
type: string
description: 'Must not be larger than 255.'
example: z
nullable: false
email:
type: string
description: 'This field must be a valid email address.'
example: rempel.chadrick@example.org
nullable: false
required:
- first_name
- last_name
- email
onboarding_form_template_id:
type: integer
description: 'You can retrieve the available onboarding form templates by using the Search Onboarding Form Templates endpoint. This endpoint will return a list of templates, including their IDs, which you can use when creating an onboarding form. Must not be smaller than 1.'
example: 16
nullable: false
client_id:
type: integer
description: 'To find the appropriate client ID, you can use the Search Clients endpoint. This endpoint allows you to filter and retrieve clients. The response will include the client IDs, which you can use when creating an onboarding form. Alternatively new clients can be created using the Create Client which directly return the id of the created client. Must not be smaller than 1.'
example: 22
nullable: false
required:
- external_users
- onboarding_form_template_id
- client_id
/api/v1/onboarding-forms/searches:
post:
summary: 'List onboarding forms'
operationId: listOnboardingForms
description: "Search for onboarding forms using filters.\nReturning basic information on a list of onboarding forms.\nPaginating through results is possible using the per_page and page parameters."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: []
meta:
current_page: 1
from: null
last_page: 1
per_page: 10
to: null
total: 0
properties:
data:
type: array
example: []
description: 'The list of resources.'
enum: []
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: string
example: null
last_page:
type: integer
example: 1
per_page:
type: integer
example: 10
to:
type: string
example: null
total:
type: integer
example: 0
description: 'Pagination information.'
tags:
- 'Onboarding forms'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: array
description: 'Onboarding form IDs to be filtered on. Must not be smaller than 1.'
example: null
items:
type: integer
page:
type: integer
description: 'Page to be returned. Must not be smaller than 1.'
example: 1
nullable: false
per_page:
type: integer
description: 'Number of results per page. Must not be smaller than 1. Must not be larger than 1000.'
example: 10
nullable: false
name:
type: string
description: 'Must not be larger than 255.'
example: b
nullable: true
updated_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
sort_by:
type: string
description: 'Field to sort the results by. Can be one of created_at, updated_at, name. Defaults to updated_at.'
example: updated_at
nullable: true
enum:
- created_at
- updated_at
- name
sort_order:
type: string
description: 'The sorting order for the results. Can be one of asc or desc. Defaults to desc.'
example: desc
nullable: false
organization_id:
type: array
description: 'Filter on onboarding forms from a specific organization (if token has access to multiple organizations). Must not be smaller than 1.'
example: null
items:
type: integer
external_user_ids:
type: array
description: 'Must not be smaller than 1.'
example:
- 22
items:
type: integer
client_id:
type: array
description: 'Must not be smaller than 1.'
example:
- 67
items:
type: integer
with:
type: array
description: 'Additional information to include with the onboarding forms. Must be one of: user, externalUsers, organizationTheme.'
example:
- user
items:
type: string
enum:
- user
- externalUsers
- organizationTheme
- questions
- 'client:id,name'
required:
- external_user_ids
- with
/api/v1/onboarding-form-questions/searches:
post:
summary: 'List onboarding form questions'
operationId: listOnboardingFormQuestions
description: 'Search for onboarding form questions using filters.'
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 164
question_id: 2
parent_question_id: null
title: 'Yes / No'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T09:55:40.000000Z'
updated_at: '2024-04-18T09:55:48.000000Z'
-
id: 178
question_id: 3
parent_question_id: null
title: 'Date of birth'
answer: '2024-04-02'
type: datepicker
created_at: '2024-04-19T07:47:24.000000Z'
updated_at: '2024-04-19T07:58:17.000000Z'
-
id: 168
question_id: 4
parent_question_id: null
title: 'True or false'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-18T10:01:54.000000Z'
-
id: 173
question_id: 5
parent_question_id: null
title: 'Yes / No'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T11:40:29.000000Z'
updated_at: '2024-04-18T11:51:59.000000Z'
-
id: 175
question_id: 6
parent_question_id: null
title: Name
answer: 'John Doe'
type: text
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:52:01.000000Z'
-
id: 176
question_id: 7
parent_question_id: null
title: E-mail
answer: john.doe@vartion.com
type: text
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:52:04.000000Z'
-
id: 548
question_id: 8
parent_question_id: null
title: Name
answer: null
type: text
created_at: '2024-05-28T11:15:07.000000Z'
updated_at: '2024-05-28T11:15:07.000000Z'
-
id: 170
question_id: 9
parent_question_id: null
title: Website
answer: null
type: url
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-05-07T07:39:07.000000Z'
-
id: 166
question_id: 10
parent_question_id: null
title: 'Please give a number'
answer: '2'
type: number
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:32.000000Z'
-
id: 167
question_id: 11
parent_question_id: null
title: Website
answer: 'http://example.com'
type: url
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:38.000000Z'
-
id: 171
question_id: 12
parent_question_id: null
title: 'Choose a fruit'
answer: null
type: dropdown
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-05-07T07:39:10.000000Z'
-
id: 172
question_id: 13
parent_question_id: null
title: 'Choose another fruit'
answer: a
type: dropdown
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:40.000000Z'
-
id: 177
question_id: 14
parent_question_id: null
title: 'Please upload your document'
answer: null
type: upload
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:51:56.000000Z'
-
id: 189
question_id: 15
parent_question_id: null
title: 'Persons to email'
answer: null
type: repeater
created_at: '2024-04-22T08:11:43.000000Z'
updated_at: '2024-04-23T14:28:48.000000Z'
-
id: 185
question_id: 16
parent_question_id: 15
title: E-mail
answer: null
type: text
created_at: '2024-04-22T08:11:43.000000Z'
updated_at: '2024-04-23T14:28:48.000000Z'
-
id: 169
question_id: 17
parent_question_id: null
title: 'Please choose another number'
answer: '2'
type: number
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:43:29.000000Z'
meta:
current_page: 1
from: 1
last_page: 13
per_page: 15
to: 15
total: 187
properties:
data:
type: array
example:
-
id: 164
question_id: 2
parent_question_id: null
title: 'Yes / No'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T09:55:40.000000Z'
updated_at: '2024-04-18T09:55:48.000000Z'
-
id: 178
question_id: 3
parent_question_id: null
title: 'Date of birth'
answer: '2024-04-02'
type: datepicker
created_at: '2024-04-19T07:47:24.000000Z'
updated_at: '2024-04-19T07:58:17.000000Z'
-
id: 168
question_id: 4
parent_question_id: null
title: 'True or false'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-18T10:01:54.000000Z'
-
id: 173
question_id: 5
parent_question_id: null
title: 'Yes / No'
answer: 'Yes'
type: true_false
created_at: '2024-04-18T11:40:29.000000Z'
updated_at: '2024-04-18T11:51:59.000000Z'
-
id: 175
question_id: 6
parent_question_id: null
title: Name
answer: 'John Doe'
type: text
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:52:01.000000Z'
-
id: 176
question_id: 7
parent_question_id: null
title: E-mail
answer: john.doe@vartion.com
type: text
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:52:04.000000Z'
-
id: 548
question_id: 8
parent_question_id: null
title: Name
answer: null
type: text
created_at: '2024-05-28T11:15:07.000000Z'
updated_at: '2024-05-28T11:15:07.000000Z'
-
id: 170
question_id: 9
parent_question_id: null
title: Website
answer: null
type: url
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-05-07T07:39:07.000000Z'
-
id: 166
question_id: 10
parent_question_id: null
title: 'Please give a number'
answer: '2'
type: number
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:32.000000Z'
-
id: 167
question_id: 11
parent_question_id: null
title: Website
answer: 'http://example.com'
type: url
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:38.000000Z'
-
id: 171
question_id: 12
parent_question_id: null
title: 'Choose a fruit'
answer: null
type: dropdown
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-05-07T07:39:10.000000Z'
-
id: 172
question_id: 13
parent_question_id: null
title: 'Choose another fruit'
answer: a
type: dropdown
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:42:40.000000Z'
-
id: 177
question_id: 14
parent_question_id: null
title: 'Please upload your document'
answer: null
type: upload
created_at: '2024-04-18T11:51:56.000000Z'
updated_at: '2024-04-18T11:51:56.000000Z'
-
id: 189
question_id: 15
parent_question_id: null
title: 'Persons to email'
answer: null
type: repeater
created_at: '2024-04-22T08:11:43.000000Z'
updated_at: '2024-04-23T14:28:48.000000Z'
-
id: 185
question_id: 16
parent_question_id: 15
title: E-mail
answer: null
type: text
created_at: '2024-04-22T08:11:43.000000Z'
updated_at: '2024-04-23T14:28:48.000000Z'
-
id: 169
question_id: 17
parent_question_id: null
title: 'Please choose another number'
answer: '2'
type: number
created_at: '2024-04-18T10:01:46.000000Z'
updated_at: '2024-04-23T12:43:29.000000Z'
description: 'The list of resources.'
enum: []
items:
type: object
properties:
id:
type: integer
example: 164
description: 'A globally unique identifier of the resource.'
enum: []
question_id:
type: integer
example: 2
description: 'A unique identifier of the question within the onboarding form.'
enum: []
parent_question_id:
type: string
example: null
description: 'This is the `question_id` of the parent question if it exists. It is used to retrieve a question''s parent, enabling hierarchical organization of questions. This is particularly useful for groups of questions from repeatable entities, such as persons, businesses, or other repeaters. For example, in a form with questions about multiple individuals (e.g., Person 1, Person 2), the `parent_question_id` links each nested question (like "First Name" or "Last Name") to its corresponding parent entity. By querying with the `parent_question_id`, you can determine which person or entity a specific question belongs to within the form structure. Repeatable entity questions will always have an empty `answer` field.'
enum: []
title:
type: string
example: 'Yes / No'
description: 'The question title.'
enum: []
answer:
type: string
example: 'Yes'
description: 'The answer provided to the question. This is `null` for questions that have not been answered yet.'
enum: []
type:
type: string
example: true_false
description: 'The type of question. Possible values: "true_false", "number", "datepicker", "dropdown", "text", "textarea", "url", "repeater", "country", "currency", "person-entity", "business-entity", "upload", and "phone".'
enum: []
created_at:
type: string
example: '2024-04-18T09:55:40.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
updated_at:
type: string
example: '2024-04-18T09:55:48.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 13
per_page:
type: integer
example: 15
to:
type: integer
example: 15
total:
type: integer
example: 187
tags:
- 'Onboarding forms'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
external_ids:
type: array
description: 'Filter on specific question external IDs. Must not be larger than 200.'
example:
- ID123
items:
type: string
nullable: true
page:
type: integer
description: 'Page to be returned. Must not be smaller than 1.'
example: 1
nullable: true
per_page:
type: integer
description: 'Number of results per page. Must not be smaller than 1. Must not be larger than 1000.'
example: 10
nullable: true
onboarding_form_ids:
type: array
description: 'Filter on specific onboarding forms. Must not be smaller than 1.'
example: null
items:
type: integer
required:
- onboarding_form_ids
'/api/v1/onboarding-form-question-uploads/{id}':
get:
summary: 'Download `upload` question file'
operationId: downloaduploadQuestionFile
description: 'Download an uploaded file for a question in an onboarding form.'
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: application/pdf
content:
text/plain:
schema:
type: string
example: ''
tags:
- 'Onboarding forms'
parameters:
-
in: path
name: id
description: 'The ID of the onboarding form question.'
example: 1
required: true
schema:
type: integer
/api/v1/one-time-case-links:
post:
summary: 'Create one time case links'
operationId: createOneTimeCaseLinks
description: 'Create one time case links. '
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
case_uuid: ac6962da-4ff0-42ad-b5ee-35153d15e924
created_at: '2023-08-14T10:50:25.000000Z'
created_by_id: 4
expires_at: '2099-01-31T23:00:00.000000Z'
id: 11
return_url: 'https://localhost'
token: ehgwKBKPPubqQ7CC
updated_at: '2023-08-14T10:50:25.000000Z'
user_id: 13989
properties:
case_uuid:
type: string
example: ac6962da-4ff0-42ad-b5ee-35153d15e924
description: 'The UUID of the case associated with this resource.'
enum: []
created_at:
type: string
example: '2023-08-14T10:50:25.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
created_by_id:
type: integer
example: 4
description: 'The ID of the user who created this resource.'
enum: []
expires_at:
type: string
example: '2099-01-31T23:00:00.000000Z'
description: 'The date and time when the link expires. An ISO 8601 date string.'
enum: []
id:
type: integer
example: 11
description: 'A globally unique identifier of the resource.'
enum: []
return_url:
type: string
example: 'https://localhost'
description: 'The URL that the user will be redirected to when they finish resolving the case.'
enum: []
token:
type: string
example: ehgwKBKPPubqQ7CC
description: 'The token for the one time link. This is only returned once when creating the link.'
enum: []
updated_at:
type: string
example: '2023-08-14T10:50:25.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
user_id:
type: integer
example: 13989
description: 'The user linked to the resource.'
enum: []
tags:
- 'One time case links'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
case_uuid:
type: uuid
description: 'The UUID of the case.'
example: ac6962da-4ff0-42ad-b5ee-35153d15e924
nullable: false
user_email:
type: email
description: 'The email address of the user that will use the link.'
example: example@vartion.com
nullable: false
return_url:
type: url
description: 'The url that the user will be redirected to when they finish resolving the case. If no return_url is supplied, the window is closed instead. (this only works when the page is opened in a new tab)'
example: 'https://localhost'
nullable: false
expires_at:
type: datetime
description: 'When the link should expire. This needs to be later than "now" and less than 31 days from now.'
example: '1970-01-31 23:00:00'
nullable: false
interface_language:
type: string
description: 'The language that the user interface should be displayed in. Must be one of: en-gb, en, nl, fr, ru, or es.'
example: en-gb
nullable: false
required:
- case_uuid
- user_email
- expires_at
'/api/v1/one-time-case-links/{id}':
get:
summary: 'View a one time case link'
operationId: viewAOneTimeCaseLink
description: 'View a one time case link. '
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
case_uuid: ac6962da-4ff0-42ad-b5ee-35153d15e924
created_at: '2023-08-14T10:50:25.000000Z'
created_by_id: 4
expires_at: '2099-01-31T23:00:00.000000Z'
id: 11
return_url: 'https://localhost'
updated_at: '2023-08-14T10:50:25.000000Z'
used_at: null
user_id: 13989
properties:
case_uuid:
type: string
example: ac6962da-4ff0-42ad-b5ee-35153d15e924
description: 'The UUID of the case associated with this resource.'
enum: []
created_at:
type: string
example: '2023-08-14T10:50:25.000000Z'
description: 'The date and time the resource was created. An ISO 8601 date string.'
enum: []
created_by_id:
type: integer
example: 4
description: 'The ID of the user who created this resource.'
enum: []
expires_at:
type: string
example: '2099-01-31T23:00:00.000000Z'
description: 'The date and time when the link expires. An ISO 8601 date string.'
enum: []
id:
type: integer
example: 11
description: 'A globally unique identifier of the resource.'
enum: []
return_url:
type: string
example: 'https://localhost'
description: 'The URL that the user will be redirected to when they finish resolving the case.'
enum: []
updated_at:
type: string
example: '2023-08-14T10:50:25.000000Z'
description: 'The date and time the resource was last updated. An ISO 8601 date string.'
enum: []
used_at:
type: string
example: null
description: 'The date and time when the link was used, `null` if not yet used. An ISO 8601 date string.'
enum: []
user_id:
type: integer
example: 13989
description: 'The user linked to the resource.'
enum: []
tags:
- 'One time case links'
delete:
summary: 'Delete a one time case link'
operationId: deleteAOneTimeCaseLink
description: 'Delete a one time case link. '
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: ''
properties:
message:
type: string
example: ''
tags:
- 'One time case links'
parameters:
-
in: path
name: id
description: 'The id of the one time case link.'
example: 1
required: true
schema:
type: integer
/v1/one-time-case-link-authentication:
get:
summary: 'Authenticate using a one time case link'
operationId: authenticateUsingAOneTimeCaseLink
description: "Authenticate using a one time case link. \nWhen successful, the user will be redirected to the page where they can resolve the linked case.\nWhen unsuccessful, the user will be redirected the the login page."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "\n\n...\n\n"
tags:
- 'One time case links'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
id:
type: integer
description: 'The one time case link ID.'
example: 1
nullable: false
token:
type: 'The one time case link token.'
description: ''
example: fpncIktnu0GfUKJl
nullable: false
required:
- id
- token
security: []
post:
summary: 'Authenticate using a one time case link'
operationId: authenticateUsingAOneTimeCaseLink
description: "Authenticate using a one time case link. \nWhen successful, the user will be redirected to the page where they can resolve the linked case.\nWhen unsuccessful, the user will be redirected the the login page."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "\n\n...\n\n"
tags:
- 'One time case links'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
id:
type: integer
description: 'The one time case link ID.'
example: 1
nullable: false
token:
type: 'The one time case link token.'
description: ''
example: fpncIktnu0GfUKJl
nullable: false
required:
- id
- token
security: []
/api/v1/pdf/case:
post:
summary: 'Generate case reports'
operationId: generateCaseReports
description: "Start the generation of one or more PDF case reports.\nCases to be used are selected using the filter parameter.\nAn id is returned which can be used to check if the download is finished and download the PDF when it is finished."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
created_at: '2024-06-10T12:00:00.000000Z'
finished_at: null
properties:
id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: 'The unique identifier of the batch. It can be used to check if the download is finished and download the PDF when it is finished.'
enum: []
created_at:
type: string
example: '2024-06-10T12:00:00.000000Z'
finished_at:
type: string
example: null
tags:
- Reports
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
batch_name:
type: string
description: 'Must not be larger than 255.'
example: b
nullable: true
filename:
type: string
description: 'Must not be larger than 255.'
example: 'n'
nullable: true
detailed:
type: boolean
description: ''
example: false
nullable: false
language:
type: string
description: 'The language that the report should be generated in. Must be one of: en-gb, en, nl, fr, ru, or es.'
example: es
nullable: true
enum:
- en-gb
- en
- nl
- fr
- ru
- es
pages:
type: array
description: 'Pages to include in the report. Must be one or more of: overview, input, policies, passport_verification, key_findings, audit, comments, unresolved, positive, negative.'
example:
- overview
items:
type: string
enum:
- overview
- input
- policies
- passport_verification
- key_findings
- audit
- comments
- unresolved
- positive
- negative
comment:
type: string
description: 'An additional comment to be displayed in the report.'
example: 'Automatically generated from the Pascal API'
nullable: true
to_email:
type: boolean
description: 'Whether or not to send the report as an email to the API user.'
example: false
nullable: false
filters:
type: object
description: ''
example: []
nullable: false
properties:
id:
type: array
description: 'Case IDs to be filtered on. Must not be smaller than 1.'
example: null
items:
type: integer
type:
type: array
description: 'Must be one of Person, Business, or Asset.'
example: null
items:
type: string
enum:
- Person
- Business
- Asset
status:
type: array
description: ''
example: null
items:
type: string
enum:
- Preview
- 'In review'
- Archived
- Monitored
user_id:
type: array
description: 'Filter on case assignees using user ids. Use null for unassigned cases.'
example:
- 1
items:
type: integer
nullable: true
group_id:
type: array
description: 'Filter on case assignees using group ids.'
example:
- 1
items:
type: integer
nullable: true
organization_id:
type: array
description: 'Filter on cases from a specific organization (if token has access to multiple organizations).'
example: null
items:
type: integer
origin:
type: array
description: ''
example: null
items:
type: string
enum:
- person-check
- business-check
- hyperlink
confidence:
type: array
description: ''
example: null
items:
type: string
enum:
- Exact
- Relative
created_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
updated_at:
type: object
description: 'A date range, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
name:
type: string
description: 'Search on case names. Supports SQL LIKE wildcards. Must not be larger than 255.'
example: null
nullable: true
client_id:
type: array
description: 'Cases associated to a list of clients. Must not be smaller than 1.'
example: null
items:
type: integer
nullable: true
exclude_client_id:
type: array
description: 'Exclude cases associated to any of a list of clients. Must not be smaller than 1.'
example: null
items:
type: integer
nullable: true
deleted:
type: boolean
description: ''
example: false
nullable: false
uuid:
type: array
description: 'Search on case UUIDs. Supports SQL LIKE wildcards. This field must be a valid UUID.'
example:
- a2546955-de2d-4907-a533-0846ee46f719
items:
type: string
query:
type: string
description: 'Must not be larger than 255.'
example: null
nullable: true
nationalities:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_birth:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
country_of_residence:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
date_of_birth:
type: array
description: 'This field must be a valid date.'
example: null
items:
type: string
nullable: true
company_number:
type: string
description: 'Must not be larger than 255.'
example: g
nullable: true
address:
type: string
description: 'Must not be larger than 255.'
example: z
nullable: true
country:
type: array
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example:
- NLD
items:
type: string
identifier:
type: array
description: 'The identifier of an asset. Must not be larger than 255.'
example: null
items:
type: string
nullable: true
risk:
type: array
description: ''
example: null
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
- 'no risk'
hit_resolution:
type: array
description: 'Filter on the resolution status of hits associated to the case.'
example:
- positive
items:
type: string
enum:
- unresolved
- positive
- negative
hit_source:
type: array
description: 'Filter on the source of hits associated to the case.'
example: null
items:
type: string
enum:
- sanctions
- enforcements
- peps
- news
- other
hit_time_range:
type: object
description: 'A date range for the associated hits, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
client_status:
type: array
description: 'Filter on the status of associated clients.'
example:
- Active
items:
type: string
enum:
- Active
- Archived
clients:
type: object
description: ''
example: null
nullable: false
properties:
cases_count:
type: array
description: 'Filter on the number of cases in associated clients by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
clients_count:
type: array
description: 'Filter on the number of clients in associated clients by defining a minimum and/or maximum. Must not be smaller than 0.'
example:
- 1
items:
type: integer
nullable: true
created_at:
type: object
description: 'A date range for the creation date of associated clients, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
risk:
type: array
description: 'Filter on the screening risk of associated clients.'
example:
- 'very high'
items:
type: string
enum:
- 'very low'
- low
- moderate
- high
- 'very high'
updated_at:
type: object
description: 'A date range for the update date of associated clients, always expanded to full days (start = 00:00:00, end = 23:59:59).'
example:
- '2025-01-01'
- '2025-01-31'
nullable: true
properties: { }
identifier:
type: array
description: 'Filter on the identifier of associated clients. Must not be larger than 255.'
example:
- ID123
items:
type: string
nullable: true
required:
- hit_resolution
- hit_source
- client_status
'/api/v1/reports/{id}/download':
get:
summary: 'Download reports'
operationId: downloadReports
description: 'Download a previously generated report, using a report id or a report job id.'
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: File
content:
text/plain:
schema:
type: string
example: 'PDF report file'
404:
description: ''
content:
text/plain:
schema:
type: string
example: 'Report is not (yet) generated'
tags:
- Reports
parameters:
-
in: path
name: id
description: 'The ID of the report.'
example: B3b1a0de-E464-0660-dEBB-cE54cDE1a84b|15
required: true
schema:
type: string
/api/v1/transaction-monitoring-risk-config:
get:
summary: 'Get risk config'
operationId: getRiskConfig
description: "This endpoint returns the transaction monitoring risk configuration.\n\n**Note:** Access to transaction monitoring is required to use this endpoint."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
blocked_countries:
- NLD
- USA
- JPN
properties:
blocked_countries:
type: array
example:
- NLD
- USA
- JPN
description: 'Countries that are currently blocked.'
enum: []
items:
type: string
tags:
- 'Transaction monitoring risk config'
/api/v1/transactions/import:
post:
summary: 'Import transactions'
operationId: importTransactions
description: "Import a list of transactions asynchronously.\n\n**Note:** Access to transaction monitoring is required to use this endpoint."
parameters:
-
in: header
name: OrganizationId
description: ''
example: 1
schema:
type: string
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
created_at: '2024-06-10T12:00:00.000000Z'
finished_at: null
properties:
id:
type: string
example: 1abd0c71-dadd-4dad-8e20-1bd83aea25b3
description: "The unique identifier of the batch. It can be used to check the status of the import using the 'Get batch' endpoint."
enum: []
created_at:
type: string
example: '2024-06-10T12:00:00.000000Z'
description: 'The date and time the batch was created. An ISO 8601 date string.'
enum: []
finished_at:
type: string
example: null
description: 'The date and time the batch finished. Can be `null` if it is still processing. An ISO 8601 date string.'
enum: []
tags:
- Transactions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
transactions:
type: array
description: 'An array of transactions to be imported. You can import up to 200 transactions per request.'
example:
- []
items:
type: object
properties:
client_account_number:
type: string
description: 'The client bank account number (spaces will be automatically removed). Must not be larger than 255.'
example: '1234567890'
nullable: false
client_swift_code:
type: string
description: 'The client SWIFT/BIC code (spaces will be automatically removed). Must not be larger than 255.'
example: ABNANL2A
nullable: true
client_bank_account_country:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
identifier:
type: string
description: 'Unique identifier for the transaction. If provided and a transaction with the same identifier already exists, it will be skipped. If not provided, an ID will be generated automatically. Must not be larger than 255.'
example: TXN123456
nullable: true
amount:
type: number
description: 'The transaction amount. Must not be smaller than 0. Must not be larger than 999999999999999.'
example: 1000.5
nullable: false
currency:
type: string
description: 'The currency code for the transaction amount.'
example: EUR
nullable: false
direction:
type: string
description: 'The direction of the transaction. Must be either "incoming" or "outgoing".'
example: incoming
nullable: false
enum:
- incoming
- outgoing
counter_party_name:
type: string
description: 'The name of the counter party. Must not be larger than 255.'
example: 'John Doe'
nullable: true
counter_party_currency:
type: string
description: 'The currency code for the counter party (if applicable).'
example: USD
nullable: true
counter_party_account_number:
type: string
description: 'The counter party bank account number (spaces will be automatically removed). Must not be larger than 255.'
example: '0987654321'
nullable: false
counter_party_swift_code:
type: string
description: 'The counter party SWIFT/BIC code (spaces will be automatically removed). Must not be larger than 255.'
example: RABONL2U
nullable: true
counter_party_bank_name:
type: string
description: 'The name of the counter party bank. Must not be larger than 255.'
example: Rabobank
nullable: true
counter_party_bank_account_country:
type: string
description: 'Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.'
example: NLD
nullable: false
description:
type: string
description: 'Description or reference for the transaction. Must not be larger than 2000.'
example: 'Invoice payment #12345'
nullable: true
transaction_date:
type: string
description: 'The date and time when the transaction occurred. Accepts ISO 8601 format with timezone information (e.g., 2023-08-02T14:30:00+02:00) or simple format (2023-08-02 14:30:00). This field must be a valid date.'
example: '2023-08-02T14:30:00+02:00'
nullable: true
type:
type: string
description: 'The type of transaction. Must not be larger than 255.'
example: wire_transfer
nullable: true
balance_after_transaction:
type: number
description: 'The account balance on the bank account after this transaction was processed. Must not be smaller than -999999999999999. Must not be larger than 999999999999999.'
example: 15000.75
nullable: true
required:
- client_account_number
- amount
- currency
- direction
- counter_party_account_number
batch_id:
type: string
description: 'Because each import request is limited to 200 items, you can use this parameter to add more items to an existing batch. If the batch does not exist or is already finished, a 404 response will be returned. This field must be a valid UUID.'
example: 99cbb5f6-49a7-492c-a1de-92ff356d98d8
nullable: true
count:
type: integer
description: 'When you want to import using multiple requests in a single batch, you should provide the total number of items to import in your first request (without a batch_id). When a batch has nothing to process, it will remain active for 1 minute, allowing you to add more items to it. When the total number of items has been processed, the batch will be marked as finished. Must not be smaller than 1.'
example: 150
nullable: true
required:
- transactions