> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataspike.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Historical Search Report

> This route allows to retrieve the old results of your searches by `search_uuid` from [Search API](/api/search)



## OpenAPI

````yaml /api-reference/dataspike_openapi.yaml get /api/v3/aml/search/history/{id}
openapi: 3.1.0
info:
  title: Dataspike API
  description: >
    # Introduction


    Welcome to the Dataspike API! You can use our API to access AML and Docver
    API endpoints.


    **Production API endpoint**: [api.dataspike.io](https://api.dataspike.io)


    **Sandbox API endpoint**:
    [sandboxapi.dataspike.io](https://sandboxapi.dataspike.io)


    All API requests must contain header `Content-Type: application/json`


    For both endpoints API Key is required and can be generated at
    [dash.dataspike.io](https://dash.dataspike.io/api) Developer section


    You have to include API Key in each request using `ds-api-token` Header name
  version: v3
servers:
  - url: https://api.dataspike.io
    description: Production
  - url: https://sandboxapi.dataspike.io
    description: Sandbox
security:
  - ApiKeyAuth: []
tags:
  - name: AML Screening
    description: >
      ### PEP & Sanctions Screening API


      **Key Features:**


      1. **Real-time Screening**: Perform instant screenings against constantly
      updated PEP and sanctions databases, ensuring you have the most current
      information at your fingertips.


      2. **Customizable Workflow**: Tailor the screening process to your
      specific needs, setting up thresholds and alerts that suit your risk
      appetite.


      3. **Easy Integration**: Our API is designed with simplicity in mind,
      making integration into your applications a seamless experience.


      4. **Data Security**: We prioritize data security and compliance,
      implementing industry-leading measures to protect your sensitive
      information.
  - name: Applicants
    description: >
      ### Applicant API


      The Applicant API provides a powerful and flexible solution for creating
      new applicants, conducting AML (Anti-Money Laundering) checks, performing
      document verifications, and enabling customizable applicant monitoring
      settings. This API is designed to seamlessly integrate with your existing
      systems, allowing you to efficiently manage applicant data and compliance
      processes.


      **Key Features:**


      1. **Create New Applicants**: The Applicant API enables you to
      programmatically create new applicant profiles by providing essential
      details such as name or identification data.

      2. **AML Checks**: Efficiently conduct Anti-Money Laundering checks on
      applicants to ensure compliance with regulatory requirements and prevent
      fraudulent activities. The API leverages industry-leading AML databases to
      screen applicants against sanctions lists and other watchlists.

      3. **Customizable Monitoring Settings**: With the Applicant API, you have
      the freedom to tailor applicant monitoring settings according to your
      specific compliance needs. You can configure the frequency of screening
      applicants against sanctions lists, enabling you to stay up-to-date with
      any changes in their status.
  - name: Verifications
    description: >
      ### Verification API


      The Document Verification API offers a cutting-edge and secure solution
      for verifying the authenticity and validity of identity documents
      submitted by applicants within application or platform. This powerful API
      leverages advanced document recognition and verification technologies to
      streamline the verification process and improve overall user onboarding
      experience.


      **Key Features:**


      1. **Identity Document Validation**: The API supports various types of
      identity documents, such as passports, driver's licenses and more. It
      automatically extracts relevant information from these documents, ensuring
      seamless and reliable validation.

      2. **Biometric Verification**: For added security and fraud prevention,
      the API can perform biometric verification by comparing the photo on the
      identity document with a selfie or live photo provided by the applicant.

      3. **Real-Time Verification Results**: Verification results are provided
      in real-time, enabling swift decision-making in onboarding processes and
      other critical operations.
  - name: Verification profiles
    description: >
      ### Verification profiles API


      Verification profiles is designed to configure verification flow.


      **Key Features:**


      1. Setup which documents, countries are valid for verification.

      2. Enable or disable required checks for verification. For example
      disable/enable cross check verification.

      3. Any other custom settings. Please contact us to negotiate required
      custom behaviour.
  - name: File management
    description: >
      ### File Management API


      File Management API combines essential file management functionalities,
      including file upload, preview, and download, to facilitate efficient and
      secure handling of documents submitted for verification purposes.


      **Key Features:**


      1. **File Upload**: The API enables seamless file upload, allowing
      end-users to submit various types of documents, such as passports,
      driver's licenses, identity cards, and other relevant identification
      papers.

      2. **File Preview**: This functionality assists users in verifying the
      accuracy of the uploaded documents before proceeding with the verification
      process.

      3. **File Download**: Upon successful verification or when needed this
      feature allows to retain a copy of submitted verified documents for future
      use.
  - name: Webhooks
    description: >
      ### Webhooks API


      The AML and Document Verification Webhooks API provide essential
      event-driven notifications to developers, enabling seamless integration
      with Dataspike system application's AML checks and document verification
      processes. By leveraging these Webhooks, developers can receive real-time
      updates about AML hits, document verification results, and other
      activities related to applicant screening.
  - name: SDK
    description: >
      ### SDK API

      By leveraging the SDK API, developers can accelerate development, simplify
      integration, and enhance the overall user experience.
  - name: Verification links
    description: >
      ### Verification links API


      Verification links is designed to configure easy verification flow without
      any development on self side.


      **Quick guide**


      Create verification link. All your applicants now is possible to pass
      verification via this link available at https://am.dataspike.io/$link_id.
      Results will be available via webhook.


      Verification link is embedded to verification profile. Only one link can
      be created for profile.
  - name: Bankbooks
    x-displayName: Bankbooks
    description: >
      ### Bankbooks API


      The Bankbooks API is a tool designed to streamline the extraction process
      of account names and numbers from bankbook images, catering to specific
      countries. With this API, developers and financial institutions can
      effortlessly retrieve essential financial information from scanned or
      photographed bankbooks.


      ### Recommendations


      1. **Filter Out-of-Domain (OOD) Images by Similarity Score**

      The API returns a maximum similarity score between the bankbook found in
      the uploaded image and the bankbook images in the database. A recommended
      threshold to filter out-of-domain (OOD) images, such as credit cards or
      unrelated documents, is 0.75-0.8. We recommend to only consider images
      with a similarity score equal to or higher than this threshold as valid
      bankbook images.

      2. **Consider Manual Checks When Detected a Scanned Document**

      The API provides a boolean flag where the True value indicates that the
      uploaded image is a scanned document or a screenshot. While this flag
      works well for distinguishing photos of physical bankbooks from the
      scanned documents, you should be aware that it may give false negatives
      for screenshots made not in the bank's mobile app. Therefore, it's
      recommended to exercise caution when interpreting this flag and consider
      additional validation steps if necessary.

      3. **Consider Approximate String Matching for Names in Thai Language**

      In Thai language some letters can be extremely similar to each other. For
      example, the letters "ข" (kho khai) and "ฃ" (kho khuat) may appear
      visually similar, so the OCR (optical character recognition) model can
      confuse them sometimes. To address this issue, it's recommended to use
      approximate string matching techniques when comparing the extracted
      account name and number from the bankbook with the reference data. This
      can help account for minor discrepancies or variations in the OCR output
      due to visual similarities in Thai characters.



      ### Requirements:

      * The bankbook in the uploaded image must occupy more than 40% of the
      total area

      * The text information on the bankbook must be clearly visible to
      accurately extract information from it



      ### Additional comments:

      **Handling of Rare Bankbook Designs**

      Some bankbook designs, such as those from TMB or UOB, were rare in our
      training dataset. Additionally, screenshots from mobile apps may change
      quite often. If we encounter any issues with detecting or extracting
      information from these rare designs, we will retrain our models. Our
      alerting system ensures that we are promptly notified of any issues that
      require attention.
  - name: Transmon
    x-displayName: Transaction monitoring API
    description: >
      ### What is Transaction Monitoring


      Transaction monitoring is a flexible and highly customizable system
      designed to check financial transactions (both payor to payee transfers
      and payments during checkout).


      The system based on rules, which you can set through API.


      Flexible custom rules can be used to:

      * Reject ineligible transactions, optionally causes can be provided

      * Flag suspicious transactions for further analysis


      For example, you can add rule for rejecting transaction if its sum three
      times more than average for last 30 days for this user. See examples with
      details below.


      ### How it works


      ![Transaction Monitoring
      Diagram](https://cdn.n37z.com/images/docs/kyt/70079905-dcbd-4510-a4de-0b4d57b7dbd0.png)


      1. Desired rules must be set through API

      2. Each received transaction or payment processed by Transaction
      Monitoring, your rules executed

      3. Result for each transaction/payment sent via Webhooks (see
      TransmonWebhookObject in [Webhooks schema](#tag/webhooks_payloads))


      In custom rules you can access:

      * all the data provided in
      [transaction](#tag/Transmon/operation/post-transmon-transaction)/[payment](#tag/Transmon/operation/post-transmon-payment)
      (amount, currency_code, checkout_price and so on)

      * some aggregated statistics (min/max/average and total sum, transactions
      count) for every applicant for last 1, 7 and 30 days


      ### Transaction Monitoring API


      Transaction Monitoring API combines:

      - essential rules management functionalities to
      create/edit/(de)activate/remove rules

      - endpoints for sending transaction/payment data to Transaction Monitoring


      ### Which data can be used

      Fields from original event data
      ([transaction](#tag/Transmon/operation/post-transmon-transaction)/[payment](#tag/Transmon/operation/post-transmon-payment))
      can be accessed by `event.<field_name>`, for example -
      `event.currency_code`.


      Aggregated statistics for applicant can be accessed in form
      `stats.<period>.<indicator>`.

      Allowed periods are:

      - `last1d` - last 1 day*

      - `last7d` - last 7 days*

      - `last30d` - last 30 days*.


      *"day" means calendar day from 00:00 UTC.


      So, `last1d` means aggregated statistic since today 00:00 UTC. `last7d` -
      includes today + additional 6 full calendar days before.


      Allowed indicators:

      - `sum` - total sum of all transactions and payments for period

      - `avg` - average sum of transaction/payment for period

      - `min` - minimal sum for period

      - `max` - maximal sum for period

      - `transactions_count` - count of all transactions (and payments) for
      period.


      For example, `stats.last30d.avg` - average amount of transaction/payment
      for last 30 days for current applicant.


      ### Rules expressions syntax and fields


      **Arithmetic operators**

      | Operator | Description | Example               |

      | -------- | ----------- | --------------------- |

      | `+`      | sum         | `event.amount + 100`  |

      | `-`      | difference  | `event.amount - 100`  |

      | `*`      | product     | `2 * event.amount`    |

      | `/`      | quotient    | `event.amount / 3`    |



      **Comparison operators**

      | Operator | Description      |
      Example                                     |

      | -------- | ---------------- |
      ------------------------------------------- |

      | `==`     | equal            | `event.amount ==
      100.45`                    |

      | `!=`     | not equal        | `event.amount !=
      0`                         |

      | `<`      | less             | `event.amount <
      0`                          |

      | `<=`     | less or equal    | `event.amount <=
      0`                         |

      | `>`      | greater          | `event.amount >
      0`                          |

      | `>=`     | greater or equal | `event.amount >=
      0`                         |



      **Logical operators**

      | Operator | Description     |
      Example                                       |

      | -------- | --------------- |
      --------------------------------------------- |

      | `&&`     | conditional AND | `event.amount > 100 && event.amount <
      200`    |

      | `\|\|`   | conditional OR  | `event.amount <= 0 \|\| event.amount >
      10000` |

      | `!`      | NOT             | `!(event.amount ==
      0)`                        |



      **Membership operators**

      | Operator | Description                                            |
      Example                                  |

      | -------- | ------------------------------------------------------ |
      ---------------------------------------- |

      | `in`     | checks that left operand exists in right operand array |
      `event.payee_country_cd in ["US", "UK"]` |



      ### Examples

      1. Check sum of transaction above 10000 or below or equal to zero

      ```

      event.amount > 10000 || event.amount <= 0

      ```

      2. Check currency is USD or EUR

      ```

      event.currency_code in ["USD", "EUR"]

      ```

      3. Check payee country is not US and not UK

      ```

      !(event.payee_country_cd in ["US", "UK"])

      ```

      4. Check if transactions sum 2.5 times more than average for last 30 days
      for this user.

      ```

      event.amount > 2.5 * stats.last30d.avg

      ```
  - name: KYT Crypto
    x-displayName: KYT Crypto API
    description: >
      The **KYT Crypto API** enables users to perform **Know Your Transaction
      (KYT)** checks on cryptocurrency wallets across multiple blockchain
      networks. This service provides risk assessment and transaction monitoring
      to ensure compliance with anti-money laundering (AML) regulations.


      ### Features


      - Perform KYT checks on **cryptocurrency wallets**.

      - Supports major blockchain networks:
        - **Bitcoin (BTC)**
        - **Ethereum (ETH)**
        - **TRON (TRX)**
      - Returns detailed risk scores and compliance insights.

      - Real-time and batch wallet screening capabilities.
  - name: Deepfake API
    x-displayName: Deepfake API
    description: >
      The **Deepfake API** is a powerful fraud-prevention tool that detects
      manipulated media across **images, documents, video, and audio**.  

      It is designed for high-stakes **identity verification** and **compliance
      workflows**, helping organizations stop deepfake-based fraud before it
      causes damage.  


      With advanced AI analysis, the API can:  

      - Verify the authenticity of **selfies and liveness checks**  

      - Detect tampering in **ID documents** such as passports or driver’s
      licenses  

      - Analyze **video calls and recordings** for synthetic face swaps or
      manipulations  

      - Identify **AI-generated or cloned voices** in audio files  


      **Why use the Deepfake API?**  

      - Reduce fraud losses from synthetic identities and impersonation  

      - Strengthen KYC/AML compliance and meet regulatory requirements  

      - Build user trust by securing digital onboarding and remote verification
      flows  

      - Integrate easily via a developer-friendly REST API  


      In short, the Deepfake API helps you protect your platform, your users,
      and your reputation against the rising threat of AI-generated media.  
  - name: search_request
    x-displayName: AML Search Request
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/SearchRequest" />
  - name: search_response
    x-displayName: AML Search Response
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/SearchResponse" />
  - name: search_entity
    x-displayName: AML Entity Record
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/EntityRecord" />
  - name: applicant_person_request
    x-displayName: New Applicant Person Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreatePersonApplicantRequest" />
  - name: applicant_org_request
    x-displayName: New Applicant Organization Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreateOrganizationApplicantRequest" />
  - name: applicant_person_object
    x-displayName: Applicant Person Object
    description: >
      <SchemaDefinition schemaRef="#/components/schemas/ApplicantPersonResponse"
      />
  - name: applicant_org_object
    x-displayName: Applicant Organization Object
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/ApplicantOrganizationResponse" />
  - name: verification_request
    x-displayName: New Verification Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreateVerificationRequest" />
  - name: verification_object
    x-displayName: Verification Object
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/VerificationInfo" />
  - name: verification_error
    x-displayName: Verification Error codes
    description: >
      <SchemaDefinition schemaRef="#/components/schemas/VerificationErrorCode"
      />
  - name: webhooks_payloads
    x-displayName: AML & Docver & Transmon Webhook Payloads
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/WebhookObject" />
  - name: Non-Document Verification
    x-displayName: Non-Document Verification
    description: >
      ### Non-Document Verification API


      The Non-Document Verification API allows initiating specific identity
      checks that do not rely on traditional document uploads. This includes
      verifying national identifiers like Brazil's CPF, Nigeria's NIN, or
      Nigeria's BVN against authoritative sources.


      **Key Features:**


      1.  **Targeted Checks**: Perform specific verification types relevant to
      the applicant's country and the required check.

      2.  **Real-time Results**: Obtain verification status (verified or failed)
      along with data returned from the source system.

      3.  **Integration**: Seamlessly integrate these checks into your
      onboarding or compliance workflows for existing applicants.
  - name: KYB Verification
    description: >
      ### KYB (Know Your Business) Verification API


      Verify company identity and legitimacy through document analysis and
      public registry checks. All KYB operations are asynchronous — submit a
      request and poll for results.


      **Verification methods:**


      1. **Document Verification** — upload and verify corporate documents
      (certificates of incorporation, shareholder certificates) to extract and
      validate company information.

      2. **US Company Registry Check** — look up a company in the US Secretary
      of State registry by name or SOS ID.
paths:
  /api/v3/aml/search/history/{id}:
    get:
      tags:
        - AML Screening
      summary: Historical Search Report
      description: >-
        This route allows to retrieve the old results of your searches by
        `search_uuid` from [Search API](/api/search)
      operationId: get-aml-search-history
      parameters:
        - name: id
          in: path
          description: Retrieve search history result by 'search_uuid'
          required: true
          schema:
            type: string
            format: uuid
            example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
      responses:
        '200':
          description: AML Search Result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
components:
  schemas:
    SearchResponse:
      type: object
      properties:
        requested_name:
          type: string
        search_uuid:
          type: string
          description: Search id, could be use later to fetch the existing search result
        max_risk_score:
          $ref: '#/components/schemas/RiskScore'
        data:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord'
        fatf_records:
          type: array
          description: >-
            FATF (Financial Action Task Force) records for countries referenced
            in search results
          items:
            $ref: '#/components/schemas/FatfRecord'
    RiskScore:
      type: string
      enum:
        - Low
        - Medium
        - High
      description: Assigned Risk Score
    EntityRecord:
      type: object
      description: All known information about entity
      properties:
        uuid:
          type: string
        type:
          $ref: '#/components/schemas/EntityType'
        annotation:
          type: string
          description: Any general information
          nullable: true
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        risk_score:
          $ref: '#/components/schemas/RiskScore'
        fields:
          $ref: '#/components/schemas/EntityRecord.EntityFields'
        updated_at:
          type: integer
          format: int64
          description: epoch seconds
        importance_score:
          type: number
          format: double
          description: >-
            Relative importance score of entity, use risk_score for a final
            decision
          nullable: true
        search_metadata:
          $ref: '#/components/schemas/EntityRecord.SearchMetadata'
        risk_score_value:
          type: number
          format: double
          description: Numeric risk score value
    FatfRecord:
      type: object
      description: FATF status record for a country
      properties:
        fatf_status:
          type: string
          enum:
            - FatfMember
            - GreyList
            - BlackList
            - PartiallyCompliant
          description: The country's FATF status
        url:
          type: string
          description: URL to the FATF source page
        description:
          type: string
          description: Description of the FATF status
        country:
          type: string
          description: Country name or ISO code
    EntityType:
      type: string
      enum:
        - Person
        - Organization
        - Country
        - Vessel
        - Aircraft
        - CryptoWallet
      description: Possible types
      default: Person
    Tag:
      type: string
      enum:
        - Finance
        - Legal
        - Terrorism
        - Criminal
        - PEP
        - Media
        - Social
        - Sanctions
        - UnofficialSource
        - Leaks
        - CompanyRegistry
        - Associate
        - Debarred
        - PublicInterest
        - RegulatoryWarning
      description: Possible Entity Tags
    EntityRecord.EntityFields:
      type: object
      properties:
        names:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.Name'
          description: Generic
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Source'
        media:
          type: array
          items:
            $ref: '#/components/schemas/AdverseMedia'
        images:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.GenericData'
        contact_info:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.ContactInfo'
        registration_ids:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.RegistrationId'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.LocationData'
        genders:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.Gender'
          description: Person
        dates_of_birth:
          type: array
          items:
            $ref: '#/components/schemas/DateRange'
        places_of_birth:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.LocationData'
        dates_of_death:
          type: array
          items:
            $ref: '#/components/schemas/DateRange'
        places_of_death:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.LocationData'
        citizenships:
          type: array
          items:
            type: string
        nationalities:
          type: array
          items:
            type: string
        political_roles:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.PoliticalRole'
        occupations:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.Occupation'
        companies_and_enterprises:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.EntityInfo'
        owners_and_beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.EntityInfo'
          description: Organization
        associates:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord.EntityFields.Associate'
        fatf_records:
          type: array
          description: FATF records for countries associated with this entity
          items:
            $ref: '#/components/schemas/FatfRecord'
    EntityRecord.SearchMetadata:
      type: object
      description: Search matching metadata for the entity
      properties:
        best_match_name:
          type: string
          description: The best matching name found for this entity
        name_match_percentage:
          type: number
          format: float
          description: Name match percentage (0-100)
        name_match_level:
          type: string
          enum:
            - ZERO_MATCH
            - NOT_ENOUGH_DATA
            - LOW
            - MEDIUM
            - HIGH
            - FULL_MATCH
          description: Level of name match confidence
        date_of_birth_matched:
          type: string
          enum:
            - FILTER_NOT_SET
            - NO_MATCH
            - MATCH
            - PARTIAL_MATCH
          description: Whether date of birth filter matched
        country_matched:
          type: string
          enum:
            - FILTER_NOT_SET
            - NO_MATCH
            - MATCH
            - PARTIAL_MATCH
          description: Whether country filter matched
        general_match_level:
          type: string
          enum:
            - ZERO_MATCH
            - NOT_ENOUGH_DATA
            - LOW
            - MEDIUM
            - HIGH
            - FULL_MATCH
          description: Overall match confidence level
        gender_matched:
          type: string
          enum:
            - FILTER_NOT_SET
            - NO_MATCH
            - MATCH
            - PARTIAL_MATCH
          description: Whether gender filter matched
        risk_profile_info:
          $ref: '#/components/schemas/RiskScoreProfileInfo'
    EntityRecord.EntityFields.Name:
      type: object
      properties:
        full_name:
          type: string
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        middle_name:
          type: string
          nullable: true
        lang:
          type: string
          description: ISO 639-1 language code
          nullable: true
    Source:
      type: object
      description: Describes the sources, where current entity appeared
      properties:
        source_id:
          $ref: '#/components/schemas/SourceId'
        name:
          type: string
        reason:
          type: string
          nullable: true
        summary:
          type: string
          nullable: true
        source_url:
          type: string
        risk_score:
          $ref: '#/components/schemas/RiskScore'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    AdverseMedia:
      type: object
      description: Adverse media record linked to an Entity
      properties:
        source_name:
          type: string
        source_url:
          type: string
        headline:
          type: string
          nullable: true
        summary:
          type: string
          nullable: true
        published_at:
          type: integer
          format: int64
        risk_score:
          $ref: '#/components/schemas/RiskScore'
        importance_score:
          type: number
          format: double
        sentiment:
          type: number
          format: double
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        country_codes:
          type: array
          description: ISO 3166-1 alpha-2 country codes
          items:
            type: string
    EntityRecord.EntityFields.GenericData:
      type: object
      properties:
        description:
          type: string
          nullable: true
        url:
          type: string
          nullable: true
    EntityRecord.EntityFields.ContactInfo:
      type: object
      properties:
        emails:
          type: array
          items:
            type: string
        phones:
          type: array
          items:
            type: string
        websites:
          type: array
          items:
            type: string
    EntityRecord.EntityFields.RegistrationId:
      type: object
      properties:
        id:
          type: string
        id_type:
          type: string
          description: >-
            Any local document type, e.g. 'Company registration number' or 'Tax
            ID'
          nullable: true
        date:
          type: string
          format: date
          description: ISO 8601 date
          nullable: true
        industry:
          type: string
          nullable: true
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          nullable: true
        imo_number:
          type: string
          nullable: true
          description: IMO number (vessels only)
        mmsi_number:
          type: string
          nullable: true
          description: MMSI number (vessels only)
        currency:
          type: string
          nullable: true
          description: Currency (crypto wallets only)
    EntityRecord.EntityFields.LocationData:
      type: object
      description: Location data, when specified at least one of the fields must be present
      properties:
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
        region:
          type: string
        city:
          type: string
        postal_code:
          type: string
        address:
          type: string
    EntityRecord.EntityFields.Gender:
      type: string
      enum:
        - Male
        - Female
        - Other
      description: Possible Entity Gender values
    DateRange:
      type: object
      description: Date range, represented as a pair of dates in ISO 8601 format
      properties:
        gte:
          type: string
          format: date
          example: '1987-12-24T00:00:00.000Z'
        lte:
          type: string
          format: date
          example: '1987-12-24T00:00:00.000Z'
    EntityRecord.EntityFields.PoliticalRole:
      type: object
      properties:
        role:
          type: string
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          nullable: true
    EntityRecord.EntityFields.Occupation:
      type: object
      properties:
        occupation:
          type: string
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          nullable: true
    EntityRecord.EntityFields.EntityInfo:
      type: object
      properties:
        name:
          type: string
        reference:
          type: string
          nullable: true
        role:
          type: string
          nullable: true
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code
          nullable: true
        start_date:
          $ref: '#/components/schemas/DateRange'
        end_date:
          $ref: '#/components/schemas/DateRange'
        ownership_value:
          type: string
          nullable: true
          description: Ownership value (e.g. monetary amount)
        currency:
          type: string
          nullable: true
          description: Currency of the ownership value
        ownership_percentage:
          type: string
          nullable: true
          description: Ownership percentage
        additional_source:
          $ref: '#/components/schemas/Source'
    EntityRecord.EntityFields.Associate:
      type: object
      required:
        - uuid
        - name
      properties:
        uuid:
          type: string
        name:
          type: string
        start_date:
          $ref: '#/components/schemas/DateRange'
        end_date:
          $ref: '#/components/schemas/DateRange'
        relationship:
          type: string
        is_relative:
          type: boolean
    RiskScoreProfileInfo:
      type: object
      description: Risk score profile information used for scoring
      properties:
        id:
          type: string
          description: Risk score profile identifier
        name:
          type: string
          description: Risk score profile name
        version:
          type: integer
          description: Risk score profile version
    SourceId:
      type: string
      description: >-
        Possible Source IDs, contains all publicly available sources, constantly
        updated, for the most up to date list please check
        https://dash.dataspike.io/pep-sanctions/data-sources
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: ds-api-token

````