openapi: 3.0.3 info: title: 'Pascal API documentation' description: '' version: 1.0.0 servers: - url: 'http://localhost' paths: /api/v1/cases/import: post: summary: 'Import cases' operationId: importCases description: "This endpoint allows you to 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.\nYou can use the case search API to check the status of the imported cases.\n" parameters: - in: header name: OrganizationId description: '' example: 1 schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: id: 99cbb5f6-49a7-492c-a1de-92ff356d98d8 totalJobs: 1 pendingJobs: 1 progress: 0 createdAt: '2023-08-02T18:48:22.000000Z' uuids: - a2546955-de2d-4907-a533-0846ee46f719 properties: id: type: string example: 99cbb5f6-49a7-492c-a1de-92ff356d98d8 totalJobs: type: integer example: 1 pendingJobs: type: integer example: 1 progress: type: integer example: 0 createdAt: type: string example: '2023-08-02T18:48:22.000000Z' uuids: type: array example: - a2546955-de2d-4907-a533-0846ee46f719 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 190.' example: 'John Doe' nullable: false confidence: type: string description: '' example: Relative nullable: false enum: - Relative - Exact aliases: type: array description: 'A list of additional name variations to be checked. Must not be larger than 190.' example: - 'J. Doe' items: type: string additional_terms: type: array description: 'A list words that boost confidence if present in any visible text field. Must not be larger than 190.' 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: 'Must not be larger than 190.' example: - viqpbyipplxeymwhme items: type: string 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] [Asset case] array of max 10 nationalities, nationality SO 3166-1 alpha-2 or alpha-3 country code string.' example: - NLD items: type: string country_of_birth: type: string description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NLD nullable: true country_of_residence: type: string description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NLD nullable: true 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. This field must contain 7 items.' example: null nullable: true properties: country: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: ayob nullable: false dateOfExpiry: type: string description: 'Must be a valid date in the format Y-m-d. This field is required when cases.passportVerificationForm is present.' example: '2025-01-15' 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: mmukjywq nullable: false givenNames: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: xgdu nullable: false lastName: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: dltixvfklucvigwdssufqjucw nullable: false nationality: type: string description: 'This field is required when cases.passportVerificationForm is present.' example: null nullable: false optionalData: type: string description: 'Must not be larger than 14.' example: fapdpfugum nullable: true company_number: type: string description: '[Business case] string of max 190 characters. Must not be larger than 190.' example: NL123 nullable: true country: type: string description: '[Business case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NL nullable: false address: type: string description: '[Business case] string of max 190 characters. Must not be larger than 190.' 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 190 characters. Must not be larger than 190.' 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 - 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 batch_id: type: string description: 'Because each import request is limited to 200 cases, you can use this parameter to add more cases 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: 6661a00e-9d1b-3f48-b715-bb00367c083e 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 cases to import in your first request (without a batch_id). When the total number of cases has not been processed and the batch has nothing to process, it will remain active for 1 minute, allowing you to add more cases to it. When the total number of cases has been processed, the batch will be marked as finished. Must not be smaller than 1.' example: 15 nullable: true required: - cases /api/v1/cases/searches: post: summary: 'Search cases' operationId: searchCases description: "This endpoint allows you to 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: data: - additional_terms: null address: null aliases: null case_groups: [] case_users: [] clients: [] company_number: null confidence: Relative country_of_birth: null country_of_residence: null created_at: '2023-08-02T18:48:22.000000Z' date_of_birth: null deleted_at: null description: 'Voluptas ad rem illum est dignissimos aut provident vitae.' excluded_terms: [] gender: null group: null group_id: null 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 hits_unresolved_count: 0 id: 2049050 country: null monitoring_frequency: 28 name: 'My test case' nationalities: null organization_id: 19 origin: import resolve_progress: 100 risk: 0 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: 'In review' type: Person unresolved_risk: 0 updated_at: '2023-08-02T18:48:22.000000Z' user: null user_id: null uuid: a2546955-de2d-4907-a533-0846ee46f719 meta: current_page: 1 from: 1 last_page: 1 path: 'http://pascal.vartion.com/api/v1/cases/searches' per_page: 10 to: 1 total: 1 properties: data: type: array example: - additional_terms: null address: null aliases: null case_groups: [] case_users: [] clients: [] company_number: null confidence: Relative country_of_birth: null country_of_residence: null created_at: '2023-08-02T18:48:22.000000Z' date_of_birth: null deleted_at: null description: 'Voluptas ad rem illum est dignissimos aut provident vitae.' excluded_terms: [] gender: null group: null group_id: null 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 hits_unresolved_count: 0 id: 2049050 country: null monitoring_frequency: 28 name: 'My test case' nationalities: null organization_id: 19 origin: import resolve_progress: 100 risk: 0 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: 'In review' type: Person unresolved_risk: 0 updated_at: '2023-08-02T18:48:22.000000Z' user: null user_id: null uuid: a2546955-de2d-4907-a533-0846ee46f719 items: type: object properties: additional_terms: type: string example: null address: type: string example: null aliases: type: string example: null case_groups: type: array example: [] case_users: type: array example: [] clients: type: array example: [] company_number: type: string example: null confidence: type: string example: Relative country_of_birth: type: string example: null country_of_residence: type: string example: null 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: 'Voluptas ad rem illum est dignissimos aut provident vitae.' excluded_terms: type: array example: [] gender: type: string example: null group: type: string example: null group_id: type: string example: null 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 hits_unresolved_count: type: integer example: 0 id: type: integer example: 2049050 country: type: string example: null monitoring_frequency: type: integer example: 28 name: type: string example: 'My test case' nationalities: type: string example: null organization_id: type: integer example: 19 origin: type: string example: import resolve_progress: type: integer example: 100 risk: type: integer example: 0 searched_at: type: string example: '2023-08-02T18:48:32.000000Z' 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: 'In review' type: type: string example: Person unresolved_risk: type: integer example: 0 updated_at: type: string example: '2023-08-02T18:48:22.000000Z' user: type: string example: null user_id: type: string example: null uuid: type: string example: a2546955-de2d-4907-a533-0846ee46f719 meta: type: object properties: current_page: type: integer example: 1 from: type: integer example: 1 last_page: type: integer example: 1 path: type: string example: 'http://pascal.vartion.com/api/v1/cases/searches' per_page: type: integer example: 10 to: type: integer example: 1 total: type: integer example: 1 tags: - Cases requestBody: required: true content: application/json: schema: type: object properties: per_page: type: integer description: 'number between 1 and 1000. 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: '' example: updated_at nullable: true enum: - updated_at - status - uuid - name - type - confidence - assignee - hits_unresolved_count - resolve_progress - risk - unresolved_risk - searched_at - passport_expiry_date - organization_name sort_order: type: string description: '' example: asc nullable: true enum: - asc - desc secondary_sort_by: type: string description: '' example: null nullable: true enum: - updated_at - status - uuid - name - type - confidence - assignee - hits_unresolved_count - resolve_progress - risk - unresolved_risk - searched_at - passport_expiry_date - organization_name secondary_sort_order: type: string description: '' example: asc nullable: true enum: - asc - desc with: type: array description: 'Adds additional values to the results. Must be one of: hitCounts, hitCountsPerSource.' example: - hitCountsPerSource items: type: string enum: - hitCounts - hitCountsPerSource - passportVerification 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.' example: null items: type: integer nullable: true group_id: type: array description: 'Filter on case assigned to groups using group ids.' example: null 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: string description: '' example: null nullable: true updated_at: type: string description: '' example: null nullable: true hit_time_range: type: string description: '' example: null nullable: true name: type: string description: 'Full text search on case names. Must not be larger than 190.' 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 transaction_id: type: array description: 'Must not be smaller than 1.' example: - 36 items: type: integer nullable: true exclude_transaction_id: type: array description: 'Must not be smaller than 1.' example: - 35 items: type: integer nullable: true deleted: type: boolean description: '' example: false nullable: false uuid: type: array description: 'Case UUIDs to be filtered on. Must not be larger than 36.' example: - a2546955-de2d-4907-a533-0846ee46f719 items: type: string query: type: string description: 'Must not be larger than 190.' example: null nullable: true nationalities: type: array description: '' example: null items: type: string country: type: array description: '' example: null items: type: string risk: type: array description: '' example: null items: type: string enum: - 'very low' - low - moderate - high - 'very high' - 'no risk' custom_filters: type: array description: '' example: null items: type: string required: - with - nationalities - country '/api/v1/cases/{id}': patch: summary: 'Update case' operationId: updateCase description: "This endpoint allows you to 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: null address: null aliases: null case_groups: [] case_users: [] clients: [] company_number: null confidence: Relative country_of_birth: null country_of_residence: null created_at: '2023-08-02T18:48:22.000000Z' date_of_birth: null deleted_at: null description: 'Voluptas ad rem illum est dignissimos aut provident vitae.' excluded_terms: [] gender: null group: null group_id: null id: 2049050 country: null monitoring_frequency: 28 name: 'My test case' nationalities: null organization_id: 19 origin: import risk: 0 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: null user_id: null uuid: a2546955-de2d-4907-a533-0846ee46f719 properties: additional_terms: type: string example: null address: type: string example: null aliases: type: string example: null case_groups: type: array example: [] case_users: type: array example: [] clients: type: array example: [] company_number: type: string example: null confidence: type: string example: Relative country_of_birth: type: string example: null country_of_residence: type: string example: null 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: 'Voluptas ad rem illum est dignissimos aut provident vitae.' excluded_terms: type: array example: [] gender: type: string example: null group: type: string example: null group_id: type: string example: null id: type: integer example: 2049050 country: type: string example: null monitoring_frequency: type: integer example: 28 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: integer example: 0 searched_at: type: string example: '2023-08-02T18:48:32.000000Z' 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: type: string example: null 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: 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 match the regex /^[a-z0-9 ]*$/i." 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 190.' 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: '1' nullable: true enum: - '0' - '1' - '7' - '28' - '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, 365. If set to 0, the case will not be monitored for sanctions hits.' example: null nullable: true enum: - '0' - '1' - '7' - '28' - '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, 365. If set to 0, the case will not be monitored for enforcement hits.' example: null nullable: true enum: - '0' - '1' - '7' - '28' - '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, 365. If set to 0, the case will not be monitored for PEP hits.' example: null nullable: true enum: - '0' - '1' - '7' - '28' - '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, 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' - '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, 365. If set to 0, the case will not be monitored for media hits.' example: null nullable: true enum: - '0' - '1' - '7' - '28' - '365' name: type: string description: 'Must match the regex /[^'' '',\-\/\.]/. Must not be larger than 190.' example: null nullable: true aliases: type: array description: 'Must not be larger than 190.' example: null items: type: string confidence: type: string description: '' example: null nullable: true enum: - Relative - Exact additional_terms: type: array description: 'Must not be larger than 190.' example: null items: type: string sources: type: array description: '' 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] array of max 10 nationalities, nationality ISO 3166-1 alpha-2 or alpha-3 country code string.' example: - NLD items: type: string country_of_birth: type: string description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NLD nullable: true country_of_residence: type: string description: '[Person case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NLD nullable: true 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: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: lenynwoqiefdflj nullable: false dateOfExpiry: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: nry 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: eqb nullable: false givenNames: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: vigmpasxpsy nullable: false lastName: type: string description: 'This field is required when cases.passportVerificationForm is present. Must not be larger than 190.' example: xvzuqommuklmhegap nullable: false nationality: type: string description: 'This field is required when cases.passportVerificationForm is present. This field must be 3 characters.' example: trl nullable: false optionalData: type: string description: 'Must not be larger than 14.' example: kmffyj nullable: true company_number: type: string description: '[Business case] string of max 190 characters. Must not be larger than 190.' example: NL123 nullable: true country: type: string description: '[Business case] ISO 3166-1 alpha-2 or alpha-3 country code string.' example: NL nullable: false address: type: string description: '[Business case] string of max 190 characters. Must not be larger than 190.' 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 190 characters. Must not be larger than 190.' 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: - nationalities parameters: - in: path name: id description: 'The ID of the case.' example: 4C37Afb8-476b-Becb-a17f-7c22DeC8ebd7|77432 required: true schema: type: string '/api/v1/cases/{id}/hits-key-information': get: summary: 'Case hits key information' operationId: caseHitsKeyInformation description: "This endpoint allows you to get 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 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 tags: - Cases parameters: - in: path name: id description: 'The ID of the case.' example: 171689E2-dbCF-FE4c-A703-1baD2A5875bd|86334 required: true schema: type: string /api/v1/clients: post: summary: 'Create client' operationId: createClient description: 'This endpoint allows you to create a new client.' parameters: - in: header name: OrganizationId description: '' example: 1 schema: type: string responses: { } tags: - Clients requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be larger than 190.' example: uphkaxwoeaidocq nullable: false description: type: string description: 'Must not be larger than 2000.' example: 'Reprehenderit ratione ipsam mollitia sed sit.' nullable: true assignee_user_id: type: integer description: '' example: 2 nullable: true collaborator_user_ids: type: array description: 'Must not be smaller than 1.' example: - 38 items: type: integer required: - name '/api/v1/clients/{id}': get: summary: 'Get client' operationId: getClient description: 'This endpoint allows you to get detailed information on a specific client.' parameters: - in: header name: OrganizationId description: '' example: 1 schema: type: string responses: { } tags: - Clients parameters: - in: path name: id description: 'The ID of the client.' example: '4' required: true schema: type: string /api/v1/clients/searches: post: summary: 'Search clients' operationId: searchClients description: "This endpoint allows you to 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: { } tags: - Clients requestBody: required: true content: application/json: schema: type: object properties: 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: - assigned - has_onboarding_forms 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: 'Must not be smaller than 1.' example: - 53 items: type: integer client_client_id: type: array description: 'Must not be smaller than 1.' example: - 57 items: type: integer not_client_client_id: type: array description: 'Must not be smaller than 1.' example: - 10 items: type: integer not_cases_id: type: array description: 'Must not be smaller than 1.' example: - 69 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: - completed items: type: string enum: - 'in progress' - 'submitted by client' - 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 between 1 and 1000. Must not be smaller than 1. Must not be larger than 1000.' example: 10 nullable: false sort_by: type: string description: '' example: updated_at nullable: true enum: - updated_at - name - risk - resolve_progress - status - onboarding_status sort_order: type: string description: '' example: asc nullable: true enum: - asc - desc status: type: array description: '' example: null items: type: string enum: - Active - Archived updated_at: type: string description: '' example: null nullable: true required: - id - not_id - client_client_id - not_client_client_id - not_cases_id - organization_id /api/v1/onboarding-forms/searches: post: summary: 'Search onboarding forms' operationId: searchOnboardingForms description: "This endpoint allows you to 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: { } 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 between 1 and 1000. Must not be smaller than 1. Must not be larger than 1000.' example: 10 nullable: false updated_at: type: string description: '' example: null nullable: true sort_by: type: string description: '' example: created_at nullable: true enum: - created_at - updated_at - name sort_order: type: string description: '' example: asc nullable: true enum: - asc - desc 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: - 46 items: type: integer client_id: type: array description: 'Must not be smaller than 1.' example: - 61 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 required: - external_user_ids - with /api/v1/onboarding-form-questions/searches: post: summary: 'Search onboarding form questions' operationId: searchOnboardingFormQuestions description: 'This endpoint allows you to 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 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 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 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 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 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 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 title: Name answer: null type: text created_at: '2024-05-28T11:15:07.000000Z' updated_at: '2024-05-28T11:15:07.000000Z' - id: 170 title: Website answer: null type: url created_at: '2024-04-18T10:01:46.000000Z' updated_at: '2024-05-07T07:39:07.000000Z' - id: 166 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 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 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 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 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: 185 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 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 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 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 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 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 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 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 title: Name answer: null type: text created_at: '2024-05-28T11:15:07.000000Z' updated_at: '2024-05-28T11:15:07.000000Z' - id: 170 title: Website answer: null type: url created_at: '2024-04-18T10:01:46.000000Z' updated_at: '2024-05-07T07:39:07.000000Z' - id: 166 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 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 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 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 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: 185 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 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' items: type: object properties: id: type: integer example: 164 title: type: string example: 'Yes / No' answer: type: string example: 'Yes' type: type: string example: true_false created_at: type: string example: '2024-04-18T09:55:40.000000Z' updated_at: type: string example: '2024-04-18T09:55:48.000000Z' 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: page: type: integer description: 'Page to be returned. Must not be smaller than 1.' example: 1 nullable: true per_page: type: integer description: 'number between 1 and 1000. 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: 'This endpoint allows you to 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: 'This endpoint allows you to 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 created_at: type: string example: '2023-08-14T10:50:25.000000Z' created_by_id: type: integer example: 4 expires_at: type: string example: '2099-01-31T23:00:00.000000Z' id: type: integer example: 11 return_url: type: string example: 'https://localhost' token: type: string example: ehgwKBKPPubqQ7CC updated_at: type: string example: '2023-08-14T10:50:25.000000Z' user_id: type: integer example: 13989 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: 'This endpoint allows you to 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 created_at: type: string example: '2023-08-14T10:50:25.000000Z' created_by_id: type: integer example: 4 expires_at: type: string example: '2099-01-31T23:00:00.000000Z' id: type: integer example: 11 return_url: type: string example: 'https://localhost' updated_at: type: string example: '2023-08-14T10:50:25.000000Z' used_at: type: string example: null user_id: type: integer example: 13989 tags: - 'One time case links' delete: summary: 'Delete a one time case link' operationId: deleteAOneTimeCaseLink description: 'This endpoint allows you to delete a one time case link.
' parameters: - in: header name: OrganizationId description: '' example: 1 schema: type: string responses: { } 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: "This endpoint allows you to authenticate using a one time case link.
\nWhen successful, the user will be redirected to the page where they can resolve the linked case." parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "\n\n...\n\n" 422: description: '' content: application/json: schema: type: object example: message: 'Incorrect id or token.' errors: authentication: - 'Incorrect id or token.' properties: message: type: string example: 'Incorrect id or token.' errors: type: object properties: authentication: type: array example: - 'Incorrect id or token.' items: type: string 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: "This endpoint allows you to authenticate using a one time case link.
\nWhen successful, the user will be redirected to the page where they can resolve the linked case." parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "\n\n...\n\n" 422: description: '' content: application/json: schema: type: object example: message: 'Incorrect id or token.' errors: authentication: - 'Incorrect id or token.' properties: message: type: string example: 'Incorrect id or token.' errors: type: object properties: authentication: type: array example: - 'Incorrect id or token.' items: type: string 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: "This endpoint allows you to 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: text/plain: schema: type: string example: "{\n \"id\": \"99d92417-1264-4cce-9e86-e71a8357e044\",\n \"name\": \"Generating case reports...\",\n \"totalJobs\": 1,\n \"pendingJobs\": 1,\n \"progress\": 0,\n \"createdAt\": \"2023-08-09T11:02:04.000000Z\",\n}" tags: - Reports requestBody: required: false content: application/json: schema: type: object properties: filename: type: string description: 'Must not be larger than 190.' example: fiphukrvsk nullable: true detailed: type: boolean description: '' example: true 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: ru 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.' example: null items: type: integer nullable: true group_id: type: array description: 'Filter on case assigned to groups using group ids.' example: null 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: string description: '' example: null nullable: true updated_at: type: string description: '' example: null nullable: true hit_time_range: type: string description: '' example: null nullable: true name: type: string description: 'Full text search on case names. Must not be larger than 190.' 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 transaction_id: type: array description: 'Must not be smaller than 1.' example: - 13 items: type: integer nullable: true exclude_transaction_id: type: array description: 'Must not be smaller than 1.' example: - 13 items: type: integer nullable: true deleted: type: boolean description: '' example: false nullable: false uuid: type: array description: 'Case UUIDs to be filtered on. Must not be larger than 36.' example: - a2546955-de2d-4907-a533-0846ee46f719 items: type: string query: type: string description: 'Must not be larger than 190.' example: null nullable: true nationalities: type: array description: '' example: null items: type: string country: type: array description: '' example: null items: type: string risk: type: array description: '' example: null items: type: string enum: - 'very low' - low - moderate - high - 'very high' - 'no risk' custom_filters: type: array description: '' example: null items: type: string '/api/v1/reports/{id}/download': get: summary: 'Download reports' operationId: downloadReports description: 'This endpoint allows you to 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: 757E06f8-3B6d-1c0c-d68c-3aA0dceB14bc|1 required: true schema: type: string tags: - 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: '' 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: []