iDenfy AML Screening and Monitoring API

Screens people and companies against sanctions lists, politically exposed persons and adverse media, as a one-time check or as ongoing monitoring that raises an alert when a new match appears. Carries two generations at once: v3 status values alongside the legacy v2 alertStatus in every webhook payload.

Operations 12

POST /aml/checks/ Create AML check #
POST /aml/checks/{id}/pdf/ Generate AML check PDF #
GET /aml/checks/{id}/profiles/{profileId}/ Retrieve AML check profile #
POST /aml/checks/{id}/profiles/{profileId}/pdf/ Generate AML check profile PDF #
GET /aml/monitorings/ List AML monitorings #
POST /aml/monitorings/ Create AML monitoring #
GET /aml/monitorings/{id}/ Retrieve AML monitoring #
PATCH /aml/monitorings/{id}/ Partially update AML monitoring #
DELETE /aml/monitorings/{id}/ Delete AML monitoring #
POST /aml/monitorings/{id}/{action}/ Start/Stop AML monitoring #
POST /aml/monitorings/{id}/pdf/ Generate AML Monitoring PDF #
DELETE /aml/monitorings/{id}/profiles/{profileId}/ Delete AML check profile #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/idenfy-aml-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

idenfy-aml-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: iDenfy IVS Core 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
paths:
  /aml/checks/:
    post:
      operationId: amlChecksCreate
      summary: Create AML check
      tags:
      - AML Checks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmlCheckRequest'
      security:
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmlCheck'
          description: ''
  /aml/checks/{id}/pdf/:
    post:
      operationId: amlChecksPdfCreate
      summary: Generate AML check PDF
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this AML check.
        required: true
      tags:
      - AML Checks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmlCheckPdfRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/pdf:
              schema:
                type: string
                format: binary
          description: ''
  /aml/checks/{id}/profiles/{profileId}/:
    get:
      operationId: amlChecksProfilesRetrieve
      summary: Retrieve AML check profile
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this AML check.
        required: true
      - in: path
        name: profileId
        schema:
          type: string
        description: '`resourceId` from AML database search result.'
        required: true
      tags:
      - AML Checks
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmlCheckProfileDetail'
          description: ''
  /aml/checks/{id}/profiles/{profileId}/pdf/:
    post:
      operationId: amlChecksProfilesPdfCreate
      summary: Generate AML check profile PDF
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this AML check.
        required: true
      - in: path
        name: profileId
        schema:
          type: string
        description: '`resourceId` from AML database search result.'
        required: true
      tags:
      - AML Checks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmlCheckPdfRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/pdf:
              schema:
                type: string
                format: binary
          description: ''
  /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:
    AdverseMediaData:
      type: object
      properties:
        title:
          type: string
          nullable: true
        url:
          type: string
          nullable: true
        text:
          type: string
          nullable: true
        score:
          type: string
          nullable: true
        type:
          allOf:
          - $ref: '#/components/schemas/AmlArticleTypeEnum'
          nullable: true
        checkDate:
          type: string
        publishDate:
          type: string
          nullable: true
      required:
      - checkDate
      - publishDate
      - score
      - text
      - title
      - type
      - url
    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
    AdverseMediaSearchResultRequest:
      type: object
      properties:
        title:
          type: string
          nullable: true
          minLength: 1
        url:
          type: string
          format: uri
          minLength: 1
        text:
          type: string
          nullable: true
          minLength: 1
        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
    AmlAdverseMediaData:
      type: object
      properties:
        title:
          type: string
          nullable: true
        url:
          type: string
        text:
          type: string
          nullable: true
        score:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        publishDate:
          type: string
          nullable: true
        status:
          type: string
        comment:
          $ref: '#/components/schemas/AmlComment'
      required:
      - publishDate
      - score
      - text
      - title
      - type
      - url
    AmlArticleTypeEnum:
      enum:
      - NEGATIVE
      type: string
    AmlCheck:
      oneOf:
      - $ref: '#/components/schemas/PersonAmlCheck'
      - $ref: '#/components/schemas/CompanyAmlCheck'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/PersonAmlCheck'
          COMPANY: '#/components/schemas/CompanyAmlCheck'
    AmlCheckMonitoring:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        status:
          $ref: '#/components/schemas/MonitoringStatusEnum'
        isSubscribed:
          type: boolean
        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:
      - created
      - id
    AmlCheckMonitoringRequest:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/MonitoringStatusEnum'
        isSubscribed:
          type: boolean
        expiration:
          type: string
          format: date-time
        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
    AmlCheckPdfRequest:
      type: object
      properties:
        password:
          type: string
          minLength: 1
    AmlCheckProfileDetail:
      oneOf:
      - $ref: '#/components/schemas/IndividualProfileSchema'
      - $ref: '#/components/schemas/BusinessProfileSchema'
    AmlCheckRequest:
      oneOf:
      - $ref: '#/components/schemas/PersonAmlCheckRequest'
      - $ref: '#/components/schemas/CompanyAmlCheckRequest'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/PersonAmlCheckRequest'
          COMPANY: '#/components/schemas/CompanyAmlCheckRequest'
    AmlCheckStatusEnum:
      enum:
      - NOT_CHECKED
      - NO_FLAGS
      - FALSE_POSITIVE
      - TRUE_POSITIVE
      - FLAGS_FOUND
      type: string
    AmlCheckSuspicionEnum:
      enum:
      - SUSPECTED
      - NOT_SUSPECTED
      type: string
    AmlCheckV3BusinessData:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        overallStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        statusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        statusSetAt:
          type: string
          format: date-time
          nullable: true
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AmlAdverseMediaData'
          nullable: true
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/BusinessSearchResult'
          nullable: true
      required:
      - id
    AmlCheckV3Data:
      oneOf:
      - $ref: '#/components/schemas/AmlCheckV3IndividualData'
      - $ref: '#/components/schemas/AmlCheckV3BusinessData'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/AmlCheckV3IndividualData'
          COMPANY: '#/components/schemas/AmlCheckV3BusinessData'
    AmlCheckV3IndividualData:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        overallStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        statusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        statusSetAt:
          type: string
          format: date-time
          nullable: true
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AmlAdverseMediaData'
          nullable: true
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/IndividualSearchResult'
          nullable: true
      required:
      - id
    AmlComment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        manager:
          $ref: '#/components/schemas/ManagerAccount'
        content:
          type: string
          maxLength: 10000
        type:
          $ref: '#/components/schemas/AmlCommentTypeEnum'
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - content
      - created
      - id
      - manager
      - type
    AmlCommentTypeEnum:
      enum:
      - ADVERSE_MEDIA
      - AML_PROFILE
      type: string
    AmlCompanyNameResults:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/FraudStatus'
        serviceName:
          type: string
        serviceGroupType:
          type: string
        uid:
          type: string
        errorMessage:
          type: string
          nullable: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/CompanyAmlData'
      required:
      - errorMessage
      - serviceGroupType
      - serviceName
      - status
      - uid
    AmlData:
      type: object
      properties:
        name:
          type: string
          nullable: true
        surname:
          type: string
          nullable: true
        nationality:
          type: string
          nullable: true
        dob:
          type: string
          nullable: true
        suspicion:
          allOf:
          - $ref: '#/components/schemas/AmlSuspicionTypeEnum'
          nullable: true
        reason:
          type: string
          nullable: true
        listNumber:
          type: string
          nullable: true
        listName:
          type: string
          nullable: true
        score:
          type: integer
          nullable: true
        lastUpdate:
          type: string
          nullable: true
        exitDate:
          type: string
          nullable: true
        isPerson:
          type: boolean
          nullable: true
        isActive:
          type: boolean
          nullable: true
        linkedDocument:
          type: string
          format: uri
          nullable: true
        pepLevel:
          type: integer
          nullable: true
        category:
          type: string
          nullable: true
        otherInformation:
          type: string
          nullable: true
        checkDate:
          type: string
          nullable: true
        whitelisted:
          type: boolean
      required:
      - category
      - checkDate
      - dob
      - exitDate
      - isActive
      - isPerson
      - lastUpdate
      - linkedDocument
      - listName
      - listNumber
      - name
      - nationality
      - otherInformation
      - pepLevel
      - reason
      - score
      - surname
      - suspicion
    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
    AmlMonitoringAmlCheck:
      oneOf:
      - $ref: '#/components/schemas/AmlMonitoringPersonAmlCheck'
      - $ref: '#/components/schemas/AmlMonitoringCompanyAmlCheck'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/AmlMonitoringPersonAmlCheck'
          COMPANY: '#/components/schemas/AmlMonitoringCompanyAmlCheck'
    AmlMonitoringAmlCheckCreateRequest:
      oneOf:
      - $ref: '#/components/schemas/AmlMonitoringPersonAmlCheckCreateRequest'
      - $ref: '#/components/schemas/AmlMonitoringCompanyAmlCheckCreateRequest'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/AmlMonitoringPersonAmlCheckCreateRequest'
          COMPANY: '#/components/schemas/AmlMonitoringCompanyAmlCheckCreateRequest'
    AmlMonitoringAmlCheckRequest:
      oneOf:
      - $ref: '#/components/schemas/AmlMonitoringPersonAmlCheckRequest'
      - $ref: '#/components/schemas/AmlMonitoringCompanyAmlCheckRequest'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/AmlMonitoringPersonAmlCheckRequest'
          COMPANY: '#/components/schemas/AmlMonitoringCompanyAmlCheckRequest'
    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
    AmlMonitoringCompanyAmlCheckCreateRequest:
      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
    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
    AmlMonitoringExpirationWebhook:
      type: object
      properties:
        usersToExtend:
          type: integer
        usersToExpire:
          type: integer
      required:
      - usersToExpire
      - usersToExtend
    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
    AmlMonitoringPdfRequest:
      type: object
      properties:
        password:
          type: string
          minLength: 1
    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
    AmlMonitoringPersonAmlCheckCreateRequest:
      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
    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
    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
    AmlMonitoringStartStopRequest:
      type: object
      properties:
        comment:
          type: string
          writeOnly: true
          minLength: 1
          maxLength: 10000
    AmlMonitoringWebhook:
      type: object
      properties:
        monitoringId:
          type: string
        name:
          type: string
        surname:
          type: string
        nationality:
          type: string
        dob:
          type: string
          nullable: true
        isActive:
          type: boolean
        expiration:
          type: string
          nullable: true
        scanRefList:
          type: array
          items:
            type: string
        alertStatus:
          allOf:
          - $ref: '#/components/schemas/MonitoringAlertTypeEnum'
          description: AML monitoring v2 status
          deprecated: true
        status:
          allOf:
          - $ref: '#/components/schemas/MonitoringStatusEnum'
          description: AML monitoring v3 status
        pepsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        sanctionsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        adverseMediaStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/AmlResults'
        amlCheck:
          allOf:
          - $ref: '#/components/schemas/AmlCheckV3Data'
          nullable: true
      required:
      - adverseMediaStatus
      - alertStatus
      - amlCheck
      - dob
      - expiration
      - isActive
      - monitoringId
      - name
      - nationality
      - pepsStatus
      - results
      - sanctionsStatus
      - scanRefList
      - status
      - surname
    AmlNameResults:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/FraudStatus'
        serviceName:
          type: string
        serviceGroupType:
          type: string
        uid:
          type: string
        errorMessage:
          type: string
          nullable: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/AmlData'
      required:
      - errorMessage
      - serviceGroupType
      - serviceName
      - status
      - uid
    AmlNewsResults:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/FraudStatus'
        serviceName:
          type: string
        serviceGroupType:
          type: string
        uid:
          type: string
        errorMessage:
          type: string
          nullable: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/AdverseMediaData'
      required:
      - errorMessage
      - serviceGroupType
      - serviceName
      - status
      - uid
    AmlResults:
      oneOf:
      - $ref: '#/components/schemas/AmlNameResults'
      - $ref: '#/components/schemas/AmlNameResults'
      - $ref: '#/components/sch

# --- truncated at 32 KB (101 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/idenfy/refs/heads/main/openapi/idenfy-aml-openapi.yml