openapi: 3.2.0 info: title: Advanced Screening and Monitoring Client Import API description: 'Dow Jones ### Rate limits Most endpoints are subject to a general rate limit of 10,000 requests per user per 15 minutes. Some endpoints are also subject to a global concurrent request limit of 5 simultaneous requests per customer.' version: '3' license: {} contact: {} servers: - url: API_INSTANCE security: - basicAuth: [] - jwt: [] - clientCert: [] tags: - name: Client Import description: The Client Import API allows clients to bulk load client records representing entities to be screened as part of continuous monitoring. paths: /client/import: get: operationId: clientImportList summary: List all import jobs description: 'This endpoint lists all client import jobs ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' tags: - Client Import responses: '200': description: A response containing information about all submitted client import jobs content: application/json: schema: description: The status of all client import jobs type: array items: type: object description: The status of a client import job. properties: id: type: integer description: Unique identifier for the job timeCreated: type: integer description: Unix timestamp for when the content was created timeStaged: type: integer description: Unix timestamp for when the content was staged state: type: string description: State of the job enum: - STAGING - STAGED - IMPORTED - COMPLETE - ERRORED itemsFailed: type: integer description: Number of items that failed itemsUploaded: type: integer description: Number of items that were uploaded relationshipsUploaded: type: integer description: Number of relationships that were uploaded itemsStaged: type: integer description: Number of items that were staged itemsFailedStaging: type: integer description: Number of items that failed staging relationshipsAdded: type: integer description: Number of relationships that were added relationshipsFailed: type: integer description: Number of relationships that failed itemsImported: type: integer description: Number of items that were imported itemsFailedImporting: type: integer description: Number of items that failed importing itemsForAssessment: type: integer description: Number of items for assessment itemsAssessed: type: integer description: Number of items assessed itemsFailedAssessment: type: integer description: Number of items that failed assessment name: type: string description: Name of the job removeInvalidRelationships: type: boolean description: Whether to remove invalid relationships validate: type: boolean description: Whether to validate clientKey: type: string description: Client key for multi-tenant systems lastUpdated: type: integer description: Unix timestamp for when the job was last updated validationWarnings: type: integer description: Number of validation warnings example: - id: 52 timeCreated: 1692273794423 timeStaged: 1692273794726 state: COMPLETE itemsFailed: 1 itemsUploaded: 1 relationshipsUploaded: 0 itemsStaged: 0 itemsFailedStaging: 1 relationshipsAdded: 0 relationshipsFailed: 0 itemsImported: 0 itemsFailedImporting: 0 itemsForAssessment: 0 itemsAssessed: 0 itemsFailedAssessment: 0 name: Bulk Client Job removeInvalidRelationships: true validate: true clientKey: lowercasekey lastUpdated: 1692273796030 validationWarnings: 0 - id: 86 timeCreated: 1692296462489 timeStaged: 1692296462919 state: COMPLETE itemsFailed: 0 itemsUploaded: 40 relationshipsUploaded: 0 itemsStaged: 40 itemsFailedStaging: 0 relationshipsAdded: 0 relationshipsFailed: 0 itemsImported: 40 itemsFailedImporting: 0 itemsForAssessment: 40 itemsAssessed: 40 itemsFailedAssessment: 0 name: Example removeInvalidRelationships: true validate: true clientKey: lowercasekey lastUpdated: 1692296470953 validationWarnings: 0 '401': description: Unauthorized '403': description: Forbidden (e.g. the user does not have the correct permission) '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code post: summary: Bulk import client records description: 'Labyrinth Screening supports ongoing monitoring of entities (referred to as "clients") against risks. The Client Import API supports the loading and updating of clients that should be monitored. ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes, and a global concurrent request limit of 5 simultaneous requests per customer. ### Operational characteristics Values below are measured from production traffic. Only collected values are shown. **Latency distribution** Latency values are shown as milliseconds below 1 s, seconds with one decimal place below 1 min, otherwise as M:SS (min). | Metric | Value | | --- | --- | | Median | 127 ms | | 90th percentile | 208 ms | | 95th percentile | 267 ms | | 98th percentile | 310 ms | | 99th percentile | 377 ms | The client import process is asynchronous. Clients are loaded in batches, referred to as "jobs". Once loaded, the job goes through several stages of processing until all the clients are loaded. The API provides access to the status of any submitted client import job, including any errors that have occurred during processing. (see the endpoints `/client/import/{job_id}/status` and `/client/import/{job_id}/errors`) Client records can be submitted as line-delimited JSON (`application/octet-stream`) or as an Excel macro-enabled workbook (`.xlsm`, `application/vnd.ms-excel.sheet.macroenabled.12`). ' operationId: clientBulkImport tags: - Client Import x-operational-characteristics: description: 'Operational characteristics from production log analysis (generatedAt: 2026-06-16T10:56:29.271Z). ' latencyDistribution: median: 126.33 p90: 207.8 p95: 266.37 p98: 309.14 p99: 376.98 sampleSize: 4184238 parameters: - name: removeInvalidRelationships in: query required: false schema: type: boolean default: true description: 'This flag controls how the system handles cases where a client that is referenced in a relationship is not found in the client import job and is not already loaded. If the flag is set to `true`, the relationship will be ignored and not loaded. If the flag is set to `false`, the relationship will be loaded, allowing the missing referenced client to be loaded as part of a subsequence client load job. ' - name: batch in: query required: false schema: type: boolean default: true description: 'Indicates that the clients in this client import job should be handled as a single batch and immediately loaded together. If this value is set to `false`, the system will not load the clients in this job immediately and will instead wait until there are more clients to load in requests where this parameter is set to `false`, or until a certain amount of time has passed. This allows the system to batch smaller client load jobs internally and process them as part of a larger internal batch, which is more efficiently. IMPORTANT: Loading large numbers of smaller client load jobs without this value set to `false` is not recommended as it can lead to overheads that can impact system performance. ' requestBody: required: true description: 'The set of client records to be imported in a new bulk client import job. Submit as line-delimited JSON (`application/octet-stream`), where each line contains a complete JSON record that adheres to the client import schema, or as an Excel macro-enabled workbook (`.xlsm`) using `application/vnd.ms-excel.sheet.macroenabled.12`. ' content: application/octet-stream: schema: description: 'The line-delimited JSON records within the client import request body represent either clients or relationships between clients. IMPORTANT: All relationship records must appear after all client records. ' discriminator: propertyName: objectType mapping: client: ./ClientImportJobRecordClient.yaml relationship: ../../../../common/schemas/client/ClientRelationship.yaml oneOf: - description: A client record for import, including optional hash and assessmentRequired fields. allOf: - type: object properties: hash: type: string description: 'An optional hash of the client record. The hash is generated by the client and can be used to reconcile the version of the client stored in the system with versions mastered in the source system. When supplied during import, the hash can later be validated using the `/entity/validate-data` endpoint. ' assessmentRequired: type: boolean default: false description: 'When a client is loaded or updated, the assessmentRequired property of the client record can be set to true to request a full screening or re-screening of the Client against the risk data currently in the system at time of loading. If this flag is not set, the client will be loaded or updated, but alerts will only be generated against the client as Risk Profiles and Internal Lists are loaded or updated in the system. If the flag is set, the Client is screened against all existing Risk Profiles and List Entities and Alerts may be generated if any matches meet the alerting criteria in the Alert Policies. ' discriminator: propertyName: entityType mapping: PERSON: ../../../../common/schemas/client/PersonClient.yaml ORGANISATION: ../../../../common/schemas/client/OrganisationClient.yaml VESSEL: ../../../../common/schemas/client/VesselClient.yaml AIRCRAFT: ../../../../common/schemas/client/AircraftClient.yaml UNKNOWN: ../../../../common/schemas/client/UnknownClient.yaml oneOf: - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: "Entity specifier for a person. Must provide at least one of the following:\n\n * name (recommended)\n * firstName and surname (with optional middleName)\n\nIf all three are provided, the system will use \"name\". Our recommendation is\nfor you to provide a single, whole, name string which we will then analyse.\n\n**Note**: Name structure is a cultural artefact. We strongly recommend using\nthe full name field as we handle many cross-cultural aspects. If you do wish\nto separate out the name then we consider \"firstName\" to be the given name of\nan individual, and \"surname\" to be a \"family\" name.\n" properties: entityType: const: PERSON gender: type: string titles: type: array items: type: string surname: type: string forename: type: string middlename: type: string suffixes: type: array items: type: string aliases: type: array items: type: object properties: titles: type: array items: type: string surname: type: string forename: type: string middlename: type: string name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' suffixes: type: array items: type: string nameType: type: string dateOfBirth: oneOf: - type: string - type: integer birthPlaceCountryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW deceasedOn: oneOf: - type: string - type: integer nationalityCodes: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW domicileCodes: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW occupation: type: string - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' properties: entityType: const: ORGANISATION companyName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' aliases: type: array items: type: object properties: companyName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string dateOfIncorporation: oneOf: - type: string - type: integer incorporationCountryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW required: - companyName - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: 'An entity specifier for a maritime vessel. Must provide AT LEAST ONE of: name, aliases, vesselCallSigns or vesselImoNumber ' required: - vesselName properties: entityType: const: VESSEL aliases: type: array items: type: object properties: name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string vesselName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' vesselCallSigns: type: array items: type: string vesselTypes: type: array items: type: string vesselTonnages: type: array items: type: number vesselOwners: type: array items: type: string vesselCustomers: type: array items: type: string vesselGrts: type: array items: type: number vesselFlags: type: array items: type: string vesselFlagsCode: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW vesselImoNumber: type: string countryOfRegistrationCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' properties: entityType: const: AIRCRAFT aliases: type: array items: type: object properties: name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string aircraftManufactureDate: oneOf: - type: string - type: integer aircraftModel: type: string aircraftName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' aircraftOperator: type: string countryOfAffiliationCode: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: 'Entity specifier for a client whose type is not known or not one of the supported entity types. ' properties: entityType: const: UNKNOWN - type: object required: - objectType - clientId - from - to - relationshipType - directed properties: objectType: type: string enum: - relationship clientId: type: string description: The ID of the client record that is the owner of the relationship. Typically this is the same as the client ID in the from field. from: type: string description: The ID of the client the relationship is from. to: type: string description: The ID of the client the relationship is to. directed: type: boolean description: Flag indicating whether the relationship is directional. relationshipType: type: string description: The type of relationship being expressed. enum: - AGENT/REPRESENTATIVE - ASSET - ASSOCIATE - ASSOCIATEDSPECIALINTERESTPERSON - AUNT - BROTHER - BROTHER-IN-LAW - BUSINESSASSOCIATE - CHILD - COLLEAGUE - COUSIN - DAUGHTER - DAUGHTER-IN-LAW - EMPLOYEE - EMPLOYER - FAMILYMEMBER - FATHER - FATHER-IN-LAW - FINANCIALADVISER - FRIEND - GRANDDAUGHTER - GRANDFATHER - GRANDMOTHER - GRANDSON - HUSBAND - LEGALADVISER - MOTHER - MOTHER-IN-LAW - NEPHEW - NIECE - OTHER - PARENTCOMPANY - POLITICALADVISER - SAME-SEXSPOUSE - SENIOROFFICIAL - SHAREHOLDER/OWNER - SISTER - SISTER-IN-LAW - SON - SON-IN-LAW - STEP-DAUGHTER - STEP-SON - STEPFATHER - STEPMOTHER - SUBSIDIARY - UNCLE - UNMARRIEDPARTNER - WIFE detailedRelationshipType: type: string description: Freeform string that can be used to capture a more detailed form of the relationship type. Often used alongside the OTHER relationshipType. startDate: type: number description: The date the relationship began endDate: type: number description: The date the relationship ended tags: type: array description: An array of tags that are used for grouping relationships. items: type: string examples: PersonClientMinimal: value: objectType: client assessmentRequired: true status: ACTIVE entityType: PERSON name: John Smith clientId: example-client-person-minimal dateOfBirth: -543888000000 PersonClientExpanded: value: objectType: client status: ACTIVE entityType: PERSON assessmentRequired: true businessDivisions: - Testing Division clientId: example-client-person-expanded gender: MALE surname: Doe forename: John occupation: Electrician nationalityCodes: - US aliases: - surname: Doe forename: Jonathan middlename: Michael nameType: variant dateOfBirth: -543888000000 birthPlaceCountryCode: US domicileCodes: - US OrganisationClientMinimal: value: objectType: client status: ACTIVE entityType: ORGANISATION assessmentRequired: true clientId: example-client-org-minimal companyName: Example Org Ltd OrganisationClientExpanded: value: objectType: client status: ACTIVE entityType: ORGANISATION assessmentRequired: true clientId: example-client-org-expanded companyName: Example Org Ltd dateOfIncorporation: 1713948157000 incorporationCountryCode: US aliases: - nameType: also known as companyName: EO Trading Inc Relationship: value: objectType: relationship clientId: example-client-person-minimal from: example-client-person-minimal to: example-client-org-minimal relationshipType: EMPLOYEE detailedRelationshipType: Director directed: true application/vnd.ms-excel.sheet.macroenabled.12: schema: type: string format: binary description: Excel macro-enabled workbook (.xlsm) containing client records to import. responses: '200': description: The client import job was successfully submitted. The response body contains details of the newly-created client import job's ID and status. content: application/json: schema: type: object description: The status of a client import job. properties: id: type: integer description: Unique identifier for the job timeCreated: type: integer description: Unix timestamp for when the content was created timeStaged: type: integer description: Unix timestamp for when the content was staged state: type: string description: State of the job enum: - STAGING - STAGED - IMPORTED - COMPLETE - ERRORED itemsFailed: type: integer description: Number of items that failed itemsUploaded: type: integer description: Number of items that were uploaded relationshipsUploaded: type: integer description: Number of relationships that were uploaded itemsStaged: type: integer description: Number of items that were staged itemsFailedStaging: type: integer description: Number of items that failed staging relationshipsAdded: type: integer description: Number of relationships that were added relationshipsFailed: type: integer description: Number of relationships that failed itemsImported: type: integer description: Number of items that were imported itemsFailedImporting: type: integer description: Number of items that failed importing itemsForAssessment: type: integer description: Number of items for assessment itemsAssessed: type: integer description: Number of items assessed itemsFailedAssessment: type: integer description: Number of items that failed assessment name: type: string description: Name of the job removeInvalidRelationships: type: boolean description: Whether to remove invalid relationships validate: type: boolean description: Whether to validate clientKey: type: string description: Client key for multi-tenant systems lastUpdated: type: integer description: Unix timestamp for when the job was last updated validationWarnings: type: integer description: Number of validation warnings example: id: 52 timeCreated: 1692273794423 timeStaged: 1692273794726 state: COMPLETE itemsFailed: 1 itemsUploaded: 1 relationshipsUploaded: 0 itemsStaged: 0 itemsFailedStaging: 1 relationshipsAdded: 0 relationshipsFailed: 0 itemsImported: 0 itemsFailedImporting: 0 itemsForAssessment: 0 itemsAssessed: 0 itemsFailedAssessment: 0 name: Bulk Client Job removeInvalidRelationships: true validate: true clientKey: lowercasekey lastUpdated: 1692273796030 validationWarnings: 0 '400': description: Bad request (e.g. the content-type is incorrect) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '401': description: Unauthorized content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '403': description: Forbidden (e.g. the user does not have the correct permission) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code /client/import/synchronous: post: operationId: clientImportSyncronous summary: Import a single client synchronously description: 'Import or update **one** client record and block until screening has completed, then return the current alerts for that client. Unlike `POST /client/import`, which accepts a bulk upload and returns immediately with a job identifier, this endpoint holds the HTTP connection open until the import job reaches `COMPLETE` and assessment counters have caught up. The client is processed through the standard client import pipeline using high-priority routing. ### Request body Submit a **single client JSON object** (not line-delimited JSON). The schema is the same as a client record in the bulk import API. Set `assessmentRequired: true` when a full screening against current risk data is required. ### Response body The response contains an `openAlerts` array with the alerts in **OPENED** state client, and `monitoringAlerts` array with the alerts in **MONITORING** state for the imported client sorted by creation time descending. **Important:** this list includes **all alerts currently associated with the client**, not only alerts created or updated by this import request. When no alerts exist for the client, the response is `{ "openAlerts": [], "monitoringAlerts": [] }`. ### Typical latencies End-to-end latency depends on platform load, client complexity, and whether alerting is triggered. Measurements below are round-trip times for `POST /client/import/synchronous` with **one client per request** and `assessmentRequired: true`. #### Development environment conditions | Percentile | Latency | | :--------- | :------ | | Median | 6.8 s | | Mean | 6.9 s | | 90th | 8.6 s | | 95th | 8.8 s | | 98th | 8.8 s | **Caveat:** these measurements were taken in the **Development** environment. Production-like latency metrics will be collected later based on real usage, as this is a new endpoint. A long response time does **not** indicate failure. Successful imports return **`200 OK`** regardless of duration. ### Throughput limitations and usage guidance This endpoint is intended for **interactive, low-volume** client updates (for example, a user saving a single client in a UI). It is **not** a substitute for bulk client loading. | Guidance | Detail | | :------- | :----- | | Volume | **One client per request.** Use `POST /client/import` for bulk or batch uploads. | | Rate limit | **90 requests** per 15 minutes time window (`periodicRateLimit`). Exceeding this limit returns **`429 Too Many Requests`**. | | Concurrency | **6 concurrent requests** maximum per tenant (`concurrentRateLimit`). Additional in-flight requests receive **`429 Too Many Requests`** until an existing request completes. | | Connection | The server holds the connection until processing completes. Do not treat a slow response as an error if the HTTP status is `200`. | | Disconnect | If the client closes the connection early, the import job may continue in the background; the client will not receive the response body. | `RateLimit` and `RateLimit-Policy` response headers report remaining quota for both policies. Plan client applications to stay within **90 requests** and **6 concurrent** calls; higher parallelism increases latency even when limits are not exceeded. For large data loads use `POST /client/import` and poll `/client/import/{job_id}/status` instead. ' tags: - Client Import parameters: - name: jobname in: query required: false schema: type: string description: Optional label for the created import job (defaults to "Sync Client Import"). requestBody: required: true description: A single client record to import or update. content: application/json: schema: description: A client record for import, including optional hash and assessmentRequired fields. allOf: - type: object properties: hash: type: string description: 'An optional hash of the client record. The hash is generated by the client and can be used to reconcile the version of the client stored in the system with versions mastered in the source system. When supplied during import, the hash can later be validated using the `/entity/validate-data` endpoint. ' assessmentRequired: type: boolean default: false description: 'When a client is loaded or updated, the assessmentRequired property of the client record can be set to true to request a full screening or re-screening of the Client against the risk data currently in the system at time of loading. If this flag is not set, the client will be loaded or updated, but alerts will only be generated against the client as Risk Profiles and Internal Lists are loaded or updated in the system. If the flag is set, the Client is screened against all existing Risk Profiles and List Entities and Alerts may be generated if any matches meet the alerting criteria in the Alert Policies. ' discriminator: propertyName: entityType mapping: PERSON: ../../../../common/schemas/client/PersonClient.yaml ORGANISATION: ../../../../common/schemas/client/OrganisationClient.yaml VESSEL: ../../../../common/schemas/client/VesselClient.yaml AIRCRAFT: ../../../../common/schemas/client/AircraftClient.yaml UNKNOWN: ../../../../common/schemas/client/UnknownClient.yaml oneOf: - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: "Entity specifier for a person. Must provide at least one of the following:\n\n * name (recommended)\n * firstName and surname (with optional middleName)\n\nIf all three are provided, the system will use \"name\". Our recommendation is\nfor you to provide a single, whole, name string which we will then analyse.\n\n**Note**: Name structure is a cultural artefact. We strongly recommend using\nthe full name field as we handle many cross-cultural aspects. If you do wish\nto separate out the name then we consider \"firstName\" to be the given name of\nan individual, and \"surname\" to be a \"family\" name.\n" properties: entityType: const: PERSON gender: type: string titles: type: array items: type: string surname: type: string forename: type: string middlename: type: string suffixes: type: array items: type: string aliases: type: array items: type: object properties: titles: type: array items: type: string surname: type: string forename: type: string middlename: type: string name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' suffixes: type: array items: type: string nameType: type: string dateOfBirth: oneOf: - type: string - type: integer birthPlaceCountryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW deceasedOn: oneOf: - type: string - type: integer nationalityCodes: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW domicileCodes: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW occupation: type: string - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' properties: entityType: const: ORGANISATION companyName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' aliases: type: array items: type: object properties: companyName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string dateOfIncorporation: oneOf: - type: string - type: integer incorporationCountryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW required: - companyName - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: 'An entity specifier for a maritime vessel. Must provide AT LEAST ONE of: name, aliases, vesselCallSigns or vesselImoNumber ' required: - vesselName properties: entityType: const: VESSEL aliases: type: array items: type: object properties: name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string vesselName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' vesselCallSigns: type: array items: type: string vesselTypes: type: array items: type: string vesselTonnages: type: array items: type: number vesselOwners: type: array items: type: string vesselCustomers: type: array items: type: string vesselGrts: type: array items: type: number vesselFlags: type: array items: type: string vesselFlagsCode: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW vesselImoNumber: type: string countryOfRegistrationCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' properties: entityType: const: AIRCRAFT aliases: type: array items: type: object properties: name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' nameType: type: string aircraftManufactureDate: oneOf: - type: string - type: integer aircraftModel: type: string aircraftName: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' aircraftOperator: type: string countryOfAffiliationCode: type: array items: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW - type: object allOf: - type: object required: - objectType - entityType - clientId properties: objectType: type: string enum: - client clientId: type: string entityType: type: string enum: - PERSON - ORGANISATION - VESSEL - AIRCRAFT - UNKNOWN name: type: string maxLength: 460 minLength: 1 description: 'The full name of the client. This is a key field used in identity matching. The name can be provided either as name parts, depending on the client type (i.e. first name, middle name, surname in the case of person clients) or as a complete name using this field. If name parts are provided, the system will construct the full name from those parts. Names cannot be longer than 460 characters (assuming UTF-8 encoding) or 975 bytes, and it is recommended that names do not exceed 400 characters to ensure that Identity Matching can be done efficiently. Titles and suffixes are not included in this limit. ' status: type: string enum: - ACTIVE - INACTIVE freeTextItems: type: array items: type: object properties: fieldId: type: string value: type: string required: - fieldId - value addresses: type: array items: type: object properties: line1: type: string line2: type: string line3: type: string line4: type: string poBox: type: string city: type: string state: type: string province: type: string country: type: string countryCode: type: string maxLength: 2 minLength: 2 description: 'An ISO-3166 alpha-2 country code digraph as defined here: ' enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - XK - YE - YT - ZA - ZM - ZW postcode: type: string addressType: type: string security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions lastReviewed: type: string fixedAlertSpans: type: boolean description: A flag to indicate that this client's alerts should transition to fixed-period alerts at the specified interval. default: false fixedAlertSpanPeriod: type: string description: The period alerts should cover at the point they transition to fixed-period alerts. Specified as an integer value followed by a time unit indicator (d=day, h=hour, y=year). default: 1d fixedAlertSpanStartDate: default: the time the client is loaded description: 'The time that that the initial fixed period alerting should start. When the fixed-period setting above are set or updated for a client, the start of the next review period for the client is calculated as follows: The fixedAlertSpanStartDate is rounded up to the next midnight UTC and then offset by the number of minutes specified by alertingTimezone . When this initial alert period time is reached, the next review period is calculated by adding the fixedAlertSpanPeriod to this value. ' type: string format: date example: '2023-12-25' alertingTimezone: type: integer description: 'The timezone offset in minutes from midnight UTC that should be applied when calculating the start of each fixed alert period. For example, if alerts should transition to fixed period alerts at 03:00 UTC, the alertingTimezone should be set to 180. ' default: 0 periodicReviewPeriod: type: string periodicReviewStartDate: type: integer identityNumbers: type: array items: type: object properties: type: type: string value: type: string required: - type - value bookingCenter: type: string segment: type: string businessRelationshipNumbers: type: array items: type: string businessRelationship: type: array items: type: string riskScore: type: number riskDescription: type: string employeeContactDetails: type: object properties: name: type: string phoneNumber: type: string email: type: string industries: type: array items: type: string lastScreenedDate: type: string format: date description: An ISO-8601 compliant date string example: '2023-12-25' description: 'Entity specifier for a client whose type is not known or not one of the supported entity types. ' properties: entityType: const: UNKNOWN examples: PersonClientMinimal: value: objectType: client assessmentRequired: true status: ACTIVE entityType: PERSON name: John Smith clientId: example-client-person-minimal dateOfBirth: -543888000000 PersonClientExpanded: value: objectType: client status: ACTIVE entityType: PERSON assessmentRequired: true businessDivisions: - Testing Division clientId: example-client-person-expanded gender: MALE surname: Doe forename: John occupation: Electrician nationalityCodes: - US aliases: - surname: Doe forename: Jonathan middlename: Michael nameType: variant dateOfBirth: -543888000000 birthPlaceCountryCode: US domicileCodes: - US OrganisationClientMinimal: value: objectType: client status: ACTIVE entityType: ORGANISATION assessmentRequired: true clientId: example-client-org-minimal companyName: Example Org Ltd responses: '200': description: 'The client was imported and screening completed. The response contains all current alerts for the client (see schema description). ' headers: RateLimit: description: "Current usage information of the concurrent rate limit, \nstandard RateLimit headers in accordance with the 8th draft of the IETF rate limit header specification\nhttps://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-08\n\n**Examples:**\n- Concurrent rate limit: `\"concurrentRateLimit\"; r=99; t=2836`\n- Periodic rate limit: `\"periodicRateLimit\"; r=9999998; t=3595`\n" schema: type: string examples: concurrentRateLimit: value: '"concurrentRateLimit"; r=99; t=2836' summary: Concurrent rate limit periodicRateLimit: value: '"periodicRateLimit"; r=9999998; t=3595' summary: Periodic rate limit RateLimit-Policy: description: "Screening has 2 Rate limiting policies\n\n- Periodic request limit, a limit of x requests within a given time bucket\n - Identified with the policy name of 'periodicRateLimit'\n - Applies globally to all API requests\n \n- Concurrent request limit, a limit of x concurrently running requests\n - Identified with the policy name of 'concurrentRateLimit'\n - Applies to a subset of potentially long running requests\n - Only counts against actively running requests\n\nHeader policy implements the following spec \nhttps://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-08\n\n**Examples:**\n- Concurrent rate limit policy: `\"concurrentRateLimit\"; q=1000000; w=3600; pk=:MmRhYjNjNTRmMzdm:`\n- Periodic rate limit policy: `\"periodicRateLimit\"; q=10000000; w=3600; pk=:Yjc2YzM2NWE5MTg4:`\n\nPlease contact support if these rate limit quotas are inappropriate for your usage.\n" schema: type: string examples: concurrentRateLimitPolicy: value: '"concurrentRateLimit"; q=1000000; w=3600; pk=:MmRhYjNjNTRmMzdm:' summary: Concurrent rate limit policy periodicRateLimitPolicy: value: '"periodicRateLimit"; q=10000000; w=3600; pk=:Yjc2YzM2NWE5MTg4:' summary: Periodic rate limit policy content: application/json: schema: type: object description: 'Synchronous client import result returned after the import pipeline has completed. The `openAlerts` array contains alerts in **OPENED** state for the imported client, and `monitoringAlerts` contains alerts in **MONITORING** state. Both arrays are sorted by creation time descending. This includes **all current alerts for the client**, not only alerts created or updated by this request. Use alert timestamps and job history if you need to distinguish alerts raised by a specific import. ' required: - openAlerts - monitoringAlerts properties: openAlerts: type: array description: 'Alerts in OPENED state for the imported client, as returned by the alert service filter for the client target (`eoi:{clientId}`). Ordered by `time.created` descending. May be empty when no open alerts exist for the client. ' items: type: object description: 'Alert object returned for the imported client. Fields mirror the alert service filter response for synchronous client import. ' properties: id: type: integer description: Unique identifier for the alert example: 11533 target: type: string description: The target object (client) that encapsulates the activity example: eoi:test-client-Donald-6 name: type: string description: Display name of the alert subject (typically the client name) example: Donald Trump description: type: string description: Brief description of the alert example: alert for Donald Trump namespace: type: string description: Internal namespace for the alert record example: torch clientKey: type: string description: Tenant client key that owns the alert example: delphia726 type: type: integer description: Alert policy type identifier example: 10507 mode: type: string description: Alert scoring mode example: sum state: type: integer description: 'A number representing the overall state of the alert. 0 = Monitoring 1 = Open 2 = Closed 3 = Reopened ' enum: - 0 - 1 - 2 - 3 score: type: integer description: Score of the alert, based on the evidence accrued example: 100 sortKey: type: integer description: Internal sort key used when ordering alerts example: 100 docCount: type: integer description: Total number of evidence items in the alert example: 1 threshold: type: integer description: Threshold value that was breached when the alert opened example: 0 assignedUsers: type: array description: IDs of users assigned to the result, returned when results enrichment is disabled items: type: number example: - 1 assignedGroups: type: array description: Group IDs the alert has been assigned to, where appropriate items: type: number example: [] tags: type: array description: 'Tags associated with the entity for export and integration. Includes policy identifiers, standard risk labels, and—when custom categories apply—entries of the form `userTag-{pillLabel}-active` or `userTag-{pillLabel}-inactive` derived from `cc*` stamps on `riskTags`. Existing tag entries are preserved in their original order; matching `userTag-*` entries are appended on export when custom categories are enabled. There is no separate `customCategories` response property. ' items: type: string example: - policy-20037 - risk-Financial Crime - userTag-Fin Crime-active riskTags: type: array description: 'Risk tags stamped on the entity. Standard watchlist tags use configured prefixes and optional `-active` or `-inactive` suffixes (e.g. `PEP-active`). Custom categories are stamped with the `cc` prefix followed by the category id, optionally suffixed with `-active` or `-inactive` (e.g. `cc42`, `cc42-active`). Custom category values remain on `riskTags`; JSONL and CSV exports also add human-readable `userTag-{pillLabel}-active|inactive` entries on `tags` (see ExportTags). ' items: type: string example: - PEP-active - cc42-active listEntityIds: type: array description: 'IDs of list entities or risk profiles that have generated evidence within the alert ' items: type: string example: listEntity:list_entity-urn:ripjar:ruh-kif-heb-qog policyVersions: type: array description: Policy versions applied when the alert was raised items: type: integer example: - 1 currentStatus: type: object description: Current workflow status of the alert (distinct from `state`) properties: status: type: integer description: Numeric status code example: 100 timestamp: type: integer description: Epoch timestamp in milliseconds when the status was set example: 1781252307365 time: type: object description: Relevant alert timestamps (epoch milliseconds) properties: created: type: integer description: When the alert was created example: 1781252307365 lastUpdated: type: integer description: When the alert last received updated information example: 1781252307446 breached: type: integer description: When the alert transitioned from monitoring to opened example: 1781252307446 lastEvidence: type: integer description: When the last piece of evidence was added to the alert example: 1781252307446 security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions monitoringAlerts: type: array description: 'Alerts in MONITORING state for the imported client, as returned by the alert service filter for the client target (`eoi:{clientId}`). Ordered by `time.created` descending. May be empty when no monitoring alerts exist for the client. ' items: type: object description: 'Alert object returned for the imported client. Fields mirror the alert service filter response for synchronous client import. ' properties: id: type: integer description: Unique identifier for the alert example: 11533 target: type: string description: The target object (client) that encapsulates the activity example: eoi:test-client-Donald-6 name: type: string description: Display name of the alert subject (typically the client name) example: Donald Trump description: type: string description: Brief description of the alert example: alert for Donald Trump namespace: type: string description: Internal namespace for the alert record example: torch clientKey: type: string description: Tenant client key that owns the alert example: delphia726 type: type: integer description: Alert policy type identifier example: 10507 mode: type: string description: Alert scoring mode example: sum state: type: integer description: 'A number representing the overall state of the alert. 0 = Monitoring 1 = Open 2 = Closed 3 = Reopened ' enum: - 0 - 1 - 2 - 3 score: type: integer description: Score of the alert, based on the evidence accrued example: 100 sortKey: type: integer description: Internal sort key used when ordering alerts example: 100 docCount: type: integer description: Total number of evidence items in the alert example: 1 threshold: type: integer description: Threshold value that was breached when the alert opened example: 0 assignedUsers: type: array description: IDs of users assigned to the result, returned when results enrichment is disabled items: type: number example: - 1 assignedGroups: type: array description: Group IDs the alert has been assigned to, where appropriate items: type: number example: [] tags: type: array description: 'Tags associated with the entity for export and integration. Includes policy identifiers, standard risk labels, and—when custom categories apply—entries of the form `userTag-{pillLabel}-active` or `userTag-{pillLabel}-inactive` derived from `cc*` stamps on `riskTags`. Existing tag entries are preserved in their original order; matching `userTag-*` entries are appended on export when custom categories are enabled. There is no separate `customCategories` response property. ' items: type: string example: - policy-20037 - risk-Financial Crime - userTag-Fin Crime-active riskTags: type: array description: 'Risk tags stamped on the entity. Standard watchlist tags use configured prefixes and optional `-active` or `-inactive` suffixes (e.g. `PEP-active`). Custom categories are stamped with the `cc` prefix followed by the category id, optionally suffixed with `-active` or `-inactive` (e.g. `cc42`, `cc42-active`). Custom category values remain on `riskTags`; JSONL and CSV exports also add human-readable `userTag-{pillLabel}-active|inactive` entries on `tags` (see ExportTags). ' items: type: string example: - PEP-active - cc42-active listEntityIds: type: array description: 'IDs of list entities or risk profiles that have generated evidence within the alert ' items: type: string example: listEntity:list_entity-urn:ripjar:ruh-kif-heb-qog policyVersions: type: array description: Policy versions applied when the alert was raised items: type: integer example: - 1 currentStatus: type: object description: Current workflow status of the alert (distinct from `state`) properties: status: type: integer description: Numeric status code example: 100 timestamp: type: integer description: Epoch timestamp in milliseconds when the status was set example: 1781252307365 time: type: object description: Relevant alert timestamps (epoch milliseconds) properties: created: type: integer description: When the alert was created example: 1781252307365 lastUpdated: type: integer description: When the alert last received updated information example: 1781252307446 breached: type: integer description: When the alert transitioned from monitoring to opened example: 1781252307446 lastEvidence: type: integer description: When the last piece of evidence was added to the alert example: 1781252307446 security: type: object description: 'The security attributes applied to this data item. Labyrinth Screening applies Attribute-Based Security (ABAC) to some data items in the system, e.g. clients, alerts and attributes. These data items have security attributes defined that govern which users should have visibility of them. The rules governing this visibility are defined in the system''s security policy. Systems can have different security policies, but the default policy compares the dataRolesN tags of a given user to the orTagsN tags of each data item. For a user to have visibility of a data item, they need to have at least one tag in their dataRolesN tags for each of the corresponding orTagsN tags of the data item. ' properties: enabled: type: boolean default: false orTags1: type: array items: type: string orTags2: type: array items: type: string orTags3: type: array items: type: string andTags1: type: array items: type: string andTags2: type: array items: type: string andTags3: type: array items: type: string notTags1: type: array items: type: string notTags2: type: array items: type: string notTags3: type: array items: type: string compositeTags1: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions compositeTags2: type: array items: type: object description: an object containing a set of security tags that should be considered together when making access control decisions examples: NoAlerts: summary: No alerts for client value: openAlerts: [] monitoringAlerts: [] WithAlerts: summary: Client with existing alerts value: openAlerts: - assignedUsers: [] assignedGroups: [] tags: - context-alerting - policy-10507 - segment-testing1 - businessDivision-Testing Division1 listEntityIds: - listEntity:list_entity-urn:ripjar:ruh-kif-heb-qog state: 1 score: 100 sortKey: 100 docCount: 1 currentStatus: status: 100 timestamp: 1781252307365 time: created: 1781252307365 lastUpdated: 1781252307446 breached: 1781252307446 lastEvidence: 1781252307446 namespace: torch clientKey: delphia726 type: 10507 target: eoi:test-client-Donald-6 name: Donald Trump description: alert for Donald Trump security: {} mode: sum id: 11533 policyVersions: - 1 riskTags: - PEP-active - SIP-active - NEWS-active threshold: 0 monitoringAlerts: [] '400': description: 'Bad request (for example, missing `clientId`, invalid JSON body, or validation failure). ' content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable '401': description: Unauthorized content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable '403': description: Forbidden (for example, the user does not have the BulkCreateClient permission) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable '429': description: 'Rate limit exceeded. The request has been rejected because the rate limit has been exceeded. See the response headers below for details: - `RateLimit` - Current usage information - `RateLimit-Policy` - The applicable rate limit policy Please contact support if these rate limit quotas are inappropriate for your usage. ' headers: RateLimit: description: "Current usage information of the concurrent rate limit, \nstandard RateLimit headers in accordance with the 8th draft of the IETF rate limit header specification\nhttps://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-08\n\n**Examples:**\n- Concurrent rate limit: `\"concurrentRateLimit\"; r=99; t=2836`\n- Periodic rate limit: `\"periodicRateLimit\"; r=9999998; t=3595`\n" schema: type: string examples: concurrentRateLimit: value: '"concurrentRateLimit"; r=99; t=2836' summary: Concurrent rate limit periodicRateLimit: value: '"periodicRateLimit"; r=9999998; t=3595' summary: Periodic rate limit RateLimit-Policy: description: "Screening has 2 Rate limiting policies\n\n- Periodic request limit, a limit of x requests within a given time bucket\n - Identified with the policy name of 'periodicRateLimit'\n - Applies globally to all API requests\n \n- Concurrent request limit, a limit of x concurrently running requests\n - Identified with the policy name of 'concurrentRateLimit'\n - Applies to a subset of potentially long running requests\n - Only counts against actively running requests\n\nHeader policy implements the following spec \nhttps://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-08\n\n**Examples:**\n- Concurrent rate limit policy: `\"concurrentRateLimit\"; q=1000000; w=3600; pk=:MmRhYjNjNTRmMzdm:`\n- Periodic rate limit policy: `\"periodicRateLimit\"; q=10000000; w=3600; pk=:Yjc2YzM2NWE5MTg4:`\n\nPlease contact support if these rate limit quotas are inappropriate for your usage.\n" schema: type: string examples: concurrentRateLimitPolicy: value: '"concurrentRateLimit"; q=1000000; w=3600; pk=:MmRhYjNjNTRmMzdm:' summary: Concurrent rate limit policy periodicRateLimitPolicy: value: '"periodicRateLimit"; q=10000000; w=3600; pk=:Yjc2YzM2NWE5MTg4:' summary: Periodic rate limit policy Retry-After: description: Indicates when the limit resets, only applies to 'Periodic rate limit' policy schema: type: integer content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code example: code: RATE_LIMIT_EXCEEDED message: Rate limit exceeded status: 429 '500': description: 'Internal server error, or the import job entered an `ERRORED` state during processing. ' content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable /client/import/reload: post: operationId: clientReload summary: Reload clients description: 'Reloads all clients in the system ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes, and a global concurrent request limit of 5 simultaneous requests per customer. ' tags: - Client Import responses: '200': description: A successful client reload operation content: application/json: schema: type: object properties: createdJobs: description: The unique identifiers of the created jobs type: array items: type: number reloadedClients: description: The total number of clients reloaded type: number example: createdJobs: - 87 - 88 - 89 - 90 - 91 - 92 reloadedClients: 100088 '401': description: Unauthorized '403': description: Forbidden (e.g. the user does not have the correct permission) '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code /client/import/search: get: operationId: clientImportSearch summary: Search client import jobs description: 'An endpoint used to search client import jobs ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' tags: - Client Import parameters: - name: id description: The ID of a client job to search for. This parameter can be specified multiple times to retrieve multiple import jobs. in: query required: false schema: type: integer - name: jobname description: The partial name of a job to search for. Strings will be matched from the beginning of the job name. For example, searching for "Bulk Client" will return "Bulk Client Job", but not "Job for Bulk Clients Load" in: query required: false schema: type: string - name: sort description: The sort order of the results. in: query required: false schema: type: integer default: -1 enum: - 1 - -1 - name: limit description: The maximum number of results to retrieve. in: query required: false schema: type: integer - name: skip description: The number of entries to skip before retrieving results. in: query required: false schema: type: integer default: 0 responses: '200': description: The results of the searched job content: application/json: schema: description: The status of all client import jobs type: array items: type: object description: The status of a client import job. properties: id: type: integer description: Unique identifier for the job timeCreated: type: integer description: Unix timestamp for when the content was created timeStaged: type: integer description: Unix timestamp for when the content was staged state: type: string description: State of the job enum: - STAGING - STAGED - IMPORTED - COMPLETE - ERRORED itemsFailed: type: integer description: Number of items that failed itemsUploaded: type: integer description: Number of items that were uploaded relationshipsUploaded: type: integer description: Number of relationships that were uploaded itemsStaged: type: integer description: Number of items that were staged itemsFailedStaging: type: integer description: Number of items that failed staging relationshipsAdded: type: integer description: Number of relationships that were added relationshipsFailed: type: integer description: Number of relationships that failed itemsImported: type: integer description: Number of items that were imported itemsFailedImporting: type: integer description: Number of items that failed importing itemsForAssessment: type: integer description: Number of items for assessment itemsAssessed: type: integer description: Number of items assessed itemsFailedAssessment: type: integer description: Number of items that failed assessment name: type: string description: Name of the job removeInvalidRelationships: type: boolean description: Whether to remove invalid relationships validate: type: boolean description: Whether to validate clientKey: type: string description: Client key for multi-tenant systems lastUpdated: type: integer description: Unix timestamp for when the job was last updated validationWarnings: type: integer description: Number of validation warnings '400': description: Bad request (e.g. the skip parameter is not a number) '401': description: Unauthorized '403': description: Forbidden (e.g. the user does not have the correct permission) '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code /client/import/{job_id}: get: operationId: clientImportJobGet summary: Get a job by ID description: 'This endpoint fetches a client import job by ID ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' tags: - Client Import parameters: - in: path name: job_id required: true description: ID of the job to fetch schema: type: integer responses: '200': description: Job retrieved successfully content: application/json: schema: type: object description: The status of a client import job. properties: id: type: integer description: Unique identifier for the job timeCreated: type: integer description: Unix timestamp for when the content was created timeStaged: type: integer description: Unix timestamp for when the content was staged state: type: string description: State of the job enum: - STAGING - STAGED - IMPORTED - COMPLETE - ERRORED itemsFailed: type: integer description: Number of items that failed itemsUploaded: type: integer description: Number of items that were uploaded relationshipsUploaded: type: integer description: Number of relationships that were uploaded itemsStaged: type: integer description: Number of items that were staged itemsFailedStaging: type: integer description: Number of items that failed staging relationshipsAdded: type: integer description: Number of relationships that were added relationshipsFailed: type: integer description: Number of relationships that failed itemsImported: type: integer description: Number of items that were imported itemsFailedImporting: type: integer description: Number of items that failed importing itemsForAssessment: type: integer description: Number of items for assessment itemsAssessed: type: integer description: Number of items assessed itemsFailedAssessment: type: integer description: Number of items that failed assessment name: type: string description: Name of the job removeInvalidRelationships: type: boolean description: Whether to remove invalid relationships validate: type: boolean description: Whether to validate clientKey: type: string description: Client key for multi-tenant systems lastUpdated: type: integer description: Unix timestamp for when the job was last updated validationWarnings: type: integer description: Number of validation warnings '404': description: Job not found default: description: Unexpected error content: application/json: schema: type: object properties: message: type: string /client/import/{job_id}/report: get: operationId: clientImportJobReport tags: - Client Import summary: Get a report for a client import job description: 'Fetches a client import job report based on the given ID and optional parameters, detailing errors for that job" ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' parameters: - name: job_id in: path description: Client import job ID required: true schema: type: integer - name: from in: query description: Starting point for pagination required: false schema: type: integer default: 0 - name: size in: query description: Size for pagination required: false schema: type: integer default: 100 - name: Accept in: header description: Expected output format (application/json or text/csv) required: false schema: type: string enum: - text/csv responses: '200': description: Successful operation content: application/json: schema: type: array items: type: object properties: type: type: string message: type: string code: type: integer description: 'An error code indicating the nature of the error: * 1 : Invalid client relationship * 2 : Invalid JSON * 3 : Missing attribute * 4 : Failed to stage the client * 5 : Invalid attribute specified on the client * 6 : Invalid data format (JSON/CSV) * 7 : Client failed during assessment * 100 : Unexpected exception ' details: type: object properties: clientId: type: string from: type: string to: type: string missingClientId: type: string lineNumber: type: integer example: 1 additionalInformation: type: string example: Missing required 'objectType' attribute lineContent: type: string example: '{"profileId":"another-id-007","name":"John Smith",...}' text/csv: schema: type: string headers: Content-Disposition: schema: type: string description: File attachment header, indicating the filename and attachment nature of the file. '400': description: Bad request '500': description: Internal server error /client/import/{job_id}/report/stream: get: operationId: clientImportReportStream tags: - Client Import summary: Stream a report for a client import job description: 'Streams a client import job report based on the given ID and optional parameters, detailing errors for that job" ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' parameters: - name: job_id in: path description: Client import job ID required: true schema: type: integer - name: Accept in: header description: Expected output format (application/json or text/csv) required: false schema: type: string enum: - text/csv responses: '200': description: Successful operation content: application/json: schema: type: array items: type: object properties: type: type: string message: type: string code: type: integer description: 'An error code indicating the nature of the error: * 1 : Invalid client relationship * 2 : Invalid JSON * 3 : Missing attribute * 4 : Failed to stage the client * 5 : Invalid attribute specified on the client * 6 : Invalid data format (JSON/CSV) * 7 : Client failed during assessment * 100 : Unexpected exception ' details: type: object properties: clientId: type: string from: type: string to: type: string missingClientId: type: string lineNumber: type: integer example: 1 additionalInformation: type: string example: Missing required 'objectType' attribute lineContent: type: string example: '{"profileId":"another-id-007","name":"John Smith",...}' text/csv: schema: type: string headers: Content-Disposition: schema: type: string description: File attachment header, indicating the filename and attachment nature of the file. '400': description: Bad request '500': description: Internal server error /client/import/{job_id}/status: get: summary: Client import job status description: 'Retrieve the status of a given client import job. ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' operationId: clientImportJobStatus tags: - Client Import parameters: - name: job_id in: path required: true schema: type: number description: The ID of the client import job. responses: '200': description: The status of the client import job. content: application/json: schema: type: object description: The status of a client import job. properties: id: type: integer description: Unique identifier for the job timeCreated: type: integer description: Unix timestamp for when the content was created timeStaged: type: integer description: Unix timestamp for when the content was staged state: type: string description: State of the job enum: - STAGING - STAGED - IMPORTED - COMPLETE - ERRORED itemsFailed: type: integer description: Number of items that failed itemsUploaded: type: integer description: Number of items that were uploaded relationshipsUploaded: type: integer description: Number of relationships that were uploaded itemsStaged: type: integer description: Number of items that were staged itemsFailedStaging: type: integer description: Number of items that failed staging relationshipsAdded: type: integer description: Number of relationships that were added relationshipsFailed: type: integer description: Number of relationships that failed itemsImported: type: integer description: Number of items that were imported itemsFailedImporting: type: integer description: Number of items that failed importing itemsForAssessment: type: integer description: Number of items for assessment itemsAssessed: type: integer description: Number of items assessed itemsFailedAssessment: type: integer description: Number of items that failed assessment name: type: string description: Name of the job removeInvalidRelationships: type: boolean description: Whether to remove invalid relationships validate: type: boolean description: Whether to validate clientKey: type: string description: Client key for multi-tenant systems lastUpdated: type: integer description: Unix timestamp for when the job was last updated validationWarnings: type: integer description: Number of validation warnings '401': description: Unauthorized content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '403': description: Forbidden (e.g. the user does not have the correct permission) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '404': description: Not Found - the specified client import job does not exist. content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code /client/import/{job_id}/errors: get: summary: Client import job errors description: 'Retrieve the errors associated with a given client import job. Results are returned in pages, defined using the `from` and `to` query parameters. ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' operationId: clientImportJobErrors tags: - Client Import parameters: - name: job_id in: path required: true schema: type: number description: The ID of the client import job. - name: from in: query required: false schema: type: number default: 0 description: The index of the error to start from. - name: to in: query required: false schema: type: number default: 100 description: The index of the error to end with. responses: '200': description: The details of any errors or warnings associated with the client import job. content: application/json: schema: type: object properties: total: type: integer errors: type: array items: type: object properties: type: type: string message: type: string code: type: integer description: 'An error code indicating the nature of the error: * 1 : Invalid client relationship * 2 : Invalid JSON * 3 : Missing attribute * 4 : Failed to stage the client * 5 : Invalid attribute specified on the client * 6 : Invalid data format (JSON/CSV) * 7 : Client failed during assessment * 100 : Unexpected exception ' details: type: object properties: clientId: type: string from: type: string to: type: string missingClientId: type: string lineNumber: type: integer example: 1 additionalInformation: type: string example: Missing required 'objectType' attribute lineContent: type: string example: '{"profileId":"another-id-007","name":"John Smith",...}' '401': description: Unauthorized content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '403': description: Forbidden (e.g. the user does not have the correct permission) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '404': description: Not Found - the specified client import job does not exist. content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code /client/import/{job_id}/errors/stream: get: summary: Client import job errors stream description: 'Retrieve the errors associated with a given client import job as a stream. ### Rate Limits This endpoint is subject to a general rate limit of 10,000 requests per user per 15 minutes. ' operationId: clientImportJobErrorsStream tags: - Client Import parameters: - name: job_id in: path required: true schema: type: number description: The ID of the client import job. responses: '200': description: The details of any errors or warnings associated with the client import job as a stream of line-delimited json records. Each line is a single JSON record that conforms to the schema. content: application/json: schema: type: object properties: type: type: string message: type: string code: type: integer description: 'An error code indicating the nature of the error: * 1 : Invalid client relationship * 2 : Invalid JSON * 3 : Missing attribute * 4 : Failed to stage the client * 5 : Invalid attribute specified on the client * 6 : Invalid data format (JSON/CSV) * 7 : Client failed during assessment * 100 : Unexpected exception ' details: type: object properties: clientId: type: string from: type: string to: type: string missingClientId: type: string lineNumber: type: integer example: 1 additionalInformation: type: string example: Missing required 'objectType' attribute lineContent: type: string example: '{"profileId":"another-id-007","name":"John Smith",...}' examples: AssessmentError: value: type: ERROR code: 7 message: details: clientId: example-client DuplicateClient: value: type: ERROR message: Duplicate Client code: 4 details: clientId: example-client InvalidClient: value: type: ERROR message: Invalid attribute specified on the client code: 5 details: clientId: example-client InvalidRelationship: value: type: WARNING message: Invalid client relationship code: 1 details: clientId: '1' from: '1' to: '100' missingClientId: '100' MalformedRelationship: value: type: ERROR code: 2 message: 'SyntaxError: Unexpected token ,' details: lineNumber: 7 additionalInformation: '{ clientId }' UnexpectedError: value: type: ERROR code: 500 message: Internal Server Error details: clientId: example-client additionalInformation: 'Error invoking EOI service: Service unavailable' '401': description: Unauthorized content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '403': description: Forbidden (e.g. the user does not have the correct permission) content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '404': description: Not Found - the specified client import job does not exist. content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code '500': description: Internal server error content: application/json: schema: type: object required: - code - message properties: code: type: string description: Error code that can be used when contacting support or looking up information message: type: string description: Human-readable description of the error, which will usually indicate possible next steps if applicable status: type: number description: HTTP Error code components: securitySchemes: jwt: type: http scheme: bearer bearerFormat: JWT description: JWT authentication is the preferred authentication method, and should be used for new integrations. Contact support to request a service account. basicAuth: type: http scheme: basic description: Basic authentication is supported for existing users, but is deprecated. Existing users are encouraged to contact support for a dedicated service account and switch to JWT authentication.