openapi: 3.0.3
info:
    title: Thirdfort Client API
    version: v1
    description: |
        The Thirdfort Client API enables integrators to perform comprehensive client due diligence and compliance checks. This API provides programmatic access to identity verification, screening, and document collection services.

        This is the **stable (v1)** version of the API. These endpoints are production-ready and subject to our backwards-compatibility guarantees.

        For preview endpoints that are still under development, see the [v1alpha2 (Preview) API Reference](/docs/api/v1alpha2).

        ## Authentication

        All API requests require authentication using a Bearer token in the `Authorization` header:

        ```
        Authorization: Bearer YOUR_API_TOKEN
        ```

        See the Authentication guide for details on obtaining OAuth 2.0 access tokens.

        ## Key Resources

        - **Checks** - Due diligence requests for identity verification, source of funds, and enhanced due diligence
        - **Organizations & Teams** - Hierarchical grouping of resources
        - **Notifications** - Event notifications for check completion, report updates, and monitoring alerts

        ## Resource Names

        Resources use hierarchical names. Use `-` as a wildcard:

        ```
        organizations/{org_id}/teams/{team_id}/checks/{check_id}
        organizations/-/teams/-/checks
        ```
tags:
    - name: ClientService
paths:
    /v1/{name}:
        get:
            summary: Get Check Summary
            description: >-
                Retrieves the current CheckSummary for a check. The summary provides a high-level overview of the check's results and findings, aggregated according to the check template's logic. This represents the latest state of the check's analysis.
            operationId: ClientService_GetCheckSummary
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/CheckSummary'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: name
                  description: >-
                    Required. The name of the check summary to retrieve.

                    Format: `organizations/{organization}/teams/{team}/checks/{check}/checkSummary`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+/checkSummary'
            tags:
                - ClientService
    /v1/{parent}/checks:
        get:
            summary: List Checks
            description: >-
                Lists Checks within the specified scope. Results are paginated and can be filtered across multiple teams or organizations depending on the parent parameter format.
            operationId: ClientService_ListChecks
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListChecksResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    Required. The parent resource where the checks will be listed.

                    Format: `organizations/{organization}/teams/{team}`.

                    Listing checks across multiple teams and organizations is supported by using one of the following formats:

                    - `organizations/-/teams/-`: Lists all checks across all teams and organizations that the caller has access to.

                    - `organizations/{organization}/teams/-`: Lists all checks across all teams that the caller has access to within the specified organization.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+'
                - name: pageSize
                  description: |-
                    Optional. The maximum number of checks to return per page.
                    If not specified, a default value of 25 will be used.
                    Maximum allowed value is 100.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional. A page token, received from a previous `ListChecks` call. Provide this token to

                    retrieve the subsequent page. When not provided, returns the first page of results.
                  in: query
                  required: false
                  schema:
                    type: string
                - name: filter
                  description: >-
                    Optional. Filter expression to limit the checks returned in the response.

                    Filtering by the following fields is supported:

                    - `state`: Filter by check state (ACTIVE, INACTIVE, CANCELLED)

                    - `template`: Filter by check template name

                    - `client_reference`: Filter by client-provided reference

                    - `display_name`: Filter by check display name

                    - `related_subjects[0].subject.phone_number`: Filter by subject phone number (for ID checks)

                    - `related_subjects[0].subject.display_name`: Filter by subject display name (a synthetic field only available for filtering, calculated as 'given_name + " " + family_name', for ID checks)

                    - `related_subjects[0].subject.company_name`: Filter by company name (for KYB checks)

                    - `related_subjects[0].subject.registration_number`: Filter by company registration number (for KYB checks)

                    - `related_subjects[0].subject.jurisdiction`: Filter by company jurisdiction (for KYB checks)

                    - `creator_name`: Filter by check creator username (format: organizations/{organization}/users/{user})

                    - `ongoing_monitoring_enabled`: Filter by ongoing monitoring status

                    - `notification_recipient_name`: Filter by notification recipient username (format: organizations/{organization}/users/{user})


                    For more information, see FilterSyntax
                  in: query
                  required: false
                  schema:
                    type: string
                - name: showDeleted
                  description: >-
                    Optional. Whether to include soft-deleted checks in the results. Defaults to false.
                  in: query
                  required: false
                  schema:
                    type: boolean
            tags:
                - ClientService
        post:
            summary: Create Check
            description: >-
                Creates a new Check within the specified team. The check will execute according to its configured template and begin performing due diligence on the specified subjects. Once created, the check will transition to an ACTIVE state and begin processing.
            operationId: ClientService_CreateCheck
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/Check'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    Required. The parent resource where the check will be created.

                    Format: `organizations/{organization}/teams/{team}`.

                    The check will be owned by this team and inherit its access controls.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/Check'
                description: |-
                    Required. The check to create. Must include a valid template reference
                    and any required parameters for that template. The check will begin
                    execution immediately upon creation.
                required: true
            tags:
                - ClientService
    /v1/{parent}/checks:batchGet:
        get:
            summary: Batch Get Checks
            description: >-
                Retrieves multiple Checks by their resource names in a single request. All names must belong to teams within the Organization specified by parent. Maximum of 100 checks can be retrieved per request.
            operationId: ClientService_BatchGetChecks
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/BatchGetChecksResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    Required. The parent organization of the checks being retrieved.

                    Format: `organizations/{organization}`.

                    All checks specified in `names` must belong to teams within this organization.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+'
                - name: names
                  description: |-
                    Required. Check resource names to retrieve.
                    Format: organizations/{organization}/teams/{team}/checks/{check}
                    Maximum of 100 checks per request.
                  in: query
                  required: true
                  explode: true
                  schema:
                    type: array
                    items:
                        type: string
            tags:
                - ClientService
    /v1/{parent}/findings:
        get:
            summary: List Findings
            description: >-
                Lists Findings discovered during a check's execution. Findings represent detailed pieces of information surfaced during due diligence, such as screening matches or document verification results. Results can be paginated.
            operationId: ClientService_ListFindings
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListFindingsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    Required. The parent resource where the findings will be listed.

                    Format: `organizations/{organization}/teams/{team}/checks/{check}`.

                    Listing findings across multiple checks is supported by using one of the following formats:

                    - `organizations/-/teams/-/checks/-`: Lists all findings across all checks that the caller has access to.

                    - `organizations/{organization}/teams/-/checks/-`: Lists all findings across all checks that the caller has access to within the specified organization.

                    - `organizations/{organization}/teams/{team}/checks/-`: Lists all findings across all checks that the caller has access to within the specified team.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+'
                - name: pageSize
                  description: |-
                    Optional. The maximum number of findings to return.
                    If not specified, a default value of 25 will be used.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional. A page token, received from a previous `ListFindings` call. Provide this token to

                    retrieve the subsequent page.
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
    /v1/{parent}/findings:batchGet:
        get:
            summary: Batch Get Findings
            description: >-
                Retrieves multiple Findings by their resource names in a single request. All names must be within the Check specified by parent. Maximum of 100 findings can be retrieved per request.
            operationId: ClientService_BatchGetFindings
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/BatchGetFindingsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent check of the findings being retrieved.
                    Format: `organizations/{organization}/teams/{team}/checks/{check}`.
                    All findings specified in `names` must belong to this check.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+'
                - name: names
                  description: >-
                    Required. The names of the Finding to get.

                    A maximum of 100 Findings can be retrieved in a single request.

                    Format: `organizations/{organization}/teams/{team}/checks/{check}/findings/{finding}`.
                  in: query
                  required: true
                  explode: true
                  schema:
                    type: array
                    items:
                        type: string
            tags:
                - ClientService
    /v1/{parent}/notifications:
        get:
            summary: List Notifications
            description: >-
                Lists Notifications for the specified organization. The oldest available notifications are returned first. Use a page token or filter by create_time to retrieve newer notifications.
            operationId: ClientService_ListNotifications
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListNotificationsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The organization to list notifications for.
                    Format: `organizations/{organization}`
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+'
                - name: pageSize
                  description: |-
                    Optional. The maximum number of notifications to return per page.
                    If not specified, a default value of 25 will be used.
                    Maximum allowed value is 100.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional. A page token, received from a previous `ListNotifications` call.

                    Provide this to retrieve the subsequent page.


                    When paginating, all other parameters provided to `ListNotifications` must match

                    the call that provided the page token.
                  in: query
                  required: false
                  schema:
                    type: string
                - name: filter
                  description: >-
                    Optional. Filter expression to limit the notifications returned.

                    Filtering by the following fields is supported:

                    - `type`: Filter by notification type (e.g., `type = "notification.client.check_complete.v1"`)

                    - `create_time`: Filter by creation time (e.g., `create_time > "2024-01-01T00:00:00Z"`)


                    Multiple filters can be combined with `AND`:

                    `type = "notification.client.check_complete.v1" AND create_time > "2024-01-01T00:00:00Z"`
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
components:
    schemas:
        Address:
            title: Address
            type: object
            properties:
                subBuilding:
                    type: string
                    description: |-
                        Optional.
                         A more granular indication of the address within the referenced building.
                         Example: Flat 8, Floor 1
                buildingNumber:
                    type: string
                    description: |-
                        Optional.
                         The street number of the address's building.
                         Example: 8

                         One of [building_number][thirdfort.consumer.tasks.type.v1.Address.building_number] or
                         [building_name][thirdfort.consumer.tasks.type.v1.Address.building_name] must be provided.
                buildingName:
                    type: string
                    description: |-
                        Optional.
                         The street name of the address's building.
                         Example: Highroyd

                         One of [building_number][thirdfort.consumer.tasks.type.v1.Address.building_number] or
                         [building_name][thirdfort.consumer.tasks.type.v1.Address.building_name] must be provided.
                street:
                    type: string
                    description: |-
                        Optional.
                         The street of the address.
                         Example: High Street

                         Must be provided if [building_number][thirdfort.consumer.tasks.type.v1.Address.building_number]
                         is set.
                subLocality:
                    type: string
                    description: |-
                        Optional.
                         A more granular indication of the address within the referenced
                         [locality][thirdfort.consumer.tasks.type.v1.Address.locality].
                         This can be a neighbourhood, borough or district.
                         Example: Southwark
                locality:
                    type: string
                    description: |-
                        Optional.
                         Generally refers to the city/town portion of the address such as a
                         an US city, IT commune or UK post town.
                         Example: London
                administrativeArea:
                    type: string
                    description: |-
                        Optional.
                         Highest administrative subdivision which is used for addresses in
                         the country.
                         This could be a state, province, county, etc, depending on the country.
                         This is not used used in all countries (e.g: Switzerland).
                         Example: Greater London
                postalCode:
                    type: string
                    description: |-
                        Optional.
                         Postal code for the address. Not all countries use or require postal codes.
                         For those that do, country specific validation will be applied.
                         Example: SE1 1AA
                countryCode:
                    type: string
                    description: |-
                        Required.
                         The ISO 3166-1 alpha country code of the address.
                         Example: GBR
            description: |-
                A structured representation of an address.
                 The format of this is designed to accomodate for address formats across
                 the world, but may not be suitable for all countries currently.
        AddressVerificationCheckResult:
            title: AddressVerificationCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the AddressVerificationCheckResult (e.g: Address Verification).'
                description:
                    type: string
                    description: 'A human readable description of the AddressVerificationCheckResult. (e.g: Address not verified\nProof of address not provided).'
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                    description: The recommendation for this AddressVerificationCheck
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that were used to generate this [AddressVerificationCheckResult][thirdfort.client.v1.AddressVerificationCheckResult].
                pdfReportUrl:
                    type: string
                    description: Optional. The URL to download the PDF report for the check result from.
            description: |-
                The summary of the results of an AddressVerificationCheck.
                 This is intended to be used in a [CheckSummary][thirdfort.client.v1.CheckSummary]
        BankingTransactionsFinding:
            title: BankingTransactionsFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.BankingTransactionsFinding`.
                transactions:
                    type: array
                    items:
                        $ref: '#/components/schemas/BankingTransactionsFinding_BankingTransaction'
        BankingTransactionsFinding_BankingTransaction:
            title: BankingTransactionsFinding_BankingTransaction
            type: object
            properties:
                amount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The amount of this transaction.
                timestamp:
                    type: string
                    format: date-time
                    description: The timestamp of this transaction.
                description:
                    type: string
                    description: The description of this transaction.
                category:
                    type: string
                    description: The category of this transaction.
                postTransactionBalance:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The balance of the account after this transaction.
                accountId:
                    type: string
                    description: The ID of the account this transaction belongs to.
                transactionId:
                    type: string
                    description: Unique identifier for this transaction.
        BatchGetChecksResponse:
            title: BatchGetChecksResponse
            type: object
            properties:
                checks:
                    type: array
                    items:
                        $ref: '#/components/schemas/Check'
                    description: |-
                        Retrieved checks in the same order as requested names.
                        Returns raw Check resources exactly as single GetCheck would return.
            description: >-
                Response message for ClientService.BatchGetChecks.
        BatchGetFindingsResponse:
            title: BatchGetFindingsResponse
            type: object
            properties:
                findings:
                    type: array
                    items:
                        $ref: '#/components/schemas/Finding'
                    description: 'The Findings requested.'
            description: >-
                Response message for ClientService.BatchGetFindings.
        Business:
            title: Business
            type: object
            properties:
                jurisdiction:
                    type: string
                    description: >-
                        The jurisdiction of the business as an ISO 3166-1 alpha-2 country code.

                        Example: "GB" for United Kingdom, "DE" for Germany.
                    readOnly: true
                name:
                    type: string
                    description: >-
                        The legal name of the business as registered with the relevant authority.
                    readOnly: true
                registrationNumber:
                    type: string
                    description: The registration number of the business.
                    readOnly: true
                registrationNumberType:
                    type: string
                    description: The registration number type.
                    readOnly: true
                dunsNumber:
                    type: string
                    description: The D&B DUNS number for the business.
                    readOnly: true
            description: >-
                A Business represents a company or other legal entity.
        CCJInsolvencyCheckResult:
            title: CCJInsolvencyCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the CCJInsolvencyCheckResult (e.g: CCJ & Insolvency Check).'
                description:
                    type: string
                    description: 'A human readable description of the CCJInsolvencyCheckResult (e.g: No adverse indicators found).'
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                    description: |-
                        The recommendation for this CCJInsolvencyCheckResult.
                         Possible values:
                         - CLEAR: No adverse indicators found
                         - CONSIDER: One or more adverse indicators found (CCJ, bankruptcy, etc.)
                         - FAIL: CCJ & Insolvency check failed
                         - NOT_APPLICABLE: Check not applicable for this subject
                         - UNSUPPORTED_BY_PROVIDER: Provider does not support this check
                         - RECOMMENDATION_UNSPECIFIED: Result pending or unknown
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that were used to generate this [CCJInsolvencyCheckResult][thirdfort.client.v1.CCJInsolvencyCheckResult].
            description: |-
                The summary of the results of a CCJ (County Court Judgments) and Insolvency Check.
                 This is intended to be used in a [CheckSummary][thirdfort.client.v1.CheckSummary]
        Check:
            title: Check
            type: object
            properties:
                name:
                    type: string
                    description: |-
                        The unique resource name of the check.
                        Format: `organizations/{organization}/teams/{team}/checks/{check}`.
                        This field is system-generated and immutable.
                displayName:
                    type: string
                    description: >-
                        Human-readable name for the check, used for identification in user interfaces.

                        Examples: "Address Verification for Purchase of 58 Goodwood Park Road" or "Annual Identity Check".

                        For standalone checks, this name is also displayed to consumers during the verification process.
                clientReference:
                    type: string
                    description: >-
                        Client-provided reference for correlating the check with external systems.

                        While uniqueness is recommended for easier tracking, it is not enforced by the system.

                        This field is not used by Thirdfort for check identification but can be used for

                        client-side correlation and reporting.
                state:
                    $ref: '#/components/schemas/CheckState'
                createTime:
                    type: string
                    format: date-time
                    description: >-
                        The timestamp when the check was created.

                        This field is set automatically when the check is first created and never changes.
                    readOnly: true
                updateTime:
                    type: string
                    format: date-time
                    description: >-
                        The timestamp when the check was last modified.

                        This includes system-driven updates such as state changes, new findings, or

                        the creation of new check summaries. It also updates when users interact with the check.
                    readOnly: true
                template:
                    type: string
                    description: >-
                        The resource name of the CheckTemplate that defines

                        the compliance workflow for this check. The template determines what verification steps

                        will be performed and how results are processed.
                params:
                    oneOf:
                        - $ref: '#/components/schemas/IdentityVerificationCheckParams'
                        - $ref: '#/components/schemas/ClientOnlyVerificationCheckParams'
                    discriminator:
                        propertyName: '@type'
                        mapping:
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityVerificationCheckParams: '#/components/schemas/IdentityVerificationCheckParams'
                            type.googleapis.com/thirdfort.client.checks.type.v1.ClientOnlyVerificationCheckParams: '#/components/schemas/ClientOnlyVerificationCheckParams'
                relatedSubjects:
                    type: array
                    items:
                        $ref: '#/components/schemas/SubjectRelation'
                    description: >-
                        The subjects undergoing due diligence in this check.

                        Most checks involve a single subject (e.g., identity verification for one individual),

                        but some may involve multiple subjects when a comprehensive view is required

                        (e.g., source of funds verification for a transaction with multiple contributing parties).


                        This field is automatically populated based on the check's template and parameters.

                        The subjects may be explicitly specified in the parameters or derived through the

                        check's internal logic.
                    readOnly: true
                owner:
                    type: string
                    description: >-
                        Optional resource name of the entity that owns this check.

                        Checks are not required to have an owner, but when present, this establishes

                        a hierarchical relationship (e.g., a parent check that spawns child checks).

                        Owned checks cannot be cancelled directly; cancellation must be initiated

                        through the owning resource.
                creator:
                    type: string
                    description: >-
                        The resource name of the User who created this check.

                        For checks that are owned by another resource, this refers to the user who created

                        the owning resource rather than the check itself.
                    readOnly: true
                deleteTime:
                    type: string
                    format: date-time
                    description: >-
                        The time at which the Check was soft-deleted.
                    readOnly: true
                purgeTime:
                    type: string
                    format: date-time
                    description: >-
                        The time at which the Check will be hard-deleted from the system.
                    readOnly: true
                ongoingMonitoring:
                    $ref: '#/components/schemas/OngoingMonitoring'
                notificationRecipient:
                    type: string
                    description: >-
                        The User who should receive notifications for this Check

                        By default, this is the User that created the Check.
                    readOnly: true
                ownerLabel:
                    type: string
                    description: >-
                        Optional human-readable label for the owner of this check.

                        This field provides a display name or description for the owner resource,

                        used in user interfaces such as links back to the owning check.

                        For example, when a KYC check is created from a KYB check, this field

                        would contain the display name of the KYB check to show in the UI.

                        This field is only meaningful when the owner field is set.
            description: >-
                A Check represents an execution of a compliance workflow

                defined by a CheckTemplate. Checks perform due diligence

                and verification processes on one or more Subjects according to

                the template's configuration.


                Most checks operate on a single subject (e.g., identity verification for an individual), but some

                may involve multiple subjects when a comprehensive view is required (e.g., source of funds verification

                for a transaction involving multiple parties).


                Checks have a lifecycle that includes creation, execution, and completion phases. They can be in

                ACTIVE state while processing, INACTIVE when waiting for input or completed, or CANCELLED if terminated.
            required:
                - clientReference
                - template
        CheckCompleteData:
            title: CheckCompleteData
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.notifications.v1.CheckCompleteData`.
            description: |-
                [CheckCompleteData][thirdfort.client.notifications.v1.CheckCompleteData] is the
                 payload for `notification.client.check_complete.v1` notifications.
                 This notification is sent when a check has completed all of its processing.
        CheckState:
            title: CheckState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - ACTIVE
                - INACTIVE
                - CANCELLED
                - DELETED
            default: STATE_UNSPECIFIED
            description: >-
                The operational state of the check, indicating its current phase in the compliance workflow.


                 - STATE_UNSPECIFIED: Default value. This value is unused.
                 - ACTIVE: The check is actively processing, performing analysis, waiting for data from subjects
                or third-party providers, or scheduled to run additional verification steps.

                Active checks may transition back to INACTIVE when processing completes or when

                waiting for external input. They can be reactivated through various triggers such as

                ongoing monitoring events or finding reviews.

                 - INACTIVE: The check is not currently performing analysis or waiting for external data.
                This state indicates the check has completed its current processing cycle and is

                awaiting further action. Checks can transition from INACTIVE to ACTIVE through

                actions like enabling ongoing monitoring, reviewing findings, or receiving new data.

                 - CANCELLED: The check has been permanently cancelled and will no longer perform any processing.
                This is a terminal state - cancelled checks cannot be reactivated or moved to any

                other state. All ongoing operations are stopped and no further analysis will occur.

                 - DELETED: The check has been soft-deleted and is pending permanent removal.
                It can be undeleted before the retention period expires, after which

                it will be permanently purged.
        CheckSummary:
            title: CheckSummary
            type: object
            properties:
                name:
                    type: string
                createTime:
                    type: string
                    format: date-time
                    readOnly: true
                payload:
                    oneOf:
                        - $ref: '#/components/schemas/IndividualVerificationCheckSummary'
                        - $ref: '#/components/schemas/ClientOnlyVerificationCheckSummary'
                    discriminator:
                        propertyName: '@type'
                        mapping:
                            type.googleapis.com/thirdfort.client.checks.type.v1.IndividualVerificationCheckSummary: '#/components/schemas/IndividualVerificationCheckSummary'
                            type.googleapis.com/thirdfort.client.checks.type.v1.ClientOnlyVerificationCheckSummary: '#/components/schemas/ClientOnlyVerificationCheckSummary'
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: >-
                        The names of the Findings

                        that were used to generate this CheckSummary.
                    readOnly: true
                reportUrl:
                    type: string
                    title: >-
                        The URL of the PDF report generated for the CheckSummaryRevision
                    readOnly: true
                summaryReportUrl:
                    type: string
                    title: >-
                        The URL of the summary PDF report generated for the CheckSummaryRevision
                    readOnly: true
            description: >-
                A CheckSummary is a summary of the due diligence that has

                been performed by a Check so far.

                The underlying type of this is specific to the CheckTemplate

                that the Check is using.

                If the Check is in a terminal state, the `latest`

                CheckSummary will be the final summary of the due diligence performed

                and will represent the Summary at the point where the terminal

                state was reached.
        ClientOnlyVerificationCheckParams:
            title: ClientOnlyVerificationCheckParams
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.ClientOnlyVerificationCheckParams`.
                subject:
                    allOf:
                        - $ref: '#/components/schemas/ProvidedSubjectData'
                    description: The [ProvidedSubjectData][thirdfort.client.v1.ProvidedSubjectData] to perform the check on.
                address:
                    allOf:
                        - $ref: '#/components/schemas/Address'
                    description: The residential address of the provided subject
                requireAddressVerification:
                    type: boolean
                relationshipType:
                    type: string
                    description: The relationship type of the subject, is this a client of the client or is the check for another purpose.
                enableOngoingMonitoring:
                    type: boolean
                internationalAddressVerificationConsent:
                    type: boolean
                    description: Indicates whether the client has given consent for international address verification.
                requireCcjInsolvency:
                    type: boolean
                    description: Whether CCJ and insolvency check is required.
            description: |-
                The input parameters required to perform an ClientOnlyVerificationCheckParams.
                 This check is used to verify the identity of an individual when the person is
                 not in the flow.
        ClientOnlyVerificationCheckSummary:
            title: ClientOnlyVerificationCheckSummary
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.ClientOnlyVerificationCheckSummary`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the check
                addressVerificationCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/AddressVerificationCheckResult'
                    description: |-
                        Optional. The result of the [AddressVerificationCheckResult][thirdfort.client.checks.type.v1.AddressVerificationCheckResult].
                         Only applicable when [ClientOnlyVerificationCheckParams.require_address_verification] = true.
                screeningCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/ScreeningCheckResult'
                    description: The result of the [ScreeningCheckResult][thirdfort.client.checks.type.v1.ScreeningCheckResult].
                providedSubjectData:
                    allOf:
                        - $ref: '#/components/schemas/ProvidedSubjectData'
                    description: |-
                        A summarization of the data that was provided by the initiator of the [Check][thirdfort.client.checks.type.v1.Check] in
                         relation to the [Subject][thirdfort.client.v1.Subject] of the [Check][thirdfort.client.checks.type.v1.Check].
                         This may not exhaustively cover everything that was provided, but is a summary of some of the most important high level data.
                pdfReportUrl:
                    type: string
                    description: The download URL for the PDF report
                summaryPdfReportUrl:
                    type: string
                    description: The download URL for the summary PDF report
                ccjInsolvencyCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/CCJInsolvencyCheckResult'
                    description: |-
                        The result of the CCJ (County Court Judgments) and Insolvency check.
                         This field is only populated when the CCJ/Insolvency feature is enabled for the organization
                         and the address being verified is a UK address.
            description: |-
                The summary of the results of a ClientOnlyVerificationCheck.
                 This is intended to be added as payload for a [CheckSummary][thirdfort.client.v1.CheckSummary]
        ComplianceRecommendation:
            title: ComplianceRecommendation
            type: object
            properties:
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                description:
                    type: string
                    description: An optional description of why this recommendation is being made.
            description: |-
                A [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha1.ComplianceRecommendation] is a recommendation for how to handle part of, or the whole result of
                 [Check][thirdfort.client.v1alpha1.Check] and an optional description of why this recommendation
                 is being made.
        CryptocurrencyFundsDetails:
            title: CryptocurrencyFundsDetails
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                countryOfOrigin:
                    type: string
            description: Details for alerts related to cryptocurrency funds.
        EvidenceFinding:
            title: EvidenceFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.EvidenceFinding`.
                displayName:
                    type: string
                    description: |-
                        A human readable name for the item of evidence.
                         E.g: "Passport photo page".
                fileType:
                    type: string
                    enum:
                        - OTHER
                        - PDF
                        - IMAGE
                        - VIDEO
                collectionTime:
                    type: string
                    format: date-time
                    description: The timestamp when the evidence was collected.
                fileUrl:
                    type: string
                    description: The URL to download the evidence from.
                collectionReason:
                    type: string
                    enum:
                        - COLLECTION_REASON_UNSPECIFIED
                        - REQUIRED_BY_CHECK_TEMPLATE
                        - REQUESTED_BY_CLIENT
            description: |-
                Detail [Finding][thirdfort.client.v1.Finding] payload that holds a piece of evidence
                 that has been gathered as part of a [Check][thirdfort.client.v1.Check].
                 This could be a document, a photo, a video, or any other piece of evidence that contributes
                 towards the overall result of the [Check][thirdfort.client.v1.Check]
                 or has been used as part of generating other [Findings][thirdfort.client.v1.Finding].
        FacialRecognitionCheckResult:
            title: FacialRecognitionCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the FacialRecognitionCheckResult (e.g: Facial Recognition).'
                description:
                    type: string
                    description: 'A human readable description of the FacialRecognitionCheckResult. (e.g: Facial similarity confirmed).'
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                    description: The recommendation for this FacialRecognitionCheckResult
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that were used to generate this [FacialRecognitionCheckResult][thirdfort.client.v1.FacialRecognitionCheckResult].
                usedNfc:
                    type: boolean
                    description: Whether a passport's NFC chip was able to be scanned whilst performing the facial similarity check.
                pdfReportUrl:
                    type: string
                    description: Optional. The URL to download the PDF report for the check result from.
            description: |-
                The summary of the results of an FacialRecognitionCheck.
                 This is intended to be used in a [CheckSummary][thirdfort.client.v1.CheckSummary]
        Finding:
            title: Finding
            type: object
            properties:
                name:
                    type: string
                displayName:
                    type: string
                    description: >-
                        A human readable name for the Finding.
                    readOnly: true
                description:
                    type: string
                    description: >-
                        A human readable description of the Finding.
                state:
                    $ref: '#/components/schemas/FindingState'
                payload:
                    oneOf:
                        - $ref: '#/components/schemas/BankingTransactionsFinding'
                        - $ref: '#/components/schemas/EvidenceFinding'
                        - $ref: '#/components/schemas/IdentityDocumentAgeValidationFinding'
                        - $ref: '#/components/schemas/IdentityDocumentChipCloningDetectionFinding'
                        - $ref: '#/components/schemas/IdentityDocumentCompromisedDocumentFinding'
                        - $ref: '#/components/schemas/IdentityDocumentDataConsistencyFinding'
                        - $ref: '#/components/schemas/IdentityDocumentDataValidationFinding'
                        - $ref: '#/components/schemas/IdentityDocumentDocumentDataComparisonFinding'
                        - $ref: '#/components/schemas/IdentityDocumentFacialComparisonFinding'
                        - $ref: '#/components/schemas/IdentityDocumentFacialImageIntegrityFinding'
                        - $ref: '#/components/schemas/IdentityDocumentFacialVisualAuthenticityFinding'
                        - $ref: '#/components/schemas/IdentityDocumentImageIntegrityFinding'
                        - $ref: '#/components/schemas/IdentityDocumentPassportChipValidationFinding'
                        - $ref: '#/components/schemas/IdentityDocumentPoliceRecordFinding'
                        - $ref: '#/components/schemas/IdentityDocumentVisualAuthenticityFinding'
                        - $ref: '#/components/schemas/IndividualAddressVerificationDatabaseMatchFinding'
                        - $ref: '#/components/schemas/IndividualAddressVerificationSupportingDocumentFinding'
                        - $ref: '#/components/schemas/IndividualCCJInsolvencyFinding'
                        - $ref: '#/components/schemas/IndividualScreeningCheckSearchResultFinding'
                        - $ref: '#/components/schemas/SourceOfFundsAlertFinding'
                        - $ref: '#/components/schemas/SourceOfFundsCopurchaserFinding'
                        - $ref: '#/components/schemas/SourceOfFundsGiftorFinding'
                        - $ref: '#/components/schemas/TimeSpanBankingTransactionsFinding'
                    discriminator:
                        propertyName: '@type'
                        mapping:
                            type.googleapis.com/thirdfort.client.checks.type.v1.BankingTransactionsFinding: '#/components/schemas/BankingTransactionsFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.EvidenceFinding: '#/components/schemas/EvidenceFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentAgeValidationFinding: '#/components/schemas/IdentityDocumentAgeValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentChipCloningDetectionFinding: '#/components/schemas/IdentityDocumentChipCloningDetectionFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentCompromisedDocumentFinding: '#/components/schemas/IdentityDocumentCompromisedDocumentFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDataConsistencyFinding: '#/components/schemas/IdentityDocumentDataConsistencyFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDataValidationFinding: '#/components/schemas/IdentityDocumentDataValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDocumentDataComparisonFinding: '#/components/schemas/IdentityDocumentDocumentDataComparisonFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialComparisonFinding: '#/components/schemas/IdentityDocumentFacialComparisonFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialImageIntegrityFinding: '#/components/schemas/IdentityDocumentFacialImageIntegrityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialVisualAuthenticityFinding: '#/components/schemas/IdentityDocumentFacialVisualAuthenticityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentImageIntegrityFinding: '#/components/schemas/IdentityDocumentImageIntegrityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentPassportChipValidationFinding: '#/components/schemas/IdentityDocumentPassportChipValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentPoliceRecordFinding: '#/components/schemas/IdentityDocumentPoliceRecordFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentVisualAuthenticityFinding: '#/components/schemas/IdentityDocumentVisualAuthenticityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IndividualAddressVerificationDatabaseMatchFinding: '#/components/schemas/IndividualAddressVerificationDatabaseMatchFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IndividualAddressVerificationSupportingDocumentFinding: '#/components/schemas/IndividualAddressVerificationSupportingDocumentFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IndividualCCJInsolvencyFinding: '#/components/schemas/IndividualCCJInsolvencyFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.IndividualScreeningCheckSearchResultFinding: '#/components/schemas/IndividualScreeningCheckSearchResultFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsAlertFinding: '#/components/schemas/SourceOfFundsAlertFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsCopurchaserFinding: '#/components/schemas/SourceOfFundsCopurchaserFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsGiftorFinding: '#/components/schemas/SourceOfFundsGiftorFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1.TimeSpanBankingTransactionsFinding: '#/components/schemas/TimeSpanBankingTransactionsFinding'
                sources:
                    type: array
                    items:
                        type: string
                    description: >-
                        The source(s) for the data contained in the Finding.

                        Generally, this will be a single source, but in some cases, it may be multiple if the data

                        has been enriched by sources other than the original source.
                    readOnly: true
                createTime:
                    type: string
                    format: date-time
                    readOnly: true
            description: >-
                A Finding is a detailed piece of information surfaced in

                the course of a Check and contains a payload type that is specific

                to the CheckTemplate that the Check

                is using.


                Findings themselves do not directly convey a recommendation around

                the overall outcome of a Check but are intended to be used as a source of

                information that such a summary can be derived from.
        FindingState:
            title: FindingState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - UNREVIEWED
                - DISMISSED
                - CONFIRMED
                - RETRACTED_BY_PROVIDER
            default: STATE_UNSPECIFIED
            description: >4-
                 - UNREVIEWED: The Finding has been created but has not yet been
                explicitly reviewed.
                 - DISMISSED: The Finding has been reviewed and the reviewer has
                determined that it is not relevant to the Check.
                This could be because the Finding is a false positive
                (e.g: wrong subject) or that it's technically correct but contextually irrelevant.
                 - CONFIRMED: The Finding has been reviewed and the reviewer has
                determined that it is relevant to the Check and has
                indicated this explicitly.
                 - RETRACTED_BY_PROVIDER: The Provider of this Finding has retracted their assessment
                and marked it as erroneous or no longer applicable.
        FundsFromHighRiskCountryDetails:
            title: FundsFromHighRiskCountryDetails
            type: object
            properties:
                countryCode:
                    type: string
                amount:
                    $ref: '#/components/schemas/Money'
                list:
                    type: string
                    enum:
                        - FATF_LIST_UNSPECIFIED
                        - BLACK_LIST
                        - GREY_LIST
            description: Details for alerts related to high-risk countries.
        HighAmountCashDepositsDetails:
            title: HighAmountCashDepositsDetails
            type: object
            properties:
                totalAmount:
                    $ref: '#/components/schemas/Money'
                thresholdAmount:
                    $ref: '#/components/schemas/Money'
                medianDepositAmount:
                    $ref: '#/components/schemas/Money'
                countryCode:
                    type: string
            description: Details for alerts related to the amount of cash deposits.
        HighFrequencyCashDepositsDetails:
            title: HighFrequencyCashDepositsDetails
            type: object
            properties:
                depositCount:
                    type: integer
                    format: int32
                    description: The number of cash deposit transactions observed within the evaluated statement period.
                thresholdCount:
                    type: integer
                    format: int32
                    description: |-
                        The configured frequency limit (count) for cash deposits within the same statement period
                         (monthly).
                totalAmount:
                    $ref: '#/components/schemas/Money'
                countryCode:
                    type: string
            description: Details for alerts related to the frequency of cash deposits.
        HighVelocityTransactionsDetails:
            title: HighVelocityTransactionsDetails
            type: object
            properties:
                totalAmount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The total transaction value in the time window.
                thresholdAmount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The configured threshold amount.
                windowStart:
                    type: string
                    format: date-time
                    description: Time window start.
                windowEnd:
                    type: string
                    format: date-time
                    description: Time window end.
                transactionCount:
                    type: integer
                    format: int32
                    description: Number of transactions in the window.
                countryCode:
                    type: string
            description: Details for alerts related to high velocity transactions.
        IdentityDocumentAgeValidationFinding:
            title: IdentityDocumentAgeValidationFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentAgeValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for age validation.
                minimumAcceptedAgeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for minimum accepted age verification.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering age verification and validation based on the document's date of birth.
                 Supported by: Onfido
        IdentityDocumentCheckResult:
            title: IdentityDocumentCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the IdentityDocumentCheckResult (e.g: Identity Document).'
                description:
                    type: string
                    description: 'A human readable description of the IdentityDocumentCheckResult. (e.g: Document verified\nNFC chip scanned successfully).'
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                    description: The recommendation for this IdentityDocumentCheckResult
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that were used to generate this [IdentityDocumentCheckResult][thirdfort.client.v1.IdentityDocumentCheckResult].
                usedNfc:
                    type: boolean
                    description: Whether a passport's NFC chip was able to be scanned whilst performing the document capture.
                pdfReportUrl:
                    type: string
                    description: Optional. The URL to download the PDF report for the check result from.
            description: |-
                The summary of the results of an IdentityDocumentCheck.
                 This is intended to be used in a [CheckSummary][thirdfort.client.v1.CheckSummary]
        IdentityDocumentChipCloningDetectionFinding:
            title: IdentityDocumentChipCloningDetectionFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentChipCloningDetectionFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the cloning detection.
                activeAuthenticationRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the active authentication.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering the cloning detection between what is expected and was extracted from the document.
        IdentityDocumentCompromisedDocumentFinding:
            title: IdentityDocumentCompromisedDocumentFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentCompromisedDocumentFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for compromised document detection.
                documentNotFlaggedAsStolenLostOrIdentityFraudRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for verifying that the document has not been flagged as stolen, lost or part of identity fraud.
                repeatAttempts:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for cases where the same document is used repeatedly with minor modifications, indicating potential fraud.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering detection of compromised or fraudulent documents.
                 Supported by: Onfido
        IdentityDocumentDataConsistencyFinding:
            title: IdentityDocumentDataConsistencyFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDataConsistencyFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for data consistency.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for date of birth consistency.
                dateOfExpiryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for date of expiry consistency.
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for document numbers consistency.
                documentTypeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for document type consistency.
                firstNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for first name consistency.
                genderRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for gender consistency.
                issuingCountryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for issuing country consistency.
                lastNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for last name consistency.
                nationalityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for nationality consistency.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering data consistency validation across different fields within the document.
                 Supported by: Onfido
        IdentityDocumentDataValidationFinding:
            title: IdentityDocumentDataValidationFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDataValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for data validation.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for date of birth validation.
                documentExpirationRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for document expiration validation.
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for document numbers validation.
                expiryDateRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for expiry date validation.
                genderRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for gender validation.
                mrzRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for MRZ (Machine Readable Zone) validation.
                barCodeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for barcode validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering validation of data fields against expected formats and business rules.
                 Supported by: Onfido
        IdentityDocumentDocumentDataComparisonFinding:
            title: IdentityDocumentDocumentDataComparisonFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentDocumentDataComparisonFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the data comparison.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the date of birth comparison.
                         Supported by: Onfido, ReadID
                dateOfExpiryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the
                         document date of expiry comparison.
                         Supported by: Onfido
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the document number comparison.
                         Supported by: Onfido
                documentTypeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the document type comparison.
                         Supported by: Onfido
                givenNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the given name comparison.
                         Supported by: Onfido, ReadID
                familyNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the family name comparison.
                         Supported by: Onfido, ReadID
                providedPersonalData:
                    allOf:
                        - $ref: '#/components/schemas/PersonalData'
                    description: The personal data provided by the applicant.
                extractedPersonalData:
                    allOf:
                        - $ref: '#/components/schemas/PersonalData'
                    description: The personal data extracted from the document.
                genderRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the gender comparison.
                         Supported by: Onfido
                issuingCountryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the issuing country comparison.
                         Supported by: Onfido
                declaredNationalityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha1.ComplianceRecommendation] for the detected discrepancy in nationality declared by the subject and the evidence they've provided.
                         Supported by: Homeppl
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering data comparison between what is expected and was extracted from the document.
        IdentityDocumentFacialComparisonFinding:
            title: IdentityDocumentFacialComparisonFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialComparisonFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the facial comparison.
                faceMatchRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the facial match, i.e:
                         whether or not the consumer's face matches the face on the document.
                         Supported by: Onfido, ReadID
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering the facial comparison between the consumer's face and the face on the document
                 they provide.
        IdentityDocumentFacialImageIntegrityFinding:
            title: IdentityDocumentFacialImageIntegrityFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialImageIntegrityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the facial image integrity.
                faceDetectionRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the face detection, i.e:
                         whether a face of sufficient quality was detected in the recorded video.
                         Supported by: Onfido
                sourceIntegrityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the source integrity, i.e:
                         whether the source of the recorded video is likely to be genuine and hasn't been tampered with.
                         Supported by: Onfido, ReadID
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering the integrity of the face recording video.
        IdentityDocumentFacialVisualAuthenticityFinding:
            title: IdentityDocumentFacialVisualAuthenticityFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentFacialVisualAuthenticityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the facial visual authenticity.
                livenessRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the liveness detection, i.e:
                         whether or not the consumer appears to be a living person and successfully completed the recording tasks that were requested.
                         Supported by: Onfido
                spoofingRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the spoofing detection, i.e:
                         whether or not the consumer appears to be using a spoofing technique for the video.
                         Supported by: Onfido, ReadID
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering the visual authenticity of the face recording video.
        IdentityDocumentImageIntegrityFinding:
            title: IdentityDocumentImageIntegrityFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentImageIntegrityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for image integrity.
                colourPictureRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for colour picture validation.
                conclusiveDocumentQualityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for conclusive document quality validation.
                imageQualityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for image quality validation.
                supportedDocumentRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for supported document validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering the integrity of the document image.
                 Supported by: Onfido
        IdentityDocumentPassportChipValidationFinding:
            title: IdentityDocumentPassportChipValidationFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentPassportChipValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] around
                         the passport NFC chip data.
                digitalSignatureRecommendation:
                    $ref: '#/components/schemas/ComplianceRecommendation'
                signingKeyRecommendation:
                    $ref: '#/components/schemas/ComplianceRecommendation'
                expiryDateRecommendation:
                    $ref: '#/components/schemas/ComplianceRecommendation'
                mrzRecommendation:
                    $ref: '#/components/schemas/ComplianceRecommendation'
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck that
                 represents the data from a passport's NFC chip.
        IdentityDocumentPoliceRecordFinding:
            title: IdentityDocumentPoliceRecordFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentPoliceRecordFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for police record verification.
                documentNotRecordedAsLostStolenOrCompromisedRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for verifying that the document has not been recorded as lost, stolen or compromised.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering police record verification for document security.
                 Supported by: Onfido
        IdentityDocumentVisualAuthenticityFinding:
            title: IdentityDocumentVisualAuthenticityFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityDocumentVisualAuthenticityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for visual authenticity.
                digitalTamperingRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for digital tampering detection.
                faceDetectionRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for face detection validation.
                fontsRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for fonts validation.
                originalDocumentPresentRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for original document presence validation.
                otherRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for other visual authenticity checks.
                pictureFaceIntegrityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for picture face integrity validation.
                securityFeaturesRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for security features validation.
                templateRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for template validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for an IdentityDocumentCheck
                 covering visual authenticity validation of the document.
                 Supported by: Onfido
        IdentityVerificationCheckParams:
            title: IdentityVerificationCheckParams
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IdentityVerificationCheckParams`.
                subject:
                    allOf:
                        - $ref: '#/components/schemas/IdentityVerificationCheckParams_ClientProvidedSubjectData'
                    description: The initial details of the [Subject][thirdfort.client.v1.Subject] to perform the check on, as entered by the Client.
                industry:
                    type: string
                    description: |-
                        The industry that the check is being performed in.
                         This is informational only and does not affect the check itself.
                passportNfcPreference:
                    type: string
                    enum:
                        - PASSPORT_NFC_PREFERENCE_UNSPECIFIED
                        - OPTIONAL
                        - SKIP
                    description: |-
                        An indication of how the presence, or not, of NFC should be handled
                         when the passport is provided as evidence.

                         If set to OPTIONAL, NFC will be attempted first but if it fails, a non-NFC method will be used.
                         This represents a world where Enhanced NFC ID is selected, but Original ID is allowed as a fallback.

                         If set to SKIP, NFC will not be used and only non-NFC methods will be used.
                         This represents a world where Original ID is explicitly selected.
                requireProofOfAddressDocument:
                    type: boolean
                requireSixMonthsOfBankingData:
                    type: boolean
                requireProofOfOwnershipDocument:
                    type: boolean
                requireSourceOfFundsQuestionnaire:
                    type: boolean
                enableOngoingMonitoring:
                    type: boolean
                persona:
                    type: string
                    description: |-
                        The persona of the subject undergoing the check.
                         Used to determine which task flow to create in the Consumer API.
                         Valid values: "seller", "purchaser", "giftor", "propertyOther", "landlord", "tenantOccupantGuarantor"
                         Note: These values are used for downstream analytics purposes (Looker, commercial team, etc.)
                         and should be confirmed with the product team before modification.
                internationalAddressVerificationConsent:
                    type: boolean
                    description: Indicates whether the client has given consent for international address verification.
                enableOcr:
                    type: boolean
                    description: |-
                        Whether OCR-based extraction is enabled for uploaded documents.
                         Controlled by the org-level "sof-ocr" feature flag.
                requireCcjInsolvency:
                    type: boolean
                    description: Whether CCJ and insolvency check is required.
            description: |-
                The input parameters required to perform an IdentityVerificationCheck.
                 This check is used to verify the identity of an individual and encompassed both
                 Enhanced NFC ID and Original ID products as the former is essentially just the
                 latter but with NFC requested before trying standard document scans.
        IdentityVerificationCheckParams_ClientProvidedSubjectData:
            title: IdentityVerificationCheckParams_ClientProvidedSubjectData
            type: object
            properties:
                givenName:
                    type: string
                    description: The given name of the [Subject][thirdfort.client.v1.Subject].
                familyName:
                    type: string
                    description: The family name of the [Subject][thirdfort.client.v1.Subject].
                phoneNumber:
                    type: string
                    description: |-
                        The phone number of the [Subject][thirdfort.client.v1.Subject].
                         Must be in E.164 format (e.g., +447700900123).
                email:
                    type: string
                    description: The email address of the [Subject][thirdfort.client.v1.Subject].
            description: Check [Subject][thirdfort.client.v1.Subject] data provided by the client when creating the [Check][thirdfort.client.checks.type.v1.Check].
        Individual:
            title: Individual
            type: object
            properties:
                title:
                    type: string
                    description: >-
                        The title of the Individual, e.g: Mr, Mrs, Dr etc.
                    readOnly: true
                givenName:
                    type: string
                    description: >-
                        The given name of the Individual.

                        This terminology is used instead of "first name" to better accomodate for cultures

                        where the given name may not be written first.
                    readOnly: true
                familyName:
                    type: string
                    description: >-
                        The family name of the Individual.

                        This terminology is used instead of "last name" to better accomodate for cultures

                        where the family name may not be written last.
                    readOnly: true
                otherNames:
                    type: string
                    description: |-
                        The other names of the Subject.
                        In the UK, this is also known as the "middle names".
                    readOnly: true
                email:
                    type: string
                    description: RFC 5322 compliant email address of the Individual.
                    readOnly: true
                phoneNumber:
                    type: string
                    title: 'The phone number of the Individual'
                    readOnly: true
                dateOfBirth:
                    $ref: '#/components/schemas/typeDate'
            description: >-
                An Individual represents a named, single person.
        IndividualAddressVerificationDatabaseMatchFinding:
            title: IndividualAddressVerificationDatabaseMatchFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IndividualAddressVerificationDatabaseMatchFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the address match.
                matchFound:
                    allOf:
                        - $ref: '#/components/schemas/IndividualAddressVerificationDatabaseMatchFinding_AddressMatchFound'
                    description: The result of whether a match was found in the database.
                matchQualityScore:
                    allOf:
                        - $ref: '#/components/schemas/IndividualAddressVerificationDatabaseMatchFinding_AddressMatchQualityScore'
                    description: The quality score of the address match.
                furtherInformation:
                    type: array
                    items:
                        type: string
                    description: contains explanatory text for further risk information
                externalId:
                    type: string
                    description: An external ID that can be used to reference this finding in the original data provider's system
        IndividualAddressVerificationDatabaseMatchFinding_AddressMatchFound:
            title: IndividualAddressVerificationDatabaseMatchFinding_AddressMatchFound
            type: object
            properties:
                value:
                    type: boolean
                    description: Whether a match was found in the database
                description:
                    type: string
                    description: Description explaining the match result
            description: Represents the result of whether an address match was found
        IndividualAddressVerificationDatabaseMatchFinding_AddressMatchQualityScore:
            title: IndividualAddressVerificationDatabaseMatchFinding_AddressMatchQualityScore
            type: object
            properties:
                value:
                    type: string
                    format: int64
                    description: The numeric quality score of the match
                description:
                    type: string
                    description: Description explaining the quality score
                qualityAssessment:
                    type: string
                    enum:
                        - QUALITY_ASSESSMENT_UNSPECIFIED
                        - SUFFICIENT
                        - NOT_SUFFICIENT
                    description: The overall quality assessment based on score, data sources, and risk rules
            description: Represents the quality score of an address match
        IndividualAddressVerificationSupportingDocumentFinding:
            title: IndividualAddressVerificationSupportingDocumentFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IndividualAddressVerificationSupportingDocumentFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the further information.
                proofOfAddressDocumentResponse:
                    $ref: '#/components/schemas/IndividualAddressVerificationSupportingDocumentFinding_SupportingDocumentResponse'
        IndividualAddressVerificationSupportingDocumentFinding_SupportingDocumentResponse:
            title: IndividualAddressVerificationSupportingDocumentFinding_SupportingDocumentResponse
            type: object
            properties:
                responseType:
                    type: string
                    enum:
                        - TYPE_UNSPECIFIED
                        - PROVIDED
                        - NOT_PROVIDED
                        - NOT_REQUESTED
                    description: Indicates whether or not we requested the document and if so, whether it was provided.
                documentUrl:
                    type: string
                    description: |-
                        The URL to download the document that was requested.
                         This link is authenticated and is only accessible to those who have access
                         to the check itself and will only be present if we requested and obtained the document.
        IndividualCCJInsolvencyFinding:
            title: IndividualCCJInsolvencyFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IndividualCCJInsolvencyFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation]
                         for the CCJ/Insolvency check.
                         - CLEAR: No adverse indicators found (Experian decision: CONTINUE)
                         - CONSIDER: One or more adverse indicators found (Experian decision: REFER or STOP)
                triggeredRules:
                    type: array
                    items:
                        $ref: '#/components/schemas/IndividualCCJInsolvencyFinding_TriggeredRule'
                    description: |-
                        List of triggered rules from the CCJ/Insolvency check.
                         Empty if no adverse indicators were found.
                externalId:
                    type: string
                    description: |-
                        An external ID that can be used to reference this finding in the original
                         data provider's system (Experian reference).
            description: |-
                Finding for CCJ (County Court Judgments) and Insolvency checks against an individual.
                 This finding is produced by querying Experian's KYC service with the uk-contras
                 (Contra-Indicators) component.
        IndividualCCJInsolvencyFinding_TriggeredRule:
            title: IndividualCCJInsolvencyFinding_TriggeredRule
            type: object
            properties:
                ruleId:
                    type: string
                    description: The rule identifier (e.g., "C6511").
                ruleName:
                    type: string
                    description: The rule name (e.g., "V_PI_CCJ_1Active").
                description:
                    type: string
                    description: A human-readable description of the rule (e.g., "One or more active CCJ records found").
            description: |-
                Represents a triggered rule from the CCJ/Insolvency check.
                 Rules are from the C65xx series (C6500-C6517) covering CCJ, insolvency,
                 and child maintenance order indicators.
        IndividualScreeningCheckSearchResultFinding:
            title: IndividualScreeningCheckSearchResultFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IndividualScreeningCheckSearchResultFinding`.
                id:
                    type: string
                    description: The unique identifier for the search result finding.
                matchName:
                    type: string
                    description: |-
                        The name that was identified as a potential match for
                         search results for the subject.
                hitTypes:
                    type: array
                    items:
                        type: string
                        enum:
                            - HIT_TYPE_UNSPECIFIED
                            - PEP
                            - PEP_CLASS_1
                            - PEP_CLASS_2
                            - PEP_CLASS_3
                            - PEP_CLASS_4
                            - SANCTION
                            - WARNING
                            - FITNESS_PROBITY
                            - ADVERSE_MEDIA
                            - ADVERSE_MEDIA_PROPERTY
                            - ADVERSE_MEDIA_FINANCIAL_AML_CFT
                            - ADVERSE_MEDIA_FRAUD_LINKED
                            - ADVERSE_MEDIA_NARCOTICS_AML_CFT
                            - ADVERSE_MEDIA_VIOLENCE_AML_CFT
                            - ADVERSE_MEDIA_TERRORISM
                            - ADVERSE_MEDIA_CYBERCRIME
                            - ADVERSE_MEDIA_GENERAL_AML_CFT
                            - ADVERSE_MEDIA_REGULATORY
                            - ADVERSE_MEDIA_FINANCIAL_DIFFICULTY
                            - ADVERSE_MEDIA_VIOLENCE_NON_AML_CFT
                            - ADVERSE_MEDIA_OTHER_FINANCIAL
                            - ADVERSE_MEDIA_OTHER_SERIOUS
                            - ADVERSE_MEDIA_OTHER_MINOR
                    description: The types of hit that were found for the hit subject.
                matchTypes:
                    type: array
                    items:
                        type: string
                        enum:
                            - MATCH_TYPE_UNSPECIFIED
                            - ALIAS_EXACT
                            - ALIAS_FUZZY
                            - ALIAS_EQUIVALENT
                            - NAME_EXACT
                            - NAME_FUZZY
                            - NAME_EQUIVALENT
                            - PHONETIC_NAME
                            - PHONETIC_ALIAS
                            - YEAR_OF_BIRTH
                            - COMPLEX
                    description: The types of matching criteria that found the hit based on [match_name][thirdfort.client.checks.type.v1.IndividualScreeningCheckSearchResultFinding.match_name].
                dateOfBirthVariations:
                    allOf:
                        - $ref: '#/components/schemas/IndividualScreeningFieldVariations'
                    description: |-
                        The date of birth variations that were found for the hit subject.
                         Date of births in this message are intentionally string typed to
                         ensure that subtleties in the date of birth are not lost.
                genderVariations:
                    allOf:
                        - $ref: '#/components/schemas/IndividualScreeningFieldVariations'
                    description: genders that were found for the hit subject.
                nationalityVariations:
                    allOf:
                        - $ref: '#/components/schemas/IndividualScreeningFieldVariations'
                    description: nationalities that were found for the hit subject.
                countryCodes:
                    type: array
                    items:
                        type: string
                    description: |-
                        The country codes for countries that the hit subject was found to be
                         associated with.
                aliases:
                    type: array
                    items:
                        type: string
                    description: Known aliases for the hit subject.
                politicalPositions:
                    type: array
                    items:
                        type: string
                    description: The political positions that the hit subject was found to have held.
                associates:
                    type: array
                    items:
                        $ref: '#/components/schemas/IndividualScreeningSubjectAssociate'
                institutions:
                    type: array
                    items:
                        type: string
                    description: The institutions that the hit subject was found to be associated with.
                mediaItems:
                    type: array
                    items:
                        $ref: '#/components/schemas/ScreeningMediaItem'
                sources:
                    type: array
                    items:
                        $ref: '#/components/schemas/ScreeningSource'
                    description: |-
                        The sources that the hit subject was found in.
                         This also includes the free-form data fields that the source returned,
                         some of which are already highlighted in other fields in this message.
            description: |-
                The detailed [Finding][thirdfort.client.v1.Finding] payload for an IndividualScreeningCheck.
                 Each payload here represents a single search result for the subject which will correspond to a
                 particular known name for the subject.
                 Within this, there may be multiple "hits" that represent concrete adverse data that has been found
                 such as PEPs status, sanctions, etc.
        IndividualScreeningCriteria:
            title: IndividualScreeningCriteria
            type: object
            properties:
                givenName:
                    type: string
                middleNames:
                    type: string
                familyName:
                    type: string
                yearOfBirth:
                    type: integer
                    format: int32
                countryCode:
                    type: string
            description: The search criteria used to perform the individual screening search.
        IndividualScreeningFieldVariations:
            title: IndividualScreeningFieldVariations
            type: object
            properties:
                primary:
                    type: string
                variants:
                    type: array
                    items:
                        type: string
            description: Covers the primary and variants an individual screening subject's fields
        IndividualScreeningSubjectAssociate:
            title: IndividualScreeningSubjectAssociate
            type: object
            properties:
                fullName:
                    type: string
                    description: The full_name of the associate.
                association:
                    type: string
                    description: |-
                        The nature of the association.
                         E.g: Spouse, Sibling, etc.
            description: |-
                Details of an associate of an individual screening subject, including
                 their name and the nature of the association (e.g: Spouse, Sibling, etc).
        IndividualVerificationCheckSummary:
            title: IndividualVerificationCheckSummary
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.IndividualVerificationCheckSummary`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1.ComplianceRecommendation] for the check
                addressVerificationCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/AddressVerificationCheckResult'
                    description: The result of the [AddressVerificationCheckResult][thirdfort.client.checks.type.v1.AddressVerificationCheckResult].
                screeningCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/ScreeningCheckResult'
                    description: The result of the [ScreeningCheckResult][thirdfort.client.checks.type.v1.ScreeningCheckResult].
                identityDocumentCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/IdentityDocumentCheckResult'
                    description: The result of the identity document verification check.
                facialRecognitionCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/FacialRecognitionCheckResult'
                    description: The result of the facial recognition check.
                providedSubjectData:
                    allOf:
                        - $ref: '#/components/schemas/IndividualVerificationCheckSummary_ProvidedSubjectData'
                    description: |-
                        A summarization of the data that was provided by the completer of the [Check][thirdfort.client.checks.type.v1.Check] in
                         relation to the [Subject][thirdfort.client.v1.Subject] of the [Check][thirdfort.client.checks.type.v1.Check].
                         This may not exhaustively cover everything that was provided, but is a summary of some of the most important high level data.
                pdfReportUrl:
                    type: string
                    description: The download URL for the PDF report
                summaryPdfReportUrl:
                    type: string
                    description: The download URL for the summary PDF report
                ccjInsolvencyCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/CCJInsolvencyCheckResult'
                    description: |-
                        The result of the CCJ (County Court Judgments) and Insolvency check.
                         This field is only populated when the CCJ/Insolvency feature is enabled for the organization
                         and the address being verified is a UK address.
            description: |-
                The summary of the results of an IdentityVerificationCheck.
                 This is intended to be added as payload for a [CheckSummary][thirdfort.client.v1.CheckSummary]
        IndividualVerificationCheckSummary_ProvidedSubjectData:
            title: IndividualVerificationCheckSummary_ProvidedSubjectData
            type: object
            properties:
                givenName:
                    type: string
                    description: |-
                        The given name of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "first name".
                otherNames:
                    type: string
                    description: |-
                        The other names of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "middle names".
                familyName:
                    type: string
                    description: |-
                        The family name of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "last name" or "surname".
                dateOfBirth:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date of birth of the [Subject][thirdfort.client.v1.Subject].
                address:
                    allOf:
                        - $ref: '#/components/schemas/Address'
                    description: The residential address of the [Subject][thirdfort.client.v1.Subject].
                identityImages:
                    type: array
                    items:
                        $ref: '#/components/schemas/IndividualVerificationCheckSummary_ProvidedSubjectData_IdentityImage'
                    description: The images of the [Subject][thirdfort.client.v1.Subject] that were provided as evidence for the [Check][thirdfort.client.checks.type.v1.Check].
            description: |-
                A summarization of data that was provided by the completer of the [Check][thirdfort.client.checks.type.v1.Check] in
                 relation to the [Subject][thirdfort.client.v1.Subject] of the [Check][thirdfort.client.checks.type.v1.Check].
        IndividualVerificationCheckSummary_ProvidedSubjectData_IdentityImage:
            title: IndividualVerificationCheckSummary_ProvidedSubjectData_IdentityImage
            type: object
            properties:
                url:
                    type: string
                    description: The URL to this identity image.
                source:
                    type: string
                    description: |-
                        A human readable description of the image's source.
                         E.g: Liveness selfie, NFC Chip etc.
            description: |-
                An image of the [Subject][thirdfort.client.v1.Subject] that was provided as evidence for the [Check][thirdfort.client.checks.type.v1.Check].
                 This can be both images taken of the [Subject][thirdfort.client.v1.Subject] whilst completing the [Check][thirdfort.client.checks.type.v1.Check]
                 or can also be ones retrieved from their identity document(s).
        ListChecksResponse:
            title: ListChecksResponse
            type: object
            properties:
                checks:
                    type: array
                    items:
                        $ref: '#/components/schemas/Check'
                    description: >-
                        The list of checks matching the request criteria, ordered by creation time (newest first).

                        May be empty if no checks match the specified filters or if the requested page is beyond

                        the available results.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in the `page_token` field in the subsequent request to retrieve the next page.

                        This field will be empty if there are no more results to retrieve.
            description: >-
                Response message for ClientService.ListChecks.

                Contains a paginated list of checks matching the request criteria.
        ListFindingsResponse:
            title: ListFindingsResponse
            type: object
            properties:
                findings:
                    type: array
                    items:
                        $ref: '#/components/schemas/Finding'
                    description: The list of findings.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in the `page_token` field in the subsequent request to retrieve the next page.
            description: >-
                Response message for ClientService.ListFindings.
        ListNotificationsResponse:
            title: ListNotificationsResponse
            type: object
            properties:
                notifications:
                    type: array
                    items:
                        $ref: '#/components/schemas/Notification'
                    description: |-
                        The list of notifications matching the request criteria.
                        Notifications are ordered by ID in ascending order (oldest first),
                        making this suitable for cursor-based consumption.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in the `page_token` field in the subsequent request to retrieve the next page.

                        This token is always populated when there are more results, treating notifications as an

                        infinite stream suitable for cursor-based polling.
            description: >-
                Response message for ClientService.ListNotifications.
        MissingEvidenceDetails:
            title: MissingEvidenceDetails
            type: object
            properties: {}
            description: |-
                Details for informational alerts about missing evidence.
                 Currently empty — the frontend derives context from the alert's
                 related_source_ids, related_employment_ids, and related_bank_account_ids.
        Money:
            title: Money
            type: object
            properties:
                currencyCode:
                    type: string
                    description: The three-letter currency code defined in ISO 4217.
                units:
                    type: string
                    format: int64
                    description: |-
                        The whole units of the amount.
                         For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                nanos:
                    type: integer
                    format: int32
                    description: |-
                        Number of nano (10^-9) units of the amount.
                         The value must be between -999,999,999 and +999,999,999 inclusive.
                         If `units` is positive, `nanos` must be positive or zero.
                         If `units` is zero, `nanos` can be positive, zero, or negative.
                         If `units` is negative, `nanos` must be negative or zero.
                         For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            description: Represents an amount of money with its currency type.
        MortgageUnreportedDetails:
            title: MortgageUnreportedDetails
            type: object
            properties: {}
            description: Details for an unreported mortgage alert.
        Notification:
            title: Notification
            type: object
            properties:
                name:
                    type: string
                    description: |-
                        The unique resource name of the notification.
                        Format: `organizations/{organization}/notifications/{notification}`.
                type:
                    type: string
                    description: >-
                        Examples:

                        - `notification.client.check_complete.v1`: A check has completed processing

                        - `notification.client.report_generated.v1`: A check report has been generated

                        - `notification.client.ongoing_monitoring_hit.v1`: An ongoing monitoring hit was detected

                        - `notification.client.ongoing_monitoring_renewed.v1`: Ongoing monitoring has renewed
                    title: |-
                        The type of notification, following the naming convention:
                        `notification.<audience>.<name>.v<version>`
                    readOnly: true
                createTime:
                    type: string
                    format: date-time
                    description: The time at which the notification was created.
                    readOnly: true
                payload:
                    oneOf:
                        - $ref: '#/components/schemas/CheckCompleteData'
                        - $ref: '#/components/schemas/ReportGeneratedData'
                        - $ref: '#/components/schemas/OngoingMonitoringHitData'
                        - $ref: '#/components/schemas/OngoingMonitoringStartedData'
                        - $ref: '#/components/schemas/OngoingMonitoringRenewedData'
                    discriminator:
                        propertyName: '@type'
                        mapping:
                            type.googleapis.com/thirdfort.client.notifications.v1.CheckCompleteData: '#/components/schemas/CheckCompleteData'
                            type.googleapis.com/thirdfort.client.notifications.v1.ReportGeneratedData: '#/components/schemas/ReportGeneratedData'
                            type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringHitData: '#/components/schemas/OngoingMonitoringHitData'
                            type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringStartedData: '#/components/schemas/OngoingMonitoringStartedData'
                            type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringRenewedData: '#/components/schemas/OngoingMonitoringRenewedData'
            description: >-
                A Notification represents

                an event that occurred within the Thirdfort platform that clients may be

                interested in. Notifications can be consumed by polling the ListNotifications

                API or, when configured, received via webhook delivery.


                Notification types follow the convention: `notification.<audience>.<name>.v<version>`

                For example: `notification.client.check_complete.v1`
        OngoingMonitoring:
            title: OngoingMonitoring
            type: object
            properties:
                enabled:
                    type: boolean
                    description: True if Ongoing Monitoring functionality is currently operational.
                activeUntil:
                    type: string
                    format: date-time
                    description: >-
                        The datetime when an Ongoing Monitoring billing subscription will expire

                        and therefore become disabled and no longer billable, unless renewed.

                        It will be `null` if no subscription is currently active.
                    readOnly: true
            description: Describes the settings and status of an Ongoing Monitoring component.
        OngoingMonitoringHitData:
            title: OngoingMonitoringHitData
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringHitData`.
            description: |-
                [OngoingMonitoringHitData][thirdfort.client.notifications.v1.OngoingMonitoringHitData] is the
                 payload for `notification.client.ongoing_monitoring_hit.v1` notifications.
                 This notification is sent when an ongoing monitoring hit is detected for a check.
        OngoingMonitoringRenewedData:
            title: OngoingMonitoringRenewedData
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringRenewedData`.
            description: |-
                [OngoingMonitoringRenewedData][thirdfort.client.notifications.v1.OngoingMonitoringRenewedData] is the
                 payload for `notification.client.ongoing_monitoring_renewed.v1` notifications.
                 This notification is sent when ongoing monitoring for a check is renewed.
        OngoingMonitoringStartedData:
            title: OngoingMonitoringStartedData
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.notifications.v1.OngoingMonitoringStartedData`.
            description: |-
                [OngoingMonitoringStartedData][thirdfort.client.notifications.v1.OngoingMonitoringStartedData] is the
                 payload for `notification.client.ongoing_monitoring_started.v1` notifications.
                 This notification is sent when ongoing monitoring for a check is started.
        OverseasFundsDetails:
            title: OverseasFundsDetails
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                countryCode:
                    type: string
            description: Details for alerts related to overseas funds.
        PendingFundVerificationDetails:
            title: PendingFundVerificationDetails
            type: object
            properties:
                totalPending:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: Total amount of funds awaiting verification.
                fundTypes:
                    type: string
                    description: Human-readable list of pending fund types (e.g. "Gift, Help to Buy").
            description: |-
                Details for alerts when the consumer has declared funds that are typically
                 received at a later date or held by third parties (e.g. Help to Buy equity
                 loans, gifts not yet received, inheritance pending clearance). These funds
                 have been excluded from the automated balance check and require manual
                 evidence verification.
        PersonalData:
            title: PersonalData
            type: object
            properties:
                dateOfBirth:
                    $ref: '#/components/schemas/typeDate'
                givenName:
                    type: string
                familyName:
                    type: string
                middleName:
                    type: string
            description: Personal data used for comparison in identity document verification.
        ProvidedSubjectData:
            title: ProvidedSubjectData
            type: object
            properties:
                givenName:
                    type: string
                    description: |-
                        The given name of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "first name".
                otherNames:
                    type: string
                    description: |-
                        The other names of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "middle names".
                familyName:
                    type: string
                    description: |-
                        The family name of the [Subject][thirdfort.client.v1.Subject].
                         In the UK, this is also known as the "last name" or "surname".
                yearOfBirth:
                    type: integer
                    format: int32
                    description: The year of birth of the [Subject][thirdfort.client.v1.Subject].
                address:
                    allOf:
                        - $ref: '#/components/schemas/Address'
                    description: The residential address of the [Subject][thirdfort.client.v1.Subject].
                dateOfBirth:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date of birth of the [Subject][thirdfort.client.v1.Subject].
            description: |-
                A summarization of data that was provided by the initiator of the [Check][thirdfort.client.checks.type.v1.Check] in
                 relation to the [Subject][thirdfort.client.v1.Subject] of the [Check][thirdfort.client.checks.type.v1.Check].
        RelationshipType:
            title: RelationshipType
            type: object
            properties:
                relationshipType:
                    type: string
                    enum:
                        - RELATIONSHIP_TYPE_UNSPECIFIED
                        - RELATIONSHIP_TYPE_SPOUSE
                        - RELATIONSHIP_TYPE_PARENT
                        - RELATIONSHIP_TYPE_CHILD
                        - RELATIONSHIP_TYPE_SIBLING
                        - RELATIONSHIP_TYPE_OTHER
                        - RELATIONSHIP_TYPE_GRANDPARENT
                        - RELATIONSHIP_TYPE_PARTNER
                        - RELATIONSHIP_TYPE_FRIEND
                        - RELATIONSHIP_TYPE_BUSINESS_PARTNER
                        - RELATIONSHIP_TYPE_OTHER_FAMILY_MEMBER
                    description: The standardised relationship type.
                otherRelationshipType:
                    type: string
                    description: Free-text relationship description when relationship_type is OTHER.
            description: |-
                Wraps a standardised relationship type with an optional free-text fallback.
                 When relationship_type is OTHER, other_relationship_type contains the display text.
        RepayableGiftDetails:
            title: RepayableGiftDetails
            type: object
            properties:
                amount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The gift amount.
                recipientName:
                    type: string
                    description: Name of the recipient (the purchaser receiving the gift).
            description: Details for alerts related to repayable gifts (loans disguised as gifts).
        ReportGeneratedData:
            title: ReportGeneratedData
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.notifications.v1.ReportGeneratedData`.
            description: |-
                [ReportGeneratedData][thirdfort.client.notifications.v1.ReportGeneratedData] is the
                 payload for `notification.client.report_generated.v1` notifications.
                 This notification is sent when a check report has been generated.
        SavingsMismatchDetails:
            title: SavingsMismatchDetails
            type: object
            properties:
                declaredSavings:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: Total declared funds included in the balance comparison.
                actualBalance:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: Total balance across linked bank accounts.
                discrepancy:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: Amount by which declared funds exceed bank balances.
                excludedFunds:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: |-
                        Total declared funds excluded from the comparison because they are not
                         expected to appear in personal bank accounts.
            description: |-
                Details for alerts when declared non-mortgage fund amounts exceed linked bank
                 account balances. Fund types that are not expected to appear in personal bank
                 accounts (e.g. Help to Buy equity loans, gifts not yet received) are excluded
                 from the comparison and reported separately.
        ScreeningCheckResult:
            title: ScreeningCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the ScreeningCheckResult (e.g: Screening results).'
                description:
                    type: string
                    description: 'A human readable description of the ScreeningCheckResult. (e.g: Match(es) found - download report for more information).'
                recommendation:
                    type: string
                    enum:
                        - RECOMMENDATION_UNSPECIFIED
                        - CLEAR
                        - CONSIDER
                        - FAIL
                        - UNSUPPORTED_BY_PROVIDER
                        - NOT_APPLICABLE
                    description: The recommendation for this ScreeningCheckResult
                highRelevancyFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that have high relevancy to the screening details provided. High relevancy findings have 1 or more data matches
                         that are an exact match to the screening details provided (e.g: First name, Other Name(s), Last Name, Birth Year, Country).
                mediumRelevancyFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that have medium relevancy to the screening details provided. Medium relevancy findings have matched closely
                         to the name or AKA name, but at least one word or letter was different or had an edit.
                lowRelevancyFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         that have low relevancy to the screening details provided. Low relevancy findings have little relevancy
                         to the screening details and may represent potential false positives.
                pdfReportUrl:
                    type: string
                    description: Optional. The URL to download the PDF report for the check result from.
                searchCriteria:
                    $ref: '#/components/schemas/IndividualScreeningCriteria'
            description: |-
                The summary of the results of an ScreeningCheck.
                 This is intended to be used in a [CheckSummary][thirdfort.client.v1.CheckSummary]
        ScreeningMediaItem:
            title: ScreeningMediaItem
            type: object
            properties:
                title:
                    type: string
                    description: The title of the media item.
                snippet:
                    type: string
                    description: A brief snippet of the media item contents.
                originalUrl:
                    type: string
                    description: |-
                        The original URL that the media item was found at.
                         Note: This represents the URL at the time the media item was found
                         and may not be accessible at the time of viewing.
                publicationDate:
                    type: string
                    format: date-time
                    description: The publication date of the media item.
        ScreeningSource:
            title: ScreeningSource
            type: object
            properties:
                title:
                    type: string
                    description: |-
                        The formal name of the screening source.
                         E.g: Monaco Economic Sanctions
                hitTypes:
                    type: array
                    items:
                        type: string
                        enum:
                            - HIT_TYPE_UNSPECIFIED
                            - PEP
                            - PEP_CLASS_1
                            - PEP_CLASS_2
                            - PEP_CLASS_3
                            - PEP_CLASS_4
                            - SANCTION
                            - WARNING
                            - FITNESS_PROBITY
                            - ADVERSE_MEDIA
                            - ADVERSE_MEDIA_PROPERTY
                            - ADVERSE_MEDIA_FINANCIAL_AML_CFT
                            - ADVERSE_MEDIA_FRAUD_LINKED
                            - ADVERSE_MEDIA_NARCOTICS_AML_CFT
                            - ADVERSE_MEDIA_VIOLENCE_AML_CFT
                            - ADVERSE_MEDIA_TERRORISM
                            - ADVERSE_MEDIA_CYBERCRIME
                            - ADVERSE_MEDIA_GENERAL_AML_CFT
                            - ADVERSE_MEDIA_REGULATORY
                            - ADVERSE_MEDIA_FINANCIAL_DIFFICULTY
                            - ADVERSE_MEDIA_VIOLENCE_NON_AML_CFT
                            - ADVERSE_MEDIA_OTHER_FINANCIAL
                            - ADVERSE_MEDIA_OTHER_SERIOUS
                            - ADVERSE_MEDIA_OTHER_MINOR
                    description: The hit types that this source relates to.
                fields:
                    type: array
                    items:
                        $ref: '#/components/schemas/ScreeningSource_ScreeningSourceField'
                    description: The data fields that the source returned.
                url:
                    type: string
                    description: The URL of the source, if available.
                listingStarted:
                    type: string
                    format: date-time
                    description: The date that the source was first listed if available.
                listingEnded:
                    type: string
                    format: date-time
                    description: |-
                        The date that the source was ended, if available.
                         if listing_ended is not provided, the source is considered active.
                lastUnreadUpdateTime:
                    type: string
                    format: date-time
                    description: |-
                        The last time that the source was updated and the user has not acknowledged.
                         This field is set when a OM update is received for the source and cleared when the user mark it as read.
                         For the initial search, this field will not be set.
                id:
                    type: string
                    description: The unique ID of the source.
        ScreeningSource_ScreeningSourceField:
            title: ScreeningSource_ScreeningSourceField
            type: object
            properties:
                name:
                    type: string
                    description: The name of the field.
                value:
                    type: string
                    description: The value of the field.
        SourceOfFundsAlertFinding:
            title: SourceOfFundsAlertFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsAlertFinding`.
                rule:
                    type: string
                    enum:
                        - RULE_UNSPECIFIED
                        - FUNDS_FROM_HIGH_RISK_COUNTRY
                        - OVERSEAS_FUNDS
                        - HIGH_FREQUENCY_CASH_DEPOSITS
                        - HIGH_AMOUNT_CASH_DEPOSITS
                        - CRYPTOCURRENCY_FUNDS
                        - SAVINGS_MISMATCH
                        - MORTGAGE_UNREPORTED
                        - THIRD_PARTY_INVOLVEMENT_GIFT
                        - HIGH_VELOCITY_TRANSACTIONS
                        - UNUSUAL_TRANSACTION_PATTERN
                        - REPAYABLE_GIFT
                        - PENDING_FUND_VERIFICATION
                        - MISSING_EVIDENCE
                    description: A machine-readable identifier for the rule that was triggered.
                displayName:
                    type: string
                    description: |-
                        A short, human-readable title for the alert.
                         e.g., "Funds from High-Risk Country".
                description:
                    type: string
                    description: |-
                        A more detailed description of what this alert represents.
                         e.g., "Funds were received from a country on the FATF black list".
                severity:
                    type: string
                    enum:
                        - SEVERITY_UNSPECIFIED
                        - RED
                        - AMBER
                        - INFO
                    description: The severity of the alert.
                transactionNames:
                    type: array
                    items:
                        type: string
                    description: |-
                        The resource names of BankingTransactionsFinding findings that contain the
                         relevant transactions for this alert.
                relatedSourceIds:
                    type: array
                    items:
                        type: string
                    description: |-
                        The identifiers of the specific sources this alert relates to.
                         Each ID corresponds to SourceOfFundsSourcesSubCheckResult.SourceOfFundsSource.id.
                relatedEmploymentIds:
                    type: array
                    items:
                        type: string
                    description: The identifiers of the specific employment entries this alert relates to.
                relatedBankAccountIds:
                    type: array
                    items:
                        type: string
                    description: The identifiers of the specific bank accounts this alert relates to.
                fundsFromHighRiskCountryDetails:
                    $ref: '#/components/schemas/FundsFromHighRiskCountryDetails'
                overseasFundsDetails:
                    $ref: '#/components/schemas/OverseasFundsDetails'
                highFrequencyCashDepositsDetails:
                    $ref: '#/components/schemas/HighFrequencyCashDepositsDetails'
                highAmountCashDepositsDetails:
                    $ref: '#/components/schemas/HighAmountCashDepositsDetails'
                cryptocurrencyFundsDetails:
                    $ref: '#/components/schemas/CryptocurrencyFundsDetails'
                savingsMismatchDetails:
                    $ref: '#/components/schemas/SavingsMismatchDetails'
                mortgageUnreportedDetails:
                    $ref: '#/components/schemas/MortgageUnreportedDetails'
                thirdPartyInvolvementGiftDetails:
                    $ref: '#/components/schemas/ThirdPartyInvolvementGiftDetails'
                highVelocityTransactionsDetails:
                    $ref: '#/components/schemas/HighVelocityTransactionsDetails'
                unusualTransactionPatternDetails:
                    $ref: '#/components/schemas/UnusualTransactionPatternDetails'
                repayableGiftDetails:
                    $ref: '#/components/schemas/RepayableGiftDetails'
                pendingFundVerificationDetails:
                    $ref: '#/components/schemas/PendingFundVerificationDetails'
                missingEvidenceDetails:
                    $ref: '#/components/schemas/MissingEvidenceDetails'
            description: |-
                SourceOfFundsAlertFinding is a generic payload for a Finding that represents an alert
                 generated by a specific rule being triggered.
        SourceOfFundsCopurchaserFinding:
            title: SourceOfFundsCopurchaserFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsCopurchaserFinding`.
                copurchaser:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsRelatedPerson'
                    description: The copurchaser's details
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for a copurchaser
                 in a Source of Funds check. Each copurchaser can be surfaced as an individual finding
                 and associated with the copurchasers sub check result.
        SourceOfFundsGiftorFinding:
            title: SourceOfFundsGiftorFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.SourceOfFundsGiftorFinding`.
                giftor:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsRelatedPerson'
                    description: The giftor's details
            description: |-
                Detailed [Finding][thirdfort.client.v1.Finding] payload for a giftor
                 in a Source of Funds check. Each giftor can be surfaced as an individual finding
                 and associated with the giftors sub check result.
        SourceOfFundsRelatedPerson:
            title: SourceOfFundsRelatedPerson
            type: object
            properties:
                name:
                    type: string
                phoneNumber:
                    type: string
                email:
                    type: string
                relationshipType:
                    $ref: '#/components/schemas/RelationshipType'
                countryOfResidenceCode:
                    type: string
                    description: |-
                        ISO 3166-1 alpha-2 country code for the person's country of residence.
                         Optional. Present only for giftors; omit for co-purchasers.
        Subject:
            title: Subject
            type: object
            properties:
                name:
                    type: string
                individual:
                    $ref: '#/components/schemas/Individual'
                business:
                    $ref: '#/components/schemas/Business'
            description: >-
                A Subject is an entity that is undergoing

                due diligence, or related to a Check  where due diligence is being performed.
        SubjectRelation:
            title: SubjectRelation
            type: object
            properties:
                relationship:
                    type: string
                    description: >-
                        The relationship between the Subject and the other resource.

                        This is string typed as the nature of the relationship is arbitrary and

                        can vary widely by sector.
                subject:
                    $ref: '#/components/schemas/Subject'
            description: >-
                A SubjectRelation is a link between a

                Subject and some other resource, such as a

                Check .
            required:
                - relationship
                - subject
        ThirdPartyInvolvementGiftDetails:
            title: ThirdPartyInvolvementGiftDetails
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                giftCount:
                    type: integer
                    format: int32
                thirdPartyName:
                    type: string
                countryCode:
                    type: string
                giftReceived:
                    type: boolean
            description: Details for alerts related to third-party gifts.
        TimeSpanBankingTransactionsFinding:
            title: TimeSpanBankingTransactionsFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1.TimeSpanBankingTransactionsFinding`.
                startDate:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The start date for this time span of transactions.
                endDate:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The end date for this time span of transactions.
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1.Finding.name] of the [Findings][thirdfort.client.v1.Finding]
                         containing [BankingTransactionsFinding][thirdfort.client.checks.type.v1.BankingTransactionsFinding] payloads
                         for this time span.
                         Note: These are Finding names, not FindingRevision names.
                startingBalance:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The balance at the start of this time span.
                endingBalance:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The balance at the end of this time span.
                moneyIn:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The total amount of money that was deposited into this account during this time span.
                moneyOut:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The total amount of money that was withdrawn from this account during this time span.
        UnusualTransactionPatternDetails:
            title: UnusualTransactionPatternDetails
            type: object
            properties:
                analysisSummary:
                    type: string
                    description: Analysis summary describing the unusual pattern.
                countryCode:
                    type: string
                    description: Optional country code if relevant to the pattern.
            description: |-
                Details for alerts related to unusual transaction patterns.
                 This represents the output of static analysis on transaction patterns.
        googlerpcStatus:
            type: object
            properties:
                code:
                    type: integer
                    format: int32
                    description: |-
                        The status code, which should be an enum value of
                        google.rpc.Code.
                message:
                    type: string
                    description: >-
                        A developer-facing error message, which should be in English. Any

                        user-facing error message should be localized and sent in the

                        google.rpc.Status.details field, or localized

                        by the client.
                details:
                    type: array
                    items:
                        $ref: '#/components/schemas/protobufAny'
                    description: >-
                        A list of messages that carry the error details.  There is a common set of

                        message types for APIs to use.
            description: >-
                The `Status` type defines a logical error model that is suitable for

                different programming environments, including REST APIs and RPC APIs. It is

                used by [gRPC](https://github.com/grpc). Each `Status` message contains

                three pieces of data: error code, error message, and error details.


                You can find out more about this error model and how to work with it in the

                [API Design Guide](https://cloud.google.com/apis/design/errors).
        protobufAny:
            title: Any
            type: object
            properties:
                '@type':
                    type: string
                    description: >-
                        A URL/resource name that uniquely identifies the type of the serialized

                        protocol buffer message. This string must contain at least

                        one "/" character. The last segment of the URL's path must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary all types that they

                        expect it to use in the context of Any. However, for URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally set up a type

                        server that maps type URLs to message definitions as follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a [google.protobuf.Type][]

                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based on the

                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in the official

                        protobuf release, and it is not used for type URLs beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme) might be

                        used with implementation specific semantics.
            additionalProperties: {}
            description: >-
                Contains an arbitrary serialized protocol buffer message along with a type URL that identifies the message type.
        typeDate:
            type: object
            properties:
                year:
                    type: integer
                    format: int32
                    description: >-
                        Year of the date. Must be from 1 to 9999, or 0 to specify a date without

                        a year.
                month:
                    type: integer
                    format: int32
                    description: >-
                        Month of a year. Must be from 1 to 12, or 0 to specify a year without a

                        month and day.
                day:
                    type: integer
                    format: int32
                    description: >-
                        Day of a month. Must be from 1 to 31 and valid for the year and month, or 0

                        to specify a year by itself or a year and month where the day isn't

                        significant.
            description: >-
                Represents a calendar date with year, month, and day components.
            title: >-
                Date
    securitySchemes:
        BearerAuth:
            type: http
            scheme: bearer
            bearerFormat: JWT
            description: OAuth 2.0 Bearer token. Obtain tokens from the token endpoint using client credentials. See the Authentication guide for details.
servers:
    - url: https://api.thirdfort.dev/client/api
      description: Nonproduction environment
    - url: https://api.thirdfort.com/client/api
      description: Production environment
security:
    - BearerAuth: []
