openapi: 3.0.3
info:
    title: Thirdfort Client API (Preview)
    version: v1alpha2
    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.

        ## 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:
    /v1alpha2/brands:
        get:
            summary: List Brands
            description: >-
                Lists Brands that the authenticated user has access to. Brands define the visual identity and name shown to consumers during check processes. Results are paginated and can be filtered.
            operationId: ClientService_ListBrands
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListBrandsResponse'
                            examples:
                                List_Brands:
                                    summary: List Brands
                                    description: Example of listing brands for an organization
                                    value:
                                        brands:
                                            - description: Default brand for Acme Corporation
                                              displayName: Acme Corporation
                                              name: organizations/12345/brands/brand_default
                                            - description: Premium services brand
                                              displayName: Acme Premium
                                              name: organizations/12345/brands/brand_premium
                                        nextPageToken: ""
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: pageSize
                  description: >-
                    Optional limit on the number of Brands to be returned.

                    If not specified, the default is 25.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional pagination token, returned earlier via ListBrandsResponse.next_page_token.
                  in: query
                  required: false
                  schema:
                    type: string
                - name: filter
                  description: >-
                    Only include resources that match this filter in the response.

                    For more information, see Sorting and filtering list results
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
    /v1alpha2/companies:search:
        post:
            summary: >-
                Searches for companies by name or registration number within a jurisdiction.
            description: Returns a list of matching companies from external data providers.
            operationId: ClientService_SearchCompanies
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/SearchCompaniesResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/SearchCompaniesRequest'
                description: >-
                    Request message for ClientService.SearchCompanies.
                required: true
            tags:
                - ClientService
    /v1alpha2/featureFlags:
        get:
            summary: List Feature Flags
            description: Lists all FeatureFlags. Requires global admin permissions.
            operationId: ClientService_ListFeatureFlags
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListFeatureFlagsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: pageSize
                  description: |-
                    Optional. The maximum number of feature flags 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 from a previous ListFeatureFlags call.
                    Provide this to retrieve the subsequent page.
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
        post:
            summary: Create Feature Flag
            description: >-
                Creates a new FeatureFlag. Feature flags allow controlled rollout of features across organizations. Requires global admin permissions.
            operationId: ClientService_CreateFeatureFlag
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/FeatureFlag'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/CreateFeatureFlagRequest'
                description: >-
                    Request message for ClientService.CreateFeatureFlag.
                required: true
            tags:
                - ClientService
    /v1alpha2/organizations:
        get:
            summary: List Organizations
            description: >-
                Lists Organizations that the authenticated user has access to. Results can be filtered by display name or partner, and optionally include counts of users, teams, and brands within each organization.
            operationId: ClientService_ListOrganizations
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListOrganizationsResponse'
                            examples:
                                List_Organizations:
                                    summary: List Organizations
                                    description: Example of listing organizations the user has access to
                                    value:
                                        nextPageToken: ""
                                        organizations:
                                            - displayName: Acme Corporation
                                              name: organizations/12345
                                              state: ACTIVE
                                              type: STANDARD
                                            - displayName: Example Ltd
                                              name: organizations/67890
                                              state: ACTIVE
                                              type: STANDARD
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: pageSize
                  description: >-
                    Optional limit on the number of Organizations to be returned.

                    If not specified, the default is 25.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional pagination token, returned earlier via ListOrganizationsResponse.next_page_token.
                  in: query
                  required: false
                  schema:
                    type: string
                - name: filter
                  description: >-
                    Only include resources that match this filter in the response.

                    Filtering by the following fields is supported:

                    - `display_name`

                    - `partner_name`

                    - `state`


                    For more information, see FilterSyntax
                  in: query
                  required: false
                  schema:
                    type: string
                - name: view
                  description: >-
                    Optional. Specifies which view of the Organization resources to return.

                    When unspecified, defaults to BASIC view which includes core organization fields

                    without expensive count computations or related resource queries.


                    Performance implications:

                    - BASIC: Fast response, no count queries

                    - SUMMARY: Moderate performance impact due to user/team/brand count queries

                    - FULL: Slowest response due to counts plus role binding queries


                    Recommended usage:

                    - BASIC: Organization selection dropdowns, simple lists

                    - SUMMARY: Organization dashboards showing counts

                    - FULL: Detailed organization management pages


                     - ORGANIZATION_VIEW_UNSPECIFIED: Default value. When used, defaults to BASIC view.
                    This ensures backward compatibility for clients not specifying a view.

                     - ORGANIZATION_VIEW_BASIC: Basic view includes core organization information without expensive computations.
                    This view provides essential organization data needed for most operations while

                    avoiding performance overhead from count calculations and related resource queries.


                    Includes:

                    - name: The unique resource identifier

                    - display_name: Human-readable organization name

                    - partner: Parent partner resource (when available)

                    - package: Subscription package type

                    - notes: Administrative notes

                    - zendesk_url: Support system URL

                    - salesforce_url: CRM system URL

                    - type: Organization type (DIRECT, INTEGRATION, etc.)

                    - state: Current operational state (ACTIVE, INACTIVE)

                    - state_reason: Specific reason for current state

                     - ORGANIZATION_VIEW_SUMMARY: Summary view includes basic information plus count data.
                    This view is optimized for organization listing interfaces where counts

                    are needed for display but detailed related resources are not required.


                    Includes:

                    - All BASIC fields

                    - user_count: Number of users within this organization

                    - team_count: Number of teams within this organization

                    - brand_count: Number of brands within this organization

                     - ORGANIZATION_VIEW_FULL: Full view includes all available organization information including related resources.
                    This view should be used when complete organization context is required, such as

                    for detailed organization management operations or comprehensive administration.


                    Includes:

                    - All SUMMARY fields

                    - role_bindings: Complete list of role assignments and permissions

                    - feature_settings: Individual feature configurations

                    - feature_set_settings: Feature set configurations
                  in: query
                  required: false
                  schema:
                    type: string
                    enum:
                        - ORGANIZATION_VIEW_UNSPECIFIED
                        - ORGANIZATION_VIEW_BASIC
                        - ORGANIZATION_VIEW_SUMMARY
                        - ORGANIZATION_VIEW_FULL
                    default: ORGANIZATION_VIEW_UNSPECIFIED
            tags:
                - ClientService
    /v1alpha2/{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'
                            examples:
                                Get_Check_Summary:
                                    summary: Get Check Summary
                                    description: Example of retrieving the summary for a check
                                    value:
                                        addressVerified: true
                                        check: organizations/12345/teams/12345/checks/abc123
                                        createTime: "2024-01-15T10:35:00Z"
                                        findingsCount:
                                            confirmed: 2
                                            dismissed: 1
                                            total: 5
                                            unreviewed: 2
                                        identityVerified: true
                                        name: organizations/12345/teams/12345/checks/abc123/checkSummary
                                        recommendation: PROCEED_WITH_CAUTION
                                        riskScore: 65
                                        state: COMPLETE
                                        updateTime: "2024-01-15T11:00:00Z"
                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
        delete:
            summary: Delete Feature Flag Override
            description: >-
                Deletes a FeatureFlagOverride. After deletion, the organization will use the feature flag's default value. Requires global admin permissions.
            operationId: ClientService_DeleteFeatureFlagOverride
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                type: object
                                properties: {}
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: name
                  description: |-
                    Required. The resource name of the override to delete.
                    Format: `featureFlags/{feature_flag}/overrides/{organization}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'featureFlags/[^/]+/overrides/[^/]+'
            tags:
                - ClientService
        patch:
            summary: Update Feature Flag
            description: Updates an existing FeatureFlag. Requires global admin permissions.
            operationId: ClientService_UpdateFeatureFlag
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/FeatureFlag'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: name
                  description: |-
                    Required. The resource name of the feature flag to update.
                    Format: `featureFlags/{feature_flag}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'featureFlags/[^/]+'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/ClientServiceUpdateFeatureFlagBody'
                required: true
            tags:
                - ClientService
    /v1alpha2/{name}:generateAISummary:
        post:
            summary: Generate AI Summary for Check
            description: >-
                Generates an AI-powered summary of a check's current status and results using machine learning. The summary is created from sanitized data containing no PII.
            operationId: ClientService_GenerateCheckAISummary
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/GenerateCheckAISummaryResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: name
                  description: |-
                    Required. The name of the check for which to generate an AI summary.
                    Format: `organizations/{organization}/teams/{team}/checks/{check}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+'
            tags:
                - ClientService
    /v1alpha2/{name}:review:
        post:
            summary: Review Finding
            description: >-
                Reviews a Finding, allowing users to confirm, dismiss, or otherwise change its state. This affects how the finding is considered in the check's overall summary and recommendations. The review decision is recorded and creates a new finding revision.
            operationId: ClientService_ReviewFinding
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ReviewFindingResponse'
                            examples:
                                Confirm_Finding:
                                    summary: Confirm Finding
                                    description: Example of confirming a finding
                                    value:
                                        createTime: "2024-01-15T10:32:00Z"
                                        description: Potential match found in politically exposed persons database
                                        displayName: PEP Match - John Doe
                                        name: organizations/12345/teams/12345/checks/12345/findings/12345
                                        reviewedBy: organizations/12345/users/user123
                                        severity: HIGH
                                        state: CONFIRMED
                                        type: PEP_MATCH
                                        updateTime: "2024-01-15T11:00:00Z"
                                Dismiss_Finding:
                                    summary: Dismiss Finding
                                    description: Example of dismissing a finding
                                    value:
                                        createTime: "2024-01-15T10:32:00Z"
                                        description: Potential match found in sanctions database
                                        displayName: Sanctions Match - John Doe
                                        name: organizations/12345/teams/12345/checks/12345/findings/12345
                                        reviewedBy: organizations/12345/users/user123
                                        severity: HIGH
                                        state: DISMISSED
                                        type: SANCTIONS_MATCH
                                        updateTime: "2024-01-15T11:05:00Z"
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: name
                  description: >-
                    Required. The name of the finding to review.

                    Format: `organizations/{organization}/teams/{team}/checks/{check}/findings/{finding}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+/findings/[^/]+'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/ClientServiceReviewFindingBody'
                        examples:
                            Confirm_Finding:
                                summary: Confirm Finding
                                description: Example of confirming a finding
                                value:
                                    name: organizations/12345/teams/12345/checks/12345/findings/12345
                                    review:
                                        description: Example of confirming a finding
                                        reason: OTHER
                                    state: CONFIRMED
                            Dismiss_Finding:
                                summary: Dismiss Finding
                                description: Example of dismissing a finding
                                value:
                                    name: organizations/12345/teams/12345/checks/12345/findings/12345
                                    review:
                                        description: Example of dismissing a finding
                                        reason: NAME_NOT_EXACT
                                    state: DISMISSED
                required: true
            tags:
                - ClientService
    /v1alpha2/{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'
                            examples:
                                Completed_Checks:
                                    summary: Completed Checks
                                    description: Example of completed checks
                                    value:
                                        checks:
                                            - clientReference: client-ref-john-doe-2024-001
                                              createTime: "2024-01-14T09:00:00Z"
                                              displayName: Identity verification for John Doe
                                              name: organizations/12345/teams/12345/checks/check_abc123
                                              state: INACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-14T15:00:00Z"
                                        nextPageToken: ""
                                List_Checks:
                                    summary: List Checks
                                    description: Example of listing checks for a team
                                    value:
                                        checks:
                                            - clientReference: client-ref-john-doe-2024-001
                                              createTime: "2024-01-15T10:30:00Z"
                                              displayName: Identity verification for John Doe
                                              name: organizations/12345/teams/12345/checks/check_abc123
                                              state: ACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-15T10:35:00Z"
                                            - clientReference: client-ref-jane-smith-2024-002
                                              createTime: "2024-01-14T09:00:00Z"
                                              displayName: Identity verification for Jane Smith
                                              name: organizations/12345/teams/12345/checks/check_def456
                                              state: INACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-14T15:00:00Z"
                                        nextPageToken: ""
                                List_Checks_with_Filter:
                                    summary: List Checks with Filter
                                    description: Example of listing checks with a filter applied
                                    value:
                                        checks:
                                            - clientReference: client-ref-john-doe-2024-001
                                              createTime: "2024-01-15T10:30:00Z"
                                              displayName: Identity verification for John Doe
                                              name: organizations/12345/teams/12345/checks/check_abc123
                                              state: ACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-15T10:35:00Z"
                                        nextPageToken: ""
                                With_Search_Text:
                                    summary: With Search Text
                                    description: Example of searching for checks
                                    value:
                                        checks:
                                            - clientReference: client-ref-john-doe-2024-001
                                              createTime: "2024-01-15T10:30:00Z"
                                              displayName: Identity verification for John Doe
                                              name: organizations/12345/teams/12345/checks/check_abc123
                                              state: ACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-15T10:35:00Z"
                                            - clientReference: john-smith-ref-2024
                                              createTime: "2024-01-10T08:00:00Z"
                                              displayName: Client-only verification for John Smith
                                              name: organizations/12345/teams/12345/checks/check_xyz789
                                              state: INACTIVE
                                              template: checkTemplates/clientonly-verification-check-v1-0-0
                                              updateTime: "2024-01-10T12:00:00Z"
                                        nextPageToken: ""
                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:

                    - `id`: Filter by check transaction ID (UUID)

                    - `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'
                            examples:
                                Alice___Identity_Verification:
                                    summary: Alice - Identity Verification
                                    description: Reusable persona for testing. Creates an identity verification check for Alice Johnson. Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                    value:
                                        clientReference: alice-johnson-idv-001
                                        displayName: Identity verification for Alice Johnson
                                        name: organizations/thirdfortlimited/teams/io/checks/<generated>
                                        state: ACTIVE
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                Alice___Identity_Verification_+_Source_of_Funds:
                                    summary: Alice - Identity Verification + Source of Funds
                                    description: Creates an identity verification check with source of funds for Alice Johnson (purchaser persona). Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                    value:
                                        clientReference: alice-johnson-idv-sof-001
                                        displayName: Identity verification + source of funds for Alice Johnson
                                        name: organizations/thirdfortlimited/teams/io/checks/<generated>
                                        state: ACTIVE
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                Alice___Source_of_Funds:
                                    summary: Alice - Source of Funds
                                    description: Creates a standalone Source of Funds check for Alice Johnson (purchaser persona). Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                    value:
                                        clientReference: alice-johnson-sof-001
                                        displayName: Source of funds check for Alice Johnson
                                        name: organizations/thirdfortlimited/teams/io/checks/<generated>
                                        state: ACTIVE
                                        template: checkTemplates/source-of-funds-check-v1-0-0
                                Client_only_Verification:
                                    summary: Client-only Verification
                                    description: Example for client-only verification check with individual details. Use --set parent=organizations/<org>/teams/<team> to target a specific team.
                                    value:
                                        clientReference: client-ref-john-doe-2024-001
                                        createTime: "2024-01-15T09:00:00Z"
                                        creator: organizations/thirdfortlimited/users/user123
                                        displayName: Client-only verification for John Doe
                                        name: organizations/thirdfortlimited/teams/io/checks/check_def456
                                        notificationRecipient: organizations/thirdfortlimited/users/user123
                                        ongoingMonitoringEnabled: false
                                        relatedSubjects:
                                            - role: SUBJECT
                                              subject:
                                                familyName: Doe
                                                givenName: John
                                        state: ACTIVE
                                        template: checkTemplates/clientonly-verification-check-v1-0-0
                                        updateTime: "2024-01-15T09:00:00Z"
                                Identity_Document_Verification:
                                    summary: Identity Document Verification
                                    description: Example for client-only identity document verification check with uploaded document
                                    value:
                                        clientReference: client-ref-jane-smith-2024-003
                                        createTime: "2024-01-15T11:00:00Z"
                                        creator: organizations/12345/users/user123
                                        displayName: Identity document verification for Jane Smith
                                        name: organizations/12345/teams/12345/checks/check_ghi789
                                        notificationRecipient: organizations/12345/users/user123
                                        ongoingMonitoringEnabled: false
                                        relatedSubjects:
                                            - role: SUBJECT
                                              subject:
                                                familyName: Smith
                                                givenName: Jane
                                        state: ACTIVE
                                        template: checkTemplates/identity-document-verification-check-v1-0-0
                                        updateTime: "2024-01-15T11:00:00Z"
                                Identity_Verification:
                                    summary: Identity Verification
                                    description: Example for individual identity verification check. Use --set parent=organizations/<org>/teams/<team> to target a specific team.
                                    value:
                                        clientReference: client-ref-john-doe-2024-002
                                        createTime: "2024-01-15T10:30:00Z"
                                        creator: organizations/thirdfortlimited/users/user123
                                        displayName: Identity verification for John Doe
                                        name: organizations/thirdfortlimited/teams/io/checks/check_abc123
                                        notificationRecipient: organizations/thirdfortlimited/users/user123
                                        ongoingMonitoringEnabled: false
                                        relatedSubjects:
                                            - role: SUBJECT
                                              subject:
                                                email: john.doe@example.com
                                                familyName: Doe
                                                givenName: John
                                                phoneNumber: "+447911123456"
                                        state: ACTIVE
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                        updateTime: "2024-01-15T10:30:00Z"
                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'
                        examples:
                            Alice___Identity_Verification:
                                summary: Alice - Identity Verification
                                description: Reusable persona for testing. Creates an identity verification check for Alice Johnson. Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                value:
                                    check:
                                        clientReference: alice-johnson-idv-001
                                        displayName: Identity verification for Alice Johnson
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityVerificationCheckParams
                                            passportNfcPreference: SKIP
                                            subject:
                                                dateOfBirth:
                                                    day: 14
                                                    month: 7
                                                    year: 1988
                                                email: alice.johnson@example.com
                                                familyName: Johnson
                                                givenName: Alice
                                                phoneNumber: "+447911223344"
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                    parent: organizations/thirdfortlimited/teams/io
                            Alice___Identity_Verification_+_Source_of_Funds:
                                summary: Alice - Identity Verification + Source of Funds
                                description: Creates an identity verification check with source of funds for Alice Johnson (purchaser persona). Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                value:
                                    check:
                                        clientReference: alice-johnson-idv-sof-001
                                        displayName: Identity verification + source of funds for Alice Johnson
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityVerificationCheckParams
                                            passportNfcPreference: SKIP
                                            persona: purchaser
                                            requireSourceOfFundsQuestionnaire: true
                                            subject:
                                                email: alice.johnson@example.com
                                                familyName: Johnson
                                                givenName: Alice
                                                phoneNumber: "+447911223344"
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                    parent: organizations/thirdfortlimited/teams/io
                            Alice___Source_of_Funds:
                                summary: Alice - Source of Funds
                                description: Creates a standalone Source of Funds check for Alice Johnson (purchaser persona). Use --set parent=organizations/<org>/teams/<team> to target a different team.
                                value:
                                    check:
                                        clientReference: alice-johnson-sof-001
                                        displayName: Source of funds check for Alice Johnson
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsCheckParams
                                            persona: purchaser
                                            subject:
                                                email: alice.johnson@example.com
                                                familyName: Johnson
                                                givenName: Alice
                                                phoneNumber: "+447911223344"
                                        template: checkTemplates/source-of-funds-check-v1-0-0
                                    parent: organizations/thirdfortlimited/teams/io
                            Client_only_Verification:
                                summary: Client-only Verification
                                description: Example for client-only verification check with individual details. Use --set parent=organizations/<org>/teams/<team> to target a specific team.
                                value:
                                    check:
                                        clientReference: client-ref-john-doe-2024-001
                                        displayName: Client-only verification for John Doe
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.ClientOnlyVerificationCheckParams
                                            address:
                                                buildingNumber: "123"
                                                countryCode: GBR
                                                locality: London
                                                postalCode: AB1 2CD
                                                street: High Street
                                            requireAddressVerification: true
                                            subject:
                                                dateOfBirth:
                                                    day: 15
                                                    month: 6
                                                    year: 1985
                                                familyName: Doe
                                                givenName: John
                                        template: checkTemplates/clientonly-verification-check-v1-0-0
                                    parent: organizations/thirdfortlimited/teams/io
                            Identity_Document_Verification:
                                summary: Identity Document Verification
                                description: Example for client-only identity document verification check with uploaded document
                                value:
                                    check:
                                        clientReference: client-ref-jane-smith-2024-003
                                        displayName: Identity document verification for Jane Smith
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentVerificationCheckParams
                                            document:
                                                documentType: PASSPORT
                                                files:
                                                    - documentUploadId: objects/12345678-1234-1234-1234
                                                      side: FRONT
                                            subject:
                                                familyName: Smith
                                                givenName: Jane
                                                otherNames: Marie
                                        template: checkTemplates/identity-document-verification-check-v1-0-0
                                    parent: organizations/12345/teams/12345
                            Identity_Verification:
                                summary: Identity Verification
                                description: Example for individual identity verification check. Use --set parent=organizations/<org>/teams/<team> to target a specific team.
                                value:
                                    check:
                                        clientReference: client-ref-john-doe-2024-002
                                        displayName: Identity verification for John Doe
                                        params:
                                            '@type': type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityVerificationCheckParams
                                            passportNfcPreference: SKIP
                                            subject:
                                                dateOfBirth:
                                                    day: 15
                                                    month: 6
                                                    year: 1985
                                                email: john.doe@example.com
                                                familyName: Doe
                                                givenName: John
                                                phoneNumber: "+447911123456"
                                        template: checkTemplates/identity-verification-check-v1-0-0
                                    parent: organizations/thirdfortlimited/teams/io
                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
    /v1alpha2/{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'
                            examples:
                                Batch_Get_Checks:
                                    summary: Batch Get Checks
                                    description: Example of retrieving multiple checks in a single request
                                    value:
                                        checks:
                                            - clientReference: client-ref-john-doe-2024-001
                                              createTime: "2024-01-15T10:30:00Z"
                                              displayName: Identity verification for John Doe
                                              name: organizations/12345/teams/12345/checks/check_abc123
                                              state: ACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-15T10:35:00Z"
                                            - clientReference: client-ref-jane-smith-2024-002
                                              createTime: "2024-01-14T09:00:00Z"
                                              displayName: Identity verification for Jane Smith
                                              name: organizations/12345/teams/12345/checks/check_def456
                                              state: INACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-14T15:00:00Z"
                                            - clientReference: client-ref-bob-wilson-2024-003
                                              createTime: "2024-01-13T14:00:00Z"
                                              displayName: Identity verification for Bob Wilson
                                              name: organizations/12345/teams/12345/checks/check_ghi789
                                              state: ACTIVE
                                              template: checkTemplates/identity-verification-check-v1-0-0
                                              updateTime: "2024-01-13T14:30:00Z"
                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
    /v1alpha2/{parent}/consumerTasks:
        get:
            summary: List Consumer Tasks
            description: >-
                Lists ConsumerTasks for a Check. This allows viewing and managing the individual tasks that consumers need to complete. Returns an empty list if the check does not have an associated task group.
            operationId: ClientService_ListConsumerTasks
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListConsumerTasksResponse'
                            examples:
                                List_Consumer_Tasks:
                                    summary: List Consumer Tasks
                                    description: Example of listing consumer tasks for a check
                                    value:
                                        tasks:
                                            - createTime: "2024-01-15T10:30:00Z"
                                              description: Please upload a valid identity document
                                              displayName: Identity Document Upload
                                              name: organizations/12345/teams/12345/checks/abc123/consumerTasks/task_001
                                              state: PENDING
                                              type: DOCUMENT_UPLOAD
                                            - completeTime: "2024-01-15T10:45:00Z"
                                              createTime: "2024-01-15T10:30:00Z"
                                              description: Please complete the liveness verification
                                              displayName: Liveness Check
                                              name: organizations/12345/teams/12345/checks/abc123/consumerTasks/task_002
                                              state: COMPLETED
                                              type: LIVENESS_CHECK
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent check to list tasks for.
                    Format: `organizations/{organization}/teams/{team}/checks/{check}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+'
            tags:
                - ClientService
    /v1alpha2/{parent}/featureFlags:evaluate:
        get:
            summary: Evaluate Feature Flags
            description: >-
                Evaluates all feature flags for a specific organization. Returns the effective enabled state for each feature flag, considering any overrides. This is the primary method for clients to determine which features are enabled.
            operationId: ClientService_EvaluateFeatureFlags
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/EvaluateFeatureFlagsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent organization to evaluate feature flags for.
                    Format: `organizations/{organization}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+'
            tags:
                - ClientService
    /v1alpha2/{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'
                            examples:
                                List_Findings:
                                    summary: List Findings
                                    description: Example of listing findings for a check
                                    value:
                                        findings:
                                            - createTime: "2024-01-15T10:32:00Z"
                                              description: Potential match found in politically exposed persons database
                                              displayName: PEP Match - John Doe
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_001
                                              severity: HIGH
                                              state: UNREVIEWED
                                              type: PEP_MATCH
                                            - createTime: "2024-01-15T10:31:00Z"
                                              description: Address has been verified successfully
                                              displayName: Address Verification Complete
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_002
                                              severity: INFO
                                              state: CONFIRMED
                                              type: ADDRESS_VERIFICATION
                                        nextPageToken: ""
                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
    /v1alpha2/{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'
                            examples:
                                Batch_Get_Findings:
                                    summary: Batch Get Findings
                                    description: Example of retrieving multiple findings in a single request. Per AIP-231, the operation is atomic - it will fail if any requested finding does not exist.
                                    value:
                                        findings:
                                            - createTime: "2024-01-15T10:32:00Z"
                                              description: Potential match found in politically exposed persons database
                                              displayName: PEP Match - John Doe
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_001
                                              severity: HIGH
                                              state: UNREVIEWED
                                              type: PEP_MATCH
                                            - createTime: "2024-01-15T10:31:00Z"
                                              description: Address has been verified successfully
                                              displayName: Address Verification Complete
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_002
                                              severity: INFO
                                              state: CONFIRMED
                                              type: ADDRESS_VERIFICATION
                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
    /v1alpha2/{parent}/findings:batchReview:
        post:
            summary: Batch Review Findings
            description: >-
                Reviews Findings in a batch operation, allowing users to confirm, dismiss, or otherwise change their state. This affects how the findings are considered in the check's overall summary and recommendations. The review decision is recorded and creates new finding revisions. All operations are performed within a single transaction - if any finding update fails, the entire batch is rolled back.
            operationId: ClientService_BatchReviewFindings
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/BatchReviewFindingsResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent check containing the findings to review.
                    Format: `organizations/{organization}/teams/{team}/checks/{check}`.
                    All findings in the requests must belong to this check.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/ClientServiceBatchReviewFindingsBody'
                required: true
            tags:
                - ClientService
    /v1alpha2/{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'
                            examples:
                                List_Notifications_filtered_by_time:
                                    summary: List Notifications filtered by time
                                    description: Example of listing notifications created after a specific time
                                    value:
                                        nextPageToken: eyJsYXN0X2lkIjoiMDFKUkE0REVGNDU2In0=
                                        notifications:
                                            - createTime: "2024-06-15T10:30:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4ABC123
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.CheckCompleteData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                                recommendation: APPROVE
                                                state: ACTIVE
                                              type: notification.client.check_complete.v1
                                            - createTime: "2024-06-15T11:00:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4DEF456
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.ReportGeneratedData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                                reportUrl: https://files.thirdfort.com/client/downloads/objects/b58731db-f906-4b3e-8395-d0e8cfdf4cdb
                                                summaryReportUrl: https://files.thirdfort.com/client/downloads/objects/a47620ca-e815-3a2d-7284-c9d7bece3bac
                                              type: notification.client.report_generated.v1
                                List_Notifications_filtered_by_type:
                                    summary: List Notifications filtered by type
                                    description: Example of listing only check completion notifications
                                    value:
                                        nextPageToken: ""
                                        notifications:
                                            - createTime: "2024-06-15T10:30:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4ABC123
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.CheckCompleteData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                                recommendation: APPROVE
                                                state: ACTIVE
                                              type: notification.client.check_complete.v1
                                Ongoing_Monitoring_Hit_Notification:
                                    summary: Ongoing Monitoring Hit Notification
                                    description: Example response containing an ongoing monitoring hit notification
                                    value:
                                        nextPageToken: ""
                                        notifications:
                                            - createTime: "2024-06-16T08:00:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4GHI789
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.OngoingMonitoringHitData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                              type: notification.client.ongoing_monitoring_hit.v1
                                List_Notifications:
                                    summary: List Notifications
                                    description: Example of listing notifications for an organization
                                    value:
                                        nextPageToken: eyJsYXN0X2lkIjoiMDFKUkE0REVGNDU2In0=
                                        notifications:
                                            - createTime: "2024-06-15T10:30:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4ABC123
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.CheckCompleteData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                                recommendation: APPROVE
                                                state: ACTIVE
                                              type: notification.client.check_complete.v1
                                            - createTime: "2024-06-15T11:00:00Z"
                                              name: organizations/acme-corp/notifications/01JRA4DEF456
                                              payload:
                                                '@type': type.googleapis.com/thirdfort.client.notifications.v1alpha1.ReportGeneratedData
                                                check: organizations/acme-corp/teams/default/checks/01JRA3XYZ789
                                                displayName: John Smith ID Verification
                                                reportUrl: https://files.thirdfort.com/client/downloads/objects/b58731db-f906-4b3e-8395-d0e8cfdf4cdb
                                                summaryReportUrl: https://files.thirdfort.com/client/downloads/objects/a47620ca-e815-3a2d-7284-c9d7bece3bac
                                              type: notification.client.report_generated.v1
                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
    /v1alpha2/{parent}/overrides:
        get:
            summary: List Feature Flag Overrides
            description: >-
                Lists all FeatureFlagOverrides for a feature flag. Requires global admin permissions.
            operationId: ClientService_ListFeatureFlagOverrides
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListFeatureFlagOverridesResponse'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent feature flag.
                    Format: `featureFlags/{feature_flag}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'featureFlags/[^/]+'
                - name: pageSize
                  description: |-
                    Optional. The maximum number of overrides 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 from a previous ListFeatureFlagOverrides call.

                    Provide this to retrieve the subsequent page.
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
        post:
            summary: Create Feature Flag Override
            description: >-
                Creates a FeatureFlagOverride for a specific organization. This allows enabling or disabling a feature for a specific organization, overriding the feature flag's default value. Requires global admin permissions.
            operationId: ClientService_CreateFeatureFlagOverride
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/FeatureFlagOverride'
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent feature flag for this override.
                    Format: `featureFlags/{feature_flag}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'featureFlags/[^/]+'
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/ClientServiceCreateFeatureFlagOverrideBody'
                required: true
            tags:
                - ClientService
    /v1alpha2/{parent}/revisions:
        get:
            summary: List Finding Revisions
            description: >-
                Lists historical FindingRevisions for a finding. This provides access to the complete history of how a finding has evolved over time, including review decisions and state changes.
            operationId: ClientService_ListFindingRevisions
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListFindingRevisionsResponse'
                            examples:
                                List_Finding_Revisions:
                                    summary: List Finding Revisions
                                    description: Example of listing historical revisions of a finding
                                    value:
                                        findingRevisions:
                                            - createTime: "2024-01-15T11:00:00Z"
                                              displayName: PEP Match - John Doe
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_001/revisions/rev_002
                                              reviewedBy: organizations/12345/users/user123
                                              severity: HIGH
                                              state: CONFIRMED
                                              type: PEP_MATCH
                                            - createTime: "2024-01-15T10:32:00Z"
                                              displayName: PEP Match - John Doe
                                              name: organizations/12345/teams/12345/checks/abc123/findings/finding_001/revisions/rev_001
                                              severity: HIGH
                                              state: UNREVIEWED
                                              type: PEP_MATCH
                                        nextPageToken: ""
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    Required. The Finding to list revisions for.

                    Format: `organizations/{organization}/teams/{team}/checks/{check}/findings/{finding}`.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+/teams/[^/]+/checks/[^/]+/findings/[^/]+'
                - 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 `ListFindingRevisions` call. Provide this token to

                    retrieve the subsequent page.
                  in: query
                  required: false
                  schema:
                    type: string
            tags:
                - ClientService
    /v1alpha2/{parent}/teams:
        get:
            summary: List Teams
            description: >-
                Lists Teams for a given Organization. Results can be filtered and optionally include user counts for each team. Supports pagination for large result sets.
            operationId: ClientService_ListTeams
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/ListTeamsResponse'
                            examples:
                                List_Teams:
                                    summary: List Teams
                                    description: Example of listing teams for an organization
                                    value:
                                        nextPageToken: ""
                                        teams:
                                            - brand: organizations/12345/brands/brand_default
                                              description: Handles property conveyancing checks
                                              displayName: Conveyancing Team
                                              name: organizations/12345/teams/team_001
                                            - brand: organizations/12345/brands/brand_default
                                              description: Handles commercial property transactions
                                              displayName: Commercial Team
                                              name: organizations/12345/teams/team_002
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: >-
                    The name of the Organization to list

                    Teams for.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+'
                - name: pageSize
                  description: >-
                    Optional limit on the number of Teams to be returned.

                    If not specified, the default is 25.
                  in: query
                  required: false
                  schema:
                    type: integer
                    format: int32
                - name: pageToken
                  description: >-
                    Optional pagination token, returned earlier via ListTeamsResponse.next_page_token.
                  in: query
                  required: false
                  schema:
                    type: string
                - name: filter
                  description: >-
                    Only include resources that match this filter in the response.

                    Filtering by the following fields is supported:

                    - `display_name`

                    - `brand_display_name`

                    - `feature_set` (will match on feature sets enabled for the team)

                    For more information, see FilterSyntax
                  in: query
                  required: false
                  schema:
                    type: string
                - name: view
                  description: >-
                    Optional. Specifies which view of the Team resources to return.

                    When unspecified, defaults to BASIC view which includes core team fields without

                    expensive count computations or related resource queries.


                    Performance implications:

                    - BASIC: Fast response, no additional queries

                    - SUMMARY: Moderate performance impact due to user count queries

                    - FULL: Slowest response due to counts plus role bindings and feature queries


                    Recommended usage:

                    - BASIC: Team selection dropdowns, simple navigation

                    - SUMMARY: Team lists showing user counts

                    - FULL: Detailed team management and administration pages


                     - TEAM_VIEW_UNSPECIFIED: Default value. When used, defaults to BASIC view.
                    This ensures backward compatibility for clients not specifying a view.

                     - TEAM_VIEW_BASIC: Basic view includes core team information without expensive computations.
                    This view provides essential team data needed for most operations while

                    avoiding performance overhead from count calculations and related resource queries.


                    Includes:

                    - name: The unique resource identifier

                    - display_name: Human-readable team name

                    - brand: Associated brand resource name

                    - description: Team description text

                     - TEAM_VIEW_SUMMARY: Summary view includes basic information plus count data.
                    This view is optimized for team listing interfaces where user counts

                    are needed for display but detailed related resources are not required.


                    Includes:

                    - All BASIC fields

                    - user_count: Number of users assigned to this team

                     - TEAM_VIEW_FULL: Full view includes all available team information including related resources.
                    This view should be used when complete team context is required, such as

                    for detailed team management operations or comprehensive team administration.


                    Includes:

                    - All SUMMARY fields

                    - role_bindings: Complete list of role assignments and permissions

                    - feature_settings: Individual feature configurations

                    - feature_set_settings: Feature set configurations
                  in: query
                  required: false
                  schema:
                    type: string
                    enum:
                        - TEAM_VIEW_UNSPECIFIED
                        - TEAM_VIEW_BASIC
                        - TEAM_VIEW_SUMMARY
                        - TEAM_VIEW_FULL
                    default: TEAM_VIEW_UNSPECIFIED
            tags:
                - ClientService
    /v1alpha2/{parent}/teams:batchGet:
        get:
            summary: Batch Get Teams
            description: >-
                Returns the requested set of Teams by name. All names must be in the Organization specified by parent. Maximum of 100 teams can be retrieved per request.
            operationId: ClientService_BatchGetTeams
            responses:
                '200':
                    description: A successful response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/BatchGetTeamsResponse'
                            examples:
                                Batch_Get_Teams:
                                    summary: Batch Get Teams
                                    description: Example of retrieving multiple teams in a single request
                                    value:
                                        teams:
                                            - brand: organizations/12345/brands/brand_default
                                              description: Handles property conveyancing checks
                                              displayName: Conveyancing Team
                                              name: organizations/12345/teams/team_001
                                            - brand: organizations/12345/brands/brand_default
                                              description: Handles commercial property transactions
                                              displayName: Commercial Team
                                              name: organizations/12345/teams/team_002
                default:
                    description: An unexpected error response.
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/googlerpcStatus'
            parameters:
                - name: parent
                  description: |-
                    Required. The parent organization of the teams being retrieved.
                    Format: `organizations/{organization}`.
                    All teams specified in `names` must belong to this organization.
                  in: path
                  required: true
                  schema:
                    type: string
                    pattern: 'organizations/[^/]+'
                - name: names
                  description: >-
                    The names of the Team to get.

                    A maximum of 100 Teams can be retrieved in a single request.
                  in: query
                  required: true
                  explode: true
                  schema:
                    type: array
                    items:
                        type: string
                - name: view
                  description: >-
                    Optional. Specifies which view of the Team resources to return.

                    When unspecified, defaults to BASIC view which includes core team fields without

                    expensive count computations or related resource queries.


                    Performance implications:

                    - BASIC: Fast response, no additional queries per team

                    - SUMMARY: Moderate performance impact due to user count queries

                    - FULL: Slowest response due to counts plus role bindings and feature queries


                    Use BASIC for most batch operations, SUMMARY/FULL when additional data is needed.


                     - TEAM_VIEW_UNSPECIFIED: Default value. When used, defaults to BASIC view.
                    This ensures backward compatibility for clients not specifying a view.

                     - TEAM_VIEW_BASIC: Basic view includes core team information without expensive computations.
                    This view provides essential team data needed for most operations while

                    avoiding performance overhead from count calculations and related resource queries.


                    Includes:

                    - name: The unique resource identifier

                    - display_name: Human-readable team name

                    - brand: Associated brand resource name

                    - description: Team description text

                     - TEAM_VIEW_SUMMARY: Summary view includes basic information plus count data.
                    This view is optimized for team listing interfaces where user counts

                    are needed for display but detailed related resources are not required.


                    Includes:

                    - All BASIC fields

                    - user_count: Number of users assigned to this team

                     - TEAM_VIEW_FULL: Full view includes all available team information including related resources.
                    This view should be used when complete team context is required, such as

                    for detailed team management operations or comprehensive team administration.


                    Includes:

                    - All SUMMARY fields

                    - role_bindings: Complete list of role assignments and permissions

                    - feature_settings: Individual feature configurations

                    - feature_set_settings: Feature set configurations
                  in: query
                  required: false
                  schema:
                    type: string
                    enum:
                        - TEAM_VIEW_UNSPECIFIED
                        - TEAM_VIEW_BASIC
                        - TEAM_VIEW_SUMMARY
                        - TEAM_VIEW_FULL
                    default: TEAM_VIEW_UNSPECIFIED
            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.v1alpha2.Address.building_number] or
                         [building_name][thirdfort.consumer.tasks.type.v1alpha2.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.v1alpha2.Address.building_number] or
                         [building_name][thirdfort.consumer.tasks.type.v1alpha2.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.v1alpha2.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.v1alpha2.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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that were used to generate this [AddressVerificationCheckResult][thirdfort.client.v1alpha2.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.v1alpha2.CheckSummary]
        BankAccount:
            title: BankAccount
            type: object
            properties:
                id:
                    type: string
                    description: The unique identifier for this bank account.
                nameOnAccount:
                    type: string
                    description: The name of the account holder as it appears on the bank statement.
                providerName:
                    type: string
                    description: The name of the bank or building society that provides this account.
                accountNumber:
                    type: string
                    description: The account number for this account.
                accountType:
                    type: string
                    enum:
                        - BANK_ACCOUNT_TYPE_UNSPECIFIED
                        - BANK_ACCOUNT_TYPE_PERSONAL_CURRENT
                        - BANK_ACCOUNT_TYPE_PERSONAL_SAVINGS
                        - BANK_ACCOUNT_TYPE_BUSINESS_CURRENT
                        - BANK_ACCOUNT_TYPE_BUSINESS_SAVINGS
                        - BANK_ACCOUNT_TYPE_OTHER
                    description: The type of this account.
                connectionType:
                    type: string
                    enum:
                        - BANKING_CONNECTION_TYPE_UNSPECIFIED
                        - BANKING_CONNECTION_TYPE_LINKED
                        - BANKING_CONNECTION_TYPE_UPLOADED
                        - BANKING_CONNECTION_TYPE_METADATA_ONLY
                    description: The type of connection used to access this account.
                closingBalance:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The closing balance for this account.
                startDateRange:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date range for which transactions are available for this account.
                endDateRange:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date range for which transactions are available for this account.
                transactions:
                    type: array
                    items:
                        $ref: '#/components/schemas/TimeSpanBankingTransactionsFinding'
                displayName:
                    type: string
                    description: |-
                        Human-readable name for the account (e.g., "Checking Account", "Savings Account").
                         This is distinct from name_on_account which contains the account holder's name.
                verification:
                    allOf:
                        - $ref: '#/components/schemas/DataVerification'
                    description: Verification result comparing manually entered data against a trusted source.
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of evidence
                         [Findings][thirdfort.client.v1alpha2.Finding] (e.g. uploaded bank
                         statements) linked to this bank account.

                         Alert findings related to this account are not listed here — they
                         can be derived on the consumer side by matching
                         [SourceOfFundsAlertFinding.transaction_names][thirdfort.client.checks.type.v1alpha2.SourceOfFundsAlertFinding.transaction_names]
                         against this account's
                         [TimeSpanBankingTransactionsFinding.source_findings][thirdfort.client.checks.type.v1alpha2.TimeSpanBankingTransactionsFinding.source_findings].
        BankingDataCheckResult:
            title: BankingDataCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: A human readable name for the result (e.g. "Banking Data").
                description:
                    type: string
                    description: A human readable description of the result (e.g. "Activities complete").
                recommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The recommendation for this check result.
                bankingSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsBankingSubCheckResult'
                    description: |-
                        Banking sub check result
                         Every BankAccount in this result is guaranteed to have a non-
                         METADATA_ONLY BankingConnectionType.
                alertsSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsAlertsSubCheckResult'
                    description: Alerts sub check result
                evidenceSubCheckResult:
                    $ref: '#/components/schemas/SourceOfFundsEvidenceSubCheckResult'
        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.v1alpha2.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.
        BatchGetTeamsResponse:
            title: BatchGetTeamsResponse
            type: object
            properties:
                teams:
                    type: array
                    items:
                        $ref: '#/components/schemas/Team'
                    description: 'The Teams requested.'
            description: >-
                Response message for ClientService.BatchGetTeams.
        BatchReviewFindingsResponse:
            title: BatchReviewFindingsResponse
            type: object
            properties:
                responses:
                    type: array
                    items:
                        $ref: '#/components/schemas/ReviewFindingResponse'
                    description: >-
                        The responses for each review request, in the same order as the requests.
            description: >-
                Response message for ClientService.BatchReviewFindings.
            required:
                - responses
        Brand:
            title: Brand
            type: object
            properties:
                name:
                    type: string
                    description: |-
                        The unique resource name of the brand.
                        This field is system-generated and immutable.
                displayName:
                    type: string
                    description: >-
                        Human-readable brand name displayed to consumers.

                        This is the name that appears in text messages, emails, and other consumer communications.
                description:
                    type: string
                    description: >-
                        Human readable description of the Brand.
            description: >-
                A Brand is a child resource of an Organization

                that defines the visual identity and name shown to consumers during compliance processes.

                Brands are used in consumer-facing communications such as text messages, emails, and user interfaces

                to provide a consistent branded experience.
            required:
                - displayName
        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
                state:
                    type: string
                    description: >-
                        The state or region within the jurisdiction, if applicable.

                        For US companies, this is the 2-character state code (e.g., "CA", "NY").
                    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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that were used to generate this [CCJInsolvencyCheckResult][thirdfort.client.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityVerificationCheckParams: '#/components/schemas/IdentityVerificationCheckParams'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.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
        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'
                        - $ref: '#/components/schemas/SourceOfFundsCheckSummary'
                    discriminator:
                        propertyName: '@type'
                        mapping:
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IndividualVerificationCheckSummary: '#/components/schemas/IndividualVerificationCheckSummary'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.ClientOnlyVerificationCheckSummary: '#/components/schemas/ClientOnlyVerificationCheckSummary'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsCheckSummary: '#/components/schemas/SourceOfFundsCheckSummary'
                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.
        CheckSummaryRevision:
            title: CheckSummaryRevision
            type: object
            properties:
                name:
                    type: string
                snapshot:
                    $ref: '#/components/schemas/CheckSummary'
                createTime:
                    type: string
                    format: date-time
                    readOnly: true
                createReason:
                    type: string
                    description: >-
                        A human readable reason for why a new CheckSummaryRevision was created.

                        For example, "Ongoing Monitoring hit received" or "Consumer provided new data" are examples of this.

                        These strings are not intended to be machine readable and may be localized so should not be considered

                        to be stable.
                    readOnly: true
            description: >-
                A CheckSummaryRevision represents a snapshot of a

                CheckSummary at a given point in time.

                This allows us to track the history of a CheckSummary and

                understand how and why it evolved over time.


                The latest CheckSummary for a Check

                can be accessed via the CheckSummary singleton resource or via the

                CheckSummaryRevision resource with `\{revision\}` set to "latest".
        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.v1alpha2.ClientOnlyVerificationCheckParams`.
                subject:
                    allOf:
                        - $ref: '#/components/schemas/ProvidedSubjectData'
                    description: The [ProvidedSubjectData][thirdfort.client.v1alpha2.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.v1alpha2.ClientOnlyVerificationCheckSummary`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the check
                addressVerificationCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/AddressVerificationCheckResult'
                    description: |-
                        Optional. The result of the [AddressVerificationCheckResult][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.Check] in
                         relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.CheckSummary]
        ClientServiceBatchReviewFindingsBody:
            type: object
            properties:
                requests:
                    type: array
                    items:
                        $ref: '#/components/schemas/ReviewFindingRequest'
                    description: |-
                        Required. The individual review requests.
                        Each request specifies a finding to review and the review details.
            description: >-
                Request message for ClientService.BatchReviewFindings.
            required:
                - requests
        ClientServiceCreateFeatureFlagOverrideBody:
            type: object
            properties:
                override:
                    $ref: '#/components/schemas/FeatureFlagOverride'
            description: >-
                Request message for ClientService.CreateFeatureFlagOverride.
            required:
                - override
        ClientServiceReviewFindingBody:
            type: object
            properties:
                state:
                    $ref: '#/components/schemas/FindingState'
                review:
                    $ref: '#/components/schemas/FindingReview'
            description: >-
                Request message for ClientService.ReviewFinding.
            required:
                - state
                - review
        ClientServiceUpdateCheckBody:
            type: object
            properties:
                notificationRecipient:
                    type: string
                    description: >-
                        The new notification recipient for the Check.

                        If not provided, the notification recipient will not be updated.

                        Format: `organizations/{organization}/users/{user}`.
            description: >-
                Request message for ClientService.UpdateCheck.
        ClientServiceUpdateFeatureFlagBody:
            type: object
            properties:
                displayName:
                    type: string
                    description: Optional. The new display name for the feature flag.
                description:
                    type: string
                    description: Optional. The new description for the feature flag.
                defaultEnabled:
                    type: boolean
                    description: Optional. The new default enabled state for the feature flag.
            description: >-
                Request message for ClientService.UpdateFeatureFlag.
        ClientServiceUpdateFeatureFlagOverrideBody:
            type: object
            properties:
                enabled:
                    type: boolean
                    description: Required. The new enabled state for this override.
            description: >-
                Request message for ClientService.UpdateFeatureFlagOverride.
            required:
                - enabled
        CompanyMatch:
            title: CompanyMatch
            type: object
            properties:
                dunsNumber:
                    type: string
                    description: The DUNS number for the company.
                name:
                    type: string
                    description: The primary name of the company.
                jurisdiction:
                    type: string
                    description: |-
                        The jurisdiction (country) of the company.
                        ISO 3166-1 alpha-2 country code.
                state:
                    type: string
                    description: >-
                        The state or region within the jurisdiction, if applicable.

                        For US companies, this is the 2-character state code (e.g., "CA", "NY").
                registrationInfo:
                    type: array
                    items:
                        $ref: '#/components/schemas/CompanyRegistrationInfo'
                    description: All registration info associated with the company.
                operatingStatus:
                    type: string
                    description: 'The operating status of the company (e.g., "Active", "Inactive").'
                address:
                    $ref: '#/components/schemas/typev1alpha2Address'
            description: Represents a company match from the search results.
        CompanyRegistrationInfo:
            title: CompanyRegistrationInfo
            type: object
            properties:
                registrationNumber:
                    type: string
                    description: The registration number value.
                typeDescription:
                    type: string
                    description: >-
                        A description of the registration number type (e.g., "COMPANIES REGISTRY OFFICE Number (GB)", "VAT Number").
            description: Represents registration information for a company.
        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.
        ConsumerTask:
            title: ConsumerTask
            type: object
            properties:
                name:
                    type: string
                type:
                    type: string
                    description: >-
                        The name of the type of the ConsumerTask.

                        Examples: "PERSONAL_DETAILS", "IDENTITY_DOCUMENT", "VERIFY_RESIDENTIAL_ADDRESS", "PROOF_OF_OWNERSHIP", etc.
                    readOnly: true
                state:
                    $ref: '#/components/schemas/ConsumerTaskState'
                createTime:
                    type: string
                    format: date-time
                    readOnly: true
                updateTime:
                    type: string
                    format: date-time
                    description: >-
                        If the ConsumerTask is in a terminal state this will

                        be set to that time that it transitioned into that state.
                    readOnly: true
                displayOptions:
                    $ref: '#/components/schemas/ConsumerTaskDisplayOptions'
            description: >-
                A ConsumerTask represents a single flow that a consumer needs

                to complete in order to provide one or more pieces of related evidence.

                For example:

                  - Providing personal details, such as name and date of birth.
                  - Providing a passport scan, NFC passport read and biometric face scan.
        ConsumerTaskDisplayOptions:
            type: object
            properties:
                icon:
                    $ref: '#/components/schemas/ConsumerTaskIconDisplayParams'
                title:
                    type: string
                    description: >-
                        The title to be displayed for the ConsumerTask.
                description:
                    type: string
                    description: >-
                        The description to be displayed for the ConsumerTask.
                statusText:
                    type: string
                    description: >-
                        The status text to be displayed for the ConsumerTask.
                statusIcon:
                    $ref: '#/components/schemas/ConsumerTaskIconDisplayParams'
                beginButtonText:
                    type: string
                    description: >-
                        The text to be displayed on the button to start the ConsumerTask.
            description: >-
                Options for how the ConsumerTask should be displayed.
        ConsumerTaskIconDisplayParams:
            type: object
            properties:
                type:
                    type: string
                    description: Defined type name for the given display.
                slug:
                    type: string
                    description: The defined slug for the icon.
                category:
                    type: string
                    description: |-
                        The category of the icon.
                        This is used to group icons together for display purposes.
                color:
                    type: string
                    description: The color in which the icon should be displayed.
            description: Icon parameters to specify the icon to be displayed.
        ConsumerTaskState:
            title: ConsumerTaskState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - NOT_STARTED
                - IN_PROGRESS
                - COMPLETED
                - CANCELLED
            default: STATE_UNSPECIFIED
            description: >4-
                 - NOT_STARTED: The ConsumerTask has been created but has not been started.
                 - IN_PROGRESS: The ConsumerTask has been started.
                 - COMPLETED: The ConsumerTask has been completed.
                 - CANCELLED: The ConsumerTask has been cancelled, typically because the
                parent TaskGroup has been cancelled.
        CreateFeatureFlagRequest:
            title: CreateFeatureFlagRequest
            type: object
            properties:
                featureFlagId:
                    type: string
                    description: >-
                        Required. The feature flag ID to use for this feature flag.

                        Must be a lowercase, hyphen-separated identifier (e.g., "new-dashboard", "ai-assistant-v2").

                        This will become part of the resource name: `featureFlags/{feature_flag_id}`.
                featureFlag:
                    $ref: '#/components/schemas/FeatureFlag'
            description: >-
                Request message for ClientService.CreateFeatureFlag.
            required:
                - featureFlagId
                - featureFlag
        CryptocurrencyFundsDetails:
            title: CryptocurrencyFundsDetails
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                countryOfOrigin:
                    type: string
            description: Details for alerts related to cryptocurrency funds.
        DataVerification:
            title: DataVerification
            type: object
            properties:
                status:
                    type: string
                    enum:
                        - STATUS_UNSPECIFIED
                        - STATUS_VERIFIED
                        - STATUS_MISMATCH
                        - STATUS_INCONCLUSIVE
                        - STATUS_NOT_PERFORMED
                    description: Overall verification status.
                source:
                    type: string
                    enum:
                        - SOURCE_UNSPECIFIED
                        - SOURCE_DOCUMENT_EXTRACTION
                        - SOURCE_OPEN_BANKING
                        - SOURCE_EXTERNAL_PROVIDER
                        - SOURCE_MANUAL_REVIEW
                    description: The source that performed verification.
                fields:
                    type: array
                    items:
                        $ref: '#/components/schemas/FieldVerification'
                    description: Per-field verification details.
            description: The result of verifying data against a trusted source.
        EmploymentData:
            title: EmploymentData
            type: object
            properties:
                summary:
                    $ref: '#/components/schemas/EmploymentSummary'
                details:
                    allOf:
                        - $ref: '#/components/schemas/EmploymentDetails'
                    description: |-
                        Deprecated: Use employment_details or other_income_details in the income_details oneof instead.
                         This field is maintained for backward compatibility.
                paymentDetails:
                    $ref: '#/components/schemas/PaymentDetails'
                paymentHistory:
                    $ref: '#/components/schemas/PaymentHistory'
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         containing banking transaction data that may be relevant to this employment record.
                         Note: These are Finding names, not FindingRevision names.
                employmentDetails:
                    $ref: '#/components/schemas/EmploymentDetails'
                otherIncomeDetails:
                    $ref: '#/components/schemas/OtherIncomeDetails'
            description: Employment data structure - now supports both employment and other income types
        EmploymentDetails:
            title: EmploymentDetails
            type: object
            properties:
                status:
                    type: string
                    enum:
                        - EMPLOYMENT_STATUS_UNSPECIFIED
                        - EMPLOYMENT_STATUS_EMPLOYED_BY_ONE
                        - EMPLOYMENT_STATUS_EMPLOYED_BY_TWO_OR_MORE
                        - EMPLOYMENT_STATUS_SELF_EMPLOYED
                        - EMPLOYMENT_STATUS_RETIRED
                        - EMPLOYMENT_STATUS_UNEMPLOYED
                bankAccountId:
                    type: string
                income:
                    $ref: '#/components/schemas/Money'
                paymentFrequency:
                    type: string
                    enum:
                        - PAYMENT_FREQUENCY_UNSPECIFIED
                        - PAYMENT_FREQUENCY_WEEKLY
                        - PAYMENT_FREQUENCY_FORTNIGHTLY
                        - PAYMENT_FREQUENCY_MONTHLY
                        - PAYMENT_FREQUENCY_QUARTERLY
                        - PAYMENT_FREQUENCY_ANNUALLY
                        - PAYMENT_FREQUENCY_OTHER
                        - PAYMENT_FREQUENCY_NOT_RECEIVING
                paymentDescription:
                    type: string
                jobTitle:
                    type: string
                startDate:
                    $ref: '#/components/schemas/typeDate'
                employmentType:
                    type: string
                    enum:
                        - EMPLOYMENT_TYPE_UNSPECIFIED
                        - EMPLOYMENT_TYPE_FULL_TIME
                        - EMPLOYMENT_TYPE_PART_TIME
                        - EMPLOYMENT_TYPE_FIXED_TERM_CONTRACT
                        - EMPLOYMENT_TYPE_TEMPORARY
                        - EMPLOYMENT_TYPE_ZERO_HOURS_CONTRACT
            description: Employment-specific details
        EmploymentSummary:
            title: EmploymentSummary
            type: object
            properties:
                bankStatus:
                    type: string
                    enum:
                        - BANK_STATUS_UNSPECIFIED
                        - BANK_STATUS_LINKED
                        - BANK_STATUS_NOT_LINKED
                        - BANK_STATUS_STATEMENT_UPLOADED
                        - BANK_STATUS_PENDING
                uploadStatus:
                    type: string
                    enum:
                        - UPLOAD_STATUS_UNSPECIFIED
                        - UPLOAD_STATUS_UPLOADED
                        - UPLOAD_STATUS_NOT_UPLOADED
                        - UPLOAD_STATUS_PENDING
                incomeTotal:
                    $ref: '#/components/schemas/Money'
            description: Summary information about employment income
        EvaluateFeatureFlagsResponse:
            title: EvaluateFeatureFlagsResponse
            type: object
            properties:
                featureFlags:
                    type: array
                    items:
                        $ref: '#/components/schemas/EvaluatedFeatureFlag'
                    description: >-
                        The evaluated feature flags for the organization.

                        Each entry contains the feature flag name and its effective enabled state.
            description: >-
                Response message for ClientService.EvaluateFeatureFlags.
        EvaluatedFeatureFlag:
            title: EvaluatedFeatureFlag
            type: object
            properties:
                featureFlag:
                    type: string
                    description: |-
                        The resource name of the feature flag.
                        Format: `featureFlags/{feature_flag}`.
                displayName:
                    type: string
                    description: Human-readable name of the feature flag.
                    readOnly: true
                enabled:
                    type: boolean
                    description: >-
                        Whether the feature is enabled for the evaluated organization.

                        This is the final computed value after considering the default and any override.
                    readOnly: true
                isOverride:
                    type: boolean
                    description: >-
                        Whether this enabled state comes from an organization-specific override.

                        When true, the enabled value comes from a FeatureFlagOverride.

                        When false, the enabled value comes from the FeatureFlag's default_enabled.
                    readOnly: true
            description: >-
                Represents the evaluated state of a feature flag for a specific organization.

                This combines the feature flag definition with any applicable override.
            required:
                - featureFlag
        EvidenceFinding:
            title: EvidenceFinding
            type: object
            properties:
                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
                extractionStatus:
                    type: string
                    enum:
                        - EXTRACTION_STATUS_UNSPECIFIED
                        - EXTRACTION_STATUS_COMPLETE
                        - EXTRACTION_STATUS_PARTIAL
                        - EXTRACTION_STATUS_FAILED
                        - EXTRACTION_STATUS_PENDING
                    description: The status of data extraction/processing for this evidence document.
            description: |-
                Detail [Finding][thirdfort.client.v1alpha2.Finding] payload that holds a piece of evidence
                 that has been gathered as part of a [CheckRun][thirdfort.client.v1alpha2.CheckRun].
                 This could be a document, a photo, a video, or any other piece of evidence that contributes
                 towards the overall result of the [CheckRun][thirdfort.client.v1alpha2.CheckRun]
                 or has been used as part of generating other [Findings][thirdfort.client.v1alpha2.Finding].
                 TODO: This is a copy from v1alpha1 at the moment, and needs to be validated and refined against v1alpha2 when implementing
        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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that were used to generate this [FacialRecognitionCheckResult][thirdfort.client.v1alpha2.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.v1alpha2.CheckSummary]
        Feature:
            title: Feature
            type: object
            properties:
                type:
                    $ref: '#/components/schemas/FeatureType'
                state:
                    $ref: '#/components/schemas/FeatureState'
                scope:
                    $ref: '#/components/schemas/FeatureScope'
            description: >-
                A Feature represents an individual capability

                that can be enabled for organizations.
            required:
                - state
        FeatureFlag:
            title: FeatureFlag
            type: object
            properties:
                name:
                    type: string
                    description: >-
                        The unique resource name of the feature flag.

                        Format: `featureFlags/{feature_flag}`.

                        The feature_flag ID should be a lowercase, hyphen-separated identifier

                        (e.g., "new-dashboard", "ai-assistant-v2").

                        This field is system-generated and immutable.
                displayName:
                    type: string
                    title: |-
                        Human-readable name displayed in user interfaces.
                        Example: "New Dashboard Experience"
                description:
                    type: string
                    description: >-
                        Optional description explaining the purpose and behavior of this feature flag.

                        Should include information about what the feature does and any relevant context.
                defaultEnabled:
                    type: boolean
                    description: >-
                        The default enabled state for this feature flag.

                        When true, the feature is enabled for all organizations unless explicitly overridden.

                        When false, the feature is disabled for all organizations unless explicitly overridden.
                overrideCount:
                    type: integer
                    format: int32
                    description: |-
                        The number of organization-specific overrides for this feature flag.
                        This count includes both enabled and disabled overrides.
                        Output only - computed by the system.
                    readOnly: true
                createTime:
                    type: string
                    format: date-time
                    description: Timestamp when this feature flag was created.
                    readOnly: true
                updateTime:
                    type: string
                    format: date-time
                    description: Timestamp when this feature flag was last updated.
                    readOnly: true
            description: >-
                A FeatureFlag represents a feature toggle

                that can be enabled or disabled globally or per-organization. Feature flags allow

                controlled rollout of new features and A/B testing capabilities.


                Feature flags have a default enabled state that applies to all organizations unless

                overridden. Organization-specific overrides can be created to enable or disable

                a feature for specific organizations.
            required:
                - displayName
                - defaultEnabled
        FeatureFlagOverride:
            title: FeatureFlagOverride
            type: object
            properties:
                name:
                    type: string
                    description: |-
                        The unique resource name of the feature flag override.
                        Format: `featureFlags/{feature_flag}/overrides/{organization}`.
                        This field is system-generated and immutable.
                organization:
                    type: string
                    description: >-
                        The resource name of the organization this override applies to.

                        Format: `organizations/{organization}`.

                        To get organization details (e.g., display_name), call GetOrganization.
                enabled:
                    type: boolean
                    description: |-
                        Whether the feature is enabled for this organization.
                        This value overrides the feature flag's default_enabled value.
                createTime:
                    type: string
                    format: date-time
                    description: Timestamp when this override was created.
                    readOnly: true
                updateTime:
                    type: string
                    format: date-time
                    description: Timestamp when this override was last updated.
                    readOnly: true
            description: >-
                A FeatureFlagOverride represents

                an organization-specific override for a feature flag. When an override exists,

                it takes precedence over the feature flag's default_enabled value for that organization.
            required:
                - organization
                - enabled
        FeatureScope:
            type: string
            enum:
                - SCOPE_UNSPECIFIED
                - INTERNAL
                - CLIENT
            default: SCOPE_UNSPECIFIED
            description: |-
                Feature visibility scope.

                 - INTERNAL: Only visible to admin users.
                 - CLIENT: Visible to external clients.
        FeatureSet:
            title: FeatureSet
            type: object
            properties:
                type:
                    $ref: '#/components/schemas/FeatureSetType'
                kind:
                    $ref: '#/components/schemas/FeatureSetKind'
                features:
                    type: array
                    items:
                        $ref: '#/components/schemas/Feature'
                    description: The features included in this set.
                    readOnly: true
                state:
                    $ref: '#/components/schemas/FeatureSetState'
            description: >-
                A FeatureSet groups related features

                as either a product or service.
            required:
                - state
        FeatureSetKind:
            type: string
            enum:
                - KIND_UNSPECIFIED
                - PRODUCT
                - SERVICE
            default: KIND_UNSPECIFIED
            description: |-
                Feature set kind.

                 - PRODUCT: Core compliance product.
                 - SERVICE: Additional platform service.
        FeatureSetState:
            title: FeatureSetState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - ENABLED
                - DISABLED
            default: STATE_UNSPECIFIED
            description: |-
                The operational state of the feature set.

                 - STATE_UNSPECIFIED: Default value. This value is unused.
                 - ENABLED: The feature set is enabled and available for use.
                 - DISABLED: The feature set is disabled and not available for use.
        FeatureSetType:
            title: FeatureSetType
            type: string
            enum:
                - FEATURESET_UNSPECIFIED
                - KYC
                - KYB
                - AML_SCREENING
                - SOF
                - TITLE_DOCS
                - SECURE_SHARE
                - APPROVAL_FLOW
                - BILLING_USAGE_RISK_REPORTING
                - CLIENT_BULK_UPLOAD
                - TF_API
                - CUSTOM_SCREENING
                - SSO
                - BESPOKE_REPORTING
                - INTERNATIONAL_ADDRESS_VERIFICATION
                - MONITORING_ANALYTICS
            default: FEATURESET_UNSPECIFIED
            description: |-
                Feature set type.

                 - MONITORING_ANALYTICS: Monitoring analytics dashboard — view org-level monitoring graphs.
        FeatureState:
            title: FeatureState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - ENABLED
                - DISABLED
            default: STATE_UNSPECIFIED
            description: |-
                The operational state of the feature.

                 - STATE_UNSPECIFIED: Default value. This value is unused.
                 - ENABLED: The feature is enabled and available for use.
                 - DISABLED: The feature is disabled and not available for use.
        FeatureType:
            title: FeatureType
            type: string
            enum:
                - FEATURE_UNSPECIFIED
                - KYC_IDV_ENHANCED
                - KYC_IDV_ORIGINAL
                - KYC_DOCUMENT_VERIFICATION
                - KYC_PROOF_OF_ADDRESS
                - KYC_PROOF_OF_OWNERSHIP
                - AML_LITE_SCREENING
                - AML_STANDALONE_SCREENING
                - AML_ONGOING_MONITORING
                - SOF_QUESTIONNAIRE
                - SOF_GIFTOR_QUESTIONNAIRE
                - APPROVAL_FLOW
                - SECURE_SHARE
                - TITLE_DOCS_LEASEHOLD
                - TITLE_DOCS_PLAN_FREEHOLD
                - TITLE_DOCS_PLAN_LEASEHOLD
                - TITLE_DOCS_REGISTER_FREEHOLD
                - KYB_ANNUAL_ACCOUNTS
                - KYB_ANNUAL_RETURN
                - KYB_ARTICLES_ASSOCIATION
                - KYB_BENEFICIAL_CHECK
                - KYB_CREDIT_CHECK
                - KYB_CREDIT_REPORT
                - KYB_FILED_CHANGES
                - KYB_FILED_DOCUMENTS
                - KYB_REGISTER_CHECK
                - KYB_REGISTER_EXTRACT
                - KYB_REGISTER_REPORT
                - KYB_SANCTIONS
                - KYB_SANCTIONS_MONITORING
                - KYB_SHAREHOLDERS
                - KYB_SUMMARY_REPORT
                - KYB_TRADE_REGISTER
                - KYB_UBO_REPORT
                - INTERNATIONAL_ADDRESS_VERIFICATION
                - KYC_CCJ_INSOLVENCY
                - BANKING_DATA
            default: FEATURE_UNSPECIFIED
            description: The type of feature representing specific compliance capabilities.
        FieldVerification:
            title: FieldVerification
            type: object
            properties:
                fieldName:
                    type: string
                    description: Machine-readable field identifier (e.g., "name_on_account").
                primaryValue:
                    type: string
                    description: The declared or entered value.
                verifiedValue:
                    type: string
                    description: The value from the verification source.
                matchResult:
                    type: string
                    enum:
                        - MATCH_RESULT_UNSPECIFIED
                        - MATCH_RESULT_MATCH
                        - MATCH_RESULT_PARTIAL_MATCH
                        - MATCH_RESULT_MISMATCH
                        - MATCH_RESULT_NOT_COMPARABLE
                    description: Whether the values match, partially match, or mismatch.
                confidence:
                    type: number
                    format: float
                    description: Match confidence score (0.0-1.0) from fuzzy comparison.
            description: Comparison of a single field between a declared value and a verified value.
        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/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/IdentityDocumentExtractedDataFinding'
                        - $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/BankingTransactionsFinding'
                        - $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.v1alpha2.EvidenceFinding: '#/components/schemas/EvidenceFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentAgeValidationFinding: '#/components/schemas/IdentityDocumentAgeValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentChipCloningDetectionFinding: '#/components/schemas/IdentityDocumentChipCloningDetectionFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentCompromisedDocumentFinding: '#/components/schemas/IdentityDocumentCompromisedDocumentFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentDataConsistencyFinding: '#/components/schemas/IdentityDocumentDataConsistencyFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentDataValidationFinding: '#/components/schemas/IdentityDocumentDataValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentDocumentDataComparisonFinding: '#/components/schemas/IdentityDocumentDocumentDataComparisonFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentExtractedDataFinding: '#/components/schemas/IdentityDocumentExtractedDataFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentFacialComparisonFinding: '#/components/schemas/IdentityDocumentFacialComparisonFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentFacialImageIntegrityFinding: '#/components/schemas/IdentityDocumentFacialImageIntegrityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentFacialVisualAuthenticityFinding: '#/components/schemas/IdentityDocumentFacialVisualAuthenticityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentImageIntegrityFinding: '#/components/schemas/IdentityDocumentImageIntegrityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentPassportChipValidationFinding: '#/components/schemas/IdentityDocumentPassportChipValidationFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentPoliceRecordFinding: '#/components/schemas/IdentityDocumentPoliceRecordFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentVisualAuthenticityFinding: '#/components/schemas/IdentityDocumentVisualAuthenticityFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IndividualAddressVerificationDatabaseMatchFinding: '#/components/schemas/IndividualAddressVerificationDatabaseMatchFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IndividualAddressVerificationSupportingDocumentFinding: '#/components/schemas/IndividualAddressVerificationSupportingDocumentFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IndividualCCJInsolvencyFinding: '#/components/schemas/IndividualCCJInsolvencyFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IndividualScreeningCheckSearchResultFinding: '#/components/schemas/IndividualScreeningCheckSearchResultFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.BankingTransactionsFinding: '#/components/schemas/BankingTransactionsFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsAlertFinding: '#/components/schemas/SourceOfFundsAlertFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsCopurchaserFinding: '#/components/schemas/SourceOfFundsCopurchaserFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsGiftorFinding: '#/components/schemas/SourceOfFundsGiftorFinding'
                            type.googleapis.com/thirdfort.client.checks.type.v1alpha2.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.
        FindingReview:
            title: FindingReview
            type: object
            properties:
                reason:
                    $ref: '#/components/schemas/FindingReviewReason'
                description:
                    type: string
                    description: A human readable reason for the decision.
            required:
                - reason
                - description
        FindingReviewReason:
            type: string
            enum:
                - REASON_UNSPECIFIED
                - NAME_NOT_EXACT
                - WRONG_JURISDICTION
                - IRRELEVANT_FLAG_TYPE
                - OTHER
            default: REASON_UNSPECIFIED
            description: >4-
                 - NAME_NOT_EXACT: The reviewer determined that the name of the Subject
                is not an exact match for the name of the Subject
                that the Finding is related to.
                 - WRONG_JURISDICTION: The reviewer determined that the Finding is not relevant
                to the Check that it is related to as it is not
                for the correct jurisdiction.
                 - IRRELEVANT_FLAG_TYPE: The reviewer determined that the Finding is not relevant
                to the Check that it is related to as it is not
                for a flag type to them.
                 - OTHER: The reviewer determined that the Finding is not relevant
                to the Check that it is related to for a reason other than
                those we explicitly list here.
                This is a catch-all for reasons that we don't have a specific enum for and free-form details
                can be conveyed in the description field.
        FindingRevision:
            title: FindingRevision
            type: object
            properties:
                name:
                    type: string
                snapshot:
                    $ref: '#/components/schemas/Finding'
                createTime:
                    type: string
                    format: date-time
                    readOnly: true
                genericDescription:
                    type: string
                    description: >-
                        A generic human readable description of why the revision was created.
                    readOnly: true
                reviewDecision:
                    $ref: '#/components/schemas/FindingReview'
            description: >-
                A FindingRevision represents a snapshot of a

                Finding at a given point in time.

                This allows us to track the history of a Finding and

                understand how and why it evolved over time.

                The latest FindingRevision for a Finding

                can be accessed via the Finding resource itself (i.e:

                `organizations/{organization}/teams/{team}/checks/{check}/findings/{finding}`) or via the FindingRevision

                resource with `\{revision\}` set to "latest".
        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.
        GenerateCheckAISummaryResponse:
            title: GenerateCheckAISummaryResponse
            type: object
            properties:
                summary:
                    type: string
                    title: >-
                        The AI-generated summary text describing the check's current status and results.

                        This summary is generated from sanitized data containing no personally identifiable

                        information (PII). The summary provides a natural language overview of:

                        - The check's current state (active, completed, etc.)

                        - Which tasks have been completed and which are pending

                        - Overall recommendations and any findings requiring attention
            description: >-
                Response message for ClientService.GenerateCheckAISummary.
        GiftorPersonaDeposit:
            title: GiftorPersonaDeposit
            type: object
            properties:
                date:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: Date the deposit was made
                amount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: Amount of the deposit
                reference:
                    type: string
                    description: Reference for the deposit transaction
                accountDisplayName:
                    type: string
                    description: |-
                        Human-readable name of the bank account the gift was sent from
                         (e.g. "Barclays Current ****1234"). Empty if not provided.
            description: Details about a gift deposit in the giftor persona flow
        GiftorPersonaRecipient:
            title: GiftorPersonaRecipient
            type: object
            properties:
                name:
                    type: string
                    description: Full name of the recipient
                phone:
                    type: string
                    description: Phone number of the recipient
                email:
                    type: string
                    description: Email address of the recipient
                relationship:
                    type: string
                    description: Relationship to the giftor
            description: Details about a gift recipient in the giftor persona flow
        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.v1alpha2.IdentityDocumentAgeValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for age validation.
                minimumAcceptedAgeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for minimum accepted age verification.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that were used to generate this [IdentityDocumentCheckResult][thirdfort.client.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityDocumentChipCloningDetectionFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the cloning detection.
                activeAuthenticationRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the active authentication.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentCompromisedDocumentFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for compromised document detection.
                documentNotFlaggedAsStolenLostOrIdentityFraudRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.ComplianceRecommendation] for cases where the same document is used repeatedly with minor modifications, indicating potential fraud.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentDataConsistencyFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for data consistency.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for date of birth consistency.
                dateOfExpiryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for date of expiry consistency.
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for document numbers consistency.
                documentTypeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for document type consistency.
                firstNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for first name consistency.
                genderRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for gender consistency.
                issuingCountryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for issuing country consistency.
                lastNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for last name consistency.
                nationalityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for nationality consistency.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentDataValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for data validation.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for date of birth validation.
                documentExpirationRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for document expiration validation.
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for document numbers validation.
                expiryDateRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for expiry date validation.
                genderRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for gender validation.
                mrzRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for MRZ (Machine Readable Zone) validation.
                barCodeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for barcode validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentDocumentDataComparisonFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the data comparison.
                dateOfBirthRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the date of birth comparison.
                         Supported by: Onfido, ReadID
                dateOfExpiryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the
                         document date of expiry comparison.
                         Supported by: Onfido
                documentNumbersRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the document number comparison.
                         Supported by: Onfido
                documentTypeRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the document type comparison.
                         Supported by: Onfido
                givenNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the given name comparison.
                         Supported by: Onfido, ReadID
                familyNameRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.ComplianceRecommendation] for the gender comparison.
                         Supported by: Onfido
                issuingCountryRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.Finding] payload for an IdentityDocumentCheck
                 covering data comparison between what is expected and was extracted from the document.
        IdentityDocumentExtractedDataFinding:
            title: IdentityDocumentExtractedDataFinding
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1alpha2.IdentityDocumentExtractedDataFinding`.
                firstName:
                    type: string
                    description: The given/first name of the document holder.
                lastName:
                    type: string
                    description: The family/last name of the document holder.
                middleName:
                    type: string
                    description: The middle name(s) of the document holder.
                dateOfBirth:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date of birth of the document holder.
                gender:
                    type: string
                    description: The gender of the document holder (typically "Male" or "Female").
                nationality:
                    type: string
                    description: ISO 3166-1 alpha-3 country code of the document holder's nationality.
                placeOfBirth:
                    type: string
                    description: The place of birth of the document holder.
                documentType:
                    type: string
                    description: Document type (e.g., "passport", "driving_licence").
                issuingCountry:
                    type: string
                    description: ISO 3166-1 alpha-3 country code of the document's issuing country.
                documentNumbers:
                    type: array
                    items:
                        $ref: '#/components/schemas/IdentityDocumentExtractedDataFinding_DocumentNumber'
                    description: List of document numbers associated with this document.
                dateOfExpiry:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The expiry date of the document.
                issuingDate:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The issuing date of the document.
                mrzLine1:
                    type: string
                    description: The first line of the Machine Readable Zone.
                mrzLine2:
                    type: string
                    description: The second line of the Machine Readable Zone.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.Finding] payload for an IdentityDocumentVerificationCheck
                 containing the data extracted from the identity document by the verification service.
                 This includes personal data, document metadata, and MRZ data.
                 Supported by: Onfido
        IdentityDocumentExtractedDataFinding_DocumentNumber:
            title: IdentityDocumentExtractedDataFinding_DocumentNumber
            type: object
            properties:
                type:
                    type: string
                    description: The type of document number (e.g., "passport_number", "license_number").
                value:
                    type: string
                    description: The actual value of the document number.
            description: Represents a document number with its type and value.
        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.v1alpha2.IdentityDocumentFacialComparisonFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the facial comparison.
                faceMatchRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityDocumentFacialImageIntegrityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the facial image integrity.
                faceDetectionRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityDocumentFacialVisualAuthenticityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the facial visual authenticity.
                livenessRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityDocumentImageIntegrityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for image integrity.
                colourPictureRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for colour picture validation.
                conclusiveDocumentQualityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for conclusive document quality validation.
                imageQualityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for image quality validation.
                supportedDocumentRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for supported document validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentPassportChipValidationFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.IdentityDocumentPoliceRecordFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for police record verification.
                documentNotRecordedAsLostStolenOrCompromisedRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for verifying that the document has not been recorded as lost, stolen or compromised.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityDocumentVisualAuthenticityFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for visual authenticity.
                digitalTamperingRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for digital tampering detection.
                faceDetectionRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for face detection validation.
                fontsRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for fonts validation.
                originalDocumentPresentRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for original document presence validation.
                otherRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for other visual authenticity checks.
                pictureFaceIntegrityRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for picture face integrity validation.
                securityFeaturesRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for security features validation.
                templateRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for template validation.
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.v1alpha2.IdentityVerificationCheckParams`.
                subject:
                    allOf:
                        - $ref: '#/components/schemas/IdentityVerificationCheckParams_ClientProvidedSubjectData'
                    description: The initial details of the [Subject][thirdfort.client.v1alpha2.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
                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.
                requireBankingData:
                    type: boolean
                    description: |-
                        Whether to request bank statements from the consumer as a standalone add-on to the ID check,
                         without requiring a full Source of Funds flow.
            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.v1alpha2.Subject].
                familyName:
                    type: string
                    description: The family name of the [Subject][thirdfort.client.v1alpha2.Subject].
                phoneNumber:
                    type: string
                    description: |-
                        The phone number of the [Subject][thirdfort.client.v1alpha2.Subject].
                         Must be in E.164 format (e.g., +447700900123).
                email:
                    type: string
                    description: The email address of the [Subject][thirdfort.client.v1alpha2.Subject].
            description: Check [Subject][thirdfort.client.v1alpha2.Subject] data provided by the client when creating the [Check][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.IndividualAddressVerificationDatabaseMatchFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.IndividualAddressVerificationSupportingDocumentFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.IndividualCCJInsolvencyFinding`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: |-
                        The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.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.v1alpha2.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.v1alpha2.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.v1alpha2.IndividualVerificationCheckSummary`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the check
                addressVerificationCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/AddressVerificationCheckResult'
                    description: The result of the [AddressVerificationCheckResult][thirdfort.client.checks.type.v1alpha2.AddressVerificationCheckResult].
                screeningCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/ScreeningCheckResult'
                    description: The result of the [ScreeningCheckResult][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.Check] in
                         relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.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
                sourceOfFundsCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsCheckResult'
                    description: The result of the [SourceOfFundsCheckResult][thirdfort.client.checks.type.v1alpha2.SourceOfFundsCheckResult].
                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.
                bankingDataCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/BankingDataCheckResult'
                    description: |-
                        The result of the banking information check.
                         Only populated when require_banking_data is set on the check params.
            description: |-
                The summary of the results of an IdentityVerificationCheck.
                 This is intended to be added as payload for a [CheckSummary][thirdfort.client.v1alpha2.CheckSummary]
        IndividualVerificationCheckSummary_ProvidedSubjectData:
            title: IndividualVerificationCheckSummary_ProvidedSubjectData
            type: object
            properties:
                givenName:
                    type: string
                    description: |-
                        The given name of the [Subject][thirdfort.client.v1alpha2.Subject].
                         In the UK, this is also known as the "first name".
                otherNames:
                    type: string
                    description: |-
                        The other names of the [Subject][thirdfort.client.v1alpha2.Subject].
                         In the UK, this is also known as the "middle names".
                familyName:
                    type: string
                    description: |-
                        The family name of the [Subject][thirdfort.client.v1alpha2.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.v1alpha2.Subject].
                address:
                    allOf:
                        - $ref: '#/components/schemas/Address'
                    description: The residential address of the [Subject][thirdfort.client.v1alpha2.Subject].
                identityImages:
                    type: array
                    items:
                        $ref: '#/components/schemas/IndividualVerificationCheckSummary_ProvidedSubjectData_IdentityImage'
                    description: The images of the [Subject][thirdfort.client.v1alpha2.Subject] that were provided as evidence for the [Check][thirdfort.client.checks.type.v1alpha2.Check].
            description: |-
                A summarization of data that was provided by the completer of the [Check][thirdfort.client.checks.type.v1alpha2.Check] in
                 relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.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.v1alpha2.Subject] that was provided as evidence for the [Check][thirdfort.client.checks.type.v1alpha2.Check].
                 This can be both images taken of the [Subject][thirdfort.client.v1alpha2.Subject] whilst completing the [Check][thirdfort.client.checks.type.v1alpha2.Check]
                 or can also be ones retrieved from their identity document(s).
        ListBrandsResponse:
            title: ListBrandsResponse
            type: object
            properties:
                brands:
                    type: array
                    items:
                        $ref: '#/components/schemas/Brand'
                    description: 'The list of Brands.'
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in ListBrandsRequest.page_token to retrieve the next page of results.
        ListCheckSummaryRevisionsResponse:
            title: ListCheckSummaryRevisionsResponse
            type: object
            properties:
                checkSummaryRevisions:
                    type: array
                    items:
                        $ref: '#/components/schemas/CheckSummaryRevision'
                    description: The list of check summaries.
                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.ListCheckSummaryRevisions.
        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.
        ListConsumerTasksResponse:
            title: ListConsumerTasksResponse
            type: object
            properties:
                tasks:
                    type: array
                    items:
                        $ref: '#/components/schemas/ConsumerTask'
                    description: The list of tasks in the task group for this check.
            description: >-
                Response message for ClientService.ListConsumerTasks.
        ListFeatureFlagOverridesResponse:
            title: ListFeatureFlagOverridesResponse
            type: object
            properties:
                overrides:
                    type: array
                    items:
                        $ref: '#/components/schemas/FeatureFlagOverride'
                    description: The list of overrides for the feature flag.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in ListFeatureFlagOverridesRequest.page_token to retrieve the next page.
            description: >-
                Response message for ClientService.ListFeatureFlagOverrides.
        ListFeatureFlagsResponse:
            title: ListFeatureFlagsResponse
            type: object
            properties:
                featureFlags:
                    type: array
                    items:
                        $ref: '#/components/schemas/FeatureFlag'
                    description: The list of feature flags.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in ListFeatureFlagsRequest.page_token to retrieve the next page.
            description: >-
                Response message for ClientService.ListFeatureFlags.
        ListFindingRevisionsResponse:
            title: ListFindingRevisionsResponse
            type: object
            properties:
                findingRevisions:
                    type: array
                    items:
                        $ref: '#/components/schemas/FindingRevision'
                    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.ListFindingRevisions.
        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.
        ListOrganizationsResponse:
            title: ListOrganizationsResponse
            type: object
            properties:
                organizations:
                    type: array
                    items:
                        $ref: '#/components/schemas/Organization'
                    description: 'The list of Organizations.'
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in ListOrganizationsRequest.page_token to retrieve the next page of results.
            description: >-
                Response message for ClientService.ListOrganizations.
        ListTeamsResponse:
            title: ListTeamsResponse
            type: object
            properties:
                teams:
                    type: array
                    items:
                        $ref: '#/components/schemas/Team'
                    description: 'The list of Teams.'
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in ListTeamsRequest.page_token to retrieve the next page of results.
            description: >-
                Response message for ClientService.ListTeams.
        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

                        - `notification.client.additional_document_uploaded.v1`: A consumer uploaded an additional document

                        - `notification.client.review_task_assigned.v1`: A review task has been assigned to a user

                        - `notification.client.review_completed.v1`: A review task has been completed by a user

                        - `notification.client.review_cancelled.v1`: A review task has been cancelled
                    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:
                    $ref: '#/components/schemas/protobufAny'
            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.
        Organization:
            title: Organization
            type: object
            properties:
                name:
                    type: string
                    description: |-
                        The unique resource name of the organization.
                        Format: `organizations/{organization}`.
                        This field is system-generated and immutable.
                displayName:
                    type: string
                    description: |-
                        Human-readable organization name displayed in user interfaces.
                        This is typically the company or entity name.
                partner:
                    type: string
                    description: >-
                        The resource name of the parent Partner

                        that owns this organization. Partners are external entities that can manage

                        multiple organizations.
                    readOnly: true
                package:
                    $ref: '#/components/schemas/PackageType'
                notes:
                    type: string
                    description: >-
                        Administrative notes about the organization.

                        This field is only populated when using SUMMARY or FULL view in API calls.
                zendeskUrl:
                    type: string
                    description: The Zendesk URL for the organization.
                salesforceUrl:
                    type: string
                    description: The Salesforce URL for the organization.
                featureSettings:
                    type: array
                    items:
                        $ref: '#/components/schemas/Feature'
                    description: >-
                        The list of Feature for this Organization.
                    readOnly: true
                featureSetSettings:
                    type: array
                    items:
                        $ref: '#/components/schemas/FeatureSet'
                    description: >-
                        The list of FeatureSet for this Organization.
                    readOnly: true
                type:
                    $ref: '#/components/schemas/OrganizationType'
                state:
                    $ref: '#/components/schemas/OrganizationState'
                userCount:
                    type: integer
                    format: int32
                    description: >-
                        Count of Users within this organization.

                        This field is only populated when using SUMMARY or FULL view in API calls.

                        See OrganizationView enum for details on view-based field inclusion.
                    readOnly: true
                teamCount:
                    type: integer
                    format: int32
                    description: >-
                        Count of Teams within this organization.

                        This field is only populated when using SUMMARY or FULL view in API calls.

                        See OrganizationView enum for details on view-based field inclusion.
                    readOnly: true
                brandCount:
                    type: integer
                    format: int32
                    description: >-
                        Count of Brands within this organization.

                        This field is only populated when using SUMMARY or FULL view in API calls.

                        See OrganizationView enum for details on view-based field inclusion.
                    readOnly: true
                roleBindings:
                    type: array
                    items:
                        $ref: '#/components/schemas/RoleBinding'
                    description: >-
                        List of RoleBindings for this Organization

                        if requested.
                    readOnly: true
                stateReason:
                    $ref: '#/components/schemas/OrganizationStateReason'
            description: >-
                An Organization is the top-level

                entity in the system and represents a company or other organizational entity

                that uses Thirdfort's compliance services. Organizations contain teams, users,

                and brands, and serve as the primary boundary for access control and billing.
            required:
                - displayName
        OrganizationState:
            title: OrganizationState
            type: string
            enum:
                - STATE_UNSPECIFIED
                - ACTIVE
                - INACTIVE
            default: STATE_UNSPECIFIED
            description: >-
                The operational state of the organization.


                 - STATE_UNSPECIFIED: Default value. This value is unused.
                 - ACTIVE: The organization is active and can perform all operations.
                Users can create checks, access resources, and perform all normal functions.

                 - INACTIVE: The organization has been deactivated it and its users have no access.
        OrganizationStateReason:
            type: string
            enum:
                - STATE_REASON_UNSPECIFIED
                - TRIAL
                - TRIAL_ENDED
                - CHURNED
                - DELINQUENT_PAYMENT
            default: STATE_REASON_UNSPECIFIED
            description: |-
                The specific reason for the current state of the organization.

                 - STATE_REASON_UNSPECIFIED: Default value. Allowed only when State is ACTIVE
                 - TRIAL: The organization is in a trial period. Allowed only when State is ACTIVE
                 - TRIAL_ENDED: The organization's trial period has ended. Allowed only when State is INACTIVE
                 - CHURNED: The organization has churned and is no longer a client. Allowed only when State is INACTIVE
                 - DELINQUENT_PAYMENT: The organization has a delinquent payment. Allowed only when State is INACTIVE
        OrganizationType:
            title: OrganizationType
            type: string
            enum:
                - TYPE_UNSPECIFIED
                - DIRECT
                - INTEGRATION
                - PLATFORM_PARTNER
                - RESELLER
            default: TYPE_UNSPECIFIED
            description: >-
                The type of the organization represents the way they consume Thirdfort services.


                 - DIRECT: This type of organization has a direct commercial relationship with Thirdfort and uses
                Thirdfort products directly via the portal.

                 - INTEGRATION: This type of organization has a direct commercial relationship with Thirdfort and uses
                Thirdfort products via an API integration with their own system.

                 - PLATFORM_PARTNER: This type of organization has a direct commercial relationship with Thirdfort, but uses
                Thirdfort products via a platform partner.

                 - RESELLER: This type of organization has a commercial relationship with a reseller who manages support and billing.
        OrganizationView:
            title: OrganizationView
            type: string
            enum:
                - ORGANIZATION_VIEW_UNSPECIFIED
                - ORGANIZATION_VIEW_BASIC
                - ORGANIZATION_VIEW_SUMMARY
                - ORGANIZATION_VIEW_FULL
            default: ORGANIZATION_VIEW_UNSPECIFIED
            description: >-
                View options for Organization resources following Google AIP-157 View Enumeration pattern.

                This enum replaces individual boolean include parameters like `include_user_count`,

                `include_team_count`, `include_brand_count`, and `include_role_bindings`.


                 - ORGANIZATION_VIEW_UNSPECIFIED: Default value. When used, defaults to BASIC view.
                This ensures backward compatibility for clients not specifying a view.

                 - ORGANIZATION_VIEW_BASIC: Basic view includes core organization information without expensive computations.
                This view provides essential organization data needed for most operations while

                avoiding performance overhead from count calculations and related resource queries.


                Includes:

                - name: The unique resource identifier

                - display_name: Human-readable organization name

                - partner: Parent partner resource (when available)

                - package: Subscription package type

                - notes: Administrative notes

                - zendesk_url: Support system URL

                - salesforce_url: CRM system URL

                - type: Organization type (DIRECT, INTEGRATION, etc.)

                - state: Current operational state (ACTIVE, INACTIVE)

                - state_reason: Specific reason for current state

                 - ORGANIZATION_VIEW_SUMMARY: Summary view includes basic information plus count data.
                This view is optimized for organization listing interfaces where counts

                are needed for display but detailed related resources are not required.


                Includes:

                - All BASIC fields

                - user_count: Number of users within this organization

                - team_count: Number of teams within this organization

                - brand_count: Number of brands within this organization

                 - ORGANIZATION_VIEW_FULL: Full view includes all available organization information including related resources.
                This view should be used when complete organization context is required, such as

                for detailed organization management operations or comprehensive administration.


                Includes:

                - All SUMMARY fields

                - role_bindings: Complete list of role assignments and permissions

                - feature_settings: Individual feature configurations

                - feature_set_settings: Feature set configurations
        OtherIncomeDetails:
            title: OtherIncomeDetails
            type: object
            properties:
                incomeType:
                    type: string
                    enum:
                        - OTHER_INCOME_TYPE_UNSPECIFIED
                        - OTHER_INCOME_TYPE_GOVERNMENT_BENEFITS
                        - OTHER_INCOME_TYPE_SECONDARY_INCOME
                        - OTHER_INCOME_TYPE_INVESTMENTS
                        - OTHER_INCOME_TYPE_DIRECTORS_LOANS
                        - OTHER_INCOME_TYPE_RENT
                        - OTHER_INCOME_TYPE_PENSION
                        - OTHER_INCOME_TYPE_FREELANCE
                        - OTHER_INCOME_TYPE_CHILD_SUPPORT
                        - OTHER_INCOME_TYPE_OTHER
                description:
                    type: string
                income:
                    $ref: '#/components/schemas/Money'
                paymentFrequency:
                    type: string
                    enum:
                        - PAYMENT_FREQUENCY_UNSPECIFIED
                        - PAYMENT_FREQUENCY_WEEKLY
                        - PAYMENT_FREQUENCY_FORTNIGHTLY
                        - PAYMENT_FREQUENCY_MONTHLY
                        - PAYMENT_FREQUENCY_QUARTERLY
                        - PAYMENT_FREQUENCY_ANNUALLY
                        - PAYMENT_FREQUENCY_OTHER
                        - PAYMENT_FREQUENCY_NOT_RECEIVING
                paymentDescription:
                    type: string
                countryCode:
                    type: string
                bankAccountId:
                    type: string
            description: Other income-specific details
        OverseasFundsDetails:
            title: OverseasFundsDetails
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                countryCode:
                    type: string
            description: Details for alerts related to overseas funds.
        PackageType:
            title: PackageType
            type: string
            enum:
                - PACKAGE_UNSPECIFIED
                - PROPERTY_ESSENTIALS
                - PROPERTY_FLOW
                - PROPERTY_ENTERPRISE
                - LEGAL_ESSENTIALS
                - LEGAL_COMPLIANCE
                - LEGAL_ENTERPRISE
                - ACCOUNTING_ESSENTIALS
                - ACCOUNTING_RISK
                - ACCOUNTING_ENTERPRISE
            default: PACKAGE_UNSPECIFIED
            description: Available package types.
        PaymentDetails:
            title: PaymentDetails
            type: object
            properties:
                frequency:
                    type: string
                    enum:
                        - PAYMENT_FREQUENCY_UNSPECIFIED
                        - PAYMENT_FREQUENCY_WEEKLY
                        - PAYMENT_FREQUENCY_FORTNIGHTLY
                        - PAYMENT_FREQUENCY_MONTHLY
                        - PAYMENT_FREQUENCY_QUARTERLY
                        - PAYMENT_FREQUENCY_ANNUALLY
                        - PAYMENT_FREQUENCY_OTHER
                        - PAYMENT_FREQUENCY_NOT_RECEIVING
                account:
                    type: string
                    description: 'Deprecated: Use bank_account instead.'
                reference:
                    type: string
                bankAccount:
                    allOf:
                        - $ref: '#/components/schemas/BankAccount'
                    description: The bank account associated with this payment.
            description: Payment details for employment (moved from consumer package)
        PaymentHistory:
            title: PaymentHistory
            type: object
            properties:
                historyStatus:
                    type: string
                    enum:
                        - PAYMENT_HISTORY_STATUS_UNSPECIFIED
                        - PAYMENT_HISTORY_STATUS_MATCHED
                        - PAYMENT_HISTORY_STATUS_NOT_MATCHED
                        - PAYMENT_HISTORY_STATUS_UPLOADED_DOC
                        - PAYMENT_HISTORY_STATUS_NOT_UPLOADED_DOC
                        - PAYMENT_HISTORY_STATUS_PENDING
                transactions:
                    type: array
                    items:
                        $ref: '#/components/schemas/PaymentTransaction'
            description: Payment history containing multiple transactions (moved from consumer package)
        PaymentTransaction:
            title: PaymentTransaction
            type: object
            properties:
                amount:
                    $ref: '#/components/schemas/Money'
                date:
                    $ref: '#/components/schemas/typeDate'
                merchantName:
                    type: string
                description:
                    type: string
            description: Individual payment transaction (moved from consumer package)
        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.v1alpha2.Subject].
                         In the UK, this is also known as the "first name".
                otherNames:
                    type: string
                    description: |-
                        The other names of the [Subject][thirdfort.client.v1alpha2.Subject].
                         In the UK, this is also known as the "middle names".
                familyName:
                    type: string
                    description: |-
                        The family name of the [Subject][thirdfort.client.v1alpha2.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.v1alpha2.Subject].
                address:
                    allOf:
                        - $ref: '#/components/schemas/Address'
                    description: The residential address of the [Subject][thirdfort.client.v1alpha2.Subject].
                dateOfBirth:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: The date of birth of the [Subject][thirdfort.client.v1alpha2.Subject].
            description: |-
                A summarization of data that was provided by the initiator of the [Check][thirdfort.client.checks.type.v1alpha2.Check] in
                 relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.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).
        ReviewFindingRequest:
            title: ReviewFindingRequest
            type: object
            properties:
                name:
                    type: string
                    description: >-
                        Required. The name of the finding to review.

                        Format: `organizations/{organization}/teams/{team}/checks/{check}/findings/{finding}`.
                state:
                    $ref: '#/components/schemas/FindingState'
                review:
                    $ref: '#/components/schemas/FindingReview'
            description: >-
                Request message for ClientService.ReviewFinding.
            required:
                - name
                - state
                - review
        ReviewFindingResponse:
            title: ReviewFindingResponse
            type: object
            properties:
                finding:
                    $ref: '#/components/schemas/Finding'
                review:
                    $ref: '#/components/schemas/FindingReview'
            description: >-
                Response message for ClientService.ReviewFinding.
            required:
                - finding
                - review
        RoleBinding:
            title: RoleBinding
            type: object
            properties:
                principal:
                    type: string
                    description: >-
                        The name of the principal this role binding applies to, in the canonical form for its type e.g. organizations/foo/users/bar.

                        Currently the only valid type is User.
                role:
                    $ref: '#/components/schemas/RoleBindingRole'
                resource:
                    type: string
                    title: >-
                        The name of the resource this role binding applies to, in the canonical form for its type e.g. organizations/foo/teams/baz.

                        Valid types are: Team, Organization,

                        Partner, or the special value "root"
            description: >-
                A RoleBinding is a mapping from a

                Role to a principal for a given resource.
            required:
                - principal
                - role
                - resource
        RoleBindingRole:
            type: string
            enum:
                - ROLE_UNSPECIFIED
                - role_global_admin
                - role_organization_admin
                - role_team_admin
                - role_team_creator
                - role_team_viewer
                - role_team_approver
                - role_team_manual_task_analyst
                - role_ai_chat_usage
                - role_partner_integration
                - role_organization_integration
                - role_complyadvantagesetting_admin
                - role_screening_configuration_admin
                - role_support
                - role_tech
                - role_global_viewer
                - role_global_role_admin
                - role_global_monitoring_admin
                - role_organization_monitoring_viewer
                - role_team_review_admin
                - role_team_review_initiator
                - role_team_reviewer
                - role_team_manual_task_admin
            default: ROLE_UNSPECIFIED
            description: Role defines the permissions that can be assigned via a RoleBinding.
            title: Role
        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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.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.v1alpha2.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.
        SearchCompaniesRequest:
            title: SearchCompaniesRequest
            type: object
            properties:
                jurisdiction:
                    type: string
                    description: |-
                        Required. The jurisdiction (country) to search in.
                        Must be a valid ISO 3166-1 alpha-2 country code (e.g., "GB", "US").
                name:
                    type: string
                    description: The company name to search for.
                registrationNumber:
                    type: string
                    description: The company registration number to search for.
                pageSize:
                    type: integer
                    format: int32
                    description: |-
                        Optional. The maximum number of companies to return.
                        If not specified, a default value of 10 will be used.
                        The maximum value is 100; values above 100 will be coerced to 100.
                pageToken:
                    type: string
                    description: >-
                        Optional. A page token, received from a previous `SearchCompanies` call.

                        Provide this to retrieve the subsequent page.
                state:
                    type: string
                    description: >-
                        Optional. The state or region within the jurisdiction to refine the search.

                        For US, this must be a 2-character state/province code (e.g., "CA", "NY", "ON").
            description: >-
                Request message for ClientService.SearchCompanies.
            required:
                - jurisdiction
        SearchCompaniesResponse:
            title: SearchCompaniesResponse
            type: object
            properties:
                companies:
                    type: array
                    items:
                        $ref: '#/components/schemas/CompanyMatch'
                    description: The list of matching companies.
                nextPageToken:
                    type: string
                    description: >-
                        A token to retrieve the next page of results.

                        Pass this value in the page_token field in the subsequent call to `SearchCompanies`.

                        If this field is omitted, there are no subsequent pages.
            description: >-
                Response message for ClientService.SearchCompanies.
        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.v1alpha2.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.
        SourceOfFundsAlertsSubCheckResult:
            title: SourceOfFundsAlertsSubCheckResult
            type: object
            properties:
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         containing [SourceOfFundsAlertFinding][thirdfort.client.checks.type.v1alpha2.SourceOfFundsAlertFinding] payloads
                         representing alerts triggered for this check.
                         Note: These are Finding names, not FindingRevision names.
            description: SourceOfFundsAlertsSubCheckResult contains a reference to all the alert findings generated.
        SourceOfFundsBankingSubCheckResult:
            title: SourceOfFundsBankingSubCheckResult
            type: object
            properties:
                accounts:
                    type: array
                    items:
                        $ref: '#/components/schemas/BankAccount'
        SourceOfFundsCheckResult:
            title: SourceOfFundsCheckResult
            type: object
            properties:
                displayName:
                    type: string
                    description: 'A human readable name for the SourceOfFundsCheckResult (e.g: Source of Funds).'
                description:
                    type: string
                    description: 'A human readable description of the SourceOfFundsCheckResult. (e.g: "Awaiting client" or "Questionnaire complete").'
                recommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The recommendation for this SourceOfFundsCheckResult
                pdfReportUrl:
                    type: string
                    description: Optional. The URL to download the PDF report for the check result from.
                incomeSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsIncomeSubCheckResult'
                    description: Income sub check result for the SoF Income tab
                bankingSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsBankingSubCheckResult'
                    description: Banking sub check result for the SoF Banking tab
                transactionDetailsSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsTransactionDetailsSubCheckResult'
                    description: Transaction details sub check result for the SoF Overview tab
                sourcesSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsSourcesSubCheckResult'
                    description: Sources sub check result for the SoF Source breakdown tab
                copurchasersSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsCopurchasersSubCheckResult'
                    description: Currently unsurfaced
                giftorsSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsGiftorsSubCheckResult'
                    description: Currently unsurfaced
                alertsSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsAlertsSubCheckResult'
                    description: Alerts sub check result for the SoF Alerts tab
                evidenceSubCheckResult:
                    $ref: '#/components/schemas/SourceOfFundsEvidenceSubCheckResult'
                giftorPersonaSubCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsGiftorPersonaSubCheckResult'
                    description: |-
                        Giftor persona sub check result - contains data when the subject is a giftor
                         (as opposed to giftors_sub_check_result which contains info about people who gave gifts to the subject)
        SourceOfFundsCheckSummary:
            title: SourceOfFundsCheckSummary
            type: object
            properties:
                '@type':
                    type: string
                    description: Type URL identifying this message type. Must be `type.googleapis.com/thirdfort.client.checks.type.v1alpha2.SourceOfFundsCheckSummary`.
                overallRecommendation:
                    allOf:
                        - $ref: '#/components/schemas/ComplianceRecommendation'
                    description: The overall [ComplianceRecommendation][thirdfort.client.checks.type.v1alpha2.ComplianceRecommendation] for the check.
                sourceOfFundsCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsCheckResult'
                    description: The result of the [SourceOfFundsCheckResult][thirdfort.client.checks.type.v1alpha2.SourceOfFundsCheckResult].
                providedSubjectData:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsCheckSummary_ProvidedSubjectData'
                    description: |-
                        A summarization of the data that was provided by the completer of the [Check][thirdfort.client.checks.type.v1alpha2.Check] in
                         relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.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.
                addressVerificationCheckResult:
                    allOf:
                        - $ref: '#/components/schemas/AddressVerificationCheckResult'
                    description: |-
                        The result of the [AddressVerificationCheckResult][thirdfort.client.checks.type.v1alpha2.AddressVerificationCheckResult].
                         Only populated when require_proof_of_address_document is true.
            description: |-
                The summary of the results of a SourceOfFundsCheck.
                 This is intended to be added as payload for a [CheckSummary][thirdfort.client.v1alpha2.CheckSummary]
        SourceOfFundsCheckSummary_ProvidedSubjectData:
            title: SourceOfFundsCheckSummary_ProvidedSubjectData
            type: object
            properties:
                givenName:
                    type: string
                    description: |-
                        The given name of the [Subject][thirdfort.client.v1alpha2.Subject].
                         In the UK, this is also known as the "first name".
                otherNames:
                    type: string
                    description: |-
                        The other names of the [Subject][thirdfort.client.v1alpha2.Subject].
                         In the UK, this is also known as the "middle names".
                familyName:
                    type: string
                    description: |-
                        The family name of the [Subject][thirdfort.client.v1alpha2.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.v1alpha2.Subject].
            description: |-
                A summarization of data that was provided by the completer of the [Check][thirdfort.client.checks.type.v1alpha2.Check] in
                 relation to the [Subject][thirdfort.client.v1alpha2.Subject] of the [Check][thirdfort.client.checks.type.v1alpha2.Check].
        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.v1alpha2.SourceOfFundsCopurchaserFinding`.
                copurchaser:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsRelatedPerson'
                    description: The copurchaser's details
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.
        SourceOfFundsCopurchasersSubCheckResult:
            title: SourceOfFundsCopurchasersSubCheckResult
            type: object
            properties:
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that contain [SourceOfFundsCopurchaserFinding][thirdfort.client.checks.type.v1alpha2.SourceOfFundsCopurchaserFinding] payloads
                         representing each copurchaser associated with this check.
                         Note: These are Finding names, not FindingRevision names.
        SourceOfFundsEmploymentData:
            title: SourceOfFundsEmploymentData
            type: object
            properties:
                employment:
                    type: array
                    items:
                        $ref: '#/components/schemas/EmploymentData'
            description: Reuse SourceOfFundsEmploymentData structure but with modified EmploymentData
        SourceOfFundsEvidenceSubCheckResult:
            title: SourceOfFundsEvidenceSubCheckResult
            type: object
            properties:
                evidenceFindings:
                    type: array
                    items:
                        $ref: '#/components/schemas/SourceOfFundsEvidenceSubCheckResult_SourceOfFundsEvidenceFinding'
        SourceOfFundsEvidenceSubCheckResult_SourceOfFundsEvidenceFinding:
            title: SourceOfFundsEvidenceSubCheckResult_SourceOfFundsEvidenceFinding
            type: object
            properties:
                evidenceFinding:
                    type: array
                    items:
                        $ref: '#/components/schemas/EvidenceFinding'
                source:
                    type: string
                docType:
                    type: string
                filename:
                    type: string
        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.v1alpha2.SourceOfFundsGiftorFinding`.
                giftor:
                    allOf:
                        - $ref: '#/components/schemas/SourceOfFundsRelatedPerson'
                    description: The giftor's details
            description: |-
                Detailed [Finding][thirdfort.client.v1alpha2.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.
        SourceOfFundsGiftorPersonaSubCheckResult:
            title: SourceOfFundsGiftorPersonaSubCheckResult
            type: object
            properties:
                giftAmount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The total amount of the gift being given
                giftRepayable:
                    type: boolean
                    description: Whether the gift is repayable (i.e., a loan)
                giftSent:
                    type: boolean
                    description: Whether the gift has already been sent to the recipient
                expectedSendDate:
                    allOf:
                        - $ref: '#/components/schemas/typeDate'
                    description: Expected date of sending the gift (if not yet sent)
                recipients:
                    type: array
                    items:
                        $ref: '#/components/schemas/GiftorPersonaRecipient'
                    description: Details of the gift recipient(s)
                deposits:
                    type: array
                    items:
                        $ref: '#/components/schemas/GiftorPersonaDeposit'
                    description: Details of deposits made (if gift has been sent)
            description: |-
                SourceOfFundsGiftorPersonaSubCheckResult contains data specific to the giftor persona flow.
                 This is populated when the subject of the check is a giftor (someone giving a gift),
                 as opposed to SourceOfFundsGiftorsSubCheckResult which contains info about people who gave gifts to the subject.
        SourceOfFundsGiftorsSubCheckResult:
            title: SourceOfFundsGiftorsSubCheckResult
            type: object
            properties:
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         that contain [SourceOfFundsGiftorFinding][thirdfort.client.checks.type.v1alpha2.SourceOfFundsGiftorFinding] payloads
                         representing each giftor associated with this check.
                         Note: These are Finding names, not FindingRevision names.
        SourceOfFundsIncomeSubCheckResult:
            title: SourceOfFundsIncomeSubCheckResult
            type: object
            properties:
                employmentData:
                    $ref: '#/components/schemas/SourceOfFundsEmploymentData'
            description: Finding structure that contains the payment-related data
        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.
        SourceOfFundsSourcesSubCheckResult:
            title: SourceOfFundsSourcesSubCheckResult
            type: object
            properties:
                sources:
                    type: array
                    items:
                        $ref: '#/components/schemas/SourceOfFundsSourcesSubCheckResult_SourceOfFundsSource'
                    description: The list of declared sources of funds for this check.
        SourceOfFundsSourcesSubCheckResult_SourceOfFundsSource:
            title: SourceOfFundsSourcesSubCheckResult_SourceOfFundsSource
            type: object
            properties:
                sourceType:
                    type: string
                    enum:
                        - SOURCE_TYPE_UNSPECIFIED
                        - SOURCE_TYPE_MORTGAGE
                        - SOURCE_TYPE_SAVINGS
                        - SOURCE_TYPE_COPURCHASER_CONTRIBUTION
                        - SOURCE_TYPE_GIFT
                        - SOURCE_TYPE_SALE_OF_PROPERTY
                        - SOURCE_TYPE_SALE_OF_ASSET
                        - SOURCE_TYPE_INHERITANCE
                        - SOURCE_TYPE_DIVORCE
                        - SOURCE_TYPE_HELP_TO_BUY_ISA_LISA
                        - SOURCE_TYPE_CRYPTO
                        - SOURCE_TYPE_OTHER
                    description: The type of this source of funds (e.g., gift, mortgage, savings).
                amount:
                    allOf:
                        - $ref: '#/components/schemas/Money'
                    description: The amount contributed from this source.
                sourceFindings:
                    type: array
                    items:
                        type: string
                    description: |-
                        The [names][thirdfort.client.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         containing details specific to this source type.
                         Note: These are Finding names, not FindingRevision names.
                id:
                    type: string
                    description: A unique identifier for this source within the check.
        SourceOfFundsTransactionDetailsSubCheckResult:
            title: SourceOfFundsTransactionDetailsSubCheckResult
            type: object
            properties:
                transactionAddress:
                    $ref: '#/components/schemas/Address'
                propertyPriceAmount:
                    $ref: '#/components/schemas/Money'
                stampDutyAmount:
                    $ref: '#/components/schemas/Money'
        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
        Team:
            title: Team
            type: object
            properties:
                name:
                    type: string
                displayName:
                    type: string
                    title: Human readable team name
                brand:
                    type: string
                    description: >-
                        The name of the Brand for this Team.
                description:
                    type: string
                    description: >-
                        Human readable description of the Team.
                featureSettings:
                    type: array
                    items:
                        $ref: '#/components/schemas/Feature'
                    description: >-
                        The list of Feature settings for this Team.
                    readOnly: true
                featureSetSettings:
                    type: array
                    items:
                        $ref: '#/components/schemas/FeatureSet'
                    description: >-
                        The list of FeatureSet settings for this Team.
                    readOnly: true
                userCount:
                    type: integer
                    format: int32
                    description: >-
                        Count of Users for this Team

                        if requested.
                    readOnly: true
                roleBindings:
                    type: array
                    items:
                        $ref: '#/components/schemas/RoleBinding'
                    description: >-
                        List of RoleBindings for this Team

                        if requested.
                    readOnly: true
            description: >-
                A Team is a subdivision of an Organization

                that are used to group resources such as Checks.

                Teams can be used to model different departments in an organization.
            required:
                - displayName
                - brand
        TeamView:
            title: TeamView
            type: string
            enum:
                - TEAM_VIEW_UNSPECIFIED
                - TEAM_VIEW_BASIC
                - TEAM_VIEW_SUMMARY
                - TEAM_VIEW_FULL
            default: TEAM_VIEW_UNSPECIFIED
            description: >-
                View options for Team resources following Google AIP-157 View Enumeration pattern.

                This enum replaces individual boolean include parameters like `include_user_count`,

                `include_role_bindings`, `include_features`, and `include_feature_sets`.


                 - TEAM_VIEW_UNSPECIFIED: Default value. When used, defaults to BASIC view.
                This ensures backward compatibility for clients not specifying a view.

                 - TEAM_VIEW_BASIC: Basic view includes core team information without expensive computations.
                This view provides essential team data needed for most operations while

                avoiding performance overhead from count calculations and related resource queries.


                Includes:

                - name: The unique resource identifier

                - display_name: Human-readable team name

                - brand: Associated brand resource name

                - description: Team description text

                 - TEAM_VIEW_SUMMARY: Summary view includes basic information plus count data.
                This view is optimized for team listing interfaces where user counts

                are needed for display but detailed related resources are not required.


                Includes:

                - All BASIC fields

                - user_count: Number of users assigned to this team

                 - TEAM_VIEW_FULL: Full view includes all available team information including related resources.
                This view should be used when complete team context is required, such as

                for detailed team management operations or comprehensive team administration.


                Includes:

                - All SUMMARY fields

                - role_bindings: Complete list of role assignments and permissions

                - feature_settings: Individual feature configurations

                - feature_set_settings: Feature set configurations
        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:
                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.v1alpha2.Finding.name] of the [Findings][thirdfort.client.v1alpha2.Finding]
                         containing [BankingTransactionsFinding][thirdfort.client.checks.type.v1alpha2.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.
        googlelongrunningOperation:
            title: Operation
            type: object
            properties:
                name:
                    type: string
                    description: >-
                        The server-assigned name, which is only unique within the same service that

                        originally returns it. If you use the default HTTP mapping, the

                        `name` should be a resource name ending with `operations/{unique_id}`.
                metadata:
                    $ref: '#/components/schemas/protobufAny'
                done:
                    type: boolean
                    description: >-
                        If the value is `false`, it means the operation is still in progress.

                        If `true`, the operation is completed, and either `error` or `response` is

                        available.
                error:
                    $ref: '#/components/schemas/googlerpcStatus'
                response:
                    $ref: '#/components/schemas/protobufAny'
            description: >-
                Represents a long-running operation that is the result of a network API call.
        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
        typev1alpha2Address:
            type: object
            properties:
                subBuilding:
                    type: string
                    title: >-
                        Optional.

                        A more granular indication of the address within the referenced building.

                        Example: Flat 8, Floor 1
                buildingNumber:
                    type: string
                    description: >-
                        One of building_number or

                        building_name must be provided.
                    title: |-
                        Optional.
                        The street number of the address's building.
                        Example: 8
                buildingName:
                    type: string
                    description: >-
                        One of building_number or

                        building_name must be provided.
                    title: |-
                        Optional.
                        The street name of the address's building.
                        Example: Highroyd
                street:
                    type: string
                    description: >-
                        Must be provided if building_number

                        is set.
                    title: |-
                        Optional.
                        The street of the address.
                        Example: High Street
                subLocality:
                    type: string
                    title: |-
                        Optional.
                        A more granular indication of the address within the referenced
                        locality.
                        This can be a neighbourhood, borough or district.
                        Example: Southwark
                locality:
                    type: string
                    title: |-
                        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
                    title: >-
                        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
                    title: >-
                        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
                    title: |-
                        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.
    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: []
