openapi: 3.2.0
info:
title: iDenfy IVS Core AML Monitorings API
version: 0.0.0
description: iDenfy Identity Verification Service's Core API documentation.
contact:
name: API Support
url: https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1
x-logo:
url: /static/idenfy_logo.svg
altText: iDenfy logo
servers:
- url: https://ivs.idenfy.com
tags:
- name: AML Monitorings
description: Anti-money laundering monitoring endpoints.
paths:
/aml/monitorings/:
get:
operationId: amlMonitoringsList
summary: List AML monitorings
parameters:
- in: query
name: country
schema:
type: string
maxLength: 2
description: 2-letter country code.
- in: query
name: created
schema:
type: array
items:
type: string
format: date-time
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: expiration
schema:
type: array
items:
type: string
format: date-time
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: isExpired
schema:
type: boolean
- in: query
name: name
schema:
type: string
- in: query
name: orderBy
schema:
type: array
items:
type: string
enum:
- -created
- -expiration
- created
- expiration
description: Ordering
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: perPage
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: status
schema:
type: string
enum:
- ACTIVE
- ALERT
- PENDING
- STOPPED
- in: query
name: tags
schema:
type: array
items:
type: array
items:
type: string
minLength: 1
explode: false
style: form
- in: query
name: userType
schema:
type: string
enum:
- COMPANY
- PERSON
tags:
- AML Monitorings
security:
- apiKeyPair: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAmlMonitoringListList'
description: ''
post:
operationId: amlMonitoringsCreate
summary: Create AML monitoring
tags:
- AML Monitorings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoringRequest'
required: true
security:
- apiKeyPair: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoring'
description: ''
/aml/monitorings/{id}/:
get:
operationId: amlMonitoringsRetrieve
summary: Retrieve AML monitoring
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
tags:
- AML Monitorings
security:
- apiKeyPair: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoring'
description: ''
patch:
operationId: amlMonitoringsPartialUpdate
summary: Partially update AML monitoring
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
tags:
- AML Monitorings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAmlMonitoringUpdateRequest'
security:
- apiKeyPair: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoring'
description: ''
delete:
operationId: amlMonitoringsDestroy
summary: Delete AML monitoring
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
tags:
- AML Monitorings
security:
- apiKeyPair: []
responses:
'204':
description: No response body
/aml/monitorings/{id}/{action}/:
post:
operationId: amlMonitoringsStartStopCreate
summary: Start/Stop AML monitoring
parameters:
- in: path
name: action
schema:
type: string
enum:
- start
- stop
required: true
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
tags:
- AML Monitorings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoringStartStopRequest'
security:
- apiKeyPair: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoring'
description: ''
/aml/monitorings/{id}/pdf/:
post:
operationId: amlMonitoringsPdfCreate
summary: Generate AML Monitoring PDF
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
tags:
- AML Monitorings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AmlMonitoringPdfRequest'
security:
- apiKeyPair: []
responses:
'200':
content:
application/pdf:
schema:
type: string
format: binary
description: ''
/aml/monitorings/{id}/profiles/{profileId}/:
delete:
operationId: amlMonitoringsProfilesDestroy
summary: Delete AML check profile
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this AML monitoring.
required: true
- in: path
name: profileId
schema:
type: string
description: '`resourceId` from AML database search result.'
required: true
tags:
- AML Monitorings
security:
- apiKeyPair: []
responses:
'204':
description: No response body
components:
schemas:
BusinessSearchDatasetEnum:
enum:
- PEP
- PEP_LINKED
- SAN
- SAN_CURRENT
- SAN_FORMER
- INS
- RRE
- POI
- REL
- SOE
- SOE_CURRENT
- SOE_FORMER
type: string
CountryEnum:
enum:
- AF
- AX
- AL
- DZ
- AS
- AD
- AO
- AI
- AQ
- AG
- AR
- AM
- AW
- AU
- AT
- AZ
- BS
- BH
- BD
- BB
- BY
- BE
- BZ
- BJ
- BM
- BT
- BO
- BQ
- BA
- BW
- BV
- BR
- IO
- BN
- BG
- BF
- BI
- CV
- KH
- CM
- CA
- KY
- CF
- TD
- CL
- CN
- CX
- CC
- CO
- KM
- CG
- CK
- CR
- CI
- HR
- CU
- CW
- CY
- CZ
- CD
- DK
- DJ
- DM
- DO
- EC
- EG
- SV
- GQ
- ER
- EE
- SZ
- ET
- FK
- FO
- FJ
- FI
- FR
- GF
- PF
- TF
- GA
- GM
- GE
- DE
- GH
- GI
- GR
- GL
- GD
- GP
- GU
- GT
- GG
- GN
- GW
- GY
- HT
- HM
- HN
- HK
- HU
- IS
- IN
- ID
- IR
- IQ
- IE
- IM
- IL
- IT
- JM
- JP
- JE
- JO
- KZ
- KE
- KI
- XK
- KW
- KG
- LA
- LV
- LB
- LS
- LR
- LY
- LI
- LT
- LU
- MO
- MG
- MW
- MY
- MV
- ML
- MT
- MH
- MQ
- MR
- MU
- YT
- MX
- FM
- MD
- MC
- MN
- ME
- MS
- MA
- MZ
- MM
- NA
- NR
- NP
- NL
- NC
- NZ
- NI
- NE
- NG
- NU
- NF
- KP
- MK
- MP
- 'NO'
- OM
- PK
- PW
- PS
- PA
- PG
- PY
- PE
- PH
- PN
- PL
- PT
- PR
- QA
- RE
- RO
- RU
- RW
- BL
- SH
- KN
- LC
- MF
- PM
- VC
- WS
- SM
- ST
- SA
- SN
- RS
- SC
- SL
- SG
- SX
- SK
- SI
- SB
- SO
- ZA
- GS
- KR
- SS
- ES
- LK
- SD
- SR
- SJ
- SE
- CH
- SY
- TW
- TJ
- TZ
- TH
- TL
- TG
- TK
- TO
- TT
- TN
- TR
- TM
- TC
- TV
- UG
- UA
- AE
- GB
- UM
- US
- UY
- UZ
- VU
- VA
- VE
- VN
- VG
- VI
- WF
- EH
- YE
- ZM
- ZW
type: string
PersonAmlCheckFilter:
type: object
properties:
threshold:
type: integer
maximum: 100
minimum: 75
nullable: true
default: 85
datasets:
type: array
items:
$ref: '#/components/schemas/PersonAmlCheckFilterDatasetsEnum'
description: Required. Specifies which screening datasets to include in the check.
sanctionBodies:
type: array
items:
type: integer
maximum: 80
minimum: 1
nullable: true
description: When searching `SAN` dataset, specify the values of sanctioning bodies that should be included when screening `SAN` dataset. The full list of supported sanction bodies and their values are provided by the API info endpoint. If none sanction bodies are provided the system will search sanctions issued by any sanctioning body.
dateOfBirthMatching:
allOf:
- $ref: '#/components/schemas/DateOfBirthMatchingEnum'
nullable: true
default: EXACT
pepTiers:
type: array
items:
$ref: '#/components/schemas/PepTierEnum'
nullable: true
AmlMonitoring:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
isSubscribed:
type: boolean
description: Should the expiration of this AML monitoring be automatically extended or not.
status:
allOf:
- $ref: '#/components/schemas/MonitoringStatusEnum'
readOnly: true
expiration:
type: string
format: date-time
readOnly: true
created:
type: string
format: date-time
readOnly: true
amlCheck:
$ref: '#/components/schemas/AmlMonitoringAmlCheck'
tags:
type: array
items:
type: string
maxLength: 32
pattern: ^[^,]+$
default: []
description: List of case-sensitive strings. Each tag can not be longer than 32 characters.
maxItems: 5
required:
- amlCheck
- created
- expiration
- id
- isSubscribed
- status
CompanyAmlCheckFilter:
type: object
properties:
threshold:
type: integer
maximum: 100
minimum: 75
nullable: true
default: 85
datasets:
type: array
items:
$ref: '#/components/schemas/CompanyAmlCheckFilterDatasetsEnum'
description: Required. Specifies which screening datasets to include in the check.
sanctionBodies:
type: array
items:
type: integer
maximum: 80
minimum: 1
nullable: true
description: When searching `SAN` dataset, specify the values of sanctioning bodies that should be included when screening `SAN` dataset. The full list of supported sanction bodies and their values are provided by the API info endpoint. If none sanction bodies are provided the system will search sanctions issued by any sanctioning body.
AmlMonitoringAmlCheckRequest:
oneOf:
- $ref: '#/components/schemas/AmlMonitoringPersonAmlCheckRequest'
- $ref: '#/components/schemas/AmlMonitoringCompanyAmlCheckRequest'
discriminator:
propertyName: userType
mapping:
PERSON: '#/components/schemas/AmlMonitoringPersonAmlCheckRequest'
COMPANY: '#/components/schemas/AmlMonitoringCompanyAmlCheckRequest'
AmlMonitoringPdfRequest:
type: object
properties:
password:
type: string
minLength: 1
AmlMonitoringAmlCheck:
oneOf:
- $ref: '#/components/schemas/AmlMonitoringPersonAmlCheck'
- $ref: '#/components/schemas/AmlMonitoringCompanyAmlCheck'
discriminator:
propertyName: userType
mapping:
PERSON: '#/components/schemas/AmlMonitoringPersonAmlCheck'
COMPANY: '#/components/schemas/AmlMonitoringCompanyAmlCheck'
MonitoringStatusEnum:
enum:
- ACTIVE
- STOPPED
- PENDING
- ALERT
type: string
CompanyAmlCheckFilterDatasetsEnum:
enum:
- PEP_LINKED
- SAN_CURRENT
- SAN_FORMER
- INS
- RRE
- POI
- REL
- SOE_CURRENT
- SOE_FORMER
type: string
IndividualDatasetEnum:
enum:
- PEP_CURRENT
- PEP_FORMER
- PEP_LINKED
- SAN_CURRENT
- SAN_FORMER
- INS
- RRE
- DD
- POI
- REL
- GRI
type: string
PersonAmlCheckInputRequest:
type: object
properties:
fullName:
type: string
minLength: 1
maxLength: 200
nationality:
allOf:
- $ref: '#/components/schemas/CountryEnum'
nullable: true
dateOfBirth:
type: string
format: date
nullable: true
sex:
allOf:
- $ref: '#/components/schemas/MainSexEnum'
nullable: true
required:
- fullName
AmlMonitoringPersonAmlCheck:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
clientId:
type: string
description: A unique string identifying a client on your side.
maxLength: 100
checkedAt:
type: string
format: date-time
readOnly: true
nullable: true
created:
type: string
format: date-time
readOnly: true
userType:
$ref: '#/components/schemas/UserMonitoringTypeEnum'
input:
$ref: '#/components/schemas/PersonAmlCheckInput'
filter:
allOf:
- $ref: '#/components/schemas/PersonAmlCheckFilter'
readOnly: true
amlCheck:
type: array
items:
$ref: '#/components/schemas/IndividualSearchResult'
readOnly: true
nullable: true
description: AML database search result.
adverseMedia:
type: array
items:
$ref: '#/components/schemas/AdverseMediaSearchResult'
readOnly: true
nullable: true
description: Adverse media database search result.
overallStatus:
allOf:
- $ref: '#/components/schemas/AmlCheckStatusEnum'
readOnly: true
required:
- adverseMedia
- amlCheck
- checkedAt
- clientId
- created
- filter
- id
- input
- overallStatus
- userType
AmlMonitoringCompanyAmlCheck:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
clientId:
type: string
description: A unique string identifying a client on your side.
maxLength: 100
checkedAt:
type: string
format: date-time
readOnly: true
nullable: true
created:
type: string
format: date-time
readOnly: true
userType:
$ref: '#/components/schemas/UserMonitoringTypeEnum'
input:
$ref: '#/components/schemas/CompanyAmlCheckInput'
filter:
allOf:
- $ref: '#/components/schemas/CompanyAmlCheckFilter'
readOnly: true
amlCheck:
type: array
items:
$ref: '#/components/schemas/BusinessSearchResult'
readOnly: true
nullable: true
description: AML database search result.
adverseMedia:
type: array
items:
$ref: '#/components/schemas/AdverseMediaSearchResult'
readOnly: true
nullable: true
description: Adverse media database search result.
overallStatus:
allOf:
- $ref: '#/components/schemas/AmlCheckStatusEnum'
readOnly: true
required:
- adverseMedia
- amlCheck
- checkedAt
- clientId
- created
- filter
- id
- input
- overallStatus
- userType
CompanyAmlCheckInputRequest:
type: object
properties:
companyName:
type: string
minLength: 1
maxLength: 200
country:
allOf:
- $ref: '#/components/schemas/CountryEnum'
nullable: true
required:
- companyName
AmlMonitoringCompanyAmlCheckRequest:
type: object
properties:
clientId:
type: string
minLength: 1
description: A unique string identifying a client on your side.
maxLength: 100
userType:
$ref: '#/components/schemas/UserMonitoringTypeEnum'
input:
$ref: '#/components/schemas/CompanyAmlCheckInputRequest'
required:
- clientId
- input
- userType
IndividualSearchResult:
type: object
properties:
version:
type: integer
description: The version number can be used by clients to detect when a profile has changed.
resourceId:
type: string
description: The resource ID can be used to retrieve the full profile or the PDF of the Individual.
score:
type: integer
description: The match score of the profile.
match:
type: string
description: The name of the profile that has been matched in the search.
name:
type: string
description: The primary name of the profile.
addresses:
type: array
items:
$ref: '#/components/schemas/SearchAddress'
description: The list of profile addresses and nationalities.
nationalities:
type: array
items:
$ref: '#/components/schemas/CountryEnum'
description: List of the individual's nationalities.
datesOfBirth:
type: array
items:
type: string
description: Date in either YYYY-MM-DD or YYYY-MM or YYYY ISO format.
gender:
allOf:
- $ref: '#/components/schemas/MainSexEnum'
description: Gender (for individuals), if known.
profileImage:
type: string
description: The primary profile image.
datasets:
type: array
items:
$ref: '#/components/schemas/IndividualDatasetEnum'
description: "The profile datasets\n * PEP_CURRENT - Only current PEPs\n * PEP_FORMER - Only former PEPs\n * PEP_LINKED - Only linked PEPs (PEP by Association)\n * SAN_CURRENT - Only current Sanctions\n * SAN_FORMER - Only former Sanctions\n * INS - Insolvency\n * RRE - Reputational Risk Exposure\n * DD - Disqualified Director\n * POI - Profile Of Interest\n * REL - Regulatory Enforcement List\n * GRI - Gambling Risk Intelligence.\n"
currentSanBodyIds:
type: array
items:
type: integer
description: The list of IDs of all sanctioning bodies, that are currently sanctioning the given profile. The full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies endpoint.
formerSanBodyIds:
type: array
items:
type: integer
description: The list of IDs of all sanctioning bodies, that were sanctioning the given profile in the past, but do not currently sanction them. The full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies endpoint.
pepTier:
allOf:
- $ref: '#/components/schemas/PepTierEnum'
description: Defines the PEP tier of the individual. Where PEP Tier 1 indicates senior roles, PEP Tier 2 - middle-ranking, and PEP Tier 3 - junior officials.
required:
- addresses
- currentSanBodyIds
- datasets
- datesOfBirth
- formerSanBodyIds
- match
- name
- nationalities
- resourceId
- score
PepTierEnum:
enum:
- PEP_TIER_1
- PEP_TIER_2
- PEP_TIER_3
type: string
AmlMonitoringPersonAmlCheckRequest:
type: object
properties:
clientId:
type: string
minLength: 1
description: A unique string identifying a client on your side.
maxLength: 100
userType:
$ref: '#/components/schemas/UserMonitoringTypeEnum'
input:
$ref: '#/components/schemas/PersonAmlCheckInputRequest'
required:
- clientId
- input
- userType
PersonAmlCheckInput:
type: object
properties:
fullName:
type: string
maxLength: 200
nationality:
allOf:
- $ref: '#/components/schemas/CountryEnum'
nullable: true
dateOfBirth:
type: string
format: date
nullable: true
sex:
allOf:
- $ref: '#/components/schemas/MainSexEnum'
nullable: true
required:
- fullName
MainSexEnum:
enum:
- MALE
- FEMALE
type: string
PatchedAmlMonitoringUpdateRequest:
type: object
properties:
isSubscribed:
type: boolean
description: Should the expiration of this AML monitoring be automatically extended or not.
tags:
type: array
items:
type: string
minLength: 1
maxLength: 32
pattern: ^[^,]+$
default: []
description: List of case-sensitive strings. Each tag can not be longer than 32 characters.
maxItems: 5
AmlMonitoringList:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
name:
type: string
maxLength: 100
status:
$ref: '#/components/schemas/MonitoringStatusEnum'
userType:
$ref: '#/components/schemas/UserMonitoringTypeEnum'
isSubscribed:
type: boolean
checkedAt:
type: string
format: date-time
expiration:
type: string
format: date-time
tags:
type: array
items:
type: string
maxLength: 32
pattern: ^[^,]+$
default: []
description: List of case-sensitive strings. Each tag can not be longer than 32 characters.
maxItems: 5
created:
type: string
format: date-time
readOnly: true
required:
- checkedAt
- created
- id
- name
- userType
PersonAmlCheckFilterDatasetsEnum:
enum:
- PEP_CURRENT
- PEP_FORMER
- PEP_LINKED
- SAN_CURRENT
- SAN_FORMER
- INS
- RRE
- DD
- POI
- REL
type: string
AmlMonitoringStartStopRequest:
type: object
properties:
comment:
type: string
writeOnly: true
minLength: 1
maxLength: 10000
AmlMonitoringRequest:
type: object
properties:
isSubscribed:
type: boolean
description: Should the expiration of this AML monitoring be automatically extended or not.
amlCheck:
$ref: '#/components/schemas/AmlMonitoringAmlCheckRequest'
tags:
type: array
items:
type: string
minLength: 1
maxLength: 32
pattern: ^[^,]+$
default: []
description: List of case-sensitive strings. Each tag can not be longer than 32 characters.
maxItems: 5
required:
- amlCheck
- isSubscribed
AdverseMediaSearchResult:
type: object
properties:
title:
type: string
nullable: true
url:
type: string
format: uri
text:
type: string
nullable: true
score:
type: integer
nullable: true
type:
allOf:
- $ref: '#/components/schemas/AmlArticleTypeEnum'
nullable: true
publishDate:
type: string
format: date
nullable: true
required:
- publishDate
- score
- text
- title
- type
- url
CompanyAmlCheckInput:
type: object
properties:
companyName:
type: string
maxLength: 200
country:
allOf:
- $ref: '#/components/schemas/CountryEnum'
nullable: true
required:
- companyName
PaginatedAmlMonitoringListList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/AmlMonitoringList'
UserMonitoringTypeEnum:
enum:
- COMPANY
- PERSON
type: string
SearchAddress:
type: object
properties:
geography:
type: string
description: An upper-case two-letter ISO-3166-2 code of a country or dependent territory of the profile address or profile nationality.
city:
type: string
description: The city name of the profile address.
required:
- geography
BusinessSearchResult:
type: object
properties:
version:
type: integer
description: The version number can be used by clients to detect when a profile has been changed by our research team.
resourceId:
type: string
description: The resource ID can be used to retrieve the full profile or the PDF of the business.
score:
type: integer
description: The match score of the profile.
match:
type: string
description: The name of the profile that has been matched in the search.
name:
type: string
description: The primary name of the profile.
addresses:
type: array
items:
$ref: '#/components/schemas/SearchAddress'
description: The list of profile addresses.
datasets:
type: array
items:
$ref: '#/components/schemas/BusinessSearchDatasetEnum'
description: "The profile datasets\n * PEP - (Deprecated - ignore)\n * PEP_LINKED - Only linked PEPs (PEP by Association)\n * SAN - (Deprecated - ignore)\n * SAN_CURRENT - Only current Sanctions\n * SAN_FORMER - Only former Sanctions\n * INS - Insolvency\n * RRE - Reputational Risk Exposure\n * POI - Profile Of Interest\n * REL - Regulatory Enforcement List\n * SOE - (Deprecated - ignore)\n * SOE_CURRENT - Only current SOE\n * SOE_FORMER - Only former SOE.\n"
currentSanBodyIds:
type: array
items:
type: integer
description: The list of IDs of all sanctioning bodies, that are currently sanctioning the given profile. The full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies endpoint.
formerSanBodyIds:
type: array
items:
type: integer
description: The list of IDs of all sanctioning bodies, that were sanctioning the given profile in the past, but do not currently sanction them. The full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies endpoint.
required:
- addresses
- currentSanBodyIds
- datasets
- formerSanBodyIds
- match
- name
- resourceId
- score
DateOfBirthMatchingEnum:
enum:
- EXACT
- SAME_YEAR
- WITHIN_ONE_YEAR
- WITHIN_TWO_YEARS
- WITHIN_THREE_YEARS
- WITHIN_FOUR_YEARS
- WITHIN_FIVE_YEARS
type: string
AmlCheckStatusEnum:
enum:
- NOT_CHECKED
- NO_FLAGS
- FALSE_POSITIVE
- TRUE_POSITIVE
- FLAGS_FOUND
type: string
AmlArticleTypeEnum:
enum:
- NEGATIVE
type: string
securitySchemes:
apiKeyPair:
type: http
scheme: basic
description: 'The request must contain basic auth headers where username is *API key* and password is *API secret*.
In order for you to start using our API you will need an **API key** and **API secret**.
Both can be retrieved by contacting *iDenfy''s support* or *iDenfy''s sales team*.'
externalDocs:
description: For other/more docs on iDenfy services visit our main documentation page.
url: https://documentation.idenfy.com
x-tagGroups:
- name: AML
tags:
- AML Checks
- AML Monitorings