> ## 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.

# UK Land Registry Check

> Find the titles (land and property in England and Wales) whose proprietors include the company,
according to the monthly HM Land Registry dataset of UK companies that own land.
Only the company number is accepted; to look a company up by name, get its number with the
UK Company Registry Check first.

The request is processed synchronously: the response already contains the result.
The same result can be fetched again with `GET /api/v4/kyb/result/{request_id}`.




## OpenAPI

````yaml /api-reference/dataspike_openapi.yaml post /api/v4/kyb/{applicant_id}/uk-land-registry-check
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: 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 Single Checks
    description: >
      ### KYB Single Checks API


      Individual, standalone KYB checks you can run against an applicant without
      the full case flow. All are asynchronous — submit a request and poll `GET
      /api/v4/kyb/result/{request_id}` for the result.


      **Checks:**


      1. **Document Verification** — upload and verify corporate documents
      (incorporation, ownership, tax, bank, PCI) to extract and validate company
      information.

      2. **US Company Registry Check** — look up a company in a US Secretary of
      State registry by name or SOS ID.

      3. **US TIN Verification** — check that a business name and TIN/EIN match
      IRS records.

      4. **UK Company Registry Check** — look up a company in the UK Companies
      House register by company number or name.
  - name: Email Verification
    description: Email address verification with optional OTP ownership check.
paths:
  /api/v4/kyb/{applicant_id}/uk-land-registry-check:
    post:
      tags:
        - KYB Single Checks
      summary: UK Land Registry Check
      description: >
        Find the titles (land and property in England and Wales) whose
        proprietors include the company,

        according to the monthly HM Land Registry dataset of UK companies that
        own land.

        Only the company number is accepted; to look a company up by name, get
        its number with the

        UK Company Registry Check first.


        The request is processed synchronously: the response already contains
        the result.

        The same result can be fetched again with `GET
        /api/v4/kyb/result/{request_id}`.
      operationId: kyb-uk-land-registry-check
      parameters:
        - name: applicant_id
          in: path
          description: The applicant ID to associate with this verification
          required: true
          schema:
            type: string
            format: uuid
            example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybUkLandRegistryCheckRequest'
      responses:
        '200':
          description: Check completed; `response_data` is a `KybUkLandRegistryResponse`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybVerificationResult'
        '400':
          description: >-
            Invalid request (company_number is required and must be 8 letters or
            digits; applicant ID must be a UUID)
        '403':
          description: Insufficient balance, or the check is disabled for the organization
        '404':
          description: Applicant not found
        '503':
          description: >-
            Land registry data is temporarily unavailable; the request is not
            charged
