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

# Execute a workflow with organization details

> Execute a workflow for the supplied organization details. If no matching organization is found for the provided details, a new organization will be created. The request body includes entityID, organizationToken and organization. Only one of these should be provided per request. Providing more than one will result in an error. Additionally you can also specify a serviceName to execute a workflow for a specific service profile of the organization.



## OpenAPI

````yaml /specs/fc-kyb-bundled_generated.yaml post /v2/organizations/workflows/{workflowName}/execute
openapi: 3.0.3
info:
  title: KYB V2 API
  version: '2.0'
  description: >-
    This is the MVP for Phase 1 APIs for native v2 KYB. Currently in
    development, changes to the structure can occur
  contact:
    name: FrankieOne
    url: https://www.frankieone.com/
    email: help@frankieone.com
servers:
  - url: https://api.uat.frankie.one
    description: UAT Environment API Base URL
  - url: https://api.frankie.one
    description: Production API Base URL
security:
  - Api-Key: []
tags:
  - name: Organizations
    description: Api calls related to Organizations
  - name: Organization Workflows
    description: Manage workflows and executions for organizations
  - name: Hosted URL
    description: Api calls related to Hosted URL
  - name: Organization Relationships
    description: Manage relationships for organizations
  - name: Organization Addresses
    description: Manage addresses for organizations
  - name: Organization Custom Attributes
    description: Manage custom attributes for organizations
  - name: Organization Monitoring
    description: Manage AML monitoring for organizations
  - name: Organization Results
    description: Manage results for organizations
paths:
  /v2/organizations/workflows/{workflowName}/execute:
    parameters:
      - $ref: '#/components/parameters/workflowName'
    post:
      tags:
        - Organization Workflows
      summary: Execute a workflow with organization details
      description: >-
        Execute a workflow for the supplied organization details. If no matching
        organization is found for the provided details, a new organization will
        be created. The request body includes entityID, organizationToken and
        organization. Only one of these should be provided per request.
        Providing more than one will result in an error. Additionally you can
        also specify a serviceName to execute a workflow for a specific service
        profile of the organization.
      operationId: executeWorkflow
      parameters:
        - $ref: '#/components/parameters/X-Frankie-CustomerID'
        - $ref: '#/components/parameters/X-Frankie-CustomerChildID'
        - $ref: '#/components/parameters/X-Frankie-Channel'
        - $ref: '#/components/parameters/X-Frankie-Background'
        - $ref: '#/components/parameters/X-Frankie-Username'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Execute-Workflow-Request'
      responses:
        '200':
          description: Execution request completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organizations-Execute-Workflow-Response'
        '202':
          description: >-
            Asynchronous execution request accepted, use workflowExecutionId to
            retrieve results
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Organizations-Execute-Workflow-Response-Async
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid EntityId:
                  value:
                    errorCode: API-0400,
                    errorMsg: 'Multiple Errors: See Issues list'
                    details:
                      - issue: 'entityId in path must be of type uuid: "test"'
                        issueLocation: VALIDATE-entityId
                    requestId: 01HM5XJ7VASZ3EJMB1VQGTBFJ4
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Invalid authentication:
                  value:
                    errorCode: AUTH-0002,
                    errorMsg: Unauthorized
                    details:
                      - issue: Invalid Authentication provided. Access denied.
                        issueLocation: request
                    requestId: 00000000S6MNG7624K2TDXT1E3
                No Api-Key:
                  value:
                    errorCode: AUTH-0401
                    errorMsg: Unauthorized
                    details:
                      - issue: No api key provided. Access denied.
                        issueLocation: request
                    requestId: 00000001S6MNG7624K2TDXT1E3
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Forbidden:
                  value:
                    errorCode: ENT-1010,
                    errorMsg: Forbidden
                    details:
                      - issue: entityId
                        issueLocation: >-
                          Cannot retrieve entityId
                          (027d1e3d-95af-f19a-313a-3b869da9ce10)
                    requestId: 01HM5EM2QNNSC9K0PX9VC06HX3
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Api-Key: []
        - jwt:
            - kyb:api