components:
  schemas:
    KybUkLandRegistryCheckRequest:
      type: object
      required:
        - company_number
      properties:
        company_number:
          type: string
          description: >
            Companies House company number, 8 letters or digits. Spaces are
            ignored and a shorter

            all-digit number is padded with leading zeros.
          example: '01234567'
    KybVerificationResult:
      type: object
      properties:
        request_id:
          type: string
          format: uuid
          description: The verification request ID
          example: 019c9e79-4d64-73e1-9f30-5374f0f57975
        status:
          type: string
          enum:
            - initial
            - verified
            - not_verified
            - failed
          description: Current status of the verification
        verification_type:
          type: string
          enum:
            - document_verification
            - us_company_registry_check
            - uk_company_registry_check
            - uk_land_registry_check
            - tin_verification
          description: Type of verification that was performed
        response_data:
          description: >
            Verification-specific result; the shape depends on
            `verification_type`:

            `us_company_registry_check` → `KybUsRegistryResponse`,

            `uk_company_registry_check` → `KybUkRegistryResponse`,

            `uk_land_registry_check` → `KybUkLandRegistryResponse`,

            `tin_verification` → `KybTinResponse`,

            `document_verification` → `KybDocumentVerificationResponse`.

            Fields the source did not provide are omitted from the object.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/KybUsRegistryResponse'
            - $ref: '#/components/schemas/KybUkRegistryResponse'
            - $ref: '#/components/schemas/KybUkLandRegistryResponse'
            - $ref: '#/components/schemas/KybTinResponse'
            - $ref: '#/components/schemas/KybDocumentVerificationResponse'
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the request was created
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: ISO 8601 timestamp when the verification completed
    KybUsRegistryResponse:
      type: object
      description: >
        Result of a US Company Registry Check. Mirrors the full field set
        returned by the

        underlying Secretary-of-State data provider; any field the state did not
        provide is omitted.
      properties:
        message:
          type: string
          description: Provider-level message, if any.
        results:
          type: array
          description: Matching company records (usually one).
          items:
            $ref: '#/components/schemas/KybUsRegistryResult'
        alternative_results:
          type: array
          description: >-
            Near-miss candidates returned when the exact-name search misses
            ("did you mean …?"). Same shape as `results`.
          items:
            $ref: '#/components/schemas/KybUsRegistryResult'
    KybUkRegistryResponse:
      type: object
      description: >
        Result of a UK Company Registry Check. When the company was found,

        `company`, `officers`, `pscs`, `charges` and `counts` carry its record;
        when it was not found

        or the name did not match, only `message` and `alternative_results` are
        returned.

        Fields with no value are omitted, including flags that are `false` and
        counts that are zero.
      properties:
        message:
          type: string
          description: One-sentence description of the outcome.
        company:
          $ref: '#/components/schemas/KybUkCompanyProfile'
        alternative_results:
          type: array
          description: >-
            Up to 5 similar companies, returned when the exact company was not
            matched by name.
          items:
            $ref: '#/components/schemas/KybUkCompanyCandidate'
        officers:
          type: array
          description: >-
            Current and resigned officers, up to 100. Current officers are
            listed first.
          items:
            $ref: '#/components/schemas/KybUkCompanyOfficer'
        pscs:
          type: array
          description: >-
            Current and ceased persons with significant control (beneficial
            owners), up to 100.
          items:
            $ref: '#/components/schemas/KybUkCompanyPsc'
        charges:
          type: array
          description: Charges registered against the company, up to 100.
          items:
            $ref: '#/components/schemas/KybUkCompanyCharge'
        counts:
          $ref: '#/components/schemas/KybUkCompaniesHouseCounts'
    KybUkLandRegistryResponse:
      type: object
      description: >
        Result of a UK Land Registry Check. `verified` when the company owns at
        least one title,

        `not_verified` with `total_count` of 0 and an empty `titles` otherwise.
      properties:
        dataset_month:
          type: string
          description: Monthly HM Land Registry release the result is based on, `YYYY-MM`.
          example: 2026-11
        total_count:
          type: integer
          description: >-
            Total number of titles owned by the company, including those beyond
            the 100 returned.
          example: 2
        titles:
          type: array
          description: Up to 100 titles, sorted by title number.
          items:
            $ref: '#/components/schemas/KybUkLandTitle'
    KybTinResponse:
      type: object
      description: Result of a TIN verification (IRS TIN matching).
      properties:
        message:
          type: string
          description: Provider-level message, if any.
        result:
          $ref: '#/components/schemas/KybTinResult'
    KybDocumentVerificationResponse:
      type: object
      description: >
        Result of a document verification. Empty fields are omitted from every
        object below.
      properties:
        case_id:
          type: string
          format: uuid
        verification_id:
          type: string
          format: uuid
        result:
          $ref: '#/components/schemas/KybDocumentVerificationResult'
    KybUsRegistryResult:
      type: object
      properties:
        base_info:
          $ref: '#/components/schemas/KybCompanyRegistryResult'
        sos_id:
          type: string
          description: Secretary of State filing number.
        state_of_formation:
          type: string
          description: State where the company was originally formed (2-letter code).
        mailing_address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
        registered_agent:
          $ref: '#/components/schemas/KybUsRegistryAgent'
        status_reason:
          type: string
          description: Reason for the registration status, when the state provides one.
        normalized_status:
          type: string
          description: >-
            Standardized status (`active` / `inactive`), normalized across
            states.
        normalized_filing_date:
          type: string
          description: Filing date in ISO 8601 (normalized from the state's native format).
        entity_sub_type:
          type: string
          description: Entity classification (e.g. Domestic, Foreign, Nonprofit).
        phone_number:
          type: string
        email:
          type: string
        industry:
          type: string
        url:
          type: string
          description: URL of the source record on the Secretary of State website.
        confidence_level:
          type: number
          format: double
          description: >-
            Levenshtein-based confidence comparing the search query to the
            matched name.
        ai_confidence_level:
          type: number
          format: double
          description: AI-based match-confidence score (beta).
        ein:
          type: string
          description: Employer Identification Number (federal tax ID), when available.
        tax_payer_number:
          type: string
          description: State taxpayer number (Texas).
        ubi_number:
          type: string
          description: Unified Business Identifier (Washington).
        tax_amount_due:
          type: string
          description: Tax amount due (Delaware).
        good_standing:
          type: string
          description: Good-standing indicator (Maryland).
        ar_standing:
          type: string
          description: Annual-report filing standing.
        next_report_due_date:
          type: string
          description: Date the next annual report is due.
        inactive_date:
          type: string
          description: Date the entity became inactive (may be a date or e.g. "Perpetual").
        agent_is_commercial:
          type: boolean
          description: Whether the registered agent is a commercial agent service.
        agent_resigned:
          type: boolean
          description: Whether the registered agent has resigned.
        agent_resigned_date:
          type: string
        state_address:
          description: >-
            In-state physical address (distinct from
            base_info.registered_address).
          allOf:
            - $ref: '#/components/schemas/KybCompanyRegistryAddress'
        service_of_process_agent:
          description: Service-of-process agent (e.g. New York).
          allOf:
            - $ref: '#/components/schemas/KybUsRegistryAgent'
        screenshot_url:
          type: string
          description: >-
            URL of a timestamped screenshot of the source record (when
            requested).
        screenshot_succeeded:
          type: boolean
        ucc_succeeded:
          type: boolean
        registrant_name:
          type: string
          description: Registrant name (Colorado).
        registrant_url:
          type: string
          description: Registrant URL (Colorado).
        person_name_match:
          type: string
          description: The person name from the query that matched an officer or agent.
        address_match:
          type: boolean
          description: >-
            Whether the company address matched the address provided in the
            query.
        search_result_title:
          type: string
          description: >-
            Name on the search results when it differs from the legal name on
            the detail record (e.g. a DBA).
        messages:
          type: array
          description: Provider notes about anything unexpected during processing.
          items:
            type: string
        assumed_business_names:
          type: array
          description: DBAs / assumed names.
          items:
            $ref: '#/components/schemas/KybUsAssumedName'
        documents:
          type: array
          description: >-
            Documents on file with the SOS (articles, amendments, annual
            reports).
          items:
            $ref: '#/components/schemas/KybUsRegistryDocument'
        ucc_data:
          type: array
          description: >-
            UCC filings against the business (returned only when UCC data is
            requested).
          items:
            $ref: '#/components/schemas/KybUccFiling'
        history:
          type: array
          description: History of changes/amendments to the filing.
          items:
            $ref: '#/components/schemas/KybUsHistoryEvent'
        full_data_count:
          $ref: '#/components/schemas/KybUsFullDataCount'
    KybUkCompanyProfile:
      type: object
      properties:
        base_info:
          $ref: '#/components/schemas/KybCompanyRegistryResult'
        company_status:
          type: string
          description: >-
            Company status, e.g. `active`, `dissolved`, `liquidation`,
            `administration`.
        company_status_detail:
          type: string
          description: Extra status detail, e.g. `active-proposal-to-strike-off`.
        date_of_cessation:
          type: string
          description: Date the company was dissolved or closed.
        sic_codes:
          type: array
          description: Nature of business (SIC 2007 codes).
          items:
            type: string
        previous_company_names:
          type: array
          items:
            $ref: '#/components/schemas/KybUkPreviousCompanyName'
        has_insolvency_history:
          type: boolean
          description: The company has gone through insolvency proceedings.
        has_been_liquidated:
          type: boolean
          description: The company has been liquidated.
        registered_office_is_in_dispute:
          type: boolean
          description: The registered office address is disputed.
        undeliverable_registered_office_address:
          type: boolean
          description: Mail to the registered office address cannot be delivered.
        accounts_overdue:
          type: boolean
          description: Annual accounts are overdue.
        accounts_next_due:
          type: string
          description: Date the next annual accounts are due.
        accounts_last_made_up_to:
          type: string
          description: Date the last annual accounts were made up to.
        confirmation_statement_overdue:
          type: boolean
          description: The annual confirmation statement is overdue.
        confirmation_statement_next_due:
          type: string
          description: Date the next confirmation statement is due.
        subtype:
          type: string
          description: Company subtype, e.g. `community-interest-company`.
    KybUkCompanyCandidate:
      type: object
      properties:
        company_number:
          type: string
        company_name:
          type: string
        company_status:
          type: string
        date_of_creation:
          type: string
        address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
    KybUkCompanyOfficer:
      type: object
      properties:
        name:
          type: string
        officer_role:
          type: string
          description: e.g. `director`, `secretary`, `corporate-director`.
        appointed_on:
          type: string
        resigned_on:
          type: string
        nationality:
          type: string
        country_of_residence:
          type: string
        occupation:
          type: string
        birth_month:
          type: integer
        birth_year:
          type: integer
        address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
        identification:
          $ref: '#/components/schemas/KybUkCorporateIdentification'
    KybUkCompanyPsc:
      type: object
      properties:
        name:
          type: string
        kind:
          type: string
          description: >-
            e.g. `individual-person-with-significant-control`,
            `corporate-entity-person-with-significant-control`.
        notified_on:
          type: string
        ceased_on:
          type: string
        nationality:
          type: string
        country_of_residence:
          type: string
        birth_month:
          type: integer
        birth_year:
          type: integer
        address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
        natures_of_control:
          type: array
          description: >-
            e.g. `ownership-of-shares-75-to-100-percent`,
            `right-to-appoint-and-remove-directors`.
          items:
            type: string
        is_sanctioned:
          type: boolean
          description: >
            Present and `true` when the PSC register records the person as
            sanctioned. This is registry

            data, not a Dataspike AML screening result; its absence does not
            mean the person was screened.
        identification:
          $ref: '#/components/schemas/KybUkCorporateIdentification'
    KybUkCompanyCharge:
      type: object
      properties:
        charge_code:
          type: string
        charge_number:
          type: integer
        status:
          type: string
          description: e.g. `outstanding`, `fully-satisfied`, `part-satisfied`.
        classification:
          type: string
        created_on:
          type: string
        delivered_on:
          type: string
        satisfied_on:
          type: string
        persons_entitled:
          type: array
          description: Names of the lenders the charge secures.
          items:
            type: string
        particulars:
          type: string
          description: Description of the secured property.
        contains_fixed_charge:
          type: boolean
        contains_floating_charge:
          type: boolean
        floating_charge_covers_all:
          type: boolean
        contains_negative_pledge:
          type: boolean
    KybUkCompaniesHouseCounts:
      type: object
      description: Total counts, including entries beyond the 100 returned.
      properties:
        officers_active:
          type: integer
        officers_resigned:
          type: integer
        pscs_active:
          type: integer
        pscs_ceased:
          type: integer
        charges_total:
          type: integer
        charges_satisfied:
          type: integer
        charges_part_satisfied:
          type: integer
    KybUkLandTitle:
      type: object
      properties:
        title_number:
          type: string
          description: HM Land Registry title number.
          example: LN123456
        tenure:
          type: string
          description: '`Freehold` or `Leasehold`.'
          example: Freehold
        property_address:
          type: string
          example: 10 High Street, London (EC1A 1AA)
        district:
          type: string
          example: CITY OF LONDON
        county:
          type: string
          example: GREATER LONDON
        region:
          type: string
          example: GREATER LONDON
        postcode:
          type: string
          description: Empty string when the register holds no postcode for the property.
          example: EC1A 1AA
        multiple_address:
          type: boolean
          description: The title covers more than one address.
        price_paid:
          type: integer
          description: Price paid in pounds sterling. Omitted when not recorded.
          example: 1250000
        date_proprietor_added:
          type: string
          format: date
          description: >-
            Date the current proprietors were registered. Omitted when not
            recorded.
          example: '2019-06-14'
        additional_proprietor:
          type: boolean
          description: The title has more proprietors than the 4 the register lists.
        proprietors:
          type: array
          description: >-
            All proprietors of the title, including co-owners other than the
            company checked.
          items:
            $ref: '#/components/schemas/KybUkLandProprietor'
    KybTinResult:
      type: object
      properties:
        name:
          type: string
          description: Business name that was submitted.
        tin:
          type: string
          description: TIN that was submitted (digits only).
        status:
          type: string
          description: Match outcome, e.g. "TIN Matched" or "Did Not Match".
        irs_code:
          type: integer
          format: int32
          description: >-
            IRS TIN-matching code (6 = SSN, 7 = EIN, 8 = both match; 3 = no
            match).
        irs_reason:
          type: string
          description: Human-readable explanation of the IRS code.
        irs_service_status:
          type: string
          description: IRS service status, when provided.
        last_irs_check_date:
          type: string
          description: Date of the last IRS check, when provided.
    KybDocumentVerificationResult:
      type: object
      properties:
        status:
          type: string
          description: Overall document-verification outcome.
          enum:
            - VERIFIED
            - NOT_VERIFIED
          example: VERIFIED
        message:
          type: string
        document_results:
          type: array
          items:
            $ref: '#/components/schemas/KybDocumentResult'
        extracted_company_info:
          $ref: '#/components/schemas/KybExtractedCompanyInfo'
    KybCompanyRegistryResult:
      type: object
      description: Country-agnostic core registry fields.
      properties:
        company_name:
          type: string
        registration_number:
          type: string
        status:
          type: string
          description: Status as reported by the state (free text, e.g. "Good Standing").
        company_type:
          type: string
          description: Entity type (Corporation, LLC, ...).
        registration_date:
          type: string
        jurisdiction:
          type: string
          description: State of SOS registration (2-letter code).
        registered_address:
          description: Physical address of the company.
          allOf:
            - $ref: '#/components/schemas/KybCompanyRegistryAddress'
        associated_persons:
          type: array
          description: Officers, directors, or members (availability varies by state).
          items:
            $ref: '#/components/schemas/KybCompanyRegistryPerson'
    KybCompanyRegistryAddress:
      type: object
      properties:
        street:
          type: string
        city:
          type: string
        state_or_province:
          type: string
        postal_code:
          type: string
        country:
          type: string
    KybUsRegistryAgent:
      type: object
      properties:
        name:
          type: string
        address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
    KybUsAssumedName:
      type: object
      description: A DBA / assumed business name.
      properties:
        title:
          type: string
        effective_date:
          type: string
        status:
          type: string
        type:
          type: string
        expiration_date:
          type: string
        sos_id:
          type: string
        joint_venture:
          type: boolean
    KybUsRegistryDocument:
      type: object
      properties:
        name:
          type: string
        url:
          type: string
        date:
          type: string
        comment:
          type: string
    KybUccFiling:
      type: object
      description: A Uniform Commercial Code filing against the business.
      properties:
        file_number:
          type: string
        debtors:
          type: array
          items:
            $ref: '#/components/schemas/KybUccParty'
        secured_parties:
          type: array
          items:
            $ref: '#/components/schemas/KybUccParty'
        type:
          type: string
        filing_date:
          type: string
        status:
          type: string
        lapse_date:
          type: string
        image_url:
          type: string
    KybUsHistoryEvent:
      type: object
      properties:
        name:
          type: string
        date:
          type: string
        changes:
          type: array
          items:
            $ref: '#/components/schemas/KybUsHistoryChange'
    KybUsFullDataCount:
      type: object
      description: Counts of the full-data collections returned for this record.
      properties:
        officers_count:
          type: integer
        documents_count:
          type: integer
        ucc_data_count:
          type: integer
        assumed_business_names_count:
          type: integer
        history_count:
          type: integer
    KybUkPreviousCompanyName:
      type: object
      properties:
        name:
          type: string
        effective_from:
          type: string
        ceased_on:
          type: string
    KybUkCorporateIdentification:
      type: object
      description: >-
        Registration details of a corporate officer or corporate person with
        significant control.
      properties:
        identification_type:
          type: string
        registration_number:
          type: string
        place_registered:
          type: string
        legal_form:
          type: string
        legal_authority:
          type: string
    KybUkLandProprietor:
      type: object
      properties:
        name:
          type: string
          example: ACME TRADING LIMITED
        company_number:
          type: string
          description: >-
            Company number as recorded by HM Land Registry. Leading zeros may be
            missing.
          example: '1234567'
        category:
          type: string
          description: Kind of proprietor.
          example: Limited Company or Public Limited Company
        address:
          type: array
          description: >-
            Up to 3 correspondence addresses of the proprietor, one full address
            per entry.
          items:
            type: string
    KybDocumentResult:
      type: object
      description: >-
        Per-document outcome. At most one `extracted_*_info` object is set,
        matching the document family.
      properties:
        document:
          type: object
          properties:
            doc_path:
              type: string
              description: The document reference echoed back for this result.
            document_type:
              type: string
              description: The PascalCase verification type submitted for this document.
              example: KybCertificateOfIncorporation
        status:
          type: string
          enum:
            - VERIFIED
            - NOT_VERIFIED
          example: VERIFIED
        message:
          type: string
        errors:
          type: array
          description: Failure reasons when the document did not pass.
          items:
            type: string
            enum:
              - DOCUMENT_UNREADABLE
              - SHAREHOLDER_NAME_NOT_FOUND
              - SHAREHOLDER_NAME_MISMATCH
              - SHAREHOLDER_NATIONALITY_MISMATCH
              - DOCUMENT_TYPE_NOT_SUPPORTED
              - DOCUMENTS_FROM_DIFFERENT_ENTITIES
              - IRRELEVANT_DOCUMENT_PROVIDED
              - UNKNOWN_ERROR
        extracted_shareholders:
          type: array
          description: Shareholders extracted from ownership / incorporation documents.
          items:
            $ref: '#/components/schemas/KybExtractedShareholder'
        extracted_tax_info:
          $ref: '#/components/schemas/KybTaxDocumentInfo'
        extracted_bank_info:
          $ref: '#/components/schemas/KybBankDocumentInfo'
        extracted_company_doc_info:
          $ref: '#/components/schemas/KybCompanyDocumentInfo'
        extracted_pci_info:
          $ref: '#/components/schemas/KybPciDocumentInfo'
    KybExtractedCompanyInfo:
      type: object
      properties:
        company_name:
          type: string
        jurisdiction:
          type: string
        address:
          type: string
        registration_number:
          type: string
    KybCompanyRegistryPerson:
      type: object
      properties:
        name:
          type: string
        role:
          type: string
          description: Officer role/title (President, Director, Member, ...).
        address:
          $ref: '#/components/schemas/KybCompanyRegistryAddress'
        phone:
          type: string
        email:
          type: string
        current:
          type: string
          description: Whether the officer is currently active, as reported by the state.
    KybUccParty:
      type: object
      description: A debtor or secured party on a UCC filing.
      properties:
        name:
          type: string
        street:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
    KybUsHistoryChange:
      type: object
      properties:
        name:
          type: string
        changed_from:
          type: string
        changed_to:
          type: string
        action:
          type: string
        title:
          type: string
    KybExtractedShareholder:
      type: object
      properties:
        name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        patronymic:
          type: string
        nationality:
          type: string
        country:
          type: string
        address:
          type: string
    KybTaxDocumentInfo:
      type: object
      description: >-
        Extracted fields for tax documents (W-9, EIN letter, W-8BEN/E, ITIN
        letter, state tax registration, federal tax return).
      properties:
        form_variant:
          type: string
          description: e.g. "W-9", "W-8BEN", "W-8BEN-E", "CP 575", "1120", "1065".
        business_name:
          type: string
        tax_id:
          type: string
          description: EIN / ITIN / TIN as printed (may be masked).
        tax_id_type:
          type: string
          description: EIN | SSN | ITIN | GIIN.
        tax_classification:
          type: string
        address:
          type: string
        tax_year:
          type: string
        issue_date:
          type: string
        signature_date:
          type: string
        issuer:
          type: string
        country:
          type: string
        date_of_birth:
          type: string
        fatca_status:
          type: string
        giin:
          type: string
    KybBankDocumentInfo:
      type: object
      description: >-
        Extracted fields for bank documents (statement, verification/reference
        letter, direct deposit, ACH form).
      properties:
        bank_name:
          type: string
        account_holder_name:
          type: string
        account_holder_address:
          type: string
        account_number:
          type: string
          description: As printed, usually masked.
        routing_number:
          type: string
        account_type:
          type: string
        statement_period_start:
          type: string
        statement_period_end:
          type: string
        issue_date:
          type: string
        closing_balance:
          type: string
    KybCompanyDocumentInfo:
      type: object
      description: Extracted fields for a company operating agreement.
      properties:
        company_name:
          type: string
        jurisdiction:
          type: string
        registration_number:
          type: string
        company_type:
          type: string
        effective_date:
          type: string
        address:
          type: string
        members:
          type: array
          items:
            type: string
    KybPciDocumentInfo:
      type: object
      description: >-
        Extracted fields for a PCI DSS Self-Assessment Questionnaire (SAQ A,
        A-EP, D).
      properties:
        saq_type:
          type: string
          description: A | A-EP | D.
        merchant_name:
          type: string
        assessment_date:
          type: string
        signature_date:
          type: string
        compliance_status:
          type: string
        signatory_name:
          type: string
        qsa_name:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: ds-api-token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.