components:
  parameters:
    workflowName:
      name: workflowName
      in: path
      schema:
        type: string
      description: The unique name of the workflow
      required: true
    X-Frankie-CustomerID:
      name: X-Frankie-CustomerID
      in: header
      required: true
      schema:
        type: string
        example: 12345678-1234-1234-1234-123456789012
      description: Your Customer ID provided by FrankieOne
    X-Frankie-CustomerChildID:
      name: X-Frankie-CustomerChildID
      in: header
      required: false
      schema:
        type: string
        example: 87654321-4321-4321-4321-210987654321
      description: Your Customer Child ID provided by FrankieOne
    X-Frankie-Channel:
      name: X-Frankie-Channel
      in: header
      required: false
      schema:
        type: string
      description: >-
        Open string that can be used to define the "channel" the request comes
        in from. It can potentially be used in routing and risk calculations
        upon request. Default values that can be used are:  api portal smartui
        Any alphanumeric string is supported though. Anything over 64 characters
        will be truncated.
    X-Frankie-Background:
      name: X-Frankie-Background
      schema:
        type: integer
        enum:
          - 0
          - 1
      description: >
        If this header parameter is supplied and set to 1, then the request will
        not wait for the process to finish,

        and will return a 202 if there are no obvious errors in the input. The
        request will then run in the background

        and send a notification back to the customer. See our callback API for
        details on this.
      in: header
      required: false
    X-Frankie-Username:
      name: X-Frankie-Username
      in: header
      description: Username provided by API caller
      required: false
      schema:
        type: string
        example: fred.flintstone@frankieone.com
  schemas:
    Execute-Workflow-Request:
      type: object
      description: Contains the criteria used to invoke workflow for organization.
      properties:
        entityId:
          type: string
        organizationToken:
          $ref: '#/components/schemas/Organization-Token'
        organization:
          $ref: '#/components/schemas/Execute-Workflow-Organization'
        serviceName:
          type: string
          description: >-
            Name of the service profile of the organization against which the
            workflow is to be executed. If no value is passed, default
            configured service name will be used.
        comment:
          $ref: '#/components/schemas/Comment'
    Organizations-Execute-Workflow-Response:
      type: object
      properties:
        workflowResult:
          $ref: '#/components/schemas/Workflow-Result'
        serviceProfile:
          $ref: '#/components/schemas/Service-Profile'
        organization:
          $ref: '#/components/schemas/Organization'
          description: >-
            Organization details at the current time. This could be different
            from the original organization details at the time of workflow
            execution.
        requestId:
          $ref: '#/components/schemas/Request-ID'
    Organizations-Execute-Workflow-Response-Async:
      type: object
      properties:
        requestId:
          $ref: '#/components/schemas/Request-ID'
        workflowExecutionId:
          $ref: '#/components/schemas/Workflow-Execution-ID'
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        serviceName:
          type: string
          description: >-
            name of the service profile of the organization against which the
            workflow is executed
        serviceProfileId:
          type: string
          description: >-
            id of the service profile of the organization against which the
            workflow is executed
    Error:
      type: object
      x-examples:
        '400':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0400
          errorMsg: Parsing credentials from "<invalid>" failed, because invalid.
          httpStatusCode: 400
        '401':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0401
          errorMsg: Unauthenticated due to invalid credentials.
          httpStatusCode: 401
        '409':
          requestId: 0123456789ABCDEFGHIJKLMNOP
          errorCode: API-0409
          errorMsg: Conflict.
          httpStatusCode: 409
      allOf:
        - $ref: '#/components/schemas/Error-Base'
        - type: object
          properties:
            requestId:
              $ref: '#/components/schemas/Request-ID'
    Organization-Token:
      type: string
      description: >-
        This is the unique Frankie token that contains all the information
        required from lookup that are needed in succeeding steps
    Execute-Workflow-Organization:
      type: object
      description: >-
        Defines the fields under organization object on which workflow is
        executed. The created/updated organization will then be updated with the
        details provided.
      properties:
        details:
          $ref: '#/components/schemas/Execute-Workflow-Organization-Details'
        externalReferences:
          type: array
          items:
            $ref: '#/components/schemas/External-Reference-Information'
    Comment:
      type: object
      properties:
        commentId:
          type: string
          description: Unique identifier for the comment
          format: ulid
          example: 01K3G4CCQ3DY3B1413S19M9QW1
          readOnly: true
        text:
          type: string
          description: The text content of the comment.
          example: Update after speaking to customer over the phone directly.
        entityId:
          $ref: '#/components/schemas/Entity-ID-Writeable'
        entityType:
          $ref: '#/components/schemas/Entity-Type-Writeable'
    Workflow-Result:
      type: object
      x-oapi-codegen-extra-tags:
        audit: keep
      allOf:
        - $ref: '#/components/schemas/Workflow-Execution-Summary'
        - $ref: '#/components/schemas/Workflow-Execution-Result'
    Service-Profile:
      allOf:
        - $ref: '#/components/schemas/Service-Profile-Base'
        - type: object
          properties:
            state:
              $ref: '#/components/schemas/Service-Profile-State'
    Organization:
      type: object
      description: This is the complete Organization Model
      allOf:
        - $ref: '#/components/schemas/Organization-Summary'
        - type: object
          properties:
            linkedIndividuals:
              type: object
              description: >-
                The additional details of the individuals that is linked to the
                parent entity
              additionalProperties:
                $ref: '#/components/schemas/Organization-Linked-Individual'
            linkedOrganizations:
              type: object
              description: >-
                The additional details of the organization that is linked to the
                parent entity
              additionalProperties:
                $ref: '#/components/schemas/Organization-Summary'
            linkedUnknownEntities:
              type: object
              description: >-
                The additional details of an entity that is linked to the parent
                entity
              additionalProperties:
                $ref: '#/components/schemas/Unknown-Entity'
            blockingEntities:
              type: object
              description: >-
                The details of the entities that are linked to the parent entity
                that have resulted in not getting a complete picture of the
                focus entity
              additionalProperties:
                $ref: '#/components/schemas/Blocking-Entity'
            ultimateBeneficialOwners:
              description: >-
                UBO stands for "Ultimate Beneficial Owner." UBO(s) are the
                ultimate natural person(s) who ultimately owns or controls a
                company. It provides information about the individuals who have
                a significant level of control or ownership in a company, either
                directly or indirectly
              type: array
              items:
                $ref: '#/components/schemas/UBO'
            otherOwners:
              description: The other owners of the company, who aren't necessarily UBO's
              type: array
              items:
                $ref: '#/components/schemas/Other-Owner'
            informationSources:
              type: object
              description: Map of Information sources which are used across the response
              additionalProperties:
                $ref: '#/components/schemas/Information-Source'
            ownershipPolicy:
              $ref: '#/components/schemas/Ownership-Policy'
    Request-ID:
      type: string
      example: 01HN9XHZN6MGXM9JXG50K59Q85
      description: The unique request identifier for the API call made.
    Workflow-Execution-ID:
      type: string
      description: >
        The execution ID (formerly known as Check ID) representing a single
        workflow execution instance.
      example: e39b46ca-514b-4730-8caf-7ab423831ff1
      readOnly: true
    Entity-ID:
      type: string
      description: >-
        Entities are assigned a FrankieOne auto-generated UUID to ensure global
        uniqueness, represented as entityId. The entityId allows for precise
        modification when required.

        To modify an entity, set the entityId of the entity you wish to update
        in an update request.
      example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
      readOnly: true
      x-oapi-codegen-extra-tags:
        audit: keep
    Error-Base:
      type: object
      properties:
        errorCode:
          type: string
        errorMsg:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
    Execute-Workflow-Organization-Details:
      type: object
      properties:
        registrationDetails:
          type: array
          items:
            $ref: '#/components/schemas/Execute-Workflow-Organization-Registration'
    External-Reference-Information:
      type: object
      x-examples:
        Customer Reference:
          name: CUSTOMER-REFERENCE
          value: CUST-00001342
          description: This is the customer id in the core banking system
      required:
        - name
        - value
      description: >-
        Used to store references and identifying information about an entity
        that is external to FrankieOne. If you wish to filter or search on
        customer information relevant to your business, that information should
        be added as an external reference.
      properties:
        name:
          type: string
          description: The name of the external reference.
          example: CUSTOMER-REFERENCE
          x-oapi-codegen-extra-tags:
            audit: keep
        value:
          type: string
          description: The value of the external reference.
          example: CUST-00001342
          x-oapi-codegen-extra-tags:
            audit: keep
        description:
          type: string
          description: >-
            A summary of what this external reference is and what it is used
            for.
          example: This is the customer ID in the core banking system.
          x-oapi-codegen-extra-tags:
            audit: keep
    Entity-ID-Writeable:
      type: string
      description: >-
        Entities are assigned a FrankieOne auto-generated UUID to ensure global
        uniqueness, represented as entityId. The entityId allows for precise
        modification when required.

        To modify an entity, set the entityId of the entity you wish to update
        in an update request.
      example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    Entity-Type-Writeable:
      type: string
      enum:
        - INDIVIDUAL
        - ORGANIZATION
        - UNKNOWN
      description: >-
        The type of entity within Frankie. This can be "INDIVIDUAL",
        "ORGANIZATION", or "UNKNOWN".
    Workflow-Execution-Summary:
      type: object
      description: >
        Summary of the workflow execution.


        ### Using and interpreting the status field


        The result of the workflow is represented in the **status** field. Users
        can manually override this status with a different value to change the
        outcome of the workflow.

        When the **status** field is overridden, the **statusOverrideRequestId**
        field is populated with the request ID of the override request.

        If the **statusOverrideRequestId** field is present and non-empty, it
        indicates that the status has been manually changed.

          1. Initial State:
             - When a workflow completes, its result is set in the **status** field.
          2. Status Override:
             - Users may override the **status** field with a different value (e.g., change FAIL to PASS).
          3. Identifying Overrides:
             - To determine if a status has been overridden, check for the presence of the **statusOverrideRequestId** field.
             - If present, it indicates that the status has been manually changed.
          4. Additional Override Information:
             - **statusOverrideBy**: Identifies the user who performed the override (may not always be present).
             - **statusOverrideAt**: Timestamp of when the override occurred.
          5. Interpretation:
             - If **statusOverrideRequestId** is empty or absent, no override has occurred.
             - If **statusOverrideRequestId** is present, then a manual override has occurred.
      properties:
        schemaVersion:
          type: integer
          description: Version of the schema used for this workflow execution.
        workflowName:
          type: string
          description: Name of the workflow.
        workflowExecutionId:
          type: string
          description: Unique identifier for the workflow execution.
        workflowExecutionState:
          $ref: '#/components/schemas/Workflow-Execution-StateEnum'
          description: Current state of the workflow execution.
        status:
          $ref: '#/components/schemas/Workflow-Execution-ResultEnum'
          description: Current status/result of the workflow execution.
        statusOverrideAt:
          type: string
          format: date-time
          description: Timestamp when the status override occurred.
        statusOverrideRequestId:
          type: string
          description: Request ID associated with the status override.
        statusOverrideBy:
          type: string
          description: Identifier of the user who performed the status override.
        riskAssessment:
          $ref: '#/components/schemas/Risk-Assessment'
          description: Risk assessment for the workflow execution.
        isManual:
          type: boolean
          description: Indicates if the workflow was executed manually.
        steps:
          $ref: '#/components/schemas/Workflow-Execution-Steps'
          description: Steps executed as part of the workflow.
        startedAt:
          type: string
          format: date-time
          description: The timestamp when the workflow execution started.
        endedAt:
          type: string
          format: date-time
          description: The timestamp when the workflow execution ended.
        issues:
          type: array
          x-oapi-codegen-extra-tags:
            audit: keep
          description: List of issues encountered during the workflow execution.
          items:
            $ref: '#/components/schemas/Workflow-Issue'
        lifecyclePhase:
          $ref: '#/components/schemas/Workflow-LifecyclePhaseEnum'
          description: Current lifecycle phase of the workflow.
        monitoringTypes:
          description: |
            The types of monitoring that subscribe to the workflow.
          type: array
          items:
            $ref: '#/components/schemas/Monitoring-Type'
    Workflow-Execution-Result:
      type: object
      x-oapi-codegen-extra-tags:
        audit: keep
      required:
        - workflowExecutionId
        - workflowId
        - requestId
        - entityId
        - entityType
        - schemaVersion
        - startedAt
        - serviceProfileId
        - workflowName
        - result
        - workflowExecutionState
        - createdAt
      properties:
        workflowExecutionId:
          type: string
          description: Unique identifier for the workflow execution.
        workflowId:
          type: string
          description: Identifier of the workflow definition.
        requestId:
          type: string
          description: Identifier of the request that initiated the workflow.
        entityId:
          type: string
          description: Identifier of the entity being processed.
        entityType:
          $ref: '#/components/schemas/Entity-Type'
          description: Type of the entity being processed.
        schemaVersion:
          type: integer
          description: Version of the schema used for this workflow execution.
        startedAt:
          type: string
          format: date-time
          description: Date and time when the workflow execution started.
        endedAt:
          type: string
          format: date-time
          description: Date and time when the workflow execution ended.
        serviceProfileId:
          type: string
          description: Identifier of the service profile used.
        endWorkflowId:
          type: string
          description: Identifier of the workflow that ended.
        endWorkflowName:
          type: string
          description: Name of the workflow that ended.
        workflowName:
          type: string
          readOnly: true
          description: Name of the workflow.
          x-oapi-codegen-extra-tags:
            audit: keep
        workflowStepResults:
          type: array
          x-oapi-codegen-extra-tags:
            audit: keep
          items:
            $ref: '#/components/schemas/Workflow-Execution-Step-Result'
          description: List of results for each workflow step.
        result:
          $ref: '#/components/schemas/Workflow-Execution-ResultEnum'
          description: Final result of the workflow execution.
        workflowExecutionState:
          $ref: '#/components/schemas/Workflow-Execution-StateEnum'
          description: Current state of the workflow execution.
        workflowExecutionType:
          $ref: '#/components/schemas/Workflow-Execution-TypeEnum'
          description: The type of workflow execution.
        errors:
          type: array
          x-oapi-codegen-extra-tags:
            audit: keep
          items:
            $ref: '#/components/schemas/Workflow-Errors'
          description: List of errors encountered during workflow execution.
        notes:
          $ref: '#/components/schemas/Custom-Attributes'
          description: >-
            Additional notes or custom attributes related to the workflow
            execution.
        createdAt:
          type: string
          format: date-time
          description: Date and time when the workflow execution record was created.
        updatedAt:
          type: string
          format: date-time
          description: Date and time when the workflow execution record was last updated.
        updatedBy:
          type: string
          description: >-
            Identifier of the user or system that last updated the workflow
            execution record.
    Service-Profile-Base:
      type: object
      properties:
        serviceProfileId:
          type: string
          description: The unique identifier for the service profile.
          example: 55fc5d54-46f7-49c8-bf78-e07ec79c42fd
          readOnly: true
        latestRiskAssessmentId:
          $ref: '#/components/schemas/Risk-Assessment-ID'
          description: >-
            The ID of the latest risk assessment in the most recent workflow
            with a valid assessment.

            Omitted if no valid risk assessment exists.
        latestWorkflowExecutionId:
          type: string
          description: |-
            The ID of the most recent workflow execution.
            Omitted if no workflows exist.
        entityId:
          type: string
          readOnly: true
        entityName:
          type: string
          readOnly: true
        entityType:
          type: string
          readOnly: true
        schemaVersion:
          type: integer
          description: The version number of the schema.
          example: 2
          readOnly: true
        createdAt:
          type: string
          format: date-time
          description: The UTC date and time when this service profile was created.
          example: '2024-01-15T02:18:11.365Z'
          readOnly: true
        createdRequestId:
          type: string
          description: >-
            The unique ULID identifier of the request that created this service
            profile.
          example: 01HMR2ERSKCYAVXKS1FKSRT2T4
          readOnly: true
        createdBy:
          type: string
          description: The user or client that created this profile.
          example: Ryan Reynolds
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          description: >-
            The UTC date and time when this service profile was last updated, if
            applicable.
          example: '2024-01-15T02:18:11.365Z'
          readOnly: true
        updatedBy:
          type: string
          description: The user or client that last updated this profile.
          example: Ryan Reynolds
          readOnly: true
        updatedRequestId:
          type: string
          description: >-
            The unique ULID identifier of the request that last updated this
            service profile.
          example: 01HMR2ERSKCYAVXKS1FKSRT2T4
          readOnly: true
        assignee:
          type: string
          description: The name of the officer assigned to approve this profile.
          example: Ryan Gosling
        reviewer:
          type: string
          description: The name of the officer assigned to review this profile.
          example: Ryan Trahan
        currentWorkflowId:
          type: string
          readOnly: true
        currentWorkflowName:
          type: string
          description: The name of the current workflow, if applicable.
        workflowSummaries:
          type: array
          items:
            $ref: '#/components/schemas/Workflow-Execution-Summary'
          readOnly: true
        serviceName:
          type: string
          description: The name of the service associated with this profile.
          readOnly: true
        customerReference:
          type: string
          readOnly: true
          description: Customer-specific identifier(s).
        subscriptions:
          type: array
          description: >-
            The list of subscriptions associated with the service profile.

            A subscription determines if the service profile is subscribed to a
            particular ongoing process.
          items:
            $ref: '#/components/schemas/Service-Profile-Subscription'
          readOnly: true
    Service-Profile-State:
      type: string
      description: >-
        Current state of the Service Profile

        - INIT: Initial state when the profile is created.

        - AUTO: Automatically assigned state, typically after initial
        processing.

        - ACTIVE: The profile is active and in use.

        - ARCHIVED: The profile has been archived and is no longer active.

        - BLOCKLISTED: The profile is blocked from further actions.

        - INACTIVE: The profile is inactive, not currently in use.

        - DELETED: The profile has been deleted.

        - DUPLICATE: The profile is a duplicate of another existing profile.
      enum:
        - INIT
        - AUTO
        - ACTIVE
        - ARCHIVED
        - BLOCKLISTED
        - INACTIVE
        - DELETED
        - DUPLICATE
    Organization-Summary:
      allOf:
        - $ref: '#/components/schemas/Entity'
        - type: object
          properties:
            websiteUrls:
              type: array
              items:
                $ref: '#/components/schemas/Website-URL'
            details:
              $ref: '#/components/schemas/Organization-Details'
            shareholders:
              type: array
              description: >-
                The shareholders of a company. It includes details such as the
                names of the shareholders, the number of shares held by each
                shareholder, and their ownership percentages
              items:
                $ref: '#/components/schemas/Organization-Shareholder'
            shareInterests:
              description: >-
                The specific interests or holdings of shareholders in a company.
                It may include information about different classes or types of
                shares held by shareholders, such as ordinary shares, preference
                shares, or options
              type: array
              items:
                $ref: '#/components/schemas/Organization-Share-Interest'
            officials:
              type: array
              description: >-
                The individuals who hold official positions or roles within a
                company, such as directors or company secretaries. It includes
                details such as their names, positions, appointment dates, and
                other relevant information
              items:
                $ref: '#/components/schemas/Organization-Official'
            shareCapital:
              $ref: '#/components/schemas/Organization-Share-Capital'
              description: >-
                The total value of shares issued by the company to its holders.
                It typically includes both the nominal value of the shares as
                well as any premium paid by the shareholders.
            indicators:
              description: >-
                The indicators that contribute to the risk of an organization or
                other parameters that needs to be looked at
              type: array
              items:
                $ref: '#/components/schemas/Indicator'
            jurisdictionalInformation:
              $ref: '#/components/schemas/Jurisdictional-Information'
            updatedAt:
              type: string
              format: date-time
              description: The date and time when the organization is last updated.
    Organization-Linked-Individual:
      type: object
      allOf:
        - $ref: '#/components/schemas/Base-Individual'
    Unknown-Entity:
      type: object
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        name:
          type: string
          description: The name of the organization or the individual entity
        addresses:
          type: array
          description: Collection of address objects
          items:
            $ref: '#/components/schemas/Address'
        country:
          type: string
          description: The nationality or country of the entity
        shareholders:
          type: array
          description: >-
            The shareholders of a company. It includes details such as the names
            of the shareholders, the number of shares held by each shareholder,
            and their ownership percentages
          items:
            $ref: '#/components/schemas/Organization-Shareholder'
        shareInterests:
          description: >-
            The specific interests or holdings of shareholders in a company. It
            may include information about different classes or types of shares
            held by shareholders, such as ordinary shares, preference shares, or
            options
          type: array
          items:
            $ref: '#/components/schemas/Organization-Share-Interest'
        officials:
          type: array
          description: >-
            The individuals who hold official positions or roles within a
            company, such as directors or company secretaries. It includes
            details such as their names, positions, appointment dates, and other
            relevant information
          items:
            $ref: '#/components/schemas/Organization-Official'
        shareCapital:
          $ref: '#/components/schemas/Organization-Share-Capital'
          description: >-
            The total value of shares issued by the company to its holders. It
            typically includes both the nominal value of the shares as well as
            any premium paid by the shareholders.
        indicators:
          description: >-
            The indicators that contribute to the risk of an organization or
            other parameters that needs to be looked at
          type: array
          items:
            $ref: '#/components/schemas/Indicator'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    Blocking-Entity:
      type: object
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
          description: >-
            Details of this organization would be available in the
            linkedOrganizations or linkedIndividuals
        entityType:
          $ref: '#/components/schemas/Entity-Type'
        percentageOwned:
          $ref: '#/components/schemas/Percentage-Owned'
        blockingReasons:
          description: >-
            The reasons why the entity is categorized as blocking the parent
            entity
          type: array
          items:
            $ref: '#/components/schemas/Blocking-Reason'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    UBO:
      description: >-
        UBO stands for "Ultimate Beneficial Owner." UBO(s) are the ultimate
        natural person(s) who ultimately owns or controls a company. It provides
        information about the individuals who have a significant level of
        control or ownership in a company, either directly or indirectly.
      type: object
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        entityType:
          $ref: '#/components/schemas/Entity-Type'
        percentageOwned:
          $ref: '#/components/schemas/Percentage-Owned'
        reasons:
          description: The reason(s) as to why the entity was classified as an UBO
          type: array
          items:
            $ref: '#/components/schemas/Code-Description'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    Other-Owner:
      description: >-
        Owners that do not meet the threshold to be classified as UBOs or
        Blocking Entities
      type: object
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        entityType:
          $ref: '#/components/schemas/Entity-Type'
        percentageOwned:
          $ref: '#/components/schemas/Percentage-Owned'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    Information-Source:
      type: object
      properties:
        sourceId:
          type: string
          description: >-
            As sources are added to an entity, they're assigned a unique
            identifier to assist with modification and reference.

            To modify a source, include the sourceId in an update request call.
          x-oapi-codegen-extra-tags:
            audit: keep
        source:
          description: The source of information like document number, website, etc.
          type: string
          example: Client
          x-oapi-codegen-extra-tags:
            audit: keep
        sourceNormalized:
          description: The result of converting the raw source name to a normalized result.
          type: string
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        description:
          description: The type or details of the source of information.
          type: string
          example: ''
          x-oapi-codegen-extra-tags:
            audit: keep
        provider:
          description: The provider of the information, e.g., Equifax.
          type: string
          example: equifax-au
          x-oapi-codegen-extra-tags:
            audit: keep
        providerReference:
          description: Reference linking to the provider for this information.
          type: string
          example: ''
          x-oapi-codegen-extra-tags:
            audit: keep
        createdAt:
          type: string
          format: date-time
          description: The date and time this information was first created in the system.
          example: '2024-01-15T02:18:11.365Z'
          x-oapi-codegen-extra-tags:
            audit: keep
        requestedAt:
          type: string
          format: date-time
          description: >-
            The date and time FrankieOne requested this information from the
            external source provider.
          example: '2024-01-15T02:18:11.365Z'
          x-oapi-codegen-extra-tags:
            audit: keep
        retrievedAt:
          type: string
          format: date-time
          description: >-
            The date and time FrankieOne retrieved this information from the
            external source provider.
          example: '2024-01-15T02:18:11.365Z'
          x-oapi-codegen-extra-tags:
            audit: keep
        isAuthoritative:
          type: boolean
          description: >-
            Indicates whether this information is from an authoritative source,
            e.g., a company registry.
          example: false
          x-oapi-codegen-extra-tags:
            audit: keep
      readOnly: true
    Ownership-Policy:
      description: >-
        Defines the configuration and specific threshold values that allows to
        identify Blocking Entities, UBOs and Other Owners.
      type: object
      properties:
        uboThreshold:
          description: >-
            The minimum percentage of total ownership (Beneficial and
            Non-Beneficial) that an entity needs to be defined as a UBO.
          type: number
          format: float
        blockingThreshold:
          description: >-
            The minimum percentage of total ownership (Beneficial and
            Non-Beneficial) that an entity needs to be defined as a Blocking
            Entity.
          type: number
          format: float
        blockingDefinitions:
          description: >-
            The collection of reasons that define an entity as being a blocking
            entity.
          type: array
          items:
            $ref: '#/components/schemas/Organization-Blocking-Definition'
    Issue:
      type: object
      properties:
        issue:
          type: string
          description: Description of the issue.
        issueLocation:
          type: string
          description: The location or context where the issue was identified.
        issueType:
          type: string
          description: The type or category of the issue.
    Execute-Workflow-Organization-Registration:
      type: object
      required:
        - country
        - number
      properties:
        number:
          type: string
        type:
          type: string
        country:
          type: string
        subdivision:
          type: string
    Workflow-Execution-StateEnum:
      type: string
      description: |
        Current state of the workflow execution. Possible values:
          - COMPLETED: The workflow execution has completed successfully.
          - CANCELED: The workflow execution was canceled.
          - TERMINATED: The workflow execution was terminated before completion.
          - ERROR: The workflow execution encountered an error.
          - TIMEOUT: The workflow execution timed out.
          - IN_PROGRESS: The workflow execution is currently in progress.
      enum:
        - COMPLETED
        - CANCELED
        - TERMINATED
        - ERROR
        - TIMEOUT
        - IN_PROGRESS
    Workflow-Execution-ResultEnum:
      type: string
      x-oapi-codegen-extra-tags:
        audit: keep
      description: |
        Outcome of this workflow execution. Possible results:
          - UNCHECKED: The workflow has not yet been run and has no result.
          - IN_PROGRESS: The workflow is currently running and awaiting completion.
          - REVIEW: The workflow produced results that require review. Check the risks and step results for more details.
          - PASS: The workflow successfully completed with a PASS recommendation.
          - FAIL: The workflow finished with a FAIL recommendation.
          - COMPLETE: The workflow has finished and the results are considered complete. PASS/FAIL is not required.
          - INCOMPLETE: The workflow has finished and the results are considered incomplete. PASS/FAIL is not required.
          - NEEDS_APPROVAL: The workflow requires an approval process. Once approved, re-run the workflow.
          - APPROVED: The workflow was approved, typically by an external source such as a human.
          - REJECTED: The workflow was rejected, typically by an external source such as a human.
          - BLOCKED: The workflow was blocked from completing. Manual review is required.
          - CLEAR: The workflow completed with no issues raised. Often used for ongoing monitoring workflows.
          - URGENT: The workflow completed with matters requiring urgent review. Often used for ongoing monitoring workflows that return sanctions or similarly critical items.
          - MONITOR: The workflow completed and further monitoring is required. Should be manually reviewed.
      default: UNCHECKED
      enum:
        - UNCHECKED
        - IN_PROGRESS
        - REVIEW
        - PASS
        - FAIL
        - COMPLETE
        - INCOMPLETE
        - NEEDS_APPROVAL
        - APPROVED
        - REJECTED
        - BLOCKED
        - CLEAR
        - URGENT
        - MONITOR
    Risk-Assessment:
      type: object
      required:
        - entityId
        - serviceProfileId
        - workflowId
        - workflowExecutionId
      properties:
        serviceProfileId:
          $ref: '#/components/schemas/Profile-ID'
        riskAssessmentId:
          $ref: '#/components/schemas/Risk-Assessment-ID'
        workflowId:
          type: string
          description: Unique identifier of the workflow.
        workflowExecutionId:
          type: string
          description: Unique identifier of the workflow execution.
        entityId:
          type: string
          description: Unique identifier of the entity being assessed.
        schemaVersion:
          type: integer
          description: Version of the risk assessment schema.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the risk assessment was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the risk assessment was last updated.
        updatedBy:
          type: string
          description: Identifier of the user or system that updated this assessment.
        updatedRequestId:
          type: string
          description: Identifier of the request that updated this assessment.
        workflowRiskScore:
          type: number
          description: Risk score calculated for the workflow.
        workflowRiskLevel:
          $ref: '#/components/schemas/Risk-Level'
          description: >-
            Risk level of the workflow execution associated with this risk
            assessment.
        riskScore:
          type: number
          description: Risk score calculated for the entity.
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
          description: Risk level of the entity.
        isOutdated:
          type: boolean
          description: >-
            Indicates whether the assessment is out of date, either due to
            manual updates or changes to risk factors that were assessed.
          default: false
        riskFactors:
          type: array
          items:
            $ref: '#/components/schemas/Risk-Factor'
          readOnly: true
          description: List of risk factors considered in this assessment.
    Workflow-Execution-Steps:
      type: object
      properties:
        order:
          type: array
          items:
            type: string
        passed:
          type: array
          items:
            type: string
        failed:
          type: array
          items:
            type: string
        incomplete:
          type: array
          items:
            type: string
        notApplicable:
          type: array
          items:
            type: string
    Workflow-Issue:
      type: object
      required:
        - category
        - issue
        - severity
      properties:
        issueId:
          allOf:
            - $ref: '#/components/schemas/Issue-ID'
          readOnly: true
        category:
          $ref: '#/components/schemas/Workflow-Issue-Category'
        issue:
          $ref: '#/components/schemas/Workflow-Issue-Type'
        workflowExecutionId:
          type: string
          description: >-
            Identifier of the workflow execution in which this issue was
            generated.
        stepResultId:
          type: string
          description: >-
            Identifier of the step from which this issue originated, if
            applicable.
        isCleared:
          type: boolean
          description: >-
            Indicates if this specific issue has been manually flagged as
            addressed.
        createdBy:
          type: string
          description: User or system that created this issue.
          readOnly: true
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the issue was created.
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          description: The timestamp when the issue was last updated.
          readOnly: true
        updatedBy:
          type: string
          description: >-
            User or system that last updated this issue (e.g.,
            System:<service_name> or User:<user_name>).
          readOnly: true
        updatedRequestId:
          type: string
          description: Identifier of the request that updated this issue.
          readOnly: true
        severity:
          $ref: '#/components/schemas/Workflow-Issue-Severity'
    Workflow-LifecyclePhaseEnum:
      type: string
      description: >
        Specifies the lifecycle phase of the customer in which this workflow is
        executed:
          - ONBOARDING: Workflow is in the onboarding stage.
          - MONITORING: Workflow is in the monitoring stage.
          - REFRESH: Workflow is in the refresh stage.
          - OTHER: Workflow is in another stage.
      enum:
        - ONBOARDING
        - MONITORING
        - REFRESH
        - OTHER
      default: OTHER
    Monitoring-Type:
      type: string
      description: >-
        The type of workflow subscription. This determines which types are
        subscribing to a workflow.
      allOf:
        - $ref: '#/components/schemas/Subscription-Type'
    Entity-Type:
      type: string
      enum:
        - INDIVIDUAL
        - ORGANIZATION
        - UNKNOWN
      description: >-
        The type of entity within Frankie. This can be "INDIVIDUAL",
        "ORGANIZATION", or "UNKNOWN".
      readOnly: true
      x-oapi-codegen-extra-tags:
        audit: keep
    Workflow-Execution-Step-Result:
      type: object
      properties:
        stepResultId:
          type: string
          description: Unique identifier for this step result.
        workflowExecutionId:
          type: string
          description: Identifier of the associated workflow execution.
        stepName:
          type: string
          description: The name of the step, in SCREAMING_SNAKE_CASE.
          x-oapi-codegen-extra-tags:
            audit: keep
        requestId:
          type: string
          description: Identifier of the request associated with this step.
        objectType:
          $ref: '#/components/schemas/Workflow-Execution-ObjectTypeEnum'
          description: Type of the primary object checked in this step.
        objectId:
          type: string
          description: Identifier of the object checked in this step.
        schemaVersion:
          type: integer
          description: Version of the schema used for this step.
        startedAt:
          type: string
          format: date-time
          description: Date and time when this step started.
        endedAt:
          type: string
          format: date-time
          description: Date and time when this step ended.
        serviceProviders:
          type: array
          description: List of service providers involved in this step.
          items:
            $ref: '#/components/schemas/Service-Providers'
        result:
          $ref: '#/components/schemas/Workflow-Step-ResultEnum'
          description: Result of this workflow step.
        errors:
          type: array
          description: List of errors encountered during this step.
          items:
            $ref: '#/components/schemas/Workflow-Errors'
        summary:
          $ref: '#/components/schemas/Workflow-Step-Summary'
          description: Summary of the workflow step.
        risk:
          $ref: '#/components/schemas/Workflow-Step-Risk-Result'
          description: Risk assessment result for this step.
        notes:
          $ref: '#/components/schemas/Custom-Attributes'
          description: Additional notes or custom attributes for this step.
        processResults:
          type: array
          description: List of process result objects for this step.
          items:
            $ref: '#/components/schemas/Process-Result-Object'
        createdAt:
          type: string
          format: date-time
          description: Date and time when this step result was created.
        updatedAt:
          type: string
          format: date-time
          description: Date and time when this step result was last updated.
        updatedBy:
          type: string
          description: Identifier of the user or system that last updated this step result.
    Workflow-Execution-TypeEnum:
      type: string
      description: |
        The type of the workflow execution. Possible values:
          - EXECUTE: Stanard workflow execution, which will contact third party vendors to execute.
          - EVALUATE: Evaluation of an existing workflow execution, which will not contact third party vendors.
      enum:
        - EXECUTE
        - EVALUATE
    Workflow-Errors:
      type: object
      properties:
        code:
          type: string
          x-oapi-codegen-extra-tags:
            audit: keep
          description: Error code.
        description:
          type: string
          x-oapi-codegen-extra-tags:
            audit: keep
          description: Description of the error.
        location:
          type: string
          x-oapi-codegen-extra-tags:
            audit: keep
          description: Location or context where the error occurred.
    Custom-Attributes:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/Attribute'
    Risk-Assessment-ID:
      type: string
      description: Unique identifier of the risk assessment.
      readOnly: true
    Service-Profile-Subscription:
      type: object
      properties:
        serviceProfileId:
          type: string
          description: The unique identifier of the service profile.
        status:
          type: string
          enum:
            - ENABLED
            - DISABLED
          description: >-
            Indicates whether the subscription is currently active and
            operational.
        type:
          $ref: '#/components/schemas/Subscription-Type'
        workflowName:
          type: string
          description: >-
            The name of the monitoring workflow executed when a monitoring alert
            occurs.
        workflowId:
          type: string
          description: The unique identifier of the monitoring workflow.
        enabledAt:
          type: string
          format: date-time
          description: The date and time when the subscription was most recently enabled.
        enabledRequestId:
          type: string
          description: The request identifier for the most recent enable action.
        enabledBy:
          type: string
          description: The user who most recently enabled the subscription.
        disabledAt:
          type: string
          format: date-time
          description: The date and time when the subscription was most recently disabled.
        disabledRequestId:
          type: string
          description: The request identifier for the most recent disable action.
        disabledBy:
          type: string
          description: The user who most recently disabled the subscription.
    Entity:
      type: object
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        entityType:
          $ref: '#/components/schemas/Entity-Type'
        createdAt:
          type: string
          format: date-time
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        schemaVersion:
          type: integer
          description: The schema version of this entity.
          example: 2
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
          description: A list of all address information associated with the entity.
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/Phone-Number'
          description: A list of all phone numbers associated with the entity.
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Email'
          description: A list of all email addresses associated with the entity.
        customAttributes:
          $ref: '#/components/schemas/Custom-Attributes'
        externalReferences:
          type: array
          items:
            $ref: '#/components/schemas/External-Reference'
          description: A list of all external references associated with the entity.
        documents:
          $ref: '#/components/schemas/Entity-Documents'
        sourceId:
          type: string
          readOnly: true
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          x-oapi-codegen-extra-tags:
            audit: keep
    Website-URL:
      title: Website URL
      type: object
      properties:
        websiteUrl:
          type: string
          description: The website URL.
        sourceId:
          type: string
          description: >
            Reference to the information source where this data was obtained.

            This should correspond to an informationSource object in the
            informationSources map.
    Organization-Details:
      type: object
      description: organization details for entities. Returned from a registry.
      properties:
        type:
          $ref: '#/components/schemas/Code-Description-Source-ID'
        class:
          $ref: '#/components/schemas/Code-Description-Source-ID'
        subClass:
          $ref: '#/components/schemas/Code-Description-Source-ID'
        subType:
          $ref: '#/components/schemas/Code-Description-Source-ID'
        registrationDetails:
          description: >-
            This will contain a list of different registries the organization is
            registered in
          type: array
          items:
            $ref: '#/components/schemas/Organization-Registration-Details'
        alternateNames:
          description: >-
            This will contain all the other names apart from the registered name
            of the organization. Examples - name in other languages, trading
            name, older names, etc.
          type: array
          items:
            $ref: '#/components/schemas/Organization-Name'
        name:
          $ref: '#/components/schemas/Organization-Name'
          description: The name as registered in the primary registry of the organization
        status:
          $ref: '#/components/schemas/Organization-Status'
          description: The status of the organization based on its primary registry
        jurisdiction:
          $ref: '#/components/schemas/Organization-Jurisdiction'
        industryDeclarations:
          description: An array of declarations made by the organization as in the registry
          type: array
          items:
            $ref: '#/components/schemas/Industry-Declaration'
        industryCodes:
          description: >-
            An array of industry codes assigned to the organization as in the
            registry
          type: array
          items:
            $ref: '#/components/schemas/Industry-Code'
    Organization-Shareholder:
      description: >-
        Individuals or entities that own traditional shares or other equity
        units in a company. Details include the names of the holders, the number
        of shares or units held, and ownership percentages.
      allOf:
        - type: object
          properties:
            entityId:
              $ref: '#/components/schemas/Entity-ID'
            entityType:
              $ref: '#/components/schemas/Entity-Type'
            shareholderType:
              description: The type of shareholder
              type: string
            totalShares:
              type: number
              format: double
              description: The total number of shares held by this shareholder
            totalPercentage:
              type: number
              format: double
              description: The total percentage of shares held by this shareholder
            shareholdings:
              type: array
              items:
                $ref: '#/components/schemas/Organization-Shareholder-Shareholding'
    Organization-Share-Interest:
      description: >-
        Denotes the ownership stakes in a company, including shares and units.
        Details may include type of shares or units, and the number of shares or
        units held by holders.
      allOf:
        - $ref: '#/components/schemas/Organization-Share-Structure'
        - type: object
          properties:
            percentage:
              description: The percentage of shares
              type: number
              format: double
            isNonBeneficiallyHeld:
              description: Flag to show whether this is non beneficially held
              type: boolean
            isJointlyHeld:
              description: Flag to show whether this is jointly held
              type: boolean
            members:
              description: The entities that are a part of the interest
              type: array
              items:
                $ref: '#/components/schemas/Organization-Share-Interest-Member'
    Organization-Official:
      type: object
      description: >-
        The individuals who hold official positions or roles within a company,
        such as directors or company secretaries. It includes details such as
        their names, positions, appointment dates, and other relevant
        information.
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        entityType:
          $ref: '#/components/schemas/Entity-Type'
        officialId:
          description: The unique identifier for the official in the organization
          type: string
        isFromRelationship:
          type: boolean
          readOnly: true
          description: >-
            Indicates if this official was added via relationship operations,
            rather than automatically from an ownership report. If true, then
            this official can only be updated and deleted via the relationship
            operations.
        officialType:
          $ref: '#/components/schemas/Organization-Official-Type'
        role:
          $ref: '#/components/schemas/Code-Description'
          description: >-
            The role of the official in the organization.  '''code''' is the
            normalized code for the role.
        identification:
          type: array
          description: >-
            Relevant for Official. The identification number of official such as
            Director identification number
          items:
            $ref: '#/components/schemas/Organization-Official-Identification'
        status:
          $ref: '#/components/schemas/Organization-Status'
          description: The status of information like current, ceased, etc
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
        appointmentDate:
          $ref: '#/components/schemas/Date'
          description: >-
            Relevant for Official and US Officer. The date when the official or
            US Officer was appointed/assigned to the organization
        title:
          description: >-
            Relevant for US Officer. The title of the official in the
            organization (Mr/Mrs).
          type: string
        directorships:
          type: array
          description: >-
            Information on roles of the official in other organizations.
            Available in some jurisdictions.
          items:
            $ref: '#/components/schemas/Organization-Official-Directorship'
        cessationDate:
          $ref: '#/components/schemas/Date'
          description: >-
            Relevant for Official and PSC. The date when the official or PSC
            ceased their relation with the organization
        nationality:
          description: >-
            Relevant for PSC and Official. Nationality of the PSC or Official
            resides.
          type: string
        countryOfResidence:
          description: >-
            Relevant for PSC and Official. The Country in which the PSC or
            Official resides.
          type: string
        kind:
          description: >-
            Relevant for PSC. The type of control as declared by the
            organization in the registry.
          type: string
        natureOfControl:
          description: >-
            Relevant for PSC. The nature of control as declared, this can
            contain multiple types of control progressively added or added
            together
          type: array
          items:
            type: string
        notifiedOn:
          $ref: '#/components/schemas/Date'
          description: >-
            Relevant for PSC. The date on which the registry was notified of the
            PSC by the organization.
    Organization-Share-Capital:
      type: object
      description: >-
        The total value of shares issued by the company to its holders. It
        typically includes both the nominal value of the shares as well as any
        premium paid by the shareholders.
      properties:
        totalShareCount:
          type: number
          format: double
          description: The total number of shares issued by the company to its shareholders
        shareStructure:
          type: array
          description: >-
            The share capital of a company, which refers to the total value of
            shares issued by the company to its shareholders. It typically
            includes both the nominal value of the shares as well as any premium
            paid by the shareholders
          items:
            $ref: '#/components/schemas/Organization-Share-Structure'
        capitalType:
          type: array
          items:
            $ref: '#/components/schemas/Organization-Ownership-TypeEnum'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    Indicator:
      type: object
      description: Highlights areas within the data that require review or attention.
      properties:
        flag:
          type: string
          description: The name or type of the flag. (Deprecated)
          deprecated: true
        value:
          type: string
          description: Identifies the area requiring attention.
        indicator:
          type: string
          description: |-
            Specifies the condition of an area requiring attention.

            Not an enum. Possible values are:
              - REGISTRATION_NOT_FOUND: Registration has not been found.
              - PROVIDER_FETCH_ERROR: There was a provider fetch error.
              - OFFICIALS_OUTDATED: The direct official is outdated.
              - SHARE_CAPITAL_OUTDATED: The direct share capital is outdated.
              - SHAREHOLDERS_OUTDATED: The direct shareholder is outdated.
              - INDIRECT_SHAREHOLDERS_OUTDATED: An issue exists somewhere lower in the ownership tree.
              - INDIRECT_OFFICIALS_OUTDATED: An issue exists somewhere lower in the ownership tree.
              - INDIRECT_SHARE_CAPITAL_OUTDATED: An issue exists somewhere lower in the ownership tree.
              - OWNERSHIP_DOES_NOT_SUPPORT_COUNTRY: Ownership does not support country but Profile does.
              - OWNERSHIP_INSIGHTS_FAILED: Ownership Insights failed.
        type:
          type: string
          description: Data type of the value. Can be boolean, string, object, etc.
        description:
          type: string
          description: Provides additional information about the area requiring attention.
    Jurisdictional-Information:
      description: >-
        This contains information that is very specific to certain jurisdictions
        and is not available in other jurisdictions
      type: object
      properties:
        registryInformation:
          $ref: '#/components/schemas/Jurisdictional-Registry-Information'
          description: >-
            This includes information that specific registries have available
            for organizations
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/Jurisdictional-Alias'
        taxpayerIdentificationNumber:
          $ref: '#/components/schemas/Value-Source-ID'
        vatNumber:
          $ref: '#/components/schemas/Value-Source-ID'
        virtualId:
          $ref: '#/components/schemas/Value-Source-ID'
        fiscalCode:
          $ref: '#/components/schemas/Code-Description-Source-ID'
          description: Fiscal information. Available for certain jurisdictions
        legalFormDetails:
          $ref: '#/components/schemas/Jurisdictional-Legal-Form-Details'
          description: Legal Form Details. Available for certain jurisdictions
        annualAccount:
          $ref: '#/components/schemas/Jurisdictional-Annual-Account'
          description: Annual Account. Available for certain jurisdictions
    Base-Individual:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - type: object
          properties:
            name:
              $ref: '#/components/schemas/Individual-Name'
            alternateNames:
              type: array
              items:
                $ref: '#/components/schemas/Individual-Name-Alternate'
              description: >-
                Other names that are legally registered or otherwise recorded,
                differing from the individual's primary English name (e.g.,
                "李小龍"). Non-English names may be created as a conversion from
                the original format to complete the verification process.
            dateOfBirth:
              $ref: '#/components/schemas/Date-Of-Birth'
            alternateDatesOfBirth:
              type: array
              items:
                $ref: '#/components/schemas/Date-Of-Birth-Alternate'
              description: >-
                Other dates that are registered or otherwise recorded, differing
                from the individual's primary Gregorian date of birth (e.g.,
                Islamic dates like "29 Jumada Al-Akhirah 1445"). Non-Gregorian
                date formats will be maintained; however, additional Gregorian
                dates of birth may be created as a conversion from the original
                format to complete the verification process.
            gender:
              $ref: '#/components/schemas/Gender'
            placeOfBirth:
              $ref: '#/components/schemas/Address-Place-Of-Birth'
              description: The address where the individual was born.
            nationality:
              type: string
              description: >-
                ISO-3166-1 alpha-3 code of the individual's legal membership or
                affiliation with a nation.
              example: AUS
              x-oapi-codegen-extra-tags:
                audit: keep
            consents:
              type: array
              items:
                $ref: '#/components/schemas/Consent'
              description: List of consent types that have been given for this entity.
    Address:
      type: object
      description: Address information in all available formats
      allOf:
        - $ref: '#/components/schemas/Address-Base'
        - type: object
          properties:
            unstructuredLongForm:
              type: string
              description: >-
                Raw, unformatted address as provided by the source. Not
                normalized or standardized.
              readOnly: true
              x-oapi-codegen-extra-tags:
                audit: mask
    Percentage-Owned:
      description: The percentage of ownership of the entity
      type: object
      properties:
        total:
          type: number
          format: double
        isTotalNearZero:
          type: boolean
          description: Indicates if the total percentage is negligible.
        beneficially:
          type: number
          format: double
        isBeneficialNearZero:
          type: boolean
          description: Indicates if the beneficially held percentage is negligible.
        nonBeneficially:
          type: number
          format: double
        isNonBeneficialNearZero:
          type: boolean
          description: Indicates if the non-beneficially held percentage is negligible.
        isContainingJointOwnership:
          description: |
            Indicates if the percentage held contains a jointly held percentage.
          type: boolean
    Blocking-Reason:
      type: object
      properties:
        type:
          type: string
        description:
          type: string
        circularEntities:
          description: >-
            Entities identified as part of circular reference, with the Blocking
            Entity as the last link before the detection of circular.
          type: array
          items:
            $ref: '#/components/schemas/Entity-ID'
        candidates:
          description: Potential matches of the requested business entity.
          type: array
          items:
            $ref: '#/components/schemas/Organization-Blocking-Candidates'
    Code-Description:
      type: object
      properties:
        code:
          description: Short standard code or normalized representation of the information
          type: string
        description:
          description: >-
            The information relevant to the code, could be a more descriptive
            information
          type: string
    Organization-Blocking-Definition:
      type: string
      enum:
        - ORGANIZATION_NOT_FOUND
        - NO_SHAREHOLDERS_FOUND
        - COUNTRY_NOT_SUPPORTED
        - NON_BENEFICIAL_INDIVIDUAL
        - NON_BENEFICIAL_ORGANIZATION
        - NON_BENEFICIAL_UNKNOWN
        - CIRCULAR_REFERENCE
        - ENTITY_TYPE_UNKNOWN
        - INSUFFICIENT_MAX_CREDIT_COST
        - INACTIVE_ORGANIZATION
        - OTHER
      description: Indicates the type of the blocking entity
    Profile-ID:
      type: string
      description: Unique identifier of the Service Profile.
    Risk-Level:
      type: string
      enum:
        - UNKNOWN
        - LOW
        - MEDIUM
        - HIGH
        - UNACCEPTABLE
      description: |
        The risk level classification:
          - UNKNOWN: Risk level is not determined.
          - LOW: Low risk.
          - MEDIUM: Medium risk.
          - HIGH: High risk.
          - UNACCEPTABLE: Risk level is unacceptable.
    Risk-Factor:
      type: object
      properties:
        riskFactorId:
          $ref: '#/components/schemas/Risk-Factor-ID'
        factor:
          type: string
          description: Name of the Frankie risk factor.
          readOnly: true
        value:
          type: string
          description: Value assigned to the risk factor.
          readOnly: true
        score:
          type: number
          description: Risk score assigned to the factor (based on customer configuration).
          readOnly: true
        description:
          type: string
          description: Description of the risk factor.
          readOnly: true
        workflowExecutionId:
          type: string
          description: >-
            Unique identifier of the workflow execution in which the risk factor
            was generated.
          readOnly: true
        stepResultId:
          type: string
          description: >-
            Unique identifier of the step result if the factor originated from a
            step.
          readOnly: true
        manualOverrideScore:
          type: number
          description: >-
            If present, this score overrides all others and is used as the final
            score in risk assessment.
        status:
          $ref: '#/components/schemas/Risk-Factor-Status'
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the risk factor was created.
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the risk factor was last updated.
          readOnly: true
        updatedBy:
          type: string
          description: >-
            Identifier of the user or system that updated this risk factor
            (e.g., System:<service_name>; or User:<user_name>).
          readOnly: true
        updatedRequestId:
          type: string
          description: Identifier of the request that updated this risk factor.
          readOnly: true
        createdServiceProfileId:
          type: string
          format: uuid
          description: >-
            Identifier of the service profile associated with this risk factor
            when it was created.
        createdWorkflowExecutionId:
          type: string
          description: >-
            Identifier of the workflow execution that originally created the
            risk factor.
        createdStepResultId:
          type: string
          description: >-
            Identifier of the step result that originally created the risk
            factor.
    Issue-ID:
      type: string
      description: Unique identifier for the risk issue.
      readOnly: true
    Workflow-Issue-Category:
      type: string
      x-oapi-codegen-extra-tags:
        audit: keep
      enum:
        - AML
        - BAD_DATA
        - BIOMETRICS
        - BLOCKLISTED
        - DECEASED
        - DEVICE
        - DOCUMENT
        - DUPLICATE
        - EXPIRY
        - FRAUD
        - IDV
        - INFORMATIONAL
        - KYC
        - SYSTEM
        - VERIFY
        - VISA
        - WATCHLIST
        - ACTIVITY
        - SUPPORTING_DOC
        - RISK
      description: |-
        General category of issue found:
          - AML: Anti-Money Laundering issues.
          - BAD_DATA: Indicates that the data provided is invalid or incorrect.
          - BIOMETRICS: Issues found during a biometrics check.
          - BLOCKLISTED: The entity has a hit on a blocklist.
          - DECEASED: Indicates that the entity is deceased.
          - DEVICE: Issues found during device checks.
          - DOCUMENT: Issues found during a document check.
          - DUPLICATE: Indicates that the entity has duplicates.
          - EXPIRY: Indicates that a process or document for the entity has expired.
          - FRAUD: Possible fraud detected.
          - IDV: Issues found during an Identity Verification (IDV) process.
          - INFORMATIONAL: Informational messages that are not issues but are required to be returned.
          - KYC: Issues found during a Know Your Customer (KYC) process.
          - SYSTEM: System-level issues.
          - VERIFY: Issues found during a verification process.
          - VISA: Issues found during a visa check.
          - WATCHLIST: Issues found during a watchlist check.
          - ACTIVITY: Issues found during an activity process.
          - SUPPORTING_DOC: Issues found during a supporting document check.
          - RISK: Issues related to risk assessment.
    Workflow-Issue-Type:
      type: string
      x-oapi-codegen-extra-tags:
        audit: keep
      enum:
        - AML_ISSUE
        - BAD_DATA_ADDRESS
        - BAD_DATA_DOB
        - BAD_DATA_DOCUMENT
        - BAD_DATA_EMAIL
        - BAD_DATA_ID
        - BAD_DATA_MOBILE
        - BAD_DATA_DEVICE
        - BAD_DATA_IP_ADDRESS
        - BAD_DATA_EMAIL_ADDRESS
        - BAD_DATA_NAME
        - BLOCKED
        - COMPROMISED_DOCUMENT
        - CREDIT_HEADER
        - DATA_COMPARISON
        - DATA_CONSISTENCY
        - DATA_VALIDATION
        - DENY_LIST
        - DECEASED
        - DEVICE_FRAUD_MATCH
        - DEVICE_INVALID
        - DOCUMENT_COMPARISON
        - DUPLICATE
        - FRAUD_CHECK
        - FRAUD_DEVICE
        - FRAUD_IP_ADDRESS
        - FRAUD_EMAIL_ADDRESS
        - FRAUD_PHONE_NUMBER
        - FRAUD_INCOMPLETE
        - FRAUD_ISSUE
        - FRAUD_LIST
        - IMAGE_INTEGRITY
        - INSUFFICIENT_ADDRESS_MATCH
        - INSUFFICIENT_DOB_MATCH
        - INSUFFICIENT_GOVID_MATCH
        - INSUFFICIENT_NAME_MATCH
        - INTERNAL_MATCH
        - LIVENESS_DETECTION
        - MATCHED_EXTERNAL
        - MATCHED_INTERNAL
        - MATCHED_SHARED
        - MEDIA
        - NO_ADDRESS_MATCH
        - NO_DOB_MATCH
        - NO_GOVID_MATCH
        - NO_NAME_MATCH
        - NOT_FOUND
        - OCR
        - PARTIAL
        - PARTIAL_MATCH
        - PEP
        - REQUIRES_AML
        - REQUIRES_IDV
        - REQUIRES_KYC
        - REQUIRES_VISA
        - SANCTION
        - SERVICE_ERROR
        - SERVICE_TIMEOUT
        - VISA_FAILED
        - VISUAL_AUTHENTICITY
        - WATCHLIST
        - ACTIVITY_AML
        - ACTIVITY_FRAUD
        - ACTIVITY_EVENT
        - ACTIVITY_DEVICE
        - DOCUMENT_MISSING
        - DOCUMENTS_NOT_APPROVED
        - RISK_THRESHOLD_HIGH
        - RISK_THRESHOLD_UNACCEPTABLE
        - RISK_THRESHOLD_MEDIUM
      description: |-
        For each category, this provides the specific issue type.

        AML:
          - PEP: The entity has Politically Exposed Person (PEP) hits.
          - SANCTION: The entity has sanction hits.
          - MEDIA: The entity has adverse media hits.
          - WATCHLIST: The entity has watchlist hits.

        BAD_DATA:
          - BAD_DATA_NAME: Name is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_DOB: Date of Birth is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_ADDRESS: Address is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_ID: ID is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_EMAIL: Email is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_MOBILE: Mobile is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_DEVICE: Device is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_IP_ADDRESS: IP Address is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_EMAIL_ADDRESS: Email Address is required for verification but is missing or unusable due to data quality issues.
          - BAD_DATA_DOCUMENT: Document data is required for verification but is missing or unusable due to data quality issues.

        BLOCKLISTED:
          - MATCHED_INTERNAL: The entity matched an internal blocklist.
          - MATCHED_SHARED: The entity matched a shared blocklist.
          - MATCHED_EXTERNAL: The entity matched an external blocklist.

        DECEASED:
          - DECEASED: The person whose data is being verified is deceased.

        DEVICE:
          - DEVICE_FRAUD_MATCH: Fraud detected on the device.
          - DEVICE_INVALID: The device is invalid.

        DUPLICATE:
          - DUPLICATE: The entity is a duplicate of another entity.

        EXPIRY:
          - REQUIRES_KYC: KYC process needs to be re-initiated.
          - REQUIRES_IDV: IDV process needs to be re-initiated.
          - REQUIRES_AML: AML process needs to be re-initiated.
          - REQUIRES_VISA: Visa process needs to be re-initiated.

        FRAUD:
          - FRAUD_LIST: The entity is on a fraud list.
          - FRAUD_CHECK: Fraud detected during checks.
          - FRAUD_DEVICE: Device fraud detected.
          - FRAUD_IP_ADDRESS: IP address fraud detected.
          - FRAUD_EMAIL_ADDRESS: Email address fraud detected.
          - FRAUD_PHONE_NUMBER: Phone number fraud detected.

        IDV:
          - DATA_COMPARISON: Data comparison issue.
          - DATA_VALIDATION: Data validation issue.
          - DATA_CONSISTENCY: Data consistency issue.
          - VISUAL_AUTHENTICITY: Visual authenticity issue.
          - IMAGE_INTEGRITY: Image integrity issue.
          - COMPROMISED_DOCUMENT: Document is compromised.
          - LIVENESS_DETECTION: Liveness detection failed.
          - DOCUMENT_COMPARISON: Document comparison issue.

        INFORMATIONAL:
          - CREDIT_HEADER: Credit header information was returned as part of a credit agency check.

        KYC:
          - NOT_FOUND: KYC ruleset not met.
          - PARTIAL: Some matches but insufficient.
          - NO_GOVID_MATCH: GovID required but no GovID match.
          - INSUFFICIENT_GOVID_MATCH: GovID required but insufficient matches.
          - NO_DOB_MATCH: DOB required but no DOB match.
          - INSUFFICIENT_DOB_MATCH: DOB required but insufficient matches.
          - NO_ADDRESS_MATCH: Address required but no address match.
          - INSUFFICIENT_ADDRESS_MATCH: Address required but insufficient matches.
          - NO_NAME_MATCH: Name required but no name match.
          - INSUFFICIENT_NAME_MATCH: Name required but insufficient matches.
          - PARTIAL_MATCH: General partial match.

        OCR:
          - OCR: The OCR data does not match what was entered by the user.

        SYSTEM:
          - SERVICE_TIMEOUT: All providers have timed out.
          - SERVICE_ERROR: All providers have returned an error or an internal error has occurred.

        VISA:
          - DENY_LIST: The entity matched a visa deny list.
          - VISA_FAILED: Visa check failed from the provider.

        WATCHLIST:
          - INTERNAL_MATCH: The entity matched an internal watchlist.

        ACTIVITY:
          - ACTIVITY_AML: The entity has had an activity that is flagged for AML
          - ACTIVITY_FRAUD: The entity has had an activity that is flagged for fraud
          - ACTIVITY_EVENT: The entity has had an activity that is deemed as suspicious, but not exactly classified as either fraud or AML

        SUPPORTING_DOC:
          - DOCUMENT_MISSING: The document is not provided
          - DOCUMENTS_NOT_APPROVED: The document is not approved

        RISK:
          - RISK_THRESHOLD_HIGH: The risk threshold is too high
          - RISK_THRESHOLD_MEDIUM: The risk threshold is medium
          - RISK_THRESHOLD_UNACCEPTABLE: The risk threshold is unacceptable
    Workflow-Issue-Severity:
      type: string
      x-oapi-codegen-extra-tags:
        audit: keep
      enum:
        - INFO
        - REVIEW
        - BLOCK
        - WARNING
        - CRITICAL
        - ERROR
      description: |
        The severity level of the issue. Possible values:
          - INFO: Informational only.
          - REVIEW: Requires review.
          - BLOCK: Blocks further processing.
          - WARNING: Warning, but not blocking.
          - CRITICAL: Critical issue.
          - ERROR: Error encountered.
    Subscription-Type:
      type: string
      description: >-
        Specifies the type of service profile subscription. This value
        determines the category of the service profile subscription.
      enum:
        - AML
        - ACTIVITY
    Workflow-Execution-ObjectTypeEnum:
      description: |
        The type of primary object that was checked. Either:
        - NAME
        - ADDRESS
        - DATE_OF_BIRTH
        - ORGANIZATION
        - DOCUMENT
        - EMAIL_ADDRESS
        - PHONE_NUMBER
        - DEVICE
        - INDIVIDUAL
      type: string
      enum:
        - NAME
        - ADDRESS
        - DATE_OF_BIRTH
        - ORGANIZATION
        - DOCUMENT
        - EMAIL_ADDRESS
        - PHONE_NUMBER
        - DEVICE
        - INDIVIDUAL
    Service-Providers:
      type: object
      properties:
        provider:
          type: string
          description: Name of the service provider.
        result:
          type: string
          description: Result or status returned by the provider.
        order:
          type: integer
          description: Sequence order of the provider in the process.
        startedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp indicating when the provider started.
        endedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp indicating when the provider ended.
    Workflow-Step-ResultEnum:
      description: >
        Overall result of the workflow step.


        Depending on the context of the step and its purpose, it will return a
        different result code:
          - UNCHECKED: Step was not attempted. There will be an error or suitable message indicating why, most likely due to a failure in a previous step.
          - SKIPPED: Step was skipped as it was not required to run, or had previously been run and the existing results are sufficient.
          - MISSING_DATA: Step requires additional data before it can complete. Details should be in the error objects.
          - PASS: The step completed and requested goals were met. Usually manually applied or where the result is binary.
          - FAIL: The step completed but the requested goals were not met. Usually manually applied or where the result is binary.
          - COMPLETE: The step has finished successfully and there is not necessarily a pass/fail scenario, just that the process needed to be done.
          - INCOMPLETE: The step was unable to finish successfully and there is not necessarily a pass/fail scenario, just that the process needed to be done and was not.
          - MATCH: The results of this step produced a fully successful match against the requested source(s).
          - NO_MATCH: The results of this step produced no match against the requested source(s).
          - PARTIAL: The results of this step produced a partially successful match against the requested source(s).
          - CLEAR: The step involved checking against a list/source (generally negative in nature) and no match was found (a positive outcome).
          - HIT: The step involved checking against a list/source (generally negative in nature) and a match of some kind was found.
          - CLEARED: The step involved checking against a list/source (generally negative in nature) and, while there were previously found matches, these have been resolved.
          - EXPIRED: The data found in this step has expired in some way.
          - CLEAR_REVIEW: The step was cleared but requires review.
          - HIT_ACCEPTED: A hit was found and accepted.
          - HIT_REJECTED: A hit was found and rejected.
          - NOT_APPLICABLE: The step attempted to run, but it was determined to be unnecessary (e.g., checking for a visa when already a citizen).
          - ERROR: The step attempted to run, but there was an unrecoverable error and no useful result can be determined.
      type: string
      enum:
        - UNCHECKED
        - SKIPPED
        - MISSING_DATA
        - PASS
        - FAIL
        - COMPLETE
        - INCOMPLETE
        - MATCH
        - NO_MATCH
        - PARTIAL
        - CLEAR
        - HIT
        - CLEARED
        - EXPIRED
        - CLEAR_REVIEW
        - HIT_ACCEPTED
        - HIT_REJECTED
        - NOT_APPLICABLE
        - ERROR
      x-oapi-codegen-extra-tags:
        audit: keep
    Workflow-Step-Summary:
      type: object
      oneOf:
        - $ref: '#/components/schemas/Workflow-Step-Summary-KYC'
        - $ref: '#/components/schemas/Workflow-Step-Summary-AML'
        - $ref: '#/components/schemas/Workflow-Step-Summary-ID'
        - $ref: '#/components/schemas/Workflow-Step-Summary-NameValidation'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Visa'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Start'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Finish'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Decision'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Matchlist'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Duplicate'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Activity-Monitor'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Fraud'
        - $ref: '#/components/schemas/Workflow-Step-Summary-SupportDoc'
        - $ref: '#/components/schemas/Workflow-Step-Summary-Report'
      discriminator:
        propertyName: stepName
        mapping:
          KYC:
            $ref: '#/components/schemas/Workflow-Step-Summary-KYC'
          AML:
            $ref: '#/components/schemas/Workflow-Step-Summary-AML'
          ID:
            $ref: '#/components/schemas/Workflow-Step-Summary-ID'
          VISA:
            $ref: '#/components/schemas/Workflow-Step-Summary-Visa'
          NAME_VALIDATION:
            $ref: '#/components/schemas/Workflow-Step-Summary-NameValidation'
          START:
            $ref: '#/components/schemas/Workflow-Step-Summary-Start'
          FINISH:
            $ref: '#/components/schemas/Workflow-Step-Summary-Finish'
          DECISION:
            $ref: '#/components/schemas/Workflow-Step-Summary-Decision'
          MATCHLIST:
            $ref: '#/components/schemas/Workflow-Step-Summary-Matchlist'
          DUPLICATE:
            $ref: '#/components/schemas/Workflow-Step-Summary-Duplicate'
          ACTIVITY_MONITOR:
            $ref: '#/components/schemas/Workflow-Step-Summary-Activity-Monitor'
          FRAUD:
            $ref: '#/components/schemas/Workflow-Step-Summary-Fraud'
          SUPPORT_DOCUMENTS_CHECK:
            $ref: '#/components/schemas/Workflow-Step-Summary-SupportDoc'
          REPORT:
            $ref: '#/components/schemas/Workflow-Step-Summary-Report'
    Workflow-Step-Risk-Result:
      type: object
      description: |
        Calculated risk result for a workflow step.
      properties:
        level:
          type: string
          description: Current risk level.
        contributedScore:
          type: integer
          description: Risk score contributed by this step.
        overallScore:
          type: integer
          description: Current overall risk score.
        factors:
          type: array
          description: List of contributing score factors.
          items:
            $ref: '#/components/schemas/Workflow-Step-Risk-Result-Detail'
    Process-Result-Object:
      type: object
      properties:
        processResultId:
          $ref: '#/components/schemas/Process-Result-ID'
        schemaVersion:
          type: integer
          readOnly: true
        entityId:
          type: string
          readOnly: true
        requestId:
          $ref: '#/components/schemas/Request-ID'
          readOnly: true
        stepName:
          type: string
          readOnly: true
        stepType:
          type: string
          readOnly: true
        objectType:
          type: string
          readOnly: true
        objectId:
          type: string
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        groupId:
          type: string
          readOnly: true
        providerResult:
          $ref: '#/components/schemas/Provider-Result'
        result:
          $ref: '#/components/schemas/Process-ResultEnum'
        class:
          $ref: '#/components/schemas/Process-Result-ClassEnum'
        subClass:
          $ref: '#/components/schemas/Process-Result-SubClass'
        supplementaryData:
          $ref: '#/components/schemas/Supplementary-Data'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Process-Result-Error'
          readOnly: true
        notes:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/Custom-Attributes'
        systemStatus:
          $ref: '#/components/schemas/Process-Result-System-StatusEnum'
        manualStatus:
          $ref: '#/components/schemas/Process-Result-Manual-StatusEnum'
        state:
          $ref: '#/components/schemas/Process-Result-StateEnum'
        riskFactors:
          type: array
          items:
            $ref: '#/components/schemas/Process-Risk-Factor-Value'
          readOnly: true
        updatedBy:
          type: string
          readOnly: true
    Attribute:
      type: object
      required:
        - type
        - value
      properties:
        type:
          description: The attribute type.
          type: string
          maxLength: 64
          x-oapi-codegen-extra-tags:
            audit: keep
        value:
          description: The value assigned to the attribute.
          type: string
          x-oapi-codegen-extra-tags:
            audit: mask
    Phone-Number:
      type: object
      properties:
        phoneNumberId:
          $ref: '#/components/schemas/Phone-Number-ID'
        isPreferred:
          type: boolean
          example: true
          description: Indicates whether this is the individual's preferred phone number.
          x-oapi-codegen-extra-tags:
            audit: keep
        type:
          type: string
          enum:
            - OTHER
            - WORK
            - HOME
            - MOBILE
            - BUSINESS
            - FAX
          description: The type of phone number.
          example: MOBILE
          x-oapi-codegen-extra-tags:
            audit: keep
        sourceId:
          type: string
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          example: 14fd5f64-5717-4562-b3fc-2c963f66ba34
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        country:
          type: string
          description: ISO-3166-1 alpha-3 country code.
          example: AUS
          x-oapi-codegen-extra-tags:
            audit: keep
        number:
          type: string
          description: The phone number.
          example: '0426192340'
          x-oapi-codegen-extra-tags:
            audit: mask
        linkedAddresses:
          type: array
          readOnly: true
          description: >-
            If the phone number is attached to one or more addresses, the
            address IDs of those addresses will be present.
          items:
            type: object
            properties:
              addressId:
                description: The addressId of the linked address.
                type: string
                example: fa335f64-5717-4562-b3fc-2c963f66cf41
        unstructuredLongForm:
          type: string
          description: >-
            Used to capture free-form phone numbers or to store numbers that
            could not be normalized.
          x-oapi-codegen-extra-tags:
            audit: mask
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: >-
            The date and time the phone number was last updated. ISO 8601
            format.
    Email:
      type: object
      properties:
        emailAddressId:
          $ref: '#/components/schemas/Email-Address-ID'
        type:
          type: string
          enum:
            - OTHER
            - WORK
            - PERSONAL
            - BUSINESS
          example: WORK
          description: The type of email address, if known.
          x-oapi-codegen-extra-tags:
            audit: keep
        sourceId:
          type: string
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          example: 31dd15f64-5717-4562-b3fc-2c963f66234d
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        email:
          type: string
          description: >-
            The individual's email address. This email can be used to notify the
            individual of any verification requirements.
          example: leonardo_dc@outlook.com
          x-oapi-codegen-extra-tags:
            audit: mask
        isPreferred:
          type: boolean
          description: >-
            Indicates whether this email address is the individual's preferred
            email. The preferred email will be used to send notifications at the
            client's request.
          default: true
          x-oapi-codegen-extra-tags:
            audit: keep
        linkedAddresses:
          type: array
          readOnly: true
          description: >-
            If the email is attached to one or more addresses, the address IDs
            of those addresses will be present.
          items:
            type: object
            properties:
              addressId:
                description: The addressId of the linked address.
                type: string
                example: adc215f64-5717-4562-b3fc-2c963f66222a
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: >-
            The date and time the email address was last updated. ISO 8601
            format.
    External-Reference:
      type: object
      description: >-
        Reference information used to identify the individual in systems
        external to FrankieOne.
      allOf:
        - type: object
          properties:
            referenceId:
              type: string
              description: >-
                As external references are added to an entity, they are assigned
                a unique identifier to assist with modification and reference.

                To modify an external reference, include the referenceId in an
                update request for the individual.
              example: 24de15f64-5717-4562-b3fc-2c963f66e23e
              x-oapi-codegen-extra-tags:
                audit: keep
            type:
              type: string
              enum:
                - SYSTEM
                - CUSTOMER
                - ACCOUNT
                - OTHER
              default: CUSTOMER
              x-oapi-codegen-extra-tags:
                audit: keep
            sourceId:
              type: string
              description: >-
                The source from which specific information was sourced. This is
                a link to an informationSource object in the informationSources
                map.
              example: 93da15f64-5717-4562-b3fc-2c963f6663fe
              readOnly: true
              x-oapi-codegen-extra-tags:
                audit: keep
            metadata:
              type: object
              description: >-
                Key-value pairs for storing additional metadata about the
                external reference
              additionalProperties:
                $ref: '#/components/schemas/External-Reference-Metadata'
              x-oapi-codegen-extra-tags:
                audit: keep
            updatedAt:
              type: string
              format: date-time
              readOnly: true
              description: >-
                The date and time the external reference was last updated. ISO
                8601 format.
        - $ref: '#/components/schemas/External-Reference-Information'
    Entity-Documents:
      type: object
      properties:
        REPORT:
          type: array
          items:
            $ref: '#/components/schemas/Document-Information'
        SUPPORTING:
          type: array
          items:
            $ref: '#/components/schemas/Document-Information'
        IDENTITY:
          type: array
          items:
            $ref: '#/components/schemas/Document-Information'
        OTHER:
          type: array
          items:
            $ref: '#/components/schemas/Document-Information'
    Code-Description-Source-ID:
      type: object
      allOf:
        - $ref: '#/components/schemas/Code-Description'
        - properties:
            sourceId:
              type: string
              description: >-
                Where specific information was sourced. This is a reference to
                an informationSource object in the informationSources map.
    Organization-Registration-Details:
      type: object
      allOf:
        - $ref: '#/components/schemas/Organization-Registry'
        - type: object
          properties:
            type:
              $ref: '#/components/schemas/Code-Description-Source-ID'
            class:
              $ref: '#/components/schemas/Code-Description-Source-ID'
            subClass:
              $ref: '#/components/schemas/Code-Description-Source-ID'
            subType:
              $ref: '#/components/schemas/Code-Description-Source-ID'
            status:
              $ref: '#/components/schemas/Organization-Status'
              description: The status of the organization based on its primary registry
            isCurrent:
              description: Indicates that the registration is current
              type: boolean
            registeredName:
              $ref: '#/components/schemas/Organization-Name'
              description: The name of organization in the registry
            registeredDate:
              $ref: '#/components/schemas/Date'
              description: The date the organization was registered on
            extractedDate:
              $ref: '#/components/schemas/Date'
              description: >-
                The date when the organization details were extracted from the
                registry
            registeredSubdivision:
              description: >-
                The subdivision that the organization was registered at. The
                registered state for jurisdictions like Australia will be
                available in this field.
              type: string
            registeredCountry:
              description: The country that the organization was registered at
              type: string
            registrationStatus:
              $ref: '#/components/schemas/Organization-Status'
            registrationNumber:
              description: The registration number of the organization in the registry
              type: string
            registrationNumberType:
              description: The type of the registration number, e.g. ACN, ABN, etc.
              type: string
            registrationNumberDescription:
              description: >-
                The description of type of the registration number, e.g.
                Australian Company Number, Australian Business Number, etc.
              type: string
            updatedDate:
              $ref: '#/components/schemas/Date'
              description: The date on which the registration was last updated
            reviewDate:
              $ref: '#/components/schemas/Date'
              description: The future date when the registration needs to be reviewed
            foundationDate:
              $ref: '#/components/schemas/Date'
              description: >-
                In some registries the foundation date (when the organization
                was registered or founded) is provided
            isSuppressed:
              description: Denotes whether the information in the registry is suppressed
              type: boolean
            validFrom:
              $ref: '#/components/schemas/Date'
              description: The date on which the registration started
            validTo:
              $ref: '#/components/schemas/Date'
              description: The date on which the registration ended
            governance:
              $ref: '#/components/schemas/Code-Description'
              description: The governance structure of the organization.
            sourceId:
              type: string
              description: >-
                The source from where a specific information was sourced from.
                This is a link to an informationSource object in the
                informationSources map.
          required:
            - registrationNumber
    Organization-Name:
      type: object
      properties:
        name:
          description: The organization's name
          type: string
        type:
          description: The type of name
          type: string
        validFrom:
          $ref: '#/components/schemas/Date'
          description: The date from which this name will be in effect
        validTo:
          $ref: '#/components/schemas/Date'
          description: The date until which this name will be in effect
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Organization-Status:
      type: object
      properties:
        normalized:
          $ref: '#/components/schemas/Code-Description'
          description: normalized status form
        unstructured:
          $ref: '#/components/schemas/Code-Description'
          description: raw status form
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Organization-Jurisdiction:
      title: Organization-Jurisdiction
      type: object
      description: >-
        Details of the country and jurisdiction that the organization is
        operating in, both retrieved from the registry
      allOf:
        - $ref: '#/components/schemas/Organization-Registry'
        - $ref: '#/components/schemas/Organization-Region'
    Industry-Declaration:
      type: object
      allOf:
        - $ref: '#/components/schemas/Code-Description'
        - type: object
          properties:
            language:
              description: The language in which the information was filed
              type: string
            sourceId:
              type: string
              description: >-
                The source from where a specific information was sourced from.
                This is a link to an informationSource object in the
                informationSources map.
    Industry-Code:
      type: object
      allOf:
        - $ref: '#/components/schemas/Code-Description'
        - type: object
          properties:
            type:
              description: Determines the type of the industry code.
              type: string
            sourceId:
              type: string
              description: >-
                Where specific information was sourced. This is a reference to
                an informationSource object in the informationSources map.
    Organization-Shareholder-Shareholding:
      description: >-
        The details of shares or any other types of equity units issued by a
        company to its holders.
      allOf:
        - $ref: '#/components/schemas/Organization-Share-Structure'
        - type: object
          properties:
            percentage:
              description: The percentage of shares
              type: number
              format: double
            isNonBeneficiallyHeld:
              description: Flag to show whether this is non beneficially held
              type: boolean
            isJointlyHeld:
              description: Flag to show whether this is jointly held
              type: boolean
            holdingType:
              type: array
              items:
                $ref: '#/components/schemas/Organization-Ownership-TypeEnum'
    Organization-Share-Structure:
      type: object
      properties:
        shareInterestType:
          $ref: '#/components/schemas/Organization-Interest-Type'
        class:
          description: The class of the shares in the interest
          type: string
        classDescription:
          description: The description of class of shares
          type: string
        shares:
          description: The number of shares that are included in this specific interest
          type: number
          format: double
        nominalValue:
          type: string
          description: This will be available only in specific registries, where available
        isFullyPaid:
          description: Flag to show whether the shares are fully paid
          type: boolean
        amountPaid:
          description: The amount paid
          type: string
        amountDue:
          description: The amount due
          type: string
        amount:
          description: The total amount
          type: string
        unstructuredAmount:
          description: The total amount in an unstructured format
          type: string
        currency:
          description: The currency in which the shares are registered at
          type: string
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
        type:
          description: The type of shares that are included in the description
          type: string
        status:
          $ref: '#/components/schemas/Organization-Status'
          description: The status of information like current, historical, etc
    Organization-Share-Interest-Member:
      type: object
      description: The entities that are a part of the interest
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        entityType:
          $ref: '#/components/schemas/Entity-Type'
    Organization-Official-Type:
      description: The type of role in the organization.
      type: string
      enum:
        - OFFICIAL
        - PSC
        - US_AGENT
        - US_OFFICER
    Organization-Official-Identification:
      type: object
      properties:
        type:
          type: string
          enum:
            - DIRECTOR_IDENTIFICATION_NUMBER
        idNumber:
          type: string
        jurisdiction:
          $ref: '#/components/schemas/Organization-Jurisdiction'
    Date:
      type: object
      allOf:
        - $ref: '#/components/schemas/Date-Base'
        - type: object
          properties:
            normalized:
              type: string
              format: date
              description: >-
                Full date in ISO 8601 format ("YYYY-MM-DD"). This is a read-only
                field.
              example: '1990-03-31'
              readOnly: true
              x-oapi-codegen-extra-tags:
                audit: mask
    Organization-Official-Directorship:
      type: object
      description: >-
        Information on roles of the official in other organizations.  Available
        in some jurisdictions.
      properties:
        organization:
          $ref: '#/components/schemas/Official-Organization'
          description: Details of the organization in which the official holds a role
        role:
          $ref: '#/components/schemas/Code-Description'
          description: >-
            The role of the official in the organization.  '''code''' is the
            normalized code for the role.
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
        appointmentDate:
          $ref: '#/components/schemas/Date'
          description: The date when the official was appointed for the organization
        nationality:
          type: string
    Organization-Ownership-TypeEnum:
      type: string
      enum:
        - SHARE
        - UNIT
    Jurisdictional-Registry-Information:
      type: object
      properties:
        abnReplacedFrom:
          $ref: '#/components/schemas/Date'
          description: This is the date from which the ABN was replaced
        charityInformation:
          description: Charity information retrieved from ABR
          type: array
          items:
            $ref: '#/components/schemas/ABR-Information'
        gst:
          description: GST information retrieved from ABR
          type: array
          items:
            $ref: '#/components/schemas/ABR-Information'
        superannuationStatus:
          $ref: '#/components/schemas/Jurisdictional-Superannuation'
          description: Superannuation status retrieved from ABR
        acncRegistrations:
          description: ACNC registration information retrieved from ABR
          type: array
          items:
            $ref: '#/components/schemas/Jurisdictional-Acnc'
        dgr:
          description: DGR information retrieved from ABR
          type: array
          items:
            $ref: '#/components/schemas/Jurisdictional-Dgr'
        disclosingEntity:
          description: >-
            Indicates if the organization is a disclosing entity as per ASIC
            registry
          type: boolean
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
    Jurisdictional-Alias:
      description: >-
        This contains information that is very specific to certain jurisdictions
        and is not available in other jurisdictions
      type: object
      properties:
        alias:
          type: string
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Value-Source-ID:
      type: object
      properties:
        value:
          type: string
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Jurisdictional-Legal-Form-Details:
      type: object
      properties:
        basis:
          type: string
        capital:
          type: string
        comments:
          type: string
        control:
          type: string
        incorp:
          type: string
        partner:
          type: string
        responsibility:
          type: string
        stocks:
          type: string
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Jurisdictional-Annual-Account:
      type: object
      properties:
        lastAnnualAccountDate:
          $ref: '#/components/schemas/Date'
        sourceId:
          type: string
          description: >-
            Where specific information was sourced. This is a reference to an
            informationSource object in the informationSources map.
    Individual-Name:
      type: object
      required:
        - familyName
      x-examples:
        Example 1:
          givenName: John
          middleName: Jacob
          familyName: Smith
      properties:
        nameId:
          type: string
          example: 87654321-4321-4321-4321-210987654321
          description: >-
            Include the nameId of an existing name for this individual to modify
            it
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        language:
          type: string
          example: eng
          description: >-
            The ISO-639-3 standard code that best represents the language and
            character set of the individual's name
          default: eng
          x-oapi-codegen-extra-tags:
            audit: keep
        givenName:
          type: string
          example: John
          description: First name or given name
          x-oapi-codegen-extra-tags:
            audit: mask
        middleName:
          type: string
          example: R
          description: Middle name(s) or middle initial(s)
          x-oapi-codegen-extra-tags:
            audit: mask
        familyName:
          type: string
          example: Doe
          description: Last name, family name, or surname.
          x-oapi-codegen-extra-tags:
            audit: mask
        otherName:
          type: string
          example: null
          description: >-
            Another name that this person may be known as, e.g., "Bob" as an
            alternative to "Robert".
          x-oapi-codegen-extra-tags:
            audit: mask
        prefix:
          type: string
          example: Dr.
          description: >-
            Letters or words that come before an individual's full name (e.g.,
            title or honorific).
          x-oapi-codegen-extra-tags:
            audit: mask
        suffix:
          type: string
          example: Jr.
          description: >-
            Letters or words that come after an individual's full name (e.g.,
            generational suffix).
          x-oapi-codegen-extra-tags:
            audit: mask
        sourceId:
          type: string
          example: 87654321-4321-4321-4321-210987654322
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        displayName:
          type: string
          example: John Doe
          description: >-
            Long format of the individual's full name, including any prefix,
            suffix, middle, or other names. Best used when the proper structure
            of the individual's name is unknown.
          x-oapi-codegen-extra-tags:
            audit: mask
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the name was last updated. ISO 8601 format.
    Individual-Name-Alternate:
      type: object
      required:
        - familyName
      x-examples:
        Example 1:
          givenName: John
          middleName: Jacob
          familyName: Smith
      properties:
        nameId:
          type: string
          example: 87654321-4321-4321-4321-210987654321
          description: >-
            Include the nameId of an existing name for this individual to modify
            it.
          x-oapi-codegen-extra-tags:
            audit: keep
        language:
          type: string
          example: eng
          description: >-
            The ISO-639-3 standard code that best represents the language and
            character set of the individual's name.
          default: eng
          x-oapi-codegen-extra-tags:
            audit: keep
        givenName:
          type: string
          example: John
          description: First name or given name.
          x-oapi-codegen-extra-tags:
            audit: mask
        middleName:
          type: string
          example: R
          description: Middle name(s) or middle initial(s).
          x-oapi-codegen-extra-tags:
            audit: mask
        familyName:
          type: string
          example: Doe
          description: Last name, family name, or surname.
          x-oapi-codegen-extra-tags:
            audit: mask
        otherName:
          type: string
          example: null
          description: Other names to be stored with the entity.
          x-oapi-codegen-extra-tags:
            audit: mask
        prefix:
          type: string
          example: Dr.
          description: >-
            Element or series of letters that precede the individual's full name
            (e.g., title or honorific).
          x-oapi-codegen-extra-tags:
            audit: mask
        suffix:
          type: string
          example: Jr.
          description: >-
            Element or series of letters that follow the individual's full name
            (e.g., generational suffix).
          x-oapi-codegen-extra-tags:
            audit: mask
        sourceId:
          type: string
          example: 87654321-4321-4321-4321-210987654322
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        displayName:
          type: string
          example: John Doe
          description: >-
            Long format of the individual's full name, including any prefix,
            suffix, middle, or other names. Best used when the proper structure
            of the individual's name is unknown.
          x-oapi-codegen-extra-tags:
            audit: mask
        type:
          type: string
          example: OTHER
          enum:
            - OTHER
            - ALIAS
            - PREVIOUS
          description: >-
            Classification of the individual's name in relation to any of their
            alternative names.
          x-oapi-codegen-extra-tags:
            audit: keep
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the name was last updated. ISO 8601 format.
    Date-Of-Birth:
      type: object
      allOf:
        - type: object
          properties:
            dateOfBirthId:
              type: string
              description: >-
                As dates of birth are added to an entity, they are assigned a
                unique identifier to assist with modification and reference.

                To modify a date of birth, include the dateOfBirthId in an
                update request for the individual.
              readOnly: true
              x-oapi-codegen-extra-tags:
                audit: keep
            sourceId:
              type: string
              readOnly: true
              description: >-
                The source from which specific information was sourced. This is
                a link to an informationSource object in the informationSources
                map.
              x-oapi-codegen-extra-tags:
                audit: keep
            updatedAt:
              type: string
              format: date-time
              readOnly: true
              description: >-
                The date and time the date of birth was last updated. ISO 8601
                format.
        - $ref: '#/components/schemas/Date'
    Date-Of-Birth-Alternate:
      type: object
      allOf:
        - type: object
          properties:
            dateOfBirthId:
              type: string
              description: >-
                As dates of birth are added to an entity, they are assigned a
                unique identifier to assist with modification and reference.

                To modify a date of birth, include the dateOfBirthId in an
                update request for the individual.
              x-oapi-codegen-extra-tags:
                audit: keep
            sourceId:
              type: string
              readOnly: true
              description: >-
                The source from which specific information was sourced. This is
                a link to an informationSource object in the informationSources
                map.
              x-oapi-codegen-extra-tags:
                audit: keep
            updatedAt:
              type: string
              format: date-time
              readOnly: true
              description: >-
                The date and time the date of birth was last updated. ISO 8601
                format.
        - $ref: '#/components/schemas/Date'
    Gender:
      type: object
      properties:
        genderId:
          type: string
          readOnly: true
          deprecated: true
          x-oapi-codegen-extra-tags:
            audit: keep
        gender:
          $ref: '#/components/schemas/GenderEnum'
        sourceId:
          type: string
          readOnly: true
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          x-oapi-codegen-extra-tags:
            audit: keep
    Address-Place-Of-Birth:
      type: object
      required:
        - country
      description: The country or address where the individual was born.
      properties:
        addressId:
          type: string
          description: >-
            As addresses are added to an entity, they are assigned an ID to
            assist with tracking.
          example: 6ad15f64-5717-4562-b3fc-2c963f66abf9
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        sourceId:
          type: string
          readOnly: true
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          example: 1da65f64-5717-4562-b3fc-2c963f669fba
          x-oapi-codegen-extra-tags:
            audit: keep
        longForm:
          type: string
          description: >-
            In some cases, the address will need to be supplied in "long form",
            such as when it is determined from a document scan, or is unparsable
            in some way.

            The service will attempt to convert it to its constituent parts
            where possible.

            WARNING: Use of longForm is not guaranteed to produce perfect
            results, due to the variety of potential formats. You have been
            warned.

            Failure to break down or disambiguate the address will result in an
            error.
          example: 525 Kent Dr, Harlem NY 10037, USA
          x-oapi-codegen-extra-tags:
            audit: mask
        unstructuredLongForm:
          type: string
          readOnly: true
          description: >-
            Raw, unformatted address as provided by the source. Not normalized
            or standardized.
          example: 3A/525 KENT DRIVE HARLEM NEW YORK 10036 USA
          x-oapi-codegen-extra-tags:
            audit: mask
        unitNumber:
          type: string
          description: Unit/Apartment/Flat/Suite/etc. number
          example: 3A
          x-oapi-codegen-extra-tags:
            audit: mask
        buildingName:
          type: string
          description: The name of the building, apartment block, condominium, etc.
          example: EQ Tower
          x-oapi-codegen-extra-tags:
            audit: mask
        streetName:
          type: string
          description: >-
            The name of the street.

            This field should ideally contain only the street name, without the
            street number or street type. In some cases, especially when
            auto-populated by external services (e.g., Google), it may include
            additional address components.

            For best results, keep the street name separate from the street
            number and street type. See
            https://docs.frankieone.com/docs/working-with-addresses for more
            details.
          example: Kent
          x-oapi-codegen-extra-tags:
            audit: mask
        streetNumber:
          type: string
          description: >-
            The number assigned to the property on the street. Typically a
            number, but can also be alphanumeric (e.g., 3A).
          example: '525'
          x-oapi-codegen-extra-tags:
            audit: mask
        streetType:
          type: string
          description: The street type, such as Road, Street, Avenue, Circuit, etc.
          example: Dr
          x-oapi-codegen-extra-tags:
            audit: mask
        neighborhood:
          type: string
          description: >-
            The neighborhood or suburb within the town or city. Use this only if
            you require both a suburb and a locality/town/city; otherwise, use
            the "locality" parameter.
          example: Harlem
          x-oapi-codegen-extra-tags:
            audit: keep
        locality:
          type: string
          description: The locality, borough, town, village, or city.
          example: Manhattan
          x-oapi-codegen-extra-tags:
            audit: keep
        district:
          type: string
          description: The district, region, county, province, or cantonment.
          example: New York County
          x-oapi-codegen-extra-tags:
            audit: keep
        subdivision:
          type: string
          description: >-
            The ISO 3166-2 alphanumeric code of the administrative
            area/state/sub-division, minus the country code, e.g., VIC
            (Victoria) or TX (Texas).
          example: NY
          x-oapi-codegen-extra-tags:
            audit: keep
        country:
          type: string
          description: >-
            The ISO 3166-1 alphanumeric three-letter code of the country, e.g.,
            AUS, USA, IDR, KOR, etc.

            For more details, refer to: https://en.wikipedia.org/wiki/ISO_3166-1
          example: USA
          x-oapi-codegen-extra-tags:
            audit: keep
        postalCode:
          type: string
          description: The postal, zip, or pin code of the address.
          example: '10037'
          x-oapi-codegen-extra-tags:
            audit: keep
    Consent:
      type: object
      properties:
        type:
          type: string
          description: The type of consent given by an entity
          example: UNDER18
          enum:
            - GENERAL
            - DOCS
            - CREDITHEADER
            - UNDER18
            - PAYROLL
            - INSURANCE
            - SUPERANNUATION
          x-oapi-codegen-extra-tags:
            audit: keep
        schemaVersion:
          type: integer
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        sourceId:
          type: string
          description: >-
            The source from which specific information was obtained. This is a
            link to an informationSource object in the informationSources map.
          example: 93da15f64-5717-4562-b3fc-2c963f6663fe
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
    Address-Base:
      type: object
      required:
        - country
      description: Address information in all available formats
      properties:
        addressId:
          type: string
          description: >-
            As addresses are added to an entity, they are assigned an ID to
            assist with tracking.
          x-oapi-codegen-extra-tags:
            audit: keep
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: The date and time the address was last updated. ISO 8601 format.
        sourceId:
          type: string
          readOnly: true
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          x-oapi-codegen-extra-tags:
            audit: keep
        type:
          $ref: '#/components/schemas/Address-TypeEnum'
          description: >-
            Used to indicate what sort of address this is, such as residential,
            business, postal, etc. Should be used in conjunction with the status
            field to indicate the current status of the address and provide more
            context.
        typeDescription:
          type: string
          description: >-
            Description for the type or the address type as fetched from an
            authoritative source like a company registry.
          x-oapi-codegen-extra-tags:
            audit: keep
        validFrom:
          $ref: '#/components/schemas/Date'
          description: >-
            The date this address first became active. Used mostly with business
            addresses.
        validTo:
          $ref: '#/components/schemas/Date'
          description: >-
            The date this address was no longer used (if available). Used mostly
            with business addresses.
        longForm:
          type: string
          description: >-
            In some cases, the address will need to be supplied in "long form",
            such as when it is determined from a document scan, or is unparsable
            in some way.

            The service will attempt to convert it to its constituent parts
            where possible.

            WARNING: Use of longForm is not guaranteed to produce perfect
            results, due to the variety of potential formats. You have been
            warned.

            Failure to break down or disambiguate the address will result in an
            error.
          x-oapi-codegen-extra-tags:
            audit: mask
        unitNumber:
          type: string
          description: Unit/Apartment/Flat/Suite/etc. number
          x-oapi-codegen-extra-tags:
            audit: mask
        buildingName:
          type: string
          description: The name of the building, apartment block, condominium, etc.
          x-oapi-codegen-extra-tags:
            audit: mask
        streetName:
          type: string
          description: >-
            The name of the street.

            This field should ideally contain only the street name, without the
            street number or street type. In some cases, especially when
            auto-populated by external services (e.g., Google), it may include
            additional address components.

            For best results, keep the street name separate from the street
            number and street type. See
            https://docs.frankieone.com/docs/working-with-addresses for more
            details.
          x-oapi-codegen-extra-tags:
            audit: mask
        streetNumber:
          type: string
          description: >-
            The number assigned to the property on the street. Typically a
            number, but can also be alphanumeric (e.g., 3A).
          x-oapi-codegen-extra-tags:
            audit: mask
        streetType:
          type: string
          description: The street type, such as Road, Street, Avenue, Circuit, etc.
          x-oapi-codegen-extra-tags:
            audit: mask
        neighborhood:
          type: string
          description: >-
            The neighborhood or suburb within the town or city. Use this only if
            you require both a suburb and a locality/town/city; otherwise, use
            the "locality" parameter.
          x-oapi-codegen-extra-tags:
            audit: keep
        locality:
          type: string
          description: The locality, town, village, suburb, or city.
          x-oapi-codegen-extra-tags:
            audit: keep
        district:
          type: string
          description: The district, region, county, province, or cantonment.
          x-oapi-codegen-extra-tags:
            audit: keep
        subdivision:
          type: string
          description: >-
            The administrative area, state, or sub-division. Use local
            abbreviations, such as VIC (Victoria) or TX (Texas).
          x-oapi-codegen-extra-tags:
            audit: keep
        country:
          type: string
          description: >-
            The ISO-3166-1 country code. You must use the alpha-3 country code
            (e.g., AUS, USA, IDR, KOR, etc). Conversion will be handled as
            needed.

            For more details, refer to: https://en.wikipedia.org/wiki/ISO_3166-1
          x-oapi-codegen-extra-tags:
            audit: keep
        postalCode:
          type: string
          description: The postal code of the address.
          x-oapi-codegen-extra-tags:
            audit: keep
        careOf:
          type: string
          description: >-
            The individual or business name at this address, if different from
            the name of the entity to which this address belongs.
          x-oapi-codegen-extra-tags:
            audit: mask
        status:
          $ref: '#/components/schemas/Address-StatusEnum'
          description: >-
            The status of the address information, such as current, previous, or
            future. Should be used in conjunction with the `type` field to
            indicate the type of the address and provide more context.
    Organization-Blocking-Candidates:
      type: object
      properties:
        address:
          description: >-
            The address or location of company including building, street, city
            and state.
          type: string
        country:
          description: The jurisdiction or country where the company is located.
          type: string
        registeredName:
          description: The registered name of the company.
          type: string
        registryDescription:
          description: >-
            The entity responsible for business registration in the given
            jurisdiction.
          type: string
        subdivision:
          description: The state within the country where the company is located.
          type: string
    Risk-Factor-ID:
      type: string
      description: Unique identifier of the risk factor.
      readOnly: true
    Risk-Factor-Status:
      type: string
      enum:
        - VALID
        - STALE
        - OVERRIDDEN
        - DISCARDED
      description: |
        The current status of the risk factor:
          - VALID: The risk factor is applicable to the entity.
          - STALE: The risk factor is no longer applicable to the entity. If this status is returned, it means that at the time of risk assessment, the risk factor was valid.
          - OVERRIDDEN: The risk factor was manually overridden. If present, manualOverrideScore was used for risk score calculation in the risk assessment.
          - DISCARDED: The risk factor was added during workflow execution but was discarded at a later stage in the same workflow. This factor was not used in the final risk assessment.
      default: VALID
    Workflow-Step-Summary-KYC:
      type: object
      description: >
        Captures the overall summary of the KYC step, including which matches
        have been made, with which sources, and under which ruleset.
      required:
        - stepName
      properties:
        matchedRules:
          type: array
          description: >-
            List of KYC rulesets that have matched, along with a summary of
            those matches.
          items:
            $ref: '#/components/schemas/Workflow-Step-Summary-KYC-MatchRule'
        unmatchedRules:
          type: array
          description: >-
            List of KYC rulesets that did not have sufficient results to be
            considered a match.
          items:
            $ref: '#/components/schemas/Workflow-Step-Summary-KYC-MatchRule'
        stepName:
          type: string
    Workflow-Step-Summary-AML:
      type: object
      description: >
        Provides details of the overall AML (Anti-Money Laundering) step
        results.
      required:
        - stepName
      properties:
        totalHits:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits across all providers.
        totalFalsePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits marked as false positive across all
            providers.
        totalTruePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits marked as true positive across all
            providers.
        totalUnknown:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits marked as unknown across all providers.
        totalUnresolved:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits that remain unresolved across all
            providers.
        numUnresolvedPEP:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of unresolved AML hits with a PEP (Politically Exposed
            Person) entry across all providers.
        numUnresolvedSanction:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of unresolved AML hits with a sanctions entry across
            all providers.
        numUnresolvedWatchlist:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of unresolved AML hits with a watchlist entry across
            all providers.
        numUnresolvedAdverseMedia:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of unresolved AML hits with an adverse media entry
            across all providers.
        providerSummaries:
          type: array
          description: Summary of each provider's AML results.
          items:
            $ref: '#/components/schemas/Workflow-Step-Summary-AML-ProviderSummary'
        stepName:
          type: string
          description: Name of the AML step.
    Workflow-Step-Summary-ID:
      type: object
      description: >
        ID match counts for each checked document, whether matched or not. The
        keys in this map are the document IDs. The match type in the value will
        be either "gov_id" or "other_id". The resulting structure would look
        like:


        stepData: {
            "documentId": {
              "matchType": "gov_id",
              "matchCount": 5,
              "isVerified": true
            },
            "documentId": {
              "matchType": "other_id",
              "matchCount": 5,
              "isVerified": true
            }
        }
      required:
        - stepName
      additionalProperties:
        $ref: '#/components/schemas/Workflow-Step-Summary-ID-Matches'
      properties:
        matchTypes:
          description: >
            The match types that this overall count and result refer to.
            Currently, one or more of:

            - gov_id

            - other_id


            These will be keys in a map whose values hold the results for the
            individual match types. The resulting structure would look like the
            following. Here, dob has zero matches and is not verified but it was
            checked, so other than the checked flag the value object is simply
            empty. A completely empty object would imply that match type was not
            checked.

                "matchTypes": {
                  "address": {
                    "matchCount": 1,
                    "matchSources": [ "au-elec-roll" ],
                    "checked": true,
                    "verified": true
                  },
                  "dob": {
                    "checked": true
                  }
                }

            For a one_plus KYC check, there will be two
            Workflow-Step-Summary-KYC-MatchRule-Matches records: one for 'name'
            and one for 'address, dob' (as in the sample above).
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Workflow-Step-Summary-KYC-MatchRule-Matches-MatchTypes
        matchCount:
          description: >
            Number of matches for this set of match types. This is the sum of
            the matchCounts in the matchTypes map.
          type: integer
          example: 2
        matchCountRequired:
          description: |
            Number of distinct matches required for this set of match types.
          type: integer
          example: 1
        hasAllRequiredSourcesMatched:
          description: >-
            True if all required match sources (e.g., electoral roll) were
            matched.
          type: boolean
          example: true
        requiredSourcesMatched:
          description: List of required sources that were matched.
          type: array
          items:
            type: string
        requiredSourcesNotMatched:
          description: List of required sources that were not matched.
          type: array
          items:
            type: string
        isVerified:
          description: True if there are enough matches to meet the matching requirement.
          type: boolean
          example: false
        stepName:
          type: string
    Workflow-Step-Summary-NameValidation:
      type: object
      description: |
        Provides summary details for the name validation step.
      required:
        - stepName
      properties:
        langCode:
          type: string
          description: Language code used for translation.
        nameMatchOrder:
          type: string
          description: >
            Depending on the name to be translated and how it is presented, the
            native language and anglicized version ordering might be mixed up.
            The service will try various orderings to determine if a match can
            be made.

            The order codes represent the actual order that matched.

            Each letter combination represents *F*amily, *G*iven, and *O*ther
            names.

            For example, FGO means that the match was on Family, Given, and
            Other names, in that order.
          enum:
            - FGO
            - OFG
            - GOF
            - FOG
            - GFO
            - OGF
            - FG
            - FO
            - GF
            - OF
        stepName:
          type: string
          description: Name of the workflow step.
    Workflow-Step-Summary-Visa:
      type: object
      description: |
        Provides details of the visa as returned from VEVO.
        Class and subclass values can be found on the VEVO website.
      required:
        - stepName
      properties:
        country:
          type: string
          description: Country of origin (ISO 3166-1 alpha-3 code).
          maxLength: 3
        class:
          type: string
          description: Visa class code.
        subClass:
          type: string
          description: Visa subclass code.
        hasExpired:
          type: boolean
          description: >-
            Indicates if the visa has expired (sometimes expiry date is not
            returned).
        noExpiry:
          type: boolean
          description: Indicates if this visa has no expiry.
        onAllowList:
          type: boolean
          description: >-
            Indicates if this class/subclass is on the allow list, if an allow
            list is set.
        onDenyList:
          type: boolean
          description: >-
            Indicates if this class/subclass is on the deny list, if a deny list
            is set.
        stepName:
          type: string
          description: Name of the workflow step.
    Workflow-Step-Summary-Start:
      type: object
      required:
        - stepName
      properties:
        workflowExecutionId:
          type: string
        workflowContextId:
          type: string
          format: uuid
        stepName:
          type: string
    Workflow-Step-Summary-Finish:
      type: object
      required:
        - stepName
      properties:
        workflowContextId:
          type: string
          format: uuid
        stepName:
          type: string
    Workflow-Step-Summary-Decision:
      type: object
      required:
        - stepName
      properties:
        stepName:
          type: string
          description: Name of the executed step.
        workflowExecutionResult:
          $ref: '#/components/schemas/Workflow-Execution-ResultEnum'
    Workflow-Step-Summary-Matchlist:
      type: object
      description: >
        Provides a summary of all matchlist screening results for a workflow
        step.
      required:
        - stepName
      properties:
        totalMatches:
          type: integer
          format: int32
          minimum: 0
          description: Total number of matches identified across all matchlists.
        totalFalsePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches across all matchlists that have been marked
            as false positives.
        totalTruePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches across all matchlists that have been marked
            as true positives.
        totalUnknown:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches across all matchlists that have been marked
            as unknown.
        totalUnresolved:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches across all matchlists that are yet to be
            classified.
        matchlistSummaries:
          type: array
          description: A summary of each provider's matchlist screening results.
          items:
            $ref: '#/components/schemas/Workflow-Step-Summary-Matchlist-Summary'
        stepName:
          type: string
          description: Name of the workflow step.
    Workflow-Step-Summary-Duplicate:
      type: object
      description: |
        Provides details of the overall duplicate step results.
      required:
        - stepName
      properties:
        totalDuplicates:
          type: integer
          format: int32
          minimum: 0
          description: Total number of duplicate hits found.
        totalFalsePositives:
          type: integer
          format: int32
          minimum: 0
          description: Total number of duplicates marked as false positive.
        totalTruePositives:
          type: integer
          format: int32
          minimum: 0
          description: Total number of duplicates marked as true positive.
        totalUnresolved:
          type: integer
          format: int32
          minimum: 0
          description: Total number of duplicate hits that are not yet resolved.
        totalResolved:
          type: integer
          format: int32
          minimum: 0
          description: Total number of duplicate hits that are already resolved.
        stepName:
          type: string
          description: Name of the duplicate step.
    Workflow-Step-Summary-Activity-Monitor:
      type: object
      description: |
        Provides details of the overall activity monitoring step results
      required:
        - stepName
      properties:
        stepName:
          type: string
        amlActivityCount:
          type: integer
          format: int32
          minimum: 0
          description: >
            Count of AML activity alerts. Includes all AML alerts with status
            IN_REVIEW or NULL.

            Excludes false positives and true positives.
        amlActivityTruePositiveCount:
          type: integer
          format: int32
          minimum: 0
          description: |
            Count of true positive AML activity alerts.
        fraudActivityCount:
          type: integer
          format: int32
          minimum: 0
          description: >
            Count of Fraud activity alerts. Includes all Fraud alerts with
            status IN_REVIEW or NULL.

            Excludes false positives and true positives.
        fraudActivityTruePositiveCount:
          type: integer
          format: int32
          minimum: 0
          description: |
            Count of true positive Fraud activity alerts.
        eventActivityCount:
          type: integer
          format: int32
          minimum: 0
          description: >
            Count of Behaviour activity alerts. Includes all Event alerts with
            status IN_REVIEW or NULL.

            Excludes false positives and true positives.
        eventActivityTruePositiveCount:
          type: integer
          format: int32
          minimum: 0
          description: |
            Count of true positive Behaviour activity alerts.
    Workflow-Step-Summary-Fraud:
      type: object
      description: |
        Provides details of the overall Fraud step results.
      required:
        - stepName
        - numberSessionsEvaluated
        - numberSessionsNotEvaluated
      properties:
        maximumIpAddressRisk:
          type: string
          description: Maximum IP risk found
        numberIpAddressEvaluations:
          type: integer
          format: int32
          minimum: 0
          description: Total number of IP evaluations
        maximumEmailAddressRisk:
          type: string
          description: Maximum email address risk identified.
        numberEmailAddressEvaluations:
          type: integer
          format: int32
          minimum: 0
          description: Total number of email address evaluations.
        maximumPhoneNumberRisk:
          type: string
          description: Maximum phone number risk identified.
        numberPhoneNumberEvaluations:
          type: integer
          format: int32
          minimum: 0
          description: Total number of phone number evaluations.
        maximumDeviceRisk:
          type: string
          description: Maximum device risk identified.
        numberDeviceEvaluations:
          type: integer
          format: int32
          minimum: 0
          description: Total number of device evaluations.
        numberSessionsEvaluated:
          type: integer
          format: int32
          minimum: 0
          description: Total number of sessions evaluated.
        numberSessionsNotEvaluated:
          type: integer
          format: int32
          minimum: 0
          description: >
            Total number of sessions not evaluated.


            This value is greater than 0 when there are too many sessions to
            reasonably evaluate.
        stepName:
          type: string
    Workflow-Step-Summary-SupportDoc:
      type: object
      description: |
        Provides summary details for the supporting document step.
      required:
        - stepName
      properties:
        approvedCount:
          type: integer
          description: Number of support documents approved
        rejectedCount:
          type: integer
          description: Number of support documents rejected
        unresolvedCount:
          type: integer
          description: Number of support documents unresolved
        stepName:
          type: string
    Workflow-Step-Summary-Report:
      type: object
      required:
        - stepName
      properties:
        stepName:
          type: string
        reportType:
          $ref: '#/components/schemas/Report-Type'
        documentId:
          type: string
        attachmentId:
          type: string
    Workflow-Step-Risk-Result-Detail:
      type: object
      description: |
        Details of a calculated risk result for a workflow step.
      required:
        - factor
        - score
        - value
      properties:
        factor:
          type: string
          description: Name of the risk factor contributing to this score.
        score:
          type: integer
          description: Score contributed by this factor.
        value:
          type: string
          description: Value used for the score factor.
        aggregationMethod:
          type: string
          description: method used to aggregate score
        matchedRule:
          type: string
          description: description of the specific rule or range that was matched
        source:
          type: string
          description: >-
            JSON path to the specific field in the entity object that provided
            the data for the evaluation
        inputsConsidered:
          type: array
          description: List of raw values and their individual scores
          items:
            $ref: '#/components/schemas/Workflow-Step-Risk-Result-Value'
    Process-Result-ID:
      type: string
      description: >-
        When a process result object is first created, it is assigned an ID.
        When updating the process result object, set the processResultID to the
        ID of the process result object you are referring to.
      readOnly: true
      x-oapi-codegen-extra-tags:
        audit: keep
    Provider-Result:
      type: object
      properties:
        name:
          type: string
        source:
          type: string
        sourceNormalized:
          type: string
        reference:
          type: string
        fuzziness:
          $ref: '#/components/schemas/FuzzinessLevel'
        confidence:
          $ref: '#/components/schemas/ConfidenceLevel'
        riskScore:
          type: number
          format: double
        errorCode:
          type: string
        errorMessage:
          type: string
      readOnly: true
    Process-ResultEnum:
      type: string
      enum:
        - MATCH
        - PARTIAL_MATCH
        - INVALID_MATCH
        - NO_MATCH
        - CLEAR
        - HIT
        - BAD_DATA
        - CREATED
        - UPDATED
        - DELETED
        - FAIL
        - NOT_APPLICABLE
        - SUSPECTED
        - REJECTED
        - MANUAL
        - CLEAR_AUTO
        - OVERRIDE
      readOnly: true
      description: >
        The actual pass/fail result of the element check

        - MATCH: The element check matched the expected criteria.

        - PARTIAL_MATCH: The element check partially matched the expected
        criteria.

        - INVALID_MATCH: The element check matched but was invalid.

        - NO_MATCH: The element check did not match the expected criteria.

        - CLEAR: The element check was cleared.

        - HIT: The element check hit a specific condition or threshold.

        - BAD_DATA: The element check encountered bad data.

        - CREATED: The element check resulted in the creation of a new record.

        - UPDATED: The element check resulted in the update of an existing
        record.

        - DELETED: The element check resulted in the deletion of a record.

        - FAIL: The element check failed.

        - NOT_APPLICABLE: The element check was not applicable in the given
        context.

        - SUSPECTED: The element check raised a suspicion but did not confirm
        it.

        - REJECTED: The element check was rejected.

        - MANUAL: The element check was manually reviewed or processed.

        - CLEAR_AUTO: The element check was cleared automatically.

        - OVERRIDE: The element check was overridden by a manual action or
        system rule.
    Process-Result-ClassEnum:
      type: string
      description: >-
        Provides additional clarity for the result class, especially for more
        generic element types like 'person'.
      enum:
        - KYC
        - ID
        - IDV
        - AML
        - FRAUDLIST
        - FRAUDCHECK
        - FRAUD
        - DEVICE
        - MOBILE
        - EMAIL
        - LOOKUP
        - CREATE
        - UPDATE
        - DELETE
        - KYB
        - DUPLICATE
        - BLOCKLIST
        - SUPPORTING_DOC
        - ORGANIZATION_PROFILE
        - ORGANIZATION_VERIFICATION
        - ORGANIZATION_OWNERSHIP
        - MATCHLIST
        - VISA
        - ACTIVITY
      readOnly: true
    Process-Result-SubClass:
      type: string
      pattern: ^[A-Z_]+$
      description: the subclass must be in SCREAMING_SNAKE_CASE
    Supplementary-Data:
      type: object
      readOnly: true
      oneOf:
        - $ref: '#/components/schemas/Supplementary-Data-AML'
        - $ref: '#/components/schemas/Supplementary-Data-KYC-Address'
        - $ref: '#/components/schemas/Supplementary-Data-KYC-DoB'
        - $ref: '#/components/schemas/Supplementary-Data-KYC-Gender'
        - $ref: '#/components/schemas/Supplementary-Data-KYC-Name'
        - $ref: '#/components/schemas/Supplementary-Data-ID'
        - $ref: '#/components/schemas/Supplementary-Data-Visa'
        - $ref: '#/components/schemas/Supplementary-Data-NameValidation'
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Organization'
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Address-Verification'
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Name-Verification'
        - $ref: >-
            #/components/schemas/Supplementary-Data-KYB-Registration-Verification
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Tax-Verification'
        - $ref: '#/components/schemas/Supplementary-Data-Duplicate'
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Document'
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Facial-Comparison'
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Facial-Liveness'
        - $ref: '#/components/schemas/Supplementary-Data-IDV-OCR'
        - $ref: '#/components/schemas/Supplementary-Data-IDV-OCR-Comparison'
        - $ref: '#/components/schemas/Supplementary-Data-Matchlist'
        - $ref: '#/components/schemas/Supplementary-Data-Activity-AML'
        - $ref: '#/components/schemas/Supplementary-Data-Activity-Fraud'
        - $ref: '#/components/schemas/Supplementary-Data-Activity-Event'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-Device'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-Email-Address'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-IP-Address'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-Phone-Number'
      discriminator:
        propertyName: type
        mapping:
          AML:
            $ref: '#/components/schemas/Supplementary-Data-AML'
          KYC_ADDRESS:
            $ref: '#/components/schemas/Supplementary-Data-KYC-Address'
          KYC_DOB:
            $ref: '#/components/schemas/Supplementary-Data-KYC-DoB'
          KYC_GENDER:
            $ref: '#/components/schemas/Supplementary-Data-KYC-Gender'
          KYC_NAME:
            $ref: '#/components/schemas/Supplementary-Data-KYC-Name'
          ID:
            $ref: '#/components/schemas/Supplementary-Data-ID'
          VISA:
            $ref: '#/components/schemas/Supplementary-Data-Visa'
          NAME_VALIDATION:
            $ref: '#/components/schemas/Supplementary-Data-NameValidation'
          KYB_ORGANIZATION:
            $ref: '#/components/schemas/Supplementary-Data-KYB-Organization'
          KYB_ADDRESS_VERIFICATION:
            $ref: '#/components/schemas/Supplementary-Data-KYB-Address-Verification'
          KYB_NAME_VERIFICATION:
            $ref: '#/components/schemas/Supplementary-Data-KYB-Name-Verification'
          KYB_REGISTRATION_VERIFICATION:
            $ref: >-
              #/components/schemas/Supplementary-Data-KYB-Registration-Verification
          KYB_TAX_VERIFICATION:
            $ref: '#/components/schemas/Supplementary-Data-KYB-Tax-Verification'
          DUPLICATE:
            $ref: '#/components/schemas/Supplementary-Data-Duplicate'
          IDV_DOCUMENT:
            $ref: '#/components/schemas/Supplementary-Data-IDV-Document'
          IDV_FACIAL_COMPARISON:
            $ref: '#/components/schemas/Supplementary-Data-IDV-Facial-Comparison'
          IDV_FACIAL_LIVENESS:
            $ref: '#/components/schemas/Supplementary-Data-IDV-Facial-Liveness'
          IDV_OCR:
            $ref: '#/components/schemas/Supplementary-Data-IDV-OCR'
          IDV_OCR_COMPARISON:
            $ref: '#/components/schemas/Supplementary-Data-IDV-OCR-Comparison'
          MATCHLIST:
            $ref: '#/components/schemas/Supplementary-Data-Matchlist'
          ACTIVITY_AML:
            $ref: '#/components/schemas/Supplementary-Data-Activity-AML'
          ACTIVITY_FRAUD:
            $ref: '#/components/schemas/Supplementary-Data-Activity-Fraud'
          ACTIVITY_EVENT:
            $ref: '#/components/schemas/Supplementary-Data-Activity-Event'
          FRAUD_DEVICE:
            $ref: '#/components/schemas/Supplementary-Data-Fraud-Device'
          FRAUD_EMAIL_ADDRESS:
            $ref: '#/components/schemas/Supplementary-Data-Fraud-Email-Address'
          FRAUD_IP_ADDRESS:
            $ref: '#/components/schemas/Supplementary-Data-Fraud-IP-Address'
          FRAUD_PHONE_NUMBER:
            $ref: '#/components/schemas/Supplementary-Data-Fraud-Phone-Number'
    Process-Result-Error:
      type: object
      properties:
        code:
          type: string
          description: The error code associated with the process result.
        description:
          type: string
          description: A description of the error.
        location:
          type: string
          description: The location or context where the error occurred.
    Process-Result-System-StatusEnum:
      type: string
      description: >
        If there has been an additional system status applied to the process.

        - VALID: The process result is valid and has not been marked for any
        special handling.

        - EXPIRED: The process result has expired and is no longer valid.

        - STALE: The process result is considered stale, meaning it may be
        outdated but not necessarily invalid.

        - MARKED_INVALID: The process result has been explicitly marked as
        invalid.

        - MARKED_IGNORE: The process result has been marked to be ignored,
        meaning it should not be considered in further processing.
      enum:
        - VALID
        - EXPIRED
        - STALE
        - MARKED_INVALID
        - MARKED_IGNORE
      default: VALID
      readOnly: true
    Process-Result-Manual-StatusEnum:
      allOf:
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-AML'
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-KYC'
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-IDV'
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-Duplicate'
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-Matchlist'
        - $ref: '#/components/schemas/Process-Result-Manual-StatusEnum-SupportDoc'
    Process-Result-StateEnum:
      type: string
      readOnly: true
      description: Denotes the final disposition of this element's check result
      enum:
        - IN_PROGRESS
        - COMPLETED
        - TIMEOUT
        - ERROR
    Process-Risk-Factor-Value:
      type: object
      description: Risk Factor Value
      required:
        - factor
        - value
      properties:
        factor:
          type: string
          description: Name of the risk factor.
        value:
          type: string
          description: >-
            Supplier/service provided value that Frankie will plug into the risk
            engine to determine a score.
    Phone-Number-ID:
      type: string
      description: >-
        As phone numbers are added to an entity, they are assigned an ID to
        assist with tracking.

        If you are adjusting phone numbers, you will need to include the ID to
        reference it correctly in the list.
      example: ad165f64-5717-4562-b3fc-2c963f66bfa9
      x-oapi-codegen-extra-tags:
        audit: keep
    Email-Address-ID:
      type: string
      description: >-
        As email addresses are added to an entity, they are assigned a unique
        identifier to assist with modification and reference.

        To modify an email, include the emailId in an update request.
      example: aa385f64-5717-4562-b3fc-2c963f66af21
      x-oapi-codegen-extra-tags:
        audit: keep
    External-Reference-Metadata:
      type: object
      required:
        - type
        - value
      x-examples:
        String Metadata:
          type: STRING
          value: '2024-01-15'
        Number Metadata:
          type: NUMBER
          value: '100'
      description: Metadata item for external reference with typed value
      properties:
        type:
          $ref: '#/components/schemas/External-Reference-Metadata-TypeEnum'
        value:
          type: string
          maxLength: 128
          description: The value of the metadata item, stored as string regardless of type
    Document-Information:
      type: object
      required:
        - type
        - country
      properties:
        class:
          $ref: '#/components/schemas/Document-Class'
        documentId:
          $ref: '#/components/schemas/Document-ID'
        entityId:
          $ref: '#/components/schemas/Entity-ID'
        expiryDate:
          $ref: '#/components/schemas/Date'
          description: The expiry date of the document in YYYY-MM-DD format.
        issueDate:
          $ref: '#/components/schemas/Date'
          description: The issue date of the document in YYYY-MM-DD format.
        primaryIdentifier:
          type: string
          description: >-
            The primary ID number of the document, e.g., the ID number on a
            driver licence.
          example: '000734130'
          x-oapi-codegen-extra-tags:
            audit: mask
        secondaryIdentifier:
          type: string
          description: >-
            The secondary ID number of the document, e.g., the card number on a
            driver licence.
          example: P0001975
          x-oapi-codegen-extra-tags:
            audit: mask
        type:
          $ref: '#/components/schemas/Document-Type'
        subtype:
          type: string
          description: >-
            The sub-type of the document, if relevant. This can include specific
            report or attestation types, e.g., FACIAL_COMPARISON (attestation)
            or KYC (report).
          example: Photo Comparison
          x-oapi-codegen-extra-tags:
            audit: keep
        subdivision:
          type: string
          description: >-
            The abbreviated ISO 3166 subdivision/region where the ID was issued,
            e.g., "VIC" for the Australian state of Victoria or "MA" for the US
            state of Massachusetts.
          example: VIC
          x-oapi-codegen-extra-tags:
            audit: keep
        country:
          type: string
          maxLength: 3
          description: >-
            The ISO 3166 alpha-3 country code where the document was issued, if
            relevant.

            For more information, please refer to:
            https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
          example: AUS
          x-oapi-codegen-extra-tags:
            audit: keep
        createdAt:
          type: string
          format: date-time
          description: >-
            The date and time when the document record was created, in ISO 8601
            format.
          example: '2024-01-15T02:18:11.365Z'
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        updatedAt:
          type: string
          format: date-time
          description: >-
            The date and time when the document record was last updated, in ISO
            8601 format.
          example: '2025-01-16T02:18:11.365Z'
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        validFrom:
          $ref: '#/components/schemas/Date'
          description: >-
            The date when the validity period for this document began, if
            applicable.
        validTo:
          $ref: '#/components/schemas/Date'
          description: >-
            The date when the validity period for this document ended, if
            applicable.
        sourceId:
          type: string
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          example: 324f15f64-5717-4562-b3fc-2c963f66ffa1
          readOnly: true
          x-oapi-codegen-extra-tags:
            audit: keep
        supplementaryData:
          $ref: '#/components/schemas/Document-Supplementary-Data'
        customAttributes:
          $ref: '#/components/schemas/Custom-Attributes'
        attachments:
          type: array
          description: >-
            List of scans, pages, or files for a single document, e.g., front
            and back images of a driver licence, or page 1, 2, and 3 of a
            supporting document.


            Attachments can be uploaded in a single call or in multiple calls.
            To upload attachments over multiple calls, include the documentId in
            the request.
          items:
            $ref: '#/components/schemas/Document-Attachment'
    Organization-Registry:
      type: object
      properties:
        registry:
          description: Registry the organization is registered at
          type: string
        registryDescription:
          description: The description of the registry
          type: string
    Organization-Region:
      type: object
      required:
        - country
      properties:
        country:
          type: string
          description: >-
            The ISO-3166-1 country. You must use the alpha3 country code (e.g.

            AUS, USA, IDR, KOR, etc). 


            For more details refer to:
            [https://en.wikipedia.org/wiki/ISO_3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)
        subdivision:
          type: string
          description: >-
            The ISO-3166-2 subdivision code referring to state or province or
            other regional division. 


            For more details refer to:
            [https://en.wikipedia.org/wiki/ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)
    Organization-Interest-Type:
      type: string
      enum:
        - UNIT
        - TRUST
        - OTHER
      description: Type of share interest. This can either be "UNIT", "TRUST" or "OTHER"
    Date-Base:
      type: object
      properties:
        year:
          type: string
          description: Year in "YYYY" format.
          example: '1990'
          x-oapi-codegen-extra-tags:
            audit: mask
        month:
          type: string
          description: Month in "MM" format.
          example: '03'
          x-oapi-codegen-extra-tags:
            audit: mask
        day:
          type: string
          description: Day in "DD" format.
          example: '27'
          x-oapi-codegen-extra-tags:
            audit: mask
        unstructured:
          type: string
          description: >-
            Raw date format without normalization or standardization to the
            Gregorian calendar.

            This can be used to provide non-Gregorian dates (e.g., Islamic
            dates).
          example: 12 Rajab 1445 AH
          x-oapi-codegen-extra-tags:
            audit: mask
        type:
          $ref: '#/components/schemas/Date-Type'
    Official-Organization:
      type: object
      properties:
        organizationName:
          type: string
        registrationNumber:
          type: string
        organizationStatus:
          $ref: '#/components/schemas/Organization-Status'
    ABR-Information:
      type: object
      properties:
        type:
          description: The type of information
          type: string
        name:
          description: The name assigned by the registry to the information
          type: string
        validFrom:
          $ref: '#/components/schemas/Date'
          description: The date from which the information is valid from
        validTo:
          $ref: '#/components/schemas/Date'
          description: The date until which the information is valid
    Jurisdictional-Superannuation:
      type: object
      properties:
        complyingCode:
          type: string
        complyingDescription:
          type: string
        regulator:
          type: string
        exceptionMessage:
          type: string
    Jurisdictional-Acnc:
      type: object
      properties:
        status:
          type: string
        validFrom:
          $ref: '#/components/schemas/Date'
        validTo:
          $ref: '#/components/schemas/Date'
    Jurisdictional-Dgr:
      type: object
      properties:
        dgrEntityEndorsement:
          type: string
        dgrItemNumber:
          type: string
        validFrom:
          $ref: '#/components/schemas/Date'
          description: The date from which this DGR endorsement is valid.
        validTo:
          $ref: '#/components/schemas/Date'
          description: The date to which this DGR endorsement is valid.
    GenderEnum:
      type: string
      enum:
        - MALE
        - FEMALE
        - NON_BINARY
        - OTHER
        - UNSPECIFIED
      x-oapi-codegen-extra-tags:
        audit: mask
    Address-TypeEnum:
      type: string
      default: OTHER
      enum:
        - OTHER
        - RESIDENTIAL
        - BUSINESS
        - POSTAL
        - REGISTERED_OFFICE
        - PLACE_OF_BUSINESS
        - OFFICIAL_CORRESPONDANCE
        - PLACE_OF_BIRTH
        - OFFICE_LOCALITY
        - AUTHORITATIVE_RESIDENTIAL
      x-oapi-codegen-extra-tags:
        audit: keep
    Address-StatusEnum:
      type: string
      default: CURRENT
      enum:
        - CURRENT
        - PREVIOUS
        - FUTURE
      x-oapi-codegen-extra-tags:
        audit: keep
    Workflow-Step-Summary-KYC-MatchRule:
      type: object
      description: >
        Provides the details of a KYC matching rule result.

        The details can be used to represent a rule that did match or did not
        match.

        By default, there will always be one matching rule record provided at
        the end of a KYC step.
      properties:
        ruleName:
          description: The name assigned to this rule.
          type: string
          default: default
        ruleOrder:
          description: The priority order of this matching rule.
          type: integer
          format: int32
          minimum: 1
          default: 1
        ruleMatches:
          type: array
          description: The list of matches that comprise this rule.
          items:
            $ref: '#/components/schemas/Workflow-Step-Summary-KYC-MatchRule-Matches'
    Workflow-Step-Summary-AML-ProviderSummary:
      type: object
      description: |
        Summary of individual provider results for AML checks.
      properties:
        name:
          type: string
          description: Name of the provider.
        lastRetrievedAt:
          type: string
          format: date-time
          description: >-
            The date and time this data was last retrieved from the provider. An
            earlier date may indicate previously retrieved data.
        numHits:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits from this provider.
        numFalsePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits marked as false positive from this
            provider.
        numTruePositives:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits marked as true positive from this provider.
        numUnknown:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits marked as unknown from this provider.
        numUnresolved:
          type: integer
          format: int32
          minimum: 0
          description: Total number of AML hits that remain unresolved from this provider.
        pepCountries:
          type: array
          items:
            type: string
            description: ISO-3166-alpha3 country code where PEP hits were found.
        sanctionCountries:
          type: array
          items:
            type: string
            description: ISO-3166-alpha3 country code where sanction hits were found.
        watchlistCountries:
          type: array
          items:
            type: string
            description: ISO-3166-alpha3 country code where watchlist hits were found.
        adverseMediaCountries:
          type: array
          items:
            type: string
            description: ISO-3166-alpha3 country code where adverse media hits were found.
        numUnresolvedPEP:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits with unresolved PEP entries from this
            provider.
        numUnresolvedSanction:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits with unresolved sanction entries from this
            provider.
        numUnresolvedWatchlist:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits with unresolved watchlist entries from this
            provider.
        numUnresolvedAdverseMedia:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of AML hits with unresolved adverse media entries from
            this provider.
        searchQuery:
          $ref: '#/components/schemas/Workflow-Step-Summary-AML-Search-Parameters'
    Workflow-Step-Summary-ID-Matches:
      type: object
      properties:
        objectType:
          description: >-
            The type of object, such as curr_addr, curr_name, prev_name,
            alt_dob, or PASSPORT.
          type: string
        matchCount:
          description: Number of distinct matches for this match type.
          type: integer
          example: 1
        matchSources:
          description: List of sources that matched.
          type: array
          items:
            type: string
        nonMatchSources:
          description: >-
            List of sources that did not match, if available from the service
            provider.
          type: array
          items:
            type: string
        isChecked:
          description: Indicates if an attempt was made to verify.
          type: boolean
          example: true
        isVerified:
          description: Indicates if there is at least one match.
          type: boolean
          example: true
    Workflow-Step-Summary-KYC-MatchRule-Matches-MatchTypes:
      type: object
      properties:
        objectId:
          description: >-
            The unique identifier (UUID) of the name, address, date of birth, or
            other object that was verified.
          type: string
          format: uuid
        objectType:
          description: >-
            The type of object, such as current address (curr_addr), current
            name (curr_name), previous name (prev_name), alternate date of birth
            (alt_dob), or passport (PASSPORT).
          type: string
        matchCount:
          description: Number of distinct matches for this match type.
          type: integer
          example: 1
        matchSources:
          description: List of sources that matched.
          type: array
          items:
            type: string
        nonMatchSources:
          description: >-
            List of sources that did not match, if available from the service
            provider.
          type: array
          items:
            type: string
        isChecked:
          description: Indicates whether an attempt was made to verify.
          type: boolean
          example: true
        isVerified:
          description: Indicates whether there is at least one match.
          type: boolean
          example: true
    Workflow-Step-Summary-Matchlist-Summary:
      type: object
      description: Summary of individual matchlist results.
      properties:
        matchlistId:
          type: string
          format: uuid
          description: Unique identifier for the matchlist.
        name:
          type: string
          description: Name of the matchlist.
        description:
          type: string
          description: Description of the matchlist.
        action:
          $ref: '#/components/schemas/Matchlist-Action'
        numMatches:
          type: integer
          format: int32
          minimum: 0
          description: Total number of matches from this matchlist.
        numFalsePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches from this matchlist that are marked as false
            positives.
        numTruePositives:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches from this matchlist that are marked as true
            positives.
        numUnknown:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches from this matchlist that are marked as
            unknown.
        numUnresolved:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Total number of matches from this matchlist that are yet to be
            classified.
    Report-Type:
      type: string
      enum:
        - ORGANIZATION_PROFILE
        - ORGANIZATION_OWNERSHIP
      description: Type of Frankie generated report.
    Workflow-Step-Risk-Result-Value:
      type: object
      description: Raw value and score from evaluated risk factor
      required:
        - value
        - score
      properties:
        value:
          type: string
          description: raw value from evaluated risk factor
        score:
          type: integer
          description: score of the raw value from evaluated risk factor
    FuzzinessLevel:
      type: object
      properties:
        normalized:
          description: >
            The normalized fuzziness level, if set.

            Note: This is a normalized value, NOT the one used by the service
            provider (see the "actual" field).

            Assumes a scale of 0.0 (exact match) to 100.0 (match anything).
          type: number
          format: float
          minimum: 0
          maximum: 100
        actual:
          description: >
            The actual fuzziness level as provided by the service provider, if
            set.

            Note: This is not a normalized value, but the original value from
            the provider.
          type: string
    ConfidenceLevel:
      type: object
      properties:
        normalized:
          description: >
            The normalized confidence level, if set.

            Note: This is a normalized value, NOT the one used by the service
            provider (see the "actual" field).

            Assumes a scale of 0.0 (exact match) to 100.0 (match anything).
          type: number
          format: float
          minimum: 0
          maximum: 100
        actual:
          description: >
            The actual confidence level as provided by the service provider, if
            set.

            Note: This is not a normalized value, but the original value from
            the provider.
          type: string
    Supplementary-Data-AML:
      type: object
      required:
        - serviceProvider
      description: >
        Each AML match/hit generates a PRO, and this object describes the
        details of the matched individual or business.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            serviceProvider:
              type: string
              description: >
                The name of the service provider from which this matched record
                was retrieved.
            searchId:
              type: string
              description: >
                The service provider's search reference number, usually used to
                refer to an ongoing search.
            caseId:
              type: string
              description: >
                If the service provider has case management facilities, this is
                their case identifier. May be the same as the search ID.
            referenceId:
              type: string
              description: >
                An additional reference number provided by the service provider,
                or our own reference number.
            originalStepSearchLevel:
              type: string
              description: >
                Indicates if this was a simple PEP or PEP media check that found
                this match. Used to determine if more information is needed when
                re-using existing results.
            groupingId:
              type: string
              description: >
                Some matches can be grouped together as part of a collection of
                searches. This can be the searchId or a reference ID.
            reportUrl:
              type: string
              format: uri
              description: >
                If the service provider supplies a pre-packaged report that can
                be downloaded independently, this is the URL to retrieve it.
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
            matchData:
              $ref: '#/components/schemas/Supplementary-Data-AML-MatchData'
            aliases:
              type: array
              items:
                type: string
                description: >-
                  Alternative names, aliases, "AKA"s, or names as spelled in
                  other languages, etc.
            relatedParties:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-RelatedParties'
            referenceDocs:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-ReferenceDocs'
            notes:
              $ref: '#/components/schemas/Custom-Attributes'
            pepData:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-PEPData'
            sanctionData:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-SanctionsData'
            watchlistData:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-WatchlistData'
            mediaData:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-AML-MediaData'
    Supplementary-Data-KYC-Address:
      type: object
      description: >
        Defines the matching levels for each address element, where available.

        Provides a match strength score ranging from 0 (no match) to 100 (full
        match).
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            matchStrengths:
              $ref: >-
                #/components/schemas/Supplementary-Data-KYC-Address-MatchStrengths
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
            wasNameMatchStrongEnough:
              description: >
                Indicates whether there was a sufficiently strong name match at
                the time this was checked, even if the address was a perfect
                match.

                This is only an indicator at the time the PRO was created.
                Subsequent checks that reuse this result may interpret this
                differently.
              type: boolean
    Supplementary-Data-KYC-DoB:
      type: object
      description: >
        Defines the matching levels for each date of birth element, where
        available.

        Provides a match strength score ranging from 0 (no match) to 100 (full
        match).
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            matchStrengths:
              $ref: '#/components/schemas/Supplementary-Data-KYC-DoB-MatchStrengths'
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
            wasNameMatchStrongEnough:
              description: >
                Indicates whether there was a sufficiently strong name match at
                the time this was checked, even if the date of birth was a
                perfect match.

                This is only an indicator at the time the PRO was created.
                Subsequent checks that reuse this result may interpret this
                differently.
              type: boolean
    Supplementary-Data-KYC-Gender:
      type: object
      description: |
        Defines the matching results for a gender check. This is rarely used.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            matchStrengths:
              $ref: >-
                #/components/schemas/Supplementary-Data-KYC-Gender-MatchStrengths
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
            wasNameMatchStrongEnough:
              description: >
                Indicates whether there was a sufficiently strong name match at
                the time this was checked, even if the gender was a perfect
                match.

                This is only an indicator at the time the PRO was created.
                Subsequent checks that reuse this result may interpret this
                differently.
              type: boolean
    Supplementary-Data-KYC-Name:
      type: object
      description: >
        Defines the matching levels for each name element, where available.

        Provides a match strength score ranging from 0 (no match) to 100 (full
        match).
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            matchStrengths:
              $ref: '#/components/schemas/Supplementary-Data-KYC-Name-MatchStrengths'
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
    Supplementary-Data-ID:
      type: object
      description: |
        Provides the matching levels found for each ID element, where available.
        Match strength is scaled from 0 (no match) to 100 (full match).
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            matchStrengths:
              $ref: '#/components/schemas/Supplementary-Data-ID-MatchStrengths'
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
    Supplementary-Data-Visa:
      type: object
      description: |
        Defines the Visa details returned from VEVO.
        Class and subclass values can be found on the VEVO website.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            country:
              type: string
              description: Country of origin (ISO-3166-alpha3 code).
            class:
              type: string
              description: Visa class.
            subClass:
              type: string
              description: Visa subclass.
            entitlementStatus:
              type: string
              description: Status of the visa entitlement.
            grantDate:
              type: string
              format: date
              description: Date the visa was granted.
            expiryDate:
              type: string
              format: date
              description: Date the visa expires.
            hasExpired:
              type: boolean
              description: >-
                Indicates if the visa has expired (sometimes expiry date is not
                returned).
            noExpiry:
              type: boolean
              description: Indicates if this visa has no expiry.
            entitlementConditionCode:
              type: string
              description: Code for the entitlement condition.
            entitlementConditionDescription:
              type: string
              description: Description of the entitlement condition.
            holderType:
              type: string
              enum:
                - PRIMARY
                - SECONDARY
              description: >
                Indicates if this is the primary visa holder or a secondary
                holder (usually a spouse/partner or other family member).

                Values:
                  - PRIMARY
                  - SECONDARY
            lookupErrorCode:
              type: string
              description: >-
                If there was an error during the lookup, this is the code
                returned from VEVO.
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
    Supplementary-Data-NameValidation:
      type: object
      description: >
        Details on how the native language name was verified against a
        dictionary of anglicized translations.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            langCode:
              type: string
              description: Language code used for translation.
            nameMatchOrder:
              type: string
              description: >
                Depending on the name to be translated and how it is presented,
                the native language and anglicized version ordering might be
                mixed up. The service will try various orderings to find a
                match.

                The order codes represent the actual order that matched.

                Each letter combination represents *F*amily, *G*iven, and
                *O*ther names.

                For example, FGO means that Family, Given, and Other names
                matched in that order.
              enum:
                - FGO
                - OFG
                - GOF
                - FOG
                - GFO
                - OGF
                - FG
                - FO
                - GF
                - OF
            fuzziness:
              $ref: '#/components/schemas/FuzzinessLevel'
    Supplementary-Data-KYB-Organization:
      type: object
      description: >
        Defines OQRO (Ownership Query Result Object) at various stages in the
        KYB (Know Your Business) flow.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            organization:
              $ref: '#/components/schemas/Organization'
    Supplementary-Data-KYB-Address-Verification:
      type: object
      description: >
        Provider assessment of an organization address.

        If the addressId is not provided, this is the overall address assessment
        of the organization.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Verification-Base'
    Supplementary-Data-KYB-Name-Verification:
      type: object
      description: |
        Provider assessment of a business name
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Verification-Base'
        - type: object
          properties:
            name:
              description: the verified organization name
              type: string
    Supplementary-Data-KYB-Registration-Verification:
      type: object
      description: |
        Provider assessment of the organization registration details
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Verification-Base'
    Supplementary-Data-KYB-Tax-Verification:
      type: object
      description: |
        Provider assessment of the submitted tax identifier
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-KYB-Verification-Base'
        - type: object
          properties:
            taxpayerIdentificationNumber:
              type: string
              description: The evaluated tax identifier
    Supplementary-Data-Duplicate:
      type: object
      description: >
        Provides details of a single duplicate match, including the matching
        entity ID and a list of matched elements.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            duplicateEntityId:
              $ref: '#/components/schemas/Entity-ID'
              description: >-
                The entity ID of the entity that was matched by the matched
                fields.
            matchedFields:
              type: array
              description: >-
                The list of fields that determined this is a duplicate of
                another entity.
              items:
                $ref: '#/components/schemas/Supplementary-Data-Duplicate-MatchField'
            matchedRules:
              type: array
              description: >-
                The list of rules that were matched to determine this is a
                duplicate of another entity.
              items:
                $ref: '#/components/schemas/Supplementary-Data-Duplicate-MatchedRule'
    Supplementary-Data-IDV-Document:
      type: object
      description: >
        Result of a document check, indicating how likely or accurate the
        presented document is a valid ID document.


        For resultMap keys, use the keys found in the enum:
        SupplementaryDataIDVEnumDataDocument.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Base'
        - type: object
          properties:
            attachmentIds:
              type: object
              description: The IDs of the document images that were analyzed.
              properties:
                front:
                  type: string
                  format: uuid
                  description: The ID of the front image of the document.
                back:
                  type: string
                  format: uuid
                  description: The ID of the back image of the document.
            detectedDocumentType:
              $ref: '#/components/schemas/Document-Type'
            detectedDocumentCountry:
              type: string
              description: The ISO-3166-alpha3 country code of the document as detected.
              example: AUS
    Supplementary-Data-IDV-Facial-Comparison:
      type: object
      description: >
        Result of a facial comparison check, indicating how likely or accurate
        the presented face matches the ID document.


        For resultMap keys, use the keys found in the enum:
        SupplementaryDataIDVEnumDataFacialComparison.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Base'
        - type: object
          properties:
            comparedDocumentId:
              type: string
              format: uuid
              description: The document ID of the ID document that was compared.
            comparedDocumentAttachmentId:
              type: string
              format: uuid
              description: The attachment ID of the ID document that was compared.
            comparedSelfieId:
              type: string
              format: uuid
              description: The document ID of the selfie that was compared.
            comparedSelfieAttachmentId:
              type: string
              format: uuid
              description: The attachment ID of the selfie that was compared.
    Supplementary-Data-IDV-Facial-Liveness:
      type: object
      description: >
        Result of a facial liveness check, indicating how likely the facial
        photo or video is of a live person.


        For resultMap keys, use the keys found in the enum:
        SupplementaryDataIDVEnumDataFacialLiveness.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Base'
        - type: object
          properties:
            comparedSelfieId:
              type: string
              format: uuid
              description: The document ID of the selfie that was compared.
            comparedSelfieAttachmentId:
              type: string
              format: uuid
              description: The attachment ID of the selfie that was compared.
    Supplementary-Data-IDV-OCR:
      type: object
      description: >
        Result of a document OCR comparison. This object represents the
        comparison between scanned data (via OCR) and updated or alternately
        supplied results.


        For the resultMap keys, use the keys defined in the enum:
        SupplementaryDataIDVEnumDataOCR.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Base'
        - type: object
          properties:
            scannedDocumentId:
              type: string
              format: uuid
              description: >
                The documentId of the ID document on which OCR extraction was
                performed.
            scannedAttachmentFrontId:
              type: string
              format: uuid
              description: >
                The attachmentId of the front image of the ID document used for
                OCR extraction.
            scannedAttachmentBackId:
              type: string
              format: uuid
              description: >
                The attachmentId of the back image of the ID document used for
                OCR extraction, if a back image was provided.
    Supplementary-Data-IDV-OCR-Comparison:
      type: object
      description: >
        Result of an OCR and updated data comparison. This object represents the
        comparison between scanned data (via OCR) and updated or alternately
        supplied results.


        When selecting data for comparison, preference is given to the entity
        details that have been or will be sent to service providers for
        verification, rather than the updated data provided in the OCR scan.


        For the resultMap and mismatchMap keys, use the keys defined in the
        enum: SupplementaryDataIDVEnumDataOCRComparison.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-IDV-Base'
        - type: object
          properties:
            ocrResultId:
              type: string
              format: uuid
              description: |
                The proId of the OCR data PRO used for this comparison.
            comparisonSource:
              $ref: >-
                #/components/schemas/Supplementary-Data-IDV-OCR-Comparison-Enum-Comparison-Source
            mismatchMap:
              $ref: '#/components/schemas/Supplementary-Data-IDV-ElementMap'
              description: >
                Map of OCR mismatches between previously entered or expected
                values and the OCR result.


                Actual matches should be recorded in resultMap.
            nameId:
              type: string
              format: uuid
              description: |
                The nameId of the name object used in the comparison.
            dobId:
              type: string
              format: uuid
              description: |
                The dobId of the date of birth object used in the comparison.
    Supplementary-Data-Matchlist:
      type: object
      description: >
        Each match against a matchlist entry generates a PRO (Process Result
        Object), and this object describes the details of the matched entry.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - $ref: '#/components/schemas/Matchlist-Entry-Base'
        - type: object
          properties:
            matchlistId:
              type: string
              format: uuid
              description: Unique identifier for the matchlist.
            matchlistName:
              type: string
              description: Unique name of the matchlist.
            matchlistAction:
              $ref: '#/components/schemas/Matchlist-Action'
            confidence:
              $ref: '#/components/schemas/Search-Confidence'
            matchedFields:
              type: array
              items:
                $ref: '#/components/schemas/Supplementary-Data-Matchlist-Field'
    Supplementary-Data-Activity-AML:
      type: object
      description: |
        Provides details of an activity Anti-Money Laundering (AML) result.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            activity:
              $ref: '#/components/schemas/Activity-Base'
            result:
              $ref: '#/components/schemas/Supplementary-Data-Activity-Result-Detail'
    Supplementary-Data-Activity-Fraud:
      type: object
      description: |
        Defines the details of an activity fraud result.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            activity:
              $ref: '#/components/schemas/Activity-Base'
            result:
              $ref: '#/components/schemas/Supplementary-Data-Activity-Result-Detail'
    Supplementary-Data-Activity-Event:
      type: object
      description: |
        Defines the details of an activity device result.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            activity:
              $ref: '#/components/schemas/Activity-Base'
            result:
              $ref: '#/components/schemas/Supplementary-Data-Activity-Result-Detail'
    Supplementary-Data-Fraud-Device:
      type: object
      description: |
        Provides details of a single device fraud check.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-Device-Data'
    Supplementary-Data-Fraud-Email-Address:
      type: object
      description: |
        Defines the details of a single email fraud check.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            emailAddressId:
              $ref: '#/components/schemas/Email-Address-ID'
            riskLevel:
              $ref: '#/components/schemas/Risk-Level'
            reference:
              $ref: '#/components/schemas/Result-Reference'
            indicators:
              type: array
              items:
                $ref: >-
                  #/components/schemas/Supplementary-Data-Activity-Result-Detail-Indicator
    Supplementary-Data-Fraud-IP-Address:
      type: object
      description: |
        Defines the details of a single IP address fraud check.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - $ref: '#/components/schemas/Supplementary-Data-Fraud-IP-Address-Data'
    Supplementary-Data-Fraud-Phone-Number:
      type: object
      description: |
        Defines the details of a single phone number fraud check.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            phoneNumberId:
              $ref: '#/components/schemas/Phone-Number-ID'
            riskLevel:
              $ref: '#/components/schemas/Risk-Level'
            reference:
              $ref: '#/components/schemas/Result-Reference'
            indicators:
              type: array
              items:
                $ref: >-
                  #/components/schemas/Supplementary-Data-Activity-Result-Detail-Indicator
    Process-Result-Manual-StatusEnum-AML:
      type: string
      enum:
        - TRUE_POSITIVE
        - FALSE_POSITIVE
        - TRUE_POSITIVE_ACCEPT
        - TRUE_POSITIVE_REJECT
        - UNKNOWN
        - UNKNOWN_ACCEPT
        - UNKNOWN_REJECT
      description: >
        The manual status that the AML process result should be set to after the
        results have been reviewed.

        - FALSE_POSITIVE: The result is determined to be a false positive, but
        you do not necessarily want to resolve it.

        - TRUE_POSITIVE_ACCEPT: The result is determined to be a true positive
        and you want to resolve it. "Accept" infers you want to accept the
        activity.

        - TRUE_POSITIVE: The result is determined to be a true positive, but you
        do not necessarily want to resolve it.

        - TRUE_POSITIVE_REJECT: The result is determined to be a true positive
        and you want to resolve it. "Reject" infers you want to reject the
        activity.

        - UNKNOWN: The result is determined to be unknown, but you do not
        necessarily want to resolve it.

        - UNKNOWN_ACCEPT: The result is determined to be unknown and you want to
        resolve it. "Accept" infers you want to accept the activity.

        - UNKNOWN_REJECT: The result is determined to be unknown and you want to
        resolve it. "Reject" infers you want to reject the activity.
    Process-Result-Manual-StatusEnum-KYC:
      type: string
      enum:
        - PASS
        - FAIL
      description: >
        Any manual status set after the results have been reviewed.

        - PASS: When the result is determined to be a pass and no further action
        is needed.

        - FAIL: When the result is determined to be a fail and no further action
        is needed.
    Process-Result-Manual-StatusEnum-IDV:
      type: string
      enum:
        - CLEAR
        - REJECTED
      description: >
        Any manual status set after the results have been reviewed.

        - CLEAR: When the result is determined to be clear and no further action
        is needed.

        - REJECTED: When the result is determined to be rejected and no further
        action is needed.
    Process-Result-Manual-StatusEnum-Duplicate:
      type: string
      enum:
        - FALSE_POSITIVE
        - TRUE_POSITIVE_ACCEPT
        - TRUE_POSITIVE_REJECT
      description: >
        Manual review status options for duplicate entity resolution. Used to
        indicate the outcome of a manual duplicate check between an existing
        entity (A) and an incoming entity (B):

        - FALSE_POSITIVE: Entities are not duplicates. Both Entity A and Entity
        B are distinct and should be retained as separate records.

        - TRUE_POSITIVE_ACCEPT: Entities are duplicates. Keep the incoming
        entity (Entity B) as the primary record and mark the existing entity
        (Entity A) as the duplicate. Use when the incoming record is more
        accurate or complete.

        - TRUE_POSITIVE_REJECT: Entities are duplicates. Keep the existing
        entity (Entity A) as the primary record and mark the incoming entity
        (Entity B) as the duplicate. Use when the existing record is more
        trusted or complete.
    Process-Result-Manual-StatusEnum-Matchlist:
      type: string
      enum:
        - FALSE_POSITIVE
        - TRUE_POSITIVE_REJECT
      description: >
        Any manual status set after the results have been reviewed.

        - FALSE_POSITIVE: The result is determined to be a false positive, but
        you do not necessarily want to resolve it.

        - TRUE_POSITIVE_REJECT: The result is determined to be a true positive
        and you want to resolve it. "Reject" infers you want to reject the
        activity.
    Process-Result-Manual-StatusEnum-SupportDoc:
      type: string
      enum:
        - APPROVED
        - REJECTED
        - NEEDS_ATTENTION
      description: >
        Any manual status set after the results have been reviewed.

        - APPROVED: When the document has been reviewed and is acceptable.

        - REJECTED: When the document has been reviewed and is deemed to be not
        acceptable.

        - NEEDS_ATTENTION: When the document has been reviewed and requires
        further attention.
    External-Reference-Metadata-TypeEnum:
      type: string
      default: STRING
      enum:
        - STRING
        - INTEGER
        - FLOAT
        - BOOLEAN
        - DATE
        - DATE_TIME
      description: The type of the external reference metadata value
    Document-Class:
      type: string
      enum:
        - OTHER
        - IDENTITY
        - SUPPORTING
        - REPORT
      description: >-
        The classification of the document, indicating how it should be used or
        interpreted.
      example: IDENTITY
    Document-ID:
      type: string
      format: uuid
      description: >-
        As documents are added to an entity, they are assigned a unique
        identifier to assist with modification and reference.

        To modify a document, include the documentId in an update request.
      example: 92de15f64-5717-4562-b3fc-2c963f6665a7
      x-oapi-codegen-extra-tags:
        audit: keep
    Document-Type:
      type: string
      enum:
        - OTHER
        - DRIVERS_LICENSE
        - PASSPORT
        - VISA
        - IMMIGRATION
        - NATIONAL_ID
        - TAX_ID
        - NATIONAL_HEALTH_ID
        - CONCESSION
        - HEALTH_CONCESSION
        - PENSION
        - MILITARY_ID
        - BIRTH_CERT
        - CITIZENSHIP
        - MARRIAGE_CERT
        - DEATH_CERT
        - NAME_CHANGE
        - UTILITY_BILL
        - BANK_STATEMENT
        - BANK_ACCOUNT
        - INTENT_PROOF
        - ATTESTATION
        - SELF_IMAGE
        - DEVICE
        - VEHICLE_REGISTRATION
        - PROOF_OF_ADDRESS
        - HOUSE_REGISTRATION
        - YELLOW_HOUSE_REGISTRATION
        - WORK_PERMIT
        - EMPLOYMENT_CERTIFICATE
        - NOTARY_PUBLIC_ID
        - EXTERNAL_ADMIN
        - CHARGES
        - PRE_ASIC
        - ANNUAL_RETURN
        - REPORT
        - TRUST_DEED
        - DEED_OF_VARIATION
        - REGISTER_OF_UNIT_HOLDERS
        - PARTNERSHIP_AGREEMENT
        - ADMIN_CHANGE
        - COMPANY_REPORT
        - CHECK_RESULTS
        - AVIATION_SECURITY_ID
        - MARITIME_SECURITY_ID
        - ORGANIZATION_PROFILE
        - ORGANIZATION_OWNERSHIP
      description: |-
        Valid document ID types.

          - "OTHER": Generic document type. Unspecified.
          - "DRIVERS_LICENSE": Driver's license.
          - "PASSPORT": Passport.
          - "VISA": Visa document (not Visa payment card).
          - "IMMIGRATION": Immigration card.
          - "NATIONAL_ID": Any national ID card.
          - "TAX_ID": Any national tax identifier.
          - "NATIONAL_HEALTH_ID": Any national health program ID card (e.g., Medicare, NHS).
          - "CONCESSION": State-issued concession card.
          - "HEALTH_CONCESSION": State-issued health-specific concession card.
          - "PENSION": State-issued pension ID.
          - "MILITARY_ID": Military ID.
          - "BIRTH_CERT": Birth certificate.
          - "CITIZENSHIP": Citizenship certificate.
          - "MARRIAGE_CERT": Marriage certificate.
          - "DEATH_CERT": Death certificate.
          - "NAME_CHANGE": Name change confirmation.
          - "UTILITY_BILL": Regulated utility bill, such as electricity, gas, etc.
          - "BANK_STATEMENT": Bank/card statement.
          - "BANK_ACCOUNT": Bank account.
          - "INTENT_PROOF": Proof of intent, generally a photo/video or a scanned letter.
          - "ATTESTATION": Document of attestation (e.g., Statutory Declaration).

          NOTE: These cannot be used as a supporting document:
          - "SELF_IMAGE": A "selfie" used for comparisons.
          - "DEVICE": Device ID.
          - "VEHICLE_REGISTRATION": Vehicle registration number.
          - "PROOF_OF_ADDRESS": Any document that provides proof of address.
          - "HOUSE_REGISTRATION": House registration document.
          - "YELLOW_HOUSE_REGISTRATION": Yellow House Registration Thor Ror 13.
          - "WORK_PERMIT": Work permit.
          - "EMPLOYMENT_CERTIFICATE": Certificate of employment.
          - "NOTARY_PUBLIC_ID": Notary Public Identification.

          Business-related documentation:

          - "EXTERNAL_ADMIN": Details of appointed administrator.
          - "CHARGES": Details of any charges laid against a company or director.
          - "PRE_ASIC": Any documents that are Pre-ASIC.
          - "ANNUAL_RETURN": Details of a company's annual return.
          - "REPORT": Frankie-generated report.
          - "TRUST_DEED": Corporate trust deed.
          - "DEED_OF_VARIATION": Deed of variation document.
          - "REGISTER_OF_UNIT_HOLDERS": Register of unit holders document.
          - "PARTNERSHIP_AGREEMENT": Partnership agreement documents.
          - "ADMIN_CHANGE": Change of administrator.
          - "COMPANY_REPORT": Registry-filed company reports.
          - "ORGANIZATION_PROFILE": Organization profile document.
          - "ORGANIZATION_OWNERSHIP": Organization ownership document.

          Special document types:

          - "CHECK_RESULTS": Special document type for specifying results of checks completed other than through Frankie.
          - "AVIATION_SECURITY_ID": Aviation Security Identification Card.
          - "MARITIME_SECURITY_ID": Maritime Security Identification Card.
      x-oapi-codegen-extra-tags:
        audit: keep
    Document-Supplementary-Data:
      type: object
      description: >-
        Supplementary information relevant to a specific document or report
        type.
      oneOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-National-Health-ID'
        - $ref: '#/components/schemas/Document-Supplementary-Data-Birth-Certificate'
        - $ref: '#/components/schemas/Document-Supplementary-Data-National-ID'
        - $ref: '#/components/schemas/Document-Supplementary-Data-Citizenship'
        - $ref: '#/components/schemas/Document-Supplementary-Data-Passport'
        - $ref: >-
            #/components/schemas/Document-Supplementary-Data-Marriage-Certificate
        - $ref: >-
            #/components/schemas/Document-Supplementary-Data-Name-Change-Certificate
      discriminator:
        propertyName: type
        mapping:
          NATIONAL_HEALTH_ID:
            $ref: >-
              #/components/schemas/Document-Supplementary-Data-National-Health-ID
          BIRTH_CERT:
            $ref: '#/components/schemas/Document-Supplementary-Data-Birth-Certificate'
          NATIONAL_ID:
            $ref: '#/components/schemas/Document-Supplementary-Data-National-ID'
          CITIZENSHIP:
            $ref: '#/components/schemas/Document-Supplementary-Data-Citizenship'
          PASSPORT:
            $ref: '#/components/schemas/Document-Supplementary-Data-Passport'
          MARRIAGE_CERT:
            $ref: >-
              #/components/schemas/Document-Supplementary-Data-Marriage-Certificate
          NAME_CHANGE:
            $ref: >-
              #/components/schemas/Document-Supplementary-Data-Name-Change-Certificate
    Document-Attachment:
      type: object
      required:
        - data
      description: Document attachment details.
      properties:
        attachmentId:
          $ref: '#/components/schemas/Document-Attachment-ID'
        sourceId:
          type: string
          readOnly: true
          description: >-
            The source from which specific information was sourced. This is a
            link to an informationSource object in the informationSources map.
          x-oapi-codegen-extra-tags:
            audit: keep
        createdAt:
          type: string
          readOnly: true
          format: date-time
          description: >-
            The date and time the attachment was created. This is not the date
            of the attached document, which should be in the idIssued attribute
            of the document that owns this attachment.
          x-oapi-codegen-extra-tags:
            audit: keep
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          description: >-
            The date and time the attachment was last updated. This is not the
            date of the attached document, which should be in the idIssued
            attribute of the document that owns this attachment.
          x-oapi-codegen-extra-tags:
            audit: keep
        filename:
          type: string
          description: >-
            If you are uploading a file where it is important to keep the
            original filename, you can provide it here. Otherwise, the Frankie
            service will assign an arbitrary name based on the attachmentId and
            an extension based on the MIME type.
          x-oapi-codegen-extra-tags:
            audit: mask
        mimeType:
          type: string
          description: >-
            The standard MIME type of the file being uploaded. This will be
            verified, but providing it can help speed up processing.
          x-oapi-codegen-extra-tags:
            audit: keep
        pageNumber:
          type: integer
          description: >-
            If uploading multiple pages, this can be used to track page numbers.
            There is no enforcement of these numbers. You can have multiple page
            1's or a page 29 if you wish.
          x-oapi-codegen-extra-tags:
            audit: keep
        side:
          $ref: '#/components/schemas/Document-Attachment-Side'
        type:
          $ref: '#/components/schemas/Document-Attachment-Type'
        location:
          description: Reference to where the data can be retrieved from.
          type: string
          x-oapi-codegen-extra-tags:
            audit: keep
        data:
          $ref: '#/components/schemas/Data-URI-Base64'
        lastMalwareScanAt:
          type: string
          format: date-time
          x-oapi-codegen-extra-tags:
            audit: keep
        retrievalStatus:
          $ref: '#/components/schemas/Document-Attachment-Retrieval-Status'
    Date-Type:
      type: string
      default: GREGORIAN
      enum:
        - BUDDHIST
        - DISCORDIAN
        - GREGORIAN
        - HEBREW
        - ISLAMIC
        - JULIAN
        - LUNAR
        - MESO_AMERICAN
        - PERSIAN
        - OTHER
      description: >-
        The calendar system used for the date, e.g., BUDDHIST, DISCORDIAN,
        GREGORIAN, HEBREW, ISLAMIC, JULIAN, LUNAR, MESO_AMERICAN, PERSIAN, or
        OTHER.
      x-oapi-codegen-extra-tags:
        audit: keep
    Workflow-Step-Summary-KYC-MatchRule-Matches:
      type: object
      description: |
        Summary of all KYC matches for a given set of criteria.
      properties:
        matchTypes:
          description: >
            The match types that this overall count and result refer to.
            Currently, one or more of:
              - name
              - address
              - dob
              - gender

            These will be keys in a map whose values hold the details for each
            individual match type. The resulting structure would look like the
            following. Here, "dob" has zero matches and is not verified, but it
            was checked, so other than the checked flag the value object is
            simply empty. A completely empty object would imply that the match
            type was not checked.

                "matchTypes": {
                  "address": {
                    "matchCount": 1,
                    "matchSources": [ "au-elec-roll" ],
                    "isChecked": true,
                    "isVerified": true
                  },
                  "dob": {
                    "isChecked": true
                  }
                }

            For a "one_plus" KYC check, there will be two
            Workflow-Step-Summary-KYC-MatchRule-Matches records: one for 'name'
            and one for 'address, dob' (as in the sample above).
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Workflow-Step-Summary-KYC-MatchRule-Matches-MatchTypes
        matchCount:
          description: >
            Total number of matches for this set of match types (i.e., the sum
            of the matchCounts in the matchTypes map).
          type: integer
          example: 2
        matchCountRequired:
          description: |
            Number of distinct matches required for this set of match types.
          type: integer
          example: 1
        hasAllRequiredSourcesMatched:
          description: >-
            Indicates whether all required match sources (e.g., electoral roll)
            have matched.
          type: boolean
          example: true
        requiredSourcesMatched:
          description: List of required sources that resulted in a match.
          type: array
          items:
            type: string
        requiredSourcesNotMatched:
          description: List of required sources that did not result in a match.
          type: array
          items:
            type: string
        isVerified:
          description: >-
            Indicates whether there are enough matches to meet the matching
            requirement.
          type: boolean
          example: false
        matchDetails:
          type: array
          description: Summary of matched details.
          items:
            $ref: >-
              #/components/schemas/Workflow-Step-Summary-KYC-Result-Summary-Detail
        nonMatchDetails:
          type: array
          description: Summary of non-matched details.
          items:
            $ref: >-
              #/components/schemas/Workflow-Step-Summary-KYC-Result-Summary-Detail
    Workflow-Step-Summary-AML-Search-Parameters:
      type: object
      description: |
        Search query parameters used in the AML workflow step.
      properties:
        name:
          type: string
          description: Name sent to the service provider, if provided as a single string.
        givenName:
          type: string
          description: Given name sent to the service provider.
        otherName:
          type: string
          description: Other name sent to the service provider.
        familyName:
          type: string
          description: Family name sent to the service provider.
        dateOfBirth:
          type: string
          description: >-
            Date of birth sent to the service provider. May be in any format and
            may be a partial date.
        address:
          type: string
          description: Main address sent to the service provider.
        gender:
          type: string
          description: Gender sent to the service provider.
        nationality:
          type: string
          description: Nationality sent to the service provider.
        idNumber:
          type: string
          description: ID number sent to the service provider.
        idType:
          type: string
          description: ID type sent to the service provider.
        idCountry:
          type: string
          description: ID country sent to the service provider.
        placeOfBirth:
          type: string
          description: Place of birth sent to the service provider.
        placeOfResidence:
          type: string
          description: Place of residence sent to the service provider.
        fuzziness:
          type: string
          description: Search fuzziness level; may be a percentage or a descriptive level.
    Matchlist-Action:
      type: string
      description: >-
        Default action recommended for a match. The action can be one of the
        following:
          - `BLOCK`: Recommended action is to block the entity.
          - `ALERT`: Recommended action is to create an alert for the entity.
          - `ALLOW`: Recommended action is to allow the entity.
          - `REVIEW`: Recommended action is to review the entity.
          - `NONE`: No action; only use the `riskFactor` if any.
      enum:
        - BLOCK
        - ALERT
        - ALLOW
        - REVIEW
        - NONE
    Supplementary-Data-Base:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          description: |
            The type of supplementary data. Possible values:
              - AML
              - KYC_ADDRESS
              - KYC_DOB
              - KYC_GENDER
              - KYC_NAME
              - ID
              - VISA
              - NAME_VALIDATION
              - KYB_ORGANIZATION
              - KYB_ADDRESS_VERIFICATION
              - KYB_NAME_VERIFICATION
              - KYB_REGISTRATION_VERIFICATION
              - KYB_TAX_VERIFICATION
              - MATCHLIST
              - DUPLICATE
              - FRAUD_DEVICE
              - FRAUD_EMAIL
              - FRAUD_PHONE
              - FRAUD_LOOKUP
              - ACTIVITY_AML
              - ACTIVITY_EVENT
              - ACTIVITY_FRAUD
          enum:
            - AML
            - KYC_ADDRESS
            - KYC_DOB
            - KYC_GENDER
            - KYC_NAME
            - ID
            - VISA
            - NAME_VALIDATION
            - KYB_ORGANIZATION
            - KYB_ADDRESS_VERIFICATION
            - KYB_NAME_VERIFICATION
            - KYB_REGISTRATION_VERIFICATION
            - KYB_TAX_VERIFICATION
            - MATCHLIST
            - DUPLICATE
            - FRAUD_DEVICE
            - FRAUD_EMAIL_ADDRESS
            - FRAUD_PHONE_NUMBER
            - FRAUD_IP_ADDRESS
            - FRAUD_LOOKUP
            - ACTIVITY_AML
            - ACTIVITY_EVENT
            - ACTIVITY_FRAUD
    Supplementary-Data-AML-MatchData:
      type: object
      required:
        - spReferenceId
        - name
      description: |
        Contains information about this specific matched entity.
      properties:
        strength:
          type: number
          format: float
          description: >-
            The confidence level of the match as determined by the service
            provider, expressed as a percentage from 0 to 100. Can be a decimal
            value (e.g., 85.7).
        spReferenceId:
          type: string
          description: >
            The internal identifier assigned by the service provider for the
            matched individual or business.
        name:
          type: string
          description: |
            The name matched by the service provider.
        givenName:
          type: string
          description: |
            The given name matched by the service provider (optional).
        otherName:
          type: string
          description: >
            The middle or other name(s) matched by the service provider
            (optional).
        familyName:
          type: string
          description: |
            The family name matched by the service provider (optional).
        date:
          type: string
          description: >
            The date matched in the system, formatted as provided by the service
            provider. May be only a year.
        address:
          type: string
          description: |
            The address matched by the service provider (optional).
        countries:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-MatchData-Country'
        nationalId:
          $ref: '#/components/schemas/Supplementary-Data-AML-MatchData-NationalId'
        imageUrl:
          type: string
          format: uri
          description: >-
            A URL to a displayable image of the matched individual or company
            logo.
        isDeceased:
          type: boolean
          description: Indicates if this match is to a deceased individual.
        isAlias:
          type: boolean
          description: >-
            Indicates if this match is an alias of the searched individual or
            organization.
        isRelated:
          type: boolean
          description: >-
            Indicates if this match is a related party of the searched
            individual or organization.
        gender:
          $ref: '#/components/schemas/GenderEnum'
    Supplementary-Data-AML-RelatedParties:
      type: object
      description: >
        Defines the name and relationship of individuals or organizations
        related to the matched entity.
      properties:
        name:
          type: string
          description: The name of the related individual or organization.
        relationship:
          type: string
          description: |
            The nature of the relationship to the matched entity.
            For example: "Sibling", "Director", "Known associate".
    Supplementary-Data-AML-ReferenceDocs:
      type: object
      description: >
        Captures references to source documents or websites, including the URL
        and, where available, a description of the original source.
      properties:
        url:
          type: string
          format: uri
          description: >-
            URL of any external reference document related to this matched
            entity.
        description:
          type: string
          description: >-
            If a description of the document is provided, it will be included
            here.
    Supplementary-Data-AML-PEPData:
      type: object
      description: >
        Contains Politically Exposed Person (PEP) information about a specific
        matched entity.
      properties:
        countryCode:
          type: string
          description: >
            The ISO 3166-1 alpha-3 country code where the PEP entry was
            recorded.
        countryName:
          type: string
          description: |
            The ISO 3166 country name where the PEP entry was recorded.
        sourceName:
          type: string
          description: |
            The source of the PEP entry data.
        level:
          type: string
          description: >
            The PEP "level", generally represented by a number from 1 (heads of
            state, military, civil service, etc.) to 4 (local government, minor
            public servants, etc.).
        sourceUrl:
          type: string
          format: uri
          description: |
            The URL where the original PEP information can be found.
        sourcePosition:
          deprecated: true
          type: string
          description: |
            (Deprecated) The position held that created the PEP entry.
        position:
          type: string
          description: |
            The position held that created the PEP entry.
        positionDescription:
          type: string
          description: |
            A description of the position held that created the PEP entry.
        status:
          type: string
          description: |
            The current PEP status.
        listingStart:
          type: string
          description: >
            The date when the listing started. Will attempt to use ISO 8601 date
            format; otherwise, the format supplied by the source.
        listingEnd:
          type: string
          description: >
            The date when the listing ended (if available or known). Will
            attempt to use ISO 8601 date format; otherwise, the format supplied
            by the source.
        imageUrl:
          type: string
          format: uri
          description: |
            Optional URL of an image of the person associated with their role.
        referenceDocs:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-ReferenceDocs'
        additionalData:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-AdditionalData'
    Supplementary-Data-AML-SanctionsData:
      type: object
      description: |
        Contains sanction information about a specific matched entity.
      properties:
        countryCode:
          type: string
          description: >
            The ISO 3166-1 alpha-3 country code where the sanction entry was
            recorded.
        countryName:
          type: string
          description: |
            The ISO 3166 country name where the sanction entry was recorded.
        sourceName:
          type: string
          description: |
            The source of the sanction entry data.
        sourceUrl:
          type: string
          format: uri
          description: |
            The URL where the original sanction information can be found.
        sourceReason:
          type: string
          description: |
            The reason provided for sanctioning the individual or organization.
        listingStart:
          type: string
          description: >
            The date when the listing started. Will attempt to use ISO 8601 date
            format; otherwise, the format supplied by the source.
        listingEnd:
          type: string
          description: >
            The date when the listing ended (if available or known). Will
            attempt to use ISO 8601 date format; otherwise, the format supplied
            by the source.
        imageUrl:
          type: string
          format: uri
          description: >
            Optional URL of an image of the person or company logo of the
            sanctioned entity.
        referenceDocs:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-ReferenceDocs'
        additionalData:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-AdditionalData'
    Supplementary-Data-AML-WatchlistData:
      type: object
      description: >
        Contains non-PEP/non-sanction watchlist and other source information
        about a specific matched entity.
      properties:
        countryCode:
          type: string
          description: >
            The ISO 3166-1 alpha-3 country code where the watchlist entry was
            recorded.
        countryName:
          type: string
          description: |
            The ISO 3166 country name where the watchlist entry was recorded.
        sourceName:
          type: string
          description: |
            The source of the watchlist entry data.
        sourceUrl:
          type: string
          format: uri
          description: |
            The URL where the original watchlist information can be found.
        sourceReason:
          type: string
          description: >
            The reason provided for adding the individual or organization to the
            watchlist.
        listingStart:
          type: string
          description: >
            The date when the listing started. Will attempt to use ISO 8601 date
            format; otherwise, the format supplied by the source.
        listingEnd:
          type: string
          description: >
            The date when the listing ended (if available or known). Will
            attempt to use ISO 8601 date format; otherwise, the format supplied
            by the source.
        imageUrl:
          type: string
          format: uri
          description: >
            Optional URL of an image of the person or company logo of the entity
            on this list.
        referenceDocs:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-ReferenceDocs'
        additionalData:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-AML-AdditionalData'
    Supplementary-Data-AML-MediaData:
      type: object
      required:
        - title
        - source
      description: |
        Contains adverse media information about a specific matched entity.
      properties:
        title:
          type: string
          description: |
            The title of the article or media source.
        snippet:
          type: string
          description: |
            A short excerpt or snippet from the article.
        source:
          type: string
          description: |
            The source or publisher of the article or media.
        sourceDate:
          type: string
          description: |
            The publication date, as referenced and formatted by the source.
        sourceCountry:
          type: string
          description: |
            The country of origin for the article, if available.
        url:
          type: string
          description: |
            The URL to the original full article, if available.
        isCurrent:
          type: boolean
          default: true
          description: |
            Indicates whether this article is still considered current.
    Supplementary-Data-KYC-Address-MatchStrengths:
      type: object
      properties:
        fullAddress:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        streetNumber:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        streetName:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        streetType:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        streetAll:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        locality:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        district:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        subdivision:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        postalCode:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        country:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
    Supplementary-Data-KYC-DoB-MatchStrengths:
      type: object
      properties:
        fullDateOfBirth:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        year:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        month:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        day:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
    Supplementary-Data-KYC-Gender-MatchStrengths:
      type: object
      properties:
        gender:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
    Supplementary-Data-KYC-Name-MatchStrengths:
      type: object
      properties:
        fullName:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        familyName:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        givenName:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        otherNames:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        firstInitialFamilyName:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
    Supplementary-Data-ID-MatchStrengths:
      type: object
      properties:
        primaryIdentifier:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        secondaryIdentifier:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        name:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
          description: |
            If the name verification result is known, record it here.

            NOTE: This should not be used as a KYC result; informational only.
            Please use a separate PRO for an actual KYC result if required.
        dateOfBirth:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
          description: |
            If the date of birth verification result is known, record it here.

            NOTE: This should not be used as a KYC result; informational only.
            Please use a separate PRO for an actual KYC result if required.
        expiryDate:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
        isValid:
          type: boolean
          description: Indicates if the ID is valid (if known).
        isExpired:
          type: boolean
          description: Indicates if the ID has expired (if known).
        isBlocked:
          type: boolean
          description: Indicates if the ID has been blocked at the source.
        blockingCode:
          type: string
          description: >-
            If the service provider returns a blocking code or reason, it will
            be recorded here.
        attachmentId:
          type: string
          format: uuid
          description: >-
            If a photo was sent to the service provider, the FrankieOne scanId
            is added for reference.
        photoId:
          type: integer
          format: int32
          minimum: 0
          maximum: 100
          description: >-
            If a photo was supplied and checked, the match score is recorded
            here.
        photoIssue:
          type: string
          description: >-
            If there was an issue checking the photo, any error details can be
            found here.
    Supplementary-Data-KYB-Verification-Base:
      type: object
      description: >
        The base verification result for a KYB verification check, containing
        risk level,

        raw vendor data, submission status, and evaluation results.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            riskLevel:
              $ref: '#/components/schemas/Risk-Level'
            rawValue:
              description: The raw value coming from the vendor
              type: string
            isSubmitted:
              type: boolean
              description: Whether the object being verified was submitted
            evaluations:
              type: array
              description: List of evaluation results
              items:
                $ref: '#/components/schemas/Risk-Verbose-Description'
    Supplementary-Data-Duplicate-MatchField:
      type: object
      description: >
        Provides details of a match between entities, the objects they
        represent, and the match strength.
      properties:
        objectType:
          $ref: '#/components/schemas/Object-Type'
        duplicateObjectId:
          type: string
          format: uuid
          description: The ID of the object that was found to be a duplicate.
        objectId:
          type: string
          format: uuid
          description: The ID of the object that originated the match.
        matchStrength:
          $ref: '#/components/schemas/Supplementary-Data-Base-MatchStrength'
    Supplementary-Data-Duplicate-MatchedRule:
      type: object
      description: >
        Provides details about the rule that was matched to classify the object
        as a duplicate.
      properties:
        name:
          type: string
          description: The name of the matched rule.
        strength:
          type: string
          description: >
            The strength of the match. This is free-form, but it is recommended
            to use standard values for clarity, such as:
              - "VERY_LOW"
              - "LOW"
              - "MEDIUM"
              - "HIGH"
              - "VERY_HIGH"
    Supplementary-Data-IDV-Base:
      type: object
      description: >
        A report from an IDV provider based on a photographic or video
        biometrics process.
      allOf:
        - $ref: '#/components/schemas/Supplementary-Data-Base'
        - type: object
          properties:
            outcomeRaw:
              type: string
              description: >-
                The original outcome of the IDV process, as reported by the
                service provider.
            resultMap:
              $ref: '#/components/schemas/Supplementary-Data-IDV-ElementMap'
            requiredElements:
              type: array
              description: >-
                List of elements required to have passed, as per the step
                configuration.
              items:
                type: string
                description: The IDV report element name, e.g., 'face', 'dob', 'name'.
    Supplementary-Data-IDV-OCR-Comparison-Enum-Comparison-Source:
      type: string
      description: >
        Indicates the source of the data used for comparison with the OCR scan
        results.

        The source can be either the original entity data or the updated data
        extracted from the OCR scan.
      enum:
        - ENTITY
        - OCR_UPDATE
    Supplementary-Data-IDV-ElementMap:
      type: object
      description: >
        A map of IDV report elements obtained from the requested IDV service
        provider.


        The map keys are arbitrary strings, but where possible, should use a
        value from the predefined IDV Data Enums.

        Service provider connections should map supplied values to existing
        enums where possible.

        If there is no relevant existing match, it is acceptable to use the
        original service provider value as the key.
      additionalProperties:
        $ref: '#/components/schemas/Supplementary-Data-IDV-Data'
    Matchlist-Entry-Base:
      type: object
      description: Basic details about a matchlist entry, excluding metadata.
      properties:
        entryId:
          type: string
          format: uuid
          readOnly: true
          description: Unique identifier for the matchlist entry.
        entityId:
          type: string
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
          description: >-
            The entity ID from which the attributes of this entry are derived.
            This is optional and can be used to link the matchlist entry to an
            entity.
        entityType:
          $ref: '#/components/schemas/Entity-Type'
          description: >-
            The type of entity from which the attributes of this entry are
            derived. This is optional and can be used to link the matchlist
            entry to an entity.
        reference:
          type: string
          description: Optional reference describing the context of this entry.
          example: CERT-BAD-ACTOR-1234-5678
        reasons:
          description: >-
            The reasons for the matchlist entry. These codes will be translated
            to configured description strings.
          type: array
          items:
            $ref: '#/components/schemas/Matchlist-Entry-Reason-Code'
    Search-Confidence:
      type: number
      format: float
      minimum: 0
      maximum: 1
      description: >
        Confidence level of the search result, represented as a number between 0
        and 1.

        A higher value indicates greater confidence in the accuracy of the
        search result.
    Supplementary-Data-Matchlist-Field:
      type: object
      description: |
        Entity data that resulted in a match at the time of execution.
      required:
        - objectId
        - objectType
      properties:
        objectId:
          type: string
          description: Unique identifier of the matched object.
        objectType:
          $ref: '#/components/schemas/Object-Type'
        matchedAttributes:
          type: array
          items:
            $ref: '#/components/schemas/Supplementary-Data-Matchlist-Attribute'
    Activity-Base:
      type: object
      required:
        - party
        - detail
      description: Activity details
      properties:
        activityId:
          $ref: '#/components/schemas/Activity-ID'
        session:
          $ref: '#/components/schemas/Session'
        party:
          $ref: '#/components/schemas/Party-Detail'
        detail:
          $ref: '#/components/schemas/Activity-Detail'
        device:
          $ref: '#/components/schemas/Device'
        activityRequestId:
          type: string
          format: ulid
          description: The request ID associated to the activity being submitted
        relatedProcessResults:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Activities-Process-Result-Link'
    Supplementary-Data-Activity-Result-Detail:
      type: object
      properties:
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
        evaluationId:
          $ref: '#/components/schemas/Evaluation-ID'
        activityResultId:
          $ref: '#/components/schemas/Activity-Result-ID'
        reference:
          $ref: '#/components/schemas/Result-Reference'
        indicators:
          type: array
          items:
            $ref: >-
              #/components/schemas/Supplementary-Data-Activity-Result-Detail-Indicator
        relatedActivityIds:
          description: |
            The related activity ids.
          type: array
          items:
            $ref: '#/components/schemas/Activity-ID'
    Supplementary-Data-Fraud-Device-Data:
      type: object
      description: >
        Provides details of a single fraud check for device and related device
        data.
      properties:
        device:
          $ref: '#/components/schemas/Device'
        session:
          $ref: '#/components/schemas/Session-Data'
        indicators:
          type: array
          items:
            $ref: >-
              #/components/schemas/Supplementary-Data-Activity-Result-Detail-Indicator
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
        reference:
          $ref: '#/components/schemas/Result-Reference'
    Result-Reference:
      type: object
      properties:
        name:
          type: string
          description: The source of the result (e.g. sardine)
        type:
          $ref: '#/components/schemas/Result-Reference-Type'
        reference:
          type: string
          description: |
            A link or reference to the source of the result. 
            The format will depend on the source and the reference type.
    Supplementary-Data-Activity-Result-Detail-Indicator:
      type: object
      properties:
        indicatorId:
          $ref: '#/components/schemas/Indicator-ID'
        name:
          type: string
        value:
          type: string
        score:
          type: string
        rules:
          type: array
          items:
            $ref: >-
              #/components/schemas/Supplementary-Data-Activity-Result-Detail-Rule
    Supplementary-Data-Fraud-IP-Address-Data:
      type: object
      description: |
        Defines the details of a single fraud check for IP address related data.
      properties:
        deviceId:
          $ref: '#/components/schemas/Device-ID'
        ipAddressInformation:
          $ref: '#/components/schemas/IP-Information'
        session:
          $ref: '#/components/schemas/Session-Data'
        indicators:
          type: array
          items:
            $ref: >-
              #/components/schemas/Supplementary-Data-Activity-Result-Detail-Indicator
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
        reference:
          $ref: '#/components/schemas/Result-Reference'
    Document-Supplementary-Data-National-Health-ID:
      type: object
      description: Supplementary information relevant to a national health id.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          properties:
            reference:
              type: string
              description: >-
                The individual reference number used to identify the position of
                the applicant's name on the health card. Required for Australian
                Medicare cards (this is the number to the left of the name on
                the card).
              example: '1'
              x-oapi-codegen-extra-tags:
                audit: keep
            nameOnCardLine1:
              type: string
              description: The individual's name as it appears on the card.
              x-oapi-codegen-extra-tags:
                audit: mask
            nameOnCardLine2:
              type: string
              description: >-
                If the individual's name spans more than one line, this is the
                part of the name that appears on line 2.
              x-oapi-codegen-extra-tags:
                audit: mask
            nameOnCardLine3:
              type: string
              description: >-
                If the individual's name spans more than two lines, this is the
                part of the name that appears on line 3.
              x-oapi-codegen-extra-tags:
                audit: mask
            nameOnCardLine4:
              type: string
              description: >-
                If the individual's name spans more than three lines, this is
                the part of the name that appears on line 4.
              x-oapi-codegen-extra-tags:
                audit: mask
            middleNameOnCard:
              type: string
              description: >-
                The individual's middle name or initial as it appears on the
                card.
              x-oapi-codegen-extra-tags:
                audit: mask
    Document-Supplementary-Data-Birth-Certificate:
      type: object
      description: Supplementary information relevant to a birth certificate.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          description: Supplementary information relevant to a birth certificate.
          properties:
            registrationDate:
              type: string
              description: The date the birth was registered.
              example: '2000'
              x-oapi-codegen-extra-tags:
                audit: mask
            registrationDistrict:
              type: string
              description: The district where the birth was registered.
              example: Sydney
              x-oapi-codegen-extra-tags:
                audit: keep
            dateOfPrint:
              type: string
              description: The date the birth certificate was printed.
              example: '2000'
              x-oapi-codegen-extra-tags:
                audit: keep
            givenName:
              type: string
              description: The given name as printed on the certificate.
              x-oapi-codegen-extra-tags:
                audit: mask
            otherNames:
              type: string
              description: Other name(s) as printed on the certificate.
              x-oapi-codegen-extra-tags:
                audit: mask
            familyName:
              type: string
              description: The family name as printed on the certificate.
              x-oapi-codegen-extra-tags:
                audit: mask
            countryOfBirth:
              type: string
              description: >-
                The country of birth as printed on the certificate. ISO 3166-1
                alpha-3 code.
              example: AUS
              x-oapi-codegen-extra-tags:
                audit: keep
    Document-Supplementary-Data-National-ID:
      type: object
      description: Supplementary information relevant to a national ID.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          properties:
            homeCountryFullName:
              type: string
              description: >-
                The original full name from the individual's home country
                national ID.
              example: 张伟明
              x-oapi-codegen-extra-tags:
                audit: mask
            paternalFamilyName:
              type: string
              description: The individual's family name inherited from the father's side.
              example: MENDOZA
              x-oapi-codegen-extra-tags:
                audit: mask
            maternalFamilyName:
              type: string
              description: The individual's family name inherited from the mother's side.
              example: GARCIA
              x-oapi-codegen-extra-tags:
                audit: mask
    Document-Supplementary-Data-Citizenship:
      type: object
      description: Supplementary information relevant to a citizenship certificate.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          description: Supplementary information relevant to a citizenship certificate.
          properties:
            acquisitionDate:
              type: string
              description: The date citizenship was acquired.
              example: 2000/01/01
              x-oapi-codegen-extra-tags:
                audit: mask
            primaryCountry:
              type: string
              description: >-
                The primary country of citizenship, represented by its
                three-letter ISO 3166-1 alpha-3 code.
              example: USA
              x-oapi-codegen-extra-tags:
                audit: keep
            secondaryCountry:
              type: string
              description: >-
                The secondary country of citizenship, if applicable, represented
                by its three-letter ISO 3166-1 alpha-3 code.
              example: CAN
              x-oapi-codegen-extra-tags:
                audit: keep
    Document-Supplementary-Data-Passport:
      type: object
      description: Supplementary information relevant to a national health id.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          properties:
            homeCountryFullName:
              type: string
              description: The original name from the home country of passport.
              example: 张伟明
              x-oapi-codegen-extra-tags:
                audit: mask
    Document-Supplementary-Data-Marriage-Certificate:
      type: object
      description: Supplementary information relevant to a marriage certificate.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          description: Supplementary information relevant to a marriage certificate.
          properties:
            partner1GivenName:
              type: string
              description: The given name of partner 1.
              example: Harry
              x-oapi-codegen-extra-tags:
                audit: mask
            partner1FamilyName:
              type: string
              description: The family name of partner 1.
              example: Versailles
              x-oapi-codegen-extra-tags:
                audit: mask
            partner1OtherName:
              type: string
              description: The other name of partner 1.
              example: S.
              x-oapi-codegen-extra-tags:
                audit: mask
            partner2GivenName:
              type: string
              description: The given name of partner 2.
              example: Harry
              x-oapi-codegen-extra-tags:
                audit: mask
            partner2FamilyName:
              type: string
              description: The family name of partner 2.
              example: Versailles
              x-oapi-codegen-extra-tags:
                audit: mask
            partner2OtherName:
              type: string
              description: The other name of partner 2.
              example: S.
              x-oapi-codegen-extra-tags:
                audit: mask
            registrationDate:
              type: string
              description: The date the marriage was registered.
              example: '2023'
              x-oapi-codegen-extra-tags:
                audit: mask
            marriageDate:
              type: string
              description: The date the marriage was held.
              example: '2023-10-01'
              x-oapi-codegen-extra-tags:
                audit: mask
            dateOfPrint:
              type: string
              description: The date the birth certificate was printed.
              example: '2023-10-01'
              x-oapi-codegen-extra-tags:
                audit: mask
    Document-Supplementary-Data-Name-Change-Certificate:
      type: object
      description: Supplementary information relevant to a name change certificate.
      allOf:
        - $ref: '#/components/schemas/Document-Supplementary-Data-Base'
        - type: object
          description: Supplementary information relevant to a name change certificate.
          properties:
            dateOfPrint:
              type: string
              description: The date the name change certificate was printed.
              example: 2000/01/01
              x-oapi-codegen-extra-tags:
                audit: keep
            registrationDate:
              type: string
              description: The date the name change certificate was registered.
              example: 2000/01/01
              x-oapi-codegen-extra-tags:
                audit: keep
            registeredFamilyName:
              type: string
              description: The family name registered in the name change certificate.
              example: Doe
              x-oapi-codegen-extra-tags:
                audit: mask
            registeredGivenName:
              type: string
              description: The given name registered in the name change certificate.
              example: John
              x-oapi-codegen-extra-tags:
                audit: mask
            registeredOtherGivenNames:
              type: string
              description: Other given names registered in the name change certificate.
              example: Roy Michael
              x-oapi-codegen-extra-tags:
                audit: mask
    Document-Attachment-ID:
      type: string
      format: uuid
      description: >-
        When a document attachment is created or uploaded, it is assigned an
        attachmentId. This identifier will appear in a successful response or
        accepted response. It can be referenced in subsequent calls if you are
        uploading additional or updated data.
      x-oapi-codegen-extra-tags:
        audit: keep
    Document-Attachment-Side:
      type: string
      enum:
        - FRONT
        - BACK
      description: >-
        Indicates whether the attachment is the front or back side of a
        document.
      x-oapi-codegen-extra-tags:
        audit: keep
    Document-Attachment-Type:
      type: string
      description: |-
        General types of valid document attachments.
          - "PHOTO": Any photo.
          - "VIDEO": Any video.
          - "AUDIO": Any audio.
          - "PDF": PDF or PS file (may contain text, images, or both).
          - "DOC": Word document, RTF, etc.
          - "ZIP": Any compressed file(s).
      x-oapi-codegen-extra-tags:
        audit: keep
    Data-URI-Base64:
      description: A Base64-encoded string or URI representing the data.
      oneOf:
        - type: object
          readOnly: true
          required:
            - uri
          properties:
            uri:
              type: string
              description: URI identifying the resource location.
              example: >-
                https://s3.amazonaws.com/dev/41963bc5feff322020137de233c3be0fac6/croppedFrontID/38d54232-b840-431d-b248-152345fe214.jpg
              x-oapi-codegen-extra-tags:
                audit: keep
        - type: object
          required:
            - base64
          properties:
            base64:
              type: string
              description: Base64-encoded string of the raw attachment data.
              example: ZG9jdW1lbnQgaW1hZ2UgZ29lcyBoZXJl
              x-oapi-codegen-extra-tags:
                audit: redact
    Document-Attachment-Retrieval-Status:
      type: string
      readOnly: true
      enum:
        - NORMAL
        - EXCLUDED
        - FAILED
      description: >-
        The reason why the data in a response is missing.


        - "NORMAL": The data was retrieved and is included. If it is empty, then
          it was never provided or was provided empty.

        - "EXCLUDED": The retrieval request was not for 'full' data, or the
        object
          has been deleted, so the data is not included.

        - "FAILED": The data could not be retrieved from the secure document
          store.

        The retrievalStatus enum will not usually be set in a request. If an

        attachment in a response has a 'FAILED' retrieval state, then

        that object should not be sent back in a future update. It should

        either be omitted or the original data should be resent if it is
        available

        from another source. However, it is safe to send the object in an update

        with the state received in a response. Any state other than 'NORMAL' (or

        '') will cause the blank data to be ignored, but other fields in the

        object will be updated if needed.
      x-oapi-codegen-extra-tags:
        audit: keep
    Workflow-Step-Summary-KYC-Result-Summary-Detail:
      type: object
      properties:
        provider:
          type: string
          description: The name of the provider that returned the result.
        source:
          type: string
          description: The source within the provider that returned the result.
        attributesMatched:
          type: array
          description: List of attributes that were matched.
          items:
            type: string
    Supplementary-Data-AML-MatchData-Country:
      type: object
      required:
        - code
      description: >
        Represents the country code and match type for an AML (Anti-Money
        Laundering) country match.
      properties:
        code:
          type: string
          maxLength: 3
          description: |
            The ISO 3166-1 alpha-3 country code where a match was identified.
        matchType:
          type: string
          description: >
            The type of match associated with this country. Possible values
            include:
              - CITIZENSHIP
              - RESIDENCE
              - BIRTH
              - NATIONALITY
              - INCORPORATION (for organizations)
              - OPERATION
    Supplementary-Data-AML-MatchData-NationalId:
      type: object
      description: |
        Provides details of a matched identification document, if supplied.
      properties:
        idNumber:
          type: string
          description: The matched identification number.
        idType:
          type: string
          description: The type of identification matched (e.g., National ID, passport).
        idExpiry:
          type: string
          description: >-
            The expiry date of the identification document (if known), using the
            format provided by the service provider.
        issuingCountryCode:
          type: string
          description: The ISO 3166-1 alpha-3 country code of the issuing country.
        documentId:
          type: string
          description: The document ID if this was matched to a FrankieOne document record.
    Supplementary-Data-AML-AdditionalData:
      type: object
      description: >
        Represents a simple key-value pair for AML data to capture any
        additional information not included in the main object.
      properties:
        key:
          type: string
          description: >
            The key name, formatted in snake_case (e.g., key_in_snake_case),
            which can be converted to spaced title case for display.
        value:
          type: string
          description: >
            The value associated with the key, provided as a string for display
            purposes.
    Risk-Verbose-Description:
      type: object
      description: A code and description pair with a risk level.
      properties:
        code:
          description: Short standard code or normalized representation of the information
          type: string
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
        rawValue:
          description: The raw value coming from the vendor
          type: string
        description:
          description: Short description of the information
          type: string
        verboseDescription:
          description: More detailed description of the information if available
          type: string
    Object-Type:
      description: The type of object being annotated.
      type: string
      enum:
        - ADDRESS
        - NAME
        - PHONE_NUMBER
        - EMAIL
        - DATE_OF_BIRTH
        - WEBSITE
        - SHAREHOLDER
        - OFFICIAL
        - UBO
        - REGISTRATION
        - SHAREHOLDING
        - SHARECAPITAL
        - DOCUMENT
        - DOCUMENT_ATTACHMENT
        - RESULT_PROCESS
        - RESULT_STEP
        - RESULT_WORKFLOW
        - SERVICE_PROFILE
        - AUDIT_EVENT
        - EXTERNAL_REFERENCE
        - RISK_ASSESSMENT
        - MATCHLIST
    Supplementary-Data-Base-MatchStrength:
      type: integer
      description: >
        Represents the standard match strength, scaled from 0 (no match) to 100
        (exact match).

        In some cases, a value of 50 may be interpreted as a "partial" match.
      format: int32
      minimum: 0
      maximum: 100
    Supplementary-Data-IDV-Data:
      type: object
      description: |
        Contains information about a specific matched IDV element.
      properties:
        originalName:
          type: string
          description: >-
            The name of the element as returned by the provider, before
            normalization (e.g., 'face', 'dob', 'name').
        confidence:
          type: number
          format: float
          description: Service provider's confidence in this value.
        confidenceThreshold:
          type: number
          format: float
          description: >-
            Configured confidence threshold for this value to be considered
            valid.
        originalData:
          type: string
          description: The raw data returned by the provider.
        reviewedData:
          type: string
          description: >-
            If the applicant was given a chance to correct the data, this is the
            reviewed data with any changes.
        resultNormalized:
          type: string
          description: >-
            The final result after applying confidence and normalization (e.g.,
            clear, suspected, rejected).
        description:
          type: string
          description: A description of the data element returned in the rawData field.
    Matchlist-Entry-Reason-Code:
      type: string
      description: >-
        The reason code for the matchlist entry. This code will be translated to
        a configured description string. Supported codes are 1 to 24 characters
        long, consisting only of uppercase letters (A-Z), digits (0-9),
        underscores (_), or hyphens (-), with no spaces or special characters.
      pattern: ^[A-Z0-9_-]{1,24}$
    Supplementary-Data-Matchlist-Attribute:
      type: object
      description: |
        Information about a matched attribute within a matched field.
      required:
        - type
        - confidence
      properties:
        type:
          $ref: '#/components/schemas/Matchlist-Entry-Attribute-Type'
        confidence:
          $ref: '#/components/schemas/Search-Confidence'
          description: |
            Confidence score for the attribute match.
    Activity-ID:
      type: string
      readOnly: true
      description: Activity ID that identifies an activity within the FrankieOne platform
      format: ulid
    Session:
      type: object
      description: >-
        Session details for an activity, this is always scoped to a singular
        entity.
      properties:
        token:
          type: string
          description: A token to identify the specific session for the activity
    Party-Detail:
      type: object
      description: >
        A party describes the details of one of the parties in a given
        transaction. It can be used to 

        describe any participant.


        A party can only either be an individual or an organization.


        To evaluate a party, you need to provide the details about the party
        involved by:

        * Using an existing entity data: Include the entityId in the party
        object. The data will be extracted from the entity in the FrankieOne
        system.

        * Filling in the details: Include the specific details within the party
        object. Data provided here will take precedence over the entity data but
        will not enrich the entity details in the FrankieOne system.


        Note: If the entity ID is provided, the entity type must also be
        specified.
      allOf:
        - $ref: '#/components/schemas/Party-Detail-Summary'
        - $ref: '#/components/schemas/Party-Detail-Contact'
        - $ref: '#/components/schemas/Party-Detail-Risk-Signals'
    Activity-Detail:
      type: object
      description: Details of the activity being checked
      oneOf:
        - $ref: '#/components/schemas/Activity-Event'
        - $ref: '#/components/schemas/Activity-Transaction'
      discriminator:
        propertyName: activityType
        mapping:
          EVENT:
            $ref: '#/components/schemas/Activity-Event'
          TRANSACTION:
            $ref: '#/components/schemas/Activity-Transaction'
    Device:
      type: object
      description: >
        Device information associated with an activity, used for submitting
        device checks using an external service.
      allOf:
        - $ref: '#/components/schemas/Device-Detail'
        - type: object
          properties:
            geolocation:
              $ref: '#/components/schemas/Geolocation'
            ipAddressInformation:
              $ref: '#/components/schemas/IP-Information'
            createdAt:
              type: string
              description: the time the device was created in UTC ISO8601 format
              format: date-time
              readOnly: true
    Activities-Process-Result-Link:
      type: object
      description: >
        This object includes link details between relatedActivities and a
        processResult.
      properties:
        processResultId:
          $ref: '#/components/schemas/Process-Result-ID'
        relatedActivityIds:
          type: array
          items:
            $ref: '#/components/schemas/Activity-ID'
        manualStatus:
          $ref: '#/components/schemas/Activity-Result-Manual-Status'
        createdAt:
          type: string
          format: date-time
          description: The timestamp that the process result was created
        updatedAt:
          type: string
          format: date-time
          description: The timestamp that the process result was updated
        activityResultId:
          $ref: '#/components/schemas/Activity-Result-ID'
        class:
          $ref: '#/components/schemas/Activity-Result-Class'
    Evaluation-ID:
      type: string
      description: The ID of the evaluation
      readOnly: true
      format: ulid
    Activity-Result-ID:
      type: string
      readOnly: true
      description: >-
        Activity Result ID that identifies a result from an evaluation of an
        activity
      format: ulid
    Session-Data:
      type: object
      description: >-
        Session data for an activity, this is always scoped to a singular
        entity.
      allOf:
        - $ref: '#/components/schemas/Session'
        - type: object
          properties:
            sessionId:
              type: string
              description: A FrankieOne ID for the session
              format: ulid
              readOnly: true
            providerName:
              type: string
            entityId:
              $ref: '#/components/schemas/Entity-ID'
            createdAt:
              type: string
              description: the time the session was created in UTC ISO8601 format
              format: date-time
              readOnly: true
            expiresAt:
              type: string
              description: the time the session expires in UTC ISO8601 format
              format: date-time
              readOnly: true
    Result-Reference-Type:
      type: string
      description: The type of the reference (e.g. url)
      enum:
        - URL
        - REFERENCE
    Indicator-ID:
      type: string
      readOnly: true
      format: ulid
      description: Indicator ID that identifies an indicator from a check on an activity
    Supplementary-Data-Activity-Result-Detail-Rule:
      type: object
      properties:
        ruleId:
          $ref: '#/components/schemas/Rule-ID'
        reference:
          type: string
        name:
          type: string
        description:
          type: string
        isActive:
          type: boolean
    Device-ID:
      type: string
      description: ID of the device
      format: ulid
    IP-Information:
      type: object
      description: IP information, typically in relation to a device
      allOf:
        - $ref: '#/components/schemas/IP-Addresses'
        - type: object
          properties:
            trueAddress:
              type: string
              description: The true IP address
            asn:
              type: string
              description: The ASN of the IP address
            connectionType:
              type: string
              description: The type of IP connection (if available)
              example:
                - Fixed Line ISP
            location:
              $ref: '#/components/schemas/Geolocation'
    Document-Supplementary-Data-Base:
      type: object
      description: Supplementary data associated with a document.
      required:
        - type
      properties:
        type:
          type: string
          description: >-
            The document type that defines the type of supplementary data
            returned.
          enum:
            - NATIONAL_HEALTH_ID
            - BIRTH_CERT
            - NATIONAL_ID
            - CITIZENSHIP
            - PASSPORT
            - MARRIAGE_CERT
          x-oapi-codegen-extra-tags:
            audit: keep
    Matchlist-Entry-Attribute-Type:
      type: string
      description: >-
        Entity attributes eligible for screening.


        A matchlist entry may not contain both `ORG_*` and `IND_*` attributes,
        and they must match the `ENTITY_TYPE` if it is provided.
      enum:
        - ENTITY_TYPE
        - EMAIL_ADDRESS
        - EMAIL_DOMAIN
        - PHONE_NUMBER
        - ADDR_STREET_NUMBER
        - ADDR_STREET_NAME
        - ADDR_STREET_TYPE
        - ADDR_NEIGHBORHOOD
        - ADDR_LOCALITY
        - ADDR_DISTRICT
        - ADDR_SUBDIVISION
        - ADDR_COUNTRY
        - ADDR_POSTAL_CODE
        - ADDR_UNSTRUCTURED_LONG_FORM
        - DOC_CLASS
        - DOC_TYPE
        - DOC_SUBTYPE
        - DOC_PRIMARY_IDENTIFIER
        - DOC_SECONDARY_IDENTIFIER
        - IND_DISPLAY_NAME
        - IND_GIVEN_NAME
        - IND_FAMILY_NAME
        - IND_MIDDLE_NAME
        - IND_DATE_OF_BIRTH
        - IND_NATIONALITY
        - ORG_REGISTERED_SUBDIVISION
        - ORG_REGISTERED_COUNTRY
        - ORG_REGISTRATION_NUMBER
        - ORG_REGISTRATION_NUMBER_TYPE
        - ORG_NAME
    Party-Detail-Summary:
      type: object
      description: |
        A summary of the party details
      properties:
        entityId:
          $ref: '#/components/schemas/Entity-ID-Writeable'
        entityType:
          $ref: '#/components/schemas/Entity-Type-Writeable'
          description: >
            The type of entity. This is required to be provided if an entity ID
            is provided.
        externalReference:
          $ref: '#/components/schemas/External-Reference'
        individual:
          $ref: '#/components/schemas/Party-Detail-Individual'
        organization:
          $ref: '#/components/schemas/Party-Detail-Organization'
        entityName:
          type: string
          description: The name of the entity, use this if the entity type is not clear
        createdAt:
          description: When the entity was created
          type: string
          format: date-time
        customAttributes:
          $ref: '#/components/schemas/Activity-Party-Custom-Attributes'
    Party-Detail-Contact:
      type: object
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/Phone-Number'
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/Email'
    Party-Detail-Risk-Signals:
      type: object
      description: Risk signals for party details
      properties:
        riskSignals:
          $ref: '#/components/schemas/Party-Risk-Signals'
    Activity-Event:
      type: object
      description: >
        An activity detailing an event, use for non-transactional activities or
        user behavior monitoring. 


        Examples: User registration, login, profile updates, password resets.
      allOf:
        - $ref: '#/components/schemas/Activity-Detail-Base'
        - $ref: '#/components/schemas/Event'
    Activity-Transaction:
      type: object
      description: >
        An activity detailing a transaction, use for financial activities and
        asset movements.


        Examples: Deposits, withdrawals (fiat or crypto), payments, fund
        transfers.
      allOf:
        - $ref: '#/components/schemas/Activity-Detail-Base'
        - $ref: '#/components/schemas/Transaction-Details'
    Device-Detail:
      type: object
      description: Device details
      allOf:
        - $ref: '#/components/schemas/Device-Indicators'
        - $ref: '#/components/schemas/Device-Properties'
    Geolocation:
      type: object
      description: >-
        Geolocation details if it can be determined, typically related to a
        device during an activity
      properties:
        city:
          type: string
          description: The city
          example:
            - Melbourne
            - San Francisco
        country:
          type: string
          description: The country in alpha 3 ISO-3166-1 standard
          example:
            - AUS
            - USA
        subdivision:
          type: string
          description: The subdivision
          example:
            - Victoria
            - California
        latitude:
          type: number
          format: double
          description: The latitude
        longitude:
          type: number
          format: double
          description: The longitude
    Activity-Result-Manual-Status:
      type: string
      enum:
        - FALSE_POSITIVE
        - TRUE_POSITIVE_ACCEPT
        - TRUE_POSITIVE_REJECT
        - IN_REVIEW
      description: >
        The status of the result.

        - FALSE_POSITIVE: When the result is determined to be false positive and
        the activity is within the risk profile to continue.

        - TRUE_POSITIVE_ACCEPT: When the result is determined to be true
        positive and the activity is within the risk profile to continue.

        - TRUE_POSITIVE_REJECT: When the result is determined to be true
        positive and the activity is NOT within the risk profile to continue.

        - IN_REVIEW: When the activity has been picked up for review.
    Activity-Result-Class:
      type: string
      description: The class of the activity result (AML, FRAUD, EVENT)
      enum:
        - AML
        - FRAUD
        - EVENT
    Rule-ID:
      type: string
      readOnly: true
      format: ulid
      description: >-
        Rule ID that identifies an instance of a rule within the FrankieOne
        platform
    IP-Addresses:
      type: object
      properties:
        v4Address:
          type: string
          description: The IPv4 address
          format: ipv4
        v6Address:
          type: string
          description: The IPv6 address
          format: ipv6
    Party-Detail-Individual:
      type: object
      description: |
        Party details for an individual
      properties:
        name:
          $ref: '#/components/schemas/Individual-Name'
        dateOfBirth:
          $ref: '#/components/schemas/Date-Of-Birth'
    Party-Detail-Organization:
      type: object
      description: |
        Party details for an organization
      properties:
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
        registeredName:
          type: string
          description: The registered name of the organization
    Activity-Party-Custom-Attributes:
      type: object
      description: >
        A set of key value pairs with a type provided. Do not store PII data in
        this field.

        Validation:
              type: string
              minLength: 1
              maxLength: 64
              pattern: '^[a-zA-Z][a-zA-Z0-9-]*$'
      additionalProperties:
        $ref: '#/components/schemas/Activity-Party-Custom-Attribute'
    Party-Risk-Signals:
      type: object
      description: Risk level signals for party attributes
      readOnly: true
      properties:
        email:
          $ref: '#/components/schemas/Risk-Level'
        emailDomain:
          $ref: '#/components/schemas/Risk-Level'
        address:
          $ref: '#/components/schemas/Risk-Level'
        phone:
          $ref: '#/components/schemas/Risk-Level'
    Activity-Detail-Base:
      type: object
      required:
        - activityType
      properties:
        activityType:
          $ref: '#/components/schemas/Activity-Type'
        customAttributes:
          $ref: '#/components/schemas/Activity-Custom-Attributes'
        activityAt:
          type: string
          format: date-time
          description: The timestamp that the activity occurred in UTC ISO8601 format
    Event:
      type: object
      description: An event represents a non-financial event in the customers platform.
      required:
        - eventType
      properties:
        eventType:
          $ref: '#/components/schemas/Event-Type'
    Transaction-Details:
      type: object
      description: Transaction details
      required:
        - transaction
      properties:
        transaction:
          $ref: '#/components/schemas/Transaction'
        counterparty:
          $ref: '#/components/schemas/Counter-Party-Detail'
    Device-Indicators:
      type: object
      properties:
        riskScore:
          type: integer
          description: Risk score as determine by the device checking service
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
        behaviorBiometrics:
          $ref: '#/components/schemas/Behavior-Biometrics'
        isRat:
          type: boolean
          description: Was the device user determined to be a rat?
        isSupported:
          type: boolean
          description: Was the device supported or not?
        isEmulated:
          type: boolean
          description: Was the device determined to be real or emulated?
        isRooted:
          type: boolean
          description: Was the device determined to be rooted?
        reputation:
          type: string
          description: The reputation of the device
        vpnLikelihood:
          $ref: '#/components/schemas/Likelihood'
        proxyLikelihood:
          $ref: '#/components/schemas/Likelihood'
        botLikelihood:
          $ref: '#/components/schemas/Likelihood'
        remoteSoftwareLikelihood:
          $ref: '#/components/schemas/Likelihood'
        osAnomaly:
          $ref: '#/components/schemas/Risk-Level'
    Device-Properties:
      type: object
      description: Device properties
      properties:
        deviceId:
          $ref: '#/components/schemas/Device-ID'
        sourceId:
          type: string
          description: >-
            The source from where a specific information was sourced from. This
            is a link to an informationSource object in the informationSources
            map.
        providerName:
          type: string
          description: The name of the provider
        externalIdentifiers:
          type: array
          items:
            $ref: '#/components/schemas/External-Reference-Information'
        os:
          type: string
          description: the device operating system
        trueOs:
          type: string
          description: the true OS of the device
        firstSeenAt:
          type: string
          format: date-time
          description: the first time the device was seen in the provider network
        browser:
          type: string
          description: the device browser (if relevant)
        platform:
          type: string
          description: the device platform
        model:
          type: string
          description: the device model
        fingerprint:
          type: string
          description: the device fingerprint
        fingerprintConfidence:
          type: number
          description: the confidence of the fingerprint
    Activity-Party-Custom-Attribute:
      type: object
      required:
        - type
        - value
      x-examples:
        Example 1:
          type: STRING
          value: premium-credit-card
      properties:
        type:
          $ref: '#/components/schemas/Activity-Party-Custom-Attribute-Type'
        value:
          type: string
    Activity-Type:
      type: string
      description: The different types of activities able to be monitored
      enum:
        - TRANSACTION
        - EVENT
    Activity-Custom-Attributes:
      type: object
      description: >
        A set of key value pairs with a type provided. Do not store PII data in
        this field.

        Validation:

        - minLength: 1

        - maxLength: 64

        - pattern: '^[a-zA-Z][a-zA-Z0-9-]*$'
      additionalProperties:
        $ref: '#/components/schemas/Activity-Custom-Attribute'
    Event-Type:
      type: string
      description: The type of event that has occurred
      enum:
        - LOGIN
        - LOGOUT
        - SIGNUP
        - PASSWORD_RESET
        - PASSWORD_CHANGE
        - ADDRESS_CHANGE
        - PHONE_CHANGE
        - EMAIL_CHANGE
        - ACCOUNT_UPDATE
        - 2FA_UPDATE
        - PAYMENT_METHOD_LINK
        - ACCOUNT_CREATE
        - LOGIN_FAIL
        - INSUFFICIENT_FUNDS
        - KYC_FAIL
        - KYC_PASS
        - CHALLENGE_FAIL
        - CHALLENGE_PASS
    Transaction:
      type: object
      description: >-
        A transaction represents the details of a deposit or withdrawal of a
        entity.
      required:
        - amount
        - currency
        - currencyType
        - transactionType
        - transferMethod
        - transactionIdentifier
      properties:
        amount:
          type: number
          format: double
          description: The amount to be applied to the party
        currency:
          $ref: '#/components/schemas/Currency'
        currencyType:
          $ref: '#/components/schemas/Currency-Type'
        transferMethod:
          $ref: '#/components/schemas/Transaction-Method'
        counterpartyAmount:
          type: number
          format: double
          description: The amount to be applied to the party
        counterpartyCurrency:
          $ref: '#/components/schemas/Currency'
        counterpartyCurrencyType:
          $ref: '#/components/schemas/Currency-Type'
        counterpartyTransferMethod:
          $ref: '#/components/schemas/Transaction-Method'
        description:
          type: string
          description: |
            Short description of the payment from the perspective of the
            party, or any attached reference details.
          maxLength: 240
        account:
          $ref: '#/components/schemas/Transaction-Account'
        transactionType:
          $ref: '#/components/schemas/Transaction-Type'
        merchant:
          $ref: '#/components/schemas/Transaction-Merchant-Details'
        transactionIdentifier:
          type: string
          description: >-
            A payment identifier supplied by an external party / source to
            associate with this party in the transaction.

            This should be a unique reference for the customer to tie their
            transaction records to FrankieOne data.
        transactionLabel:
          type: string
          description: >
            Custom display name for the transaction (e.g., FIAT WITHDRAWAL,
            CRYPTO DEPOSIT) 

            to make transactions more easily distinguishable and meaningful in
            the portal 

            and downstream systems.
          maxLength: 128
    Counter-Party-Detail:
      type: object
      description: >
        A party describes the details of one of the parties in a given
        transaction (natch). It can be used to 

        describe any participant and is differentiated by the paymentRole
        fulfilled.


        You can either provide the raw entity ID as a reference or fill in the
        details. If an entity ID is provided,

        the data will be extracted from the entity in the FrankieOne system.
        Data provided here will take precedence 

        over the entity data but will not enrich the entity details in the
        FrankieOne system.
      allOf:
        - $ref: '#/components/schemas/Party-Detail'
        - type: object
          properties:
            account:
              $ref: '#/components/schemas/Transaction-Account'
    Behavior-Biometrics:
      type: object
      properties:
        hesitationPercentileLongTermMemory:
          type: number
          description: |
            The hesitation percentile for fields like address, name, etc which
            are associated with long term memory.
        hesitationPercentileNonLongTermMemory:
          type: number
          description: |
            The hesitation percentile for fields like amount fields which
            are not associated with long term memory.
        numberDistractionEvents:
          type: integer
        riskLevel:
          $ref: '#/components/schemas/Risk-Level'
    Likelihood:
      type: string
      description: |
        Likelihood of a particular scenario
      enum:
        - LOW
        - MEDIUM
        - HIGH
        - VERY_HIGH
        - UNKNOWN
    Activity-Party-Custom-Attribute-Type:
      type: string
      enum:
        - STRING
        - INTEGER
        - FLOAT
        - BOOLEAN
    Activity-Custom-Attribute:
      type: object
      required:
        - type
        - value
      x-examples:
        Example 1:
          type: STRING
          value: premium-credit-card
      properties:
        type:
          $ref: '#/components/schemas/Activity-Custom-Attribute-Type'
        value:
          type: string
    Currency:
      type: string
      description: 3-digit ISO 4217 currency code or crypto symbol
      example:
        - BTC
        - USD
        - ETH
        - AUD
    Currency-Type:
      type: string
      description: Indicates the type of currency
      enum:
        - FIAT
        - CRYPTO
    Transaction-Method:
      type: string
      description: >
        The method of payment used for the transaction. Note that if you specify
        account details you also need to 

        specify the transfer method and vice-versa.
      enum:
        - CARD_DEBIT
        - CARD_CREDIT
        - CARD_PREPAID
        - BANK_TRANSFER
        - WIRE
        - CRYPTO
        - WALLET
        - ACH
        - ECHECK
        - REMITTANCE
        - CASH
    Transaction-Account:
      type: object
      description: Account details
      allOf:
        - $ref: '#/components/schemas/Transaction-Account-Summary'
        - type: object
          properties:
            hashedPan:
              type: string
              description: >-
                The Sha-256 hash of card number (PAN) of the party at the source
                service
            maskedPan:
              type: string
              description: The masked card number (PAN) of the party at the source service
            route:
              type: string
              description: The branch/BIN/BSB identifier to go with the pan
            iban:
              type: string
              description: The IBAN identifier to go with the pan
            swiftCode:
              type: string
              description: >-
                The Swift code identifier (or BIC - Bank Identifier Code) to go
                with the pan
            name:
              type: string
              description: The name of the account/card
              maxLength: 64
            class:
              $ref: '#/components/schemas/Transaction-Account-Class'
            externalIdentifier:
              type: string
              description: >-
                If there is an external identifier associated with this account
                (e.g. PayID for an NPP transaction), then include that here
              maxLength: 100
            externalIdentifierType:
              $ref: '#/components/schemas/Transaction-Account-ExternalId-Type'
    Transaction-Type:
      type: string
      description: The type of movement of funds
      enum:
        - WITHDRAWAL
        - DEPOSIT
    Transaction-Merchant-Details:
      type: object
      description: A merchant reflects details of the merchant owner.
      properties:
        merchantIdentifier:
          type: string
          description: The merchant identifier of the merchant owner.
        industryCodes:
          type: array
          items:
            $ref: '#/components/schemas/Transaction-Merchant-Industry-Code'
    Activity-Custom-Attribute-Type:
      type: string
      enum:
        - STRING
        - NUMBER
        - BOOLEAN
    Transaction-Account-Summary:
      type: object
      description: Account details
      properties:
        type:
          $ref: '#/components/schemas/Transaction-Account-Type'
        pan:
          type: string
          description: >-
            The primary account number (PAN) / crypto wallet of the party at the
            source service
    Transaction-Account-Class:
      type: string
      description: The class of the account
      enum:
        - PERSONAL
        - BUSINESS
        - OTHER
    Transaction-Account-ExternalId-Type:
      type: string
      description: An Account External ID type, usually associated with a PayID type.
      enum:
        - EXTERNAL_ID_NUMBER
        - EXTERNAL_MOBILE
        - EXTERNAL_EMAIL
        - EXTERNAL_REGISTRATION_NUMBER
    Transaction-Merchant-Industry-Code:
      type: object
      description: A merchant industry code and description pair. (e.g. MCC, ANZSIC)
      properties:
        code:
          description: Short standard code or normalized representation of the information
          type: string
        description:
          description: >-
            The information relevant to the code, could be a more descriptive
            information
          type: string
        type:
          description: Determines the type of the industry code.
          type: string
    Transaction-Account-Type:
      type: string
      description: The type of the account that was used in the financial transaction.
      enum:
        - CHECKING
        - SAVINGS
        - CRYPTO_WALLET
        - TRUST
        - CARD
        - OTHER
  securitySchemes:
    Api-Key:
      type: apiKey
      in: header
      name: api_key
      description: ''
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT

````