openapi: 3.1.0
info:
  title: iDenfy IVS Core API
  version: 0.0.0
  description: iDenfy Identity Verification Service's Core API documentation.
  contact:
    name: API Support
    url: https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1
  x-logo:
    url: /static/idenfy_logo.svg
    altText: iDenfy logo
servers:
- url: https://ivs.idenfy.com
paths:
  /api/v2/gov-ordered-documents/:
    get:
      operationId: apiV2GovOrderedDocumentsList
      summary: List GOV ordered documents
      parameters:
      - in: query
        name: deliveredAfter
        schema:
          type: string
          format: date-time
      - in: query
        name: deliveredBefore
        schema:
          type: string
          format: date-time
      - in: query
        name: documentFormat
        schema:
          type: string
      - in: query
        name: expectedDeliveryAfter
        schema:
          type: string
          format: date-time
      - in: query
        name: expectedDeliveryBefore
        schema:
          type: string
          format: date-time
      - in: query
        name: orderBy
        schema:
          type: array
          items:
            type: string
            enum:
            - -deliveryTime
            - -expectedDeliveryTime
            - -orderTime
            - deliveryTime
            - expectedDeliveryTime
            - orderTime
        description: Ordering
        explode: false
        style: form
      - in: query
        name: orderedAfter
        schema:
          type: string
          format: date-time
      - in: query
        name: orderedBefore
        schema:
          type: string
          format: date-time
      - in: query
        name: status
        schema:
          type: string
          enum:
          - FAILED
          - FINISHED
          - IN_PROGRESS
          - NOT_ORDERED
          - TIMED_OUT
      - in: query
        name: title
        schema:
          type: string
      tags:
      - GOV Orders
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GovPartnerOrderedDocument'
          description: ''
  /api/v2/gov-ordered-documents/{id}/:
    get:
      operationId: apiV2GovOrderedDocumentsRetrieve
      summary: Retrieve GOV ordered document
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this gov partner ordered document.
        required: true
      tags:
      - GOV Orders
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GovPartnerOrderedDocument'
          description: ''
  /api/v2/gov-ordered-documents/available-documents/:
    get:
      operationId: apiV2GovOrderedDocumentsAvailableDocumentsRetrieve
      summary: Retrieve available documents to order
      parameters:
      - in: query
        name: countryCode
        schema:
          enum:
          - AL
          - AM
          - AR
          - AT
          - AU
          - AW
          - AZ
          - BA
          - BB
          - BD
          - BE
          - BG
          - BH
          - BN
          - BO
          - BQ
          - BR
          - BW
          - BY
          - BZ
          - CA
          - CH
          - CN
          - CO
          - CR
          - CW
          - CY
          - CZ
          - DE
          - DK
          - DO
          - EC
          - EE
          - ES
          - FI
          - FR
          - GB
          - GE
          - GG
          - GH
          - GI
          - GR
          - HK
          - HR
          - HU
          - ID
          - IE
          - IL
          - IM
          - IN
          - IS
          - IT
          - JE
          - JO
          - KH
          - KW
          - KY
          - LI
          - LK
          - LS
          - LT
          - LU
          - LV
          - MA
          - ME
          - MH
          - MM
          - MT
          - MU
          - MY
          - NL
          - 'NO'
          - NZ
          - PE
          - PH
          - PK
          - PL
          - PR
          - PT
          - QA
          - RO
          - RS
          - RU
          - SB
          - SE
          - SG
          - SI
          - SK
          - TH
          - TN
          - TO
          - TR
          - TT
          - TW
          - UG
          - US
          - UY
          - VG
          - VI
          - VN
          - VU
          - WS
          - ZA
          type: string
          minLength: 1
        required: true
      - in: query
        name: region
        schema:
          type: string
          minLength: 1
      - in: query
        name: registrationNumber
        schema:
          type: string
          minLength: 1
        description: External company ID from GOV registers search should be used.
        required: true
      tags:
      - GOV Orders
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GovRegistersAvailableDocuments'
          description: ''
  /api/v2/gov-ordered-documents/document-order/:
    post:
      operationId: apiV2GovOrderedDocumentsDocumentOrderCreate
      summary: Order GOV document
      tags:
      - GOV Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GovPartnerOrderDocumentRequest'
        required: true
      security:
      - apiKeyPair: []
      responses:
        '200':
          description: No response body
  /api/v2/sos-filing-documents/:
    get:
      operationId: apiV2SosFilingDocumentsList
      summary: List SOS filing documents
      parameters:
      - in: query
        name: checkedAt
        schema:
          type: array
          items:
            type: string
            format: date-time
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: status
        schema:
          type: string
          enum:
          - FAILED
          - FINISHED
          - IN_PROGRESS
          - NOT_ORDERED
          - TIMED_OUT
      tags:
      - SOS Reports
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SosReportDocument'
          description: ''
    post:
      operationId: apiV2SosFilingDocumentsCreate
      summary: Order SOS filing document
      tags:
      - SOS Reports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SosReportParameterRequest'
        required: true
      security:
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SosReportDocument'
          description: ''
  /api/v2/sos-filing-documents/{id}/:
    get:
      operationId: apiV2SosFilingDocumentsRetrieve
      summary: Retrieve SOS filing document
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this sos document.
        required: true
      tags:
      - SOS Reports
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SosReportDocument'
          description: ''
  /kyb/companies/:
    get:
      operationId: kybCompaniesList
      summary: List companies
      description: >-
        Returns companies oldest-created first. There is no sorting parameter,
        and no `fields` selection — use `GET /kyb/companies/{id}/` to narrow a
        single company's response. Filtering by status, client ID, company name
        or country is not available on the partner API.
      parameters:
      - in: query
        name: created
        schema:
          type: array
          items:
            type: string
            format: date-time
        description: >-
          Creation date-time range as two comma-separated ISO values, `from,to`.
          Supplying only one side works as from-only or to-only.
        explode: false
        style: form
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: perPage
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
          default: 25
          maximum: 200
      - in: query
        name: registrationNumber
        description: Exact match on the company's registration number.
        schema:
          type: string
      tags:
      - Companies
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanyListList'
          description: ''
  /kyb/companies/{id}/:
    get:
      operationId: kybCompaniesRetrieve
      summary: Retrieve all company info
      description: >-
        Returns the full company record. Pass `fields` to return only the data
        you need — the response is assembled from several sources, so narrowing
        it noticeably reduces the response time.
      parameters:
      - in: query
        name: fields
        schema:
          type: array
          items:
            type: string
            enum:
            - id
            - company
            - meta
            - token
            - documents
            - beneficiaries
            - beneficiaries.id
            - beneficiaries.beneficiaryType
            - beneficiaries.beneficiaryTypes
            - beneficiaries.info
            - beneficiaries.positions
            - beneficiaries.formFiller
            - beneficiaries.ownershipPercentage
            - beneficiaries.parent
            - beneficiaries.meta
            - beneficiaries.meta.identifier
            - beneficiaries.meta.clientId
            - beneficiaries.meta.finalStatus
            - beneficiaries.meta.sessionExpiration
            - beneficiaries.meta.identificationHistory
            - beneficiaries.meta.pepsCheckStatus
            - beneficiaries.meta.pepsStatusSetAt
            - beneficiaries.meta.pepsStatusSetBy
            - beneficiaries.meta.sanctionsCheckStatus
            - beneficiaries.meta.sanctionsStatusSetAt
            - beneficiaries.meta.sanctionsStatusSetBy
            - beneficiaries.meta.amlComment
            - beneficiaries.meta.negativeNewsStatus
            - beneficiaries.meta.negativeNewsComment
            - beneficiaries.meta.newsStatusSetBy
            - beneficiaries.meta.newsStatusSetAt
            - beneficiaries.documents
            - beneficiaries.amlCheck
            - beneficiaries.amlMonitoringUser
            - questionnaires
            - comments
            - auditLogs
            - addressAudit
            - websiteAudit
            - companyNameAudit
            - dataMatchings
            - einVerification
            - govChecks
            - amlCheck
            - amlChecks
            - amlMonitoringUsers
            - riskAssessment
        description: >-
          Response fields to return, either repeated (`?fields=company&fields=documents`)
          or comma separated (`?fields=company,documents`). Requesting a parent
          returns everything beneath it, so `beneficiaries` covers every
          `beneficiaries.*` value. Omit the parameter to get the full response.
        explode: true
        style: form
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - Companies
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyDetail'
          description: ''
        '400':
          description: >-
            An unrecognised `fields` value. The error names the unknown field —
            values are validated rather than silently ignored.
    delete:
      operationId: kybCompaniesDestroy
      summary: Delete company
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - Companies
      security:
      - apiKeyPair: []
      responses:
        '204':
          description: No response body
  /kyb/companies/{id}/change-status/:
    post:
      operationId: kybCompaniesChangeStatusCreate
      description: Note that the status cannot be changed from `PENDING` and `PROCESSING`
        statuses.
      summary: Change company status
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - Companies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyStatusRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyStatus'
          description: ''
  /kyb/companies/{id}/pdf/:
    post:
      operationId: kybCompaniesPdfCreate
      summary: Generate company PDF
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - Companies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybPdfRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/pdf:
              schema:
                type: string
                format: binary
          description: ''
  /kyb/forms/:
    get:
      operationId: kybFormsList
      description: List KYB forms associated with KYB token. There can be *one* or
        *zero* items in the list, indicating that the KYB form *was* or *was not*
        created.
      summary: List KYB forms
      tags:
      - KYB Forms
      security:
      - kybTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KybFormList'
          description: ''
    post:
      operationId: kybFormsCreate
      description: |-
        Creates the KYB form for this token. This is where pre-filling starts:
        send the company data you already hold, optionally with `beneficiaries`
        and `documents`.

        - Accepts the `tokenString` only (`Authorization: Bearer <tokenString>`).
        - Can be called once per token; a second call returns `KYB form is already created.`
        - The flow's required fields apply. Each missing field returns its own `This field is required.` error.
        - Fields outside the flow are silently dropped.

        To change the data afterwards use `PUT` or `PATCH /kyb/forms/{id}/`.
        See [Pre-Fill and Update](/kyb/pre-fill).
      summary: Create new KYB form
      tags:
      - KYB Forms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybFormCreateRequest'
        required: true
      security:
      - kybTokenAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormCreate'
          description: ''
  /kyb/forms/{companyId}/beneficiaries/:
    get:
      operationId: kybFormsBeneficiariesList
      summary: List beneficiaries
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - Beneficiaries
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Beneficiary'
          description: ''
    post:
      operationId: kybFormsBeneficiariesCreate
      summary: Add new beneficiary
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - Beneficiaries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryCreateRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficiaryCreate'
          description: ''
  /kyb/forms/{companyId}/beneficiaries/{beneficiaryId}/documents/:
    get:
      operationId: kybFormsBeneficiariesDocumentsList
      summary: List beneficiary documents
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BeneficiaryDocument'
          description: ''
    post:
      operationId: kybFormsBeneficiariesDocumentsCreate
      summary: Add new beneficiary document
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryDocumentCreateRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficiaryDocumentCreate'
          description: ''
  /kyb/forms/{companyId}/beneficiaries/{beneficiaryId}/documents/{id}/:
    get:
      operationId: kybFormsBeneficiariesDocumentsRetrieve
      summary: Retrieve beneficiary document
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficiaryDocument'
          description: ''
    put:
      operationId: kybFormsBeneficiariesDocumentsUpdate
      summary: Update beneficiary document
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryDocumentRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficiaryDocument'
          description: ''
    patch:
      operationId: kybFormsBeneficiariesDocumentsPartialUpdate
      summary: Partially update beneficiary document
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBeneficiaryDocumentRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeneficiaryDocument'
          description: ''
    delete:
      operationId: kybFormsBeneficiariesDocumentsDestroy
      summary: Delete beneficiary document
      parameters:
      - in: path
        name: beneficiaryId
        schema:
          type: string
        required: true
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '204':
          description: No response body
  /kyb/forms/{companyId}/beneficiaries/{id}/:
    get:
      operationId: kybFormsBeneficiariesRetrieve
      summary: Retrieve beneficiary
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this beneficiary.
        required: true
      tags:
      - Beneficiaries
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Beneficiary'
          description: ''
    put:
      operationId: kybFormsBeneficiariesUpdate
      summary: Update beneficiary
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this beneficiary.
        required: true
      tags:
      - Beneficiaries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BeneficiaryRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Beneficiary'
          description: ''
    patch:
      operationId: kybFormsBeneficiariesPartialUpdate
      summary: Partially update beneficiary
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this beneficiary.
        required: true
      tags:
      - Beneficiaries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBeneficiaryRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Beneficiary'
          description: ''
    delete:
      operationId: kybFormsBeneficiariesDestroy
      summary: Delete beneficiary
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this beneficiary.
        required: true
      tags:
      - Beneficiaries
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '204':
          description: No response body
  /kyb/forms/{companyId}/documents/:
    get:
      operationId: kybFormsDocumentsList
      summary: List documents
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: query
        name: type
        schema:
          type: array
          items:
            type: string
            enum:
            - ANNUAL_REPORT
            - BANK_STATEMENT
            - COMPANY_ADVERSE_MEDIA
            - DIRECTORS_REGISTRY
            - DIRECTOR_CERT
            - DIRECTOR_ONLINE_PRESENCE
            - EMAIL_CHECK
            - E_SIGNATURE_CERT
            - GOOD_STANDING_CERT
            - INCORPORATION_ARTICLES
            - INCORPORATION_CERT
            - INCUMBENCY_CERT
            - INDIVIDUAL_ADVERSE_MEDIA
            - INFORMATION_STATEMENT
            - INVOICE
            - NAME_CHANGE_PROOF
            - ONLINE_PRESENCE
            - ORG_CHART
            - OTHER
            - OWNERSHIP_STRUCTURE
            - PROOF_OF_ADDRESS
            - PROOF_OF_DOMAIN
            - SHAREHOLDER_CERT
            - SHAREHOLDER_ONLINE_PRESENCE
            - SHAREHOLDER_REGISTRY
            - SOURCE_OF_FUNDS
            - SOURCE_OF_WEALTH
            - STATE_REGISTRY
            - TRADING_STATUS_PROOF
            - TRUST_AGREEMENT
            - UBO_CERT
            - UBO_REGISTRY
            - WEBSITE_OVERVIEW
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: type_Exclude
        schema:
          type: array
          items:
            type: string
            enum:
            - ANNUAL_REPORT
            - BANK_STATEMENT
            - COMPANY_ADVERSE_MEDIA
            - DIRECTORS_REGISTRY
            - DIRECTOR_CERT
            - DIRECTOR_ONLINE_PRESENCE
            - EMAIL_CHECK
            - E_SIGNATURE_CERT
            - GOOD_STANDING_CERT
            - INCORPORATION_ARTICLES
            - INCORPORATION_CERT
            - INCUMBENCY_CERT
            - INDIVIDUAL_ADVERSE_MEDIA
            - INFORMATION_STATEMENT
            - INVOICE
            - NAME_CHANGE_PROOF
            - ONLINE_PRESENCE
            - ORG_CHART
            - OTHER
            - OWNERSHIP_STRUCTURE
            - PROOF_OF_ADDRESS
            - PROOF_OF_DOMAIN
            - SHAREHOLDER_CERT
            - SHAREHOLDER_ONLINE_PRESENCE
            - SHAREHOLDER_REGISTRY
            - SOURCE_OF_FUNDS
            - SOURCE_OF_WEALTH
            - STATE_REGISTRY
            - TRADING_STATUS_PROOF
            - TRUST_AGREEMENT
            - UBO_CERT
            - UBO_REGISTRY
            - WEBSITE_OVERVIEW
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KybFormDocument'
          description: ''
    post:
      operationId: kybFormsDocumentsCreate
      summary: Add new document
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybFormDocumentCreateRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormDocumentCreate'
          description: ''
  /kyb/forms/{companyId}/documents/{id}/:
    get:
      operationId: kybFormsDocumentsRetrieve
      summary: Retrieve document
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormDocument'
          description: ''
    put:
      operationId: kybFormsDocumentsUpdate
      summary: Update document
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybFormDocumentRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormDocument'
          description: ''
    patch:
      operationId: kybFormsDocumentsPartialUpdate
      summary: Partially update document
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedKybFormDocumentRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormDocument'
          description: ''
    delete:
      operationId: kybFormsDocumentsDestroy
      summary: Delete document
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this KYB Document.
        required: true
      tags:
      - KYB Documents
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '204':
          description: No response body
  /kyb/forms/{companyId}/questionnaires/:
    get:
      operationId: kybFormsQuestionnairesList
      summary: List questionnaires
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - KYB Questionnaires
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Questionnaire'
          description: ''
  /kyb/forms/{companyId}/questionnaires/{id}/:
    get:
      operationId: kybFormsQuestionnairesRetrieve
      summary: Retrieve questionnaire
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this questionnaire.
        required: true
      tags:
      - KYB Questionnaires
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Questionnaire'
          description: ''
  /kyb/forms/{companyId}/questionnaires/{id}/answers/:
    get:
      operationId: kybFormsQuestionnairesAnswersRetrieve
      summary: Retrieve questionnaire answers
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this questionnaire.
        required: true
      tags:
      - KYB Questionnaires
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormAnswers'
          description: ''
        '204':
          description: No response body
    put:
      operationId: kybFormsQuestionnairesAnswersUpdate
      description: |-
        Saves questionnaire answers. Requires an existing form.

        A `PUT` replaces all saved answers: questions left out are cleared and
        files not sent back are deleted. Use section and question keys exactly as
        returned by the questionnaire endpoint. Required questions are validated,
        so partial answers can be rejected.

        With the `tokenString`: only while the form is `PENDING`. With the API key
        pair: any status except `PROCESSING`. See
        [Pre-Fill and Update](/kyb/pre-fill#step-6-answer-the-questionnaire).
      summary: Update questionnaire answers
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this questionnaire.
        required: true
      tags:
      - KYB Questionnaires
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybFormAnswersRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormAnswers'
          description: ''
    delete:
      operationId: kybFormsQuestionnairesAnswersDestroy
      summary: Delete questionnaire answers
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this questionnaire.
        required: true
      tags:
      - KYB Questionnaires
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '204':
          description: No response body
  /kyb/forms/{companyId}/questionnaires/answers/detail/:
    get:
      operationId: kybFormsQuestionnairesAnswersDetailList
      summary: Retrieve all questionnaires' answers
      parameters:
      - in: path
        name: companyId
        schema:
          type: string
        required: true
      tags:
      - KYB Questionnaires
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KybAnswersDisplay'
          description: ''
  /kyb/forms/{id}/:
    get:
      operationId: kybFormsRetrieve
      summary: Retrieve KYB form info
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - KYB Forms
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybForm'
          description: ''
    put:
      operationId: kybFormsUpdate
      description: |-
        Replaces the `company` block of an existing form. Include every required
        field. Returns `404` until the form has been created.

        With the `tokenString`: only while the form is `PENDING`, and the flow's
        rules apply. With the API key pair: any status except `PROCESSING`; the
        flow's required and allowed rules are not applied to standard company
        fields. See [Pre-Fill and Update](/kyb/pre-fill#updating-a-form).
      summary: Update KYB form info
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - KYB Forms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybFormUpdateRequest'
        required: true
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormUpdate'
          description: ''
    patch:
      operationId: kybFormsPartialUpdate
      description: |-
        Changes only the `company` fields you send; everything else is kept.
        Returns `404` until the form has been created.

        With the `tokenString`: only while the form is `PENDING`, and the flow's
        rules apply. With the API key pair: any status except `PROCESSING`; the
        flow's required and allowed rules are not applied to standard company
        fields. See [Pre-Fill and Update](/kyb/pre-fill#updating-a-form).
      summary: Partially update KYB form info
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - KYB Forms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedKybFormUpdateRequest'
      security:
      - kybTokenAuth: []
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybFormUpdate'
          description: ''
  /kyb/forms/{id}/submit/:
    post:
      operationId: kybFormsSubmitCreate
      description: 'Submit a filled KYB form for review.


        The form will be submitted and you will not be able to edit this KYB form
        any further

        unless additional information will be requested during a manual review.


        After submission, automatic blacklist and automation processes are executed.

        Then this KYB form will be reviewed by humans.

        After manual review, you may receive a webhook callback.'
      summary: Submit KYB form
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - KYB Forms
      security:
      - kybTokenAuth: []
      responses:
        '200':
          description: No response body
  /kyb/info/:
    get:
      operationId: kybInfoRetrieve
      description: Various info for KYB session.
      summary: Retrieve KYB session info
      tags:
      - KYB Token
      security:
      - kybTokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybInfo'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybInfoUnauthorized'
          description: ''
  /kyb/tokens/:
    post:
      operationId: kybTokensCreate
      description: |-
        Creates a KYB session and returns its `tokenString` and `companyId`.

        If `flow` is not sent, your default KYB flow is used. The request is
        refused if your account lacks finances for the flow. The form itself
        does not exist yet; create it with `POST /kyb/forms/`. See
        [Create KYB Session](/kyb/generate-token).
      summary: Generate KYB form token
      tags:
      - KYB Token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybTokenRequest'
      security:
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybToken'
          description: ''
  /kyb/tokens/{tokenString}/:
    put:
      operationId: kybTokensUpdate
      summary: Update KYB form token
      parameters:
      - in: path
        name: tokenString
        schema:
          type: string
          description: Token string used for authentication.
        required: true
      tags:
      - KYB Token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybTokenUpdateRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybTokenUpdate'
          description: ''
    patch:
      operationId: kybTokensPartialUpdate
      summary: Partially update KYB form token
      parameters:
      - in: path
        name: tokenString
        schema:
          type: string
          description: Token string used for authentication.
        required: true
      tags:
      - KYB Token
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedKybTokenUpdateRequest'
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KybTokenUpdate'
          description: ''
  /kyb/companies/{id}/automation/:
    post:
      operationId: kybCompaniesAutomationCreate
      summary: Re-run company automation
      parameters:
      - in: path
        name: id
        schema:
          type: string
        description: A unique value identifying this company.
        required: true
      tags:
      - Companies
      security:
      - apiKeyPair: []
      responses:
        '202':
          description: No response body
        '402':
          description: No response body
  /api/v2/registry-center-checks/:
    get:
      operationId: registryCenterChecksList
      parameters:
      - in: query
        name: checkedFields
        schema:
          type: array
          items:
            type: string
            enum:
            - address
            - address1
            - address2
            - city
            - date_of_birth
            - dob
            - email
            - first_name
            - gender
            - id_num
            - last_name
            - marital_status
            - middle_name
            - phone
            - state
            - yob
            - zip
        explode: true
        style: form
      - in: query
        name: clientId
        schema:
          type: string
      - in: query
        name: created
        schema:
          type: array
          items:
            type: string
            format: date-time
        description: Multiple values may be separated by commas.
        explode: false
        style: form
      - in: query
        name: databases
        schema:
          type: array
          items:
            type: string
            enum:
            - UK
            - US_1
            - US_15
            - US_4
        description: A list of comma separated values
        explode: true
        style: form
      - in: query
        name: id
        schema:
          type: string
          format: uuid
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: orderBy
        schema:
          type: array
          items:
            type: string
            enum:
            - -created
            - created
        description: Ordering
        explode: false
        style: form
      - in: query
        name: partnerIn
        schema:
          type: array
          items:
            type: integer
        description: A list of ids, comma separated, identifying partners
        explode: true
        style: form
      - in: query
        name: partnerNotIn
        schema:
          type: array
          items:
            type: integer
        description: A list of ids, comma separated, identifying partners
        explode: true
        style: form
      - in: query
        name: status
        schema:
          type: string
          enum:
          - MATCH
          - NO_DATA
          - NO_MATCH
          - PARTIAL_MATCH
      - in: query
        name: surname
        schema:
          type: string
      tags:
      - Registry Center Checks
      security:
      - apiKeyPair: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RegistryCenterCheck'
          description: ''
      summary: List registry center checks
    post:
      operationId: registryCenterChecksCreate
      tags:
      - Registry Center Checks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegistryCenterCheckRequest'
      security:
      - apiKeyPair: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegistryCenterCheck'
          description: ''
      summary: Create registry center check
components:
  schemas:
    AdditionalFieldValue:
      type: object
      properties:
        title:
          type: string
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/CustomFieldTypeEnum'
          readOnly: true
        value:
          nullable: true
      required:
      - title
      - type
      - value
    AdditionalFieldValueRequest:
      type: object
      properties:
        value:
          nullable: true
      required:
      - value
    AddressAuditImage:
      type: object
      properties:
        image:
          type: string
          format: uri
          description: Address audit image
        type:
          $ref: '#/components/schemas/AddressAuditImageTypeEnum'
      required:
      - image
    AddressAuditImageTypeEnum:
      enum:
      - STREET_VIEW
      - ADDITIONAL
      type: string
    AddressAuditRetrieve:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        googleMapsUrl:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Link to google maps result for address
        dataId:
          type: string
          readOnly: true
          nullable: true
          description: SerpAPI result data ID
        type:
          type: object
          additionalProperties: {}
          readOnly: true
        address:
          type: string
          readOnly: true
          nullable: true
        associatedBodies:
          type: object
          additionalProperties: {}
          readOnly: true
          description: Associated bodies at this address
        latitude:
          type: number
          format: double
          readOnly: true
          nullable: true
          description: Address latitude
        longitude:
          type: number
          format: double
          readOnly: true
          nullable: true
          description: Address longitude
        riskLevel:
          allOf:
          - $ref: '#/components/schemas/RiskLevelEnum'
          readOnly: true
        addressAuditImages:
          type: array
          items:
            $ref: '#/components/schemas/AddressAuditImage'
          readOnly: true
      required:
      - address
      - addressAuditImages
      - associatedBodies
      - created
      - dataId
      - googleMapsUrl
      - id
      - latitude
      - longitude
      - riskLevel
      - type
    AdverseMediaSearchResult:
      type: object
      properties:
        title:
          type: string
          nullable: true
        url:
          type: string
          format: uri
        text:
          type: string
          nullable: true
        score:
          type: integer
          nullable: true
        type:
          allOf:
          - $ref: '#/components/schemas/AmlArticleTypeEnum'
          nullable: true
        publishDate:
          type: string
          format: date
          nullable: true
      required:
      - publishDate
      - score
      - text
      - title
      - type
      - url
    AmlAdverseMediaData:
      type: object
      properties:
        title:
          type: string
          nullable: true
        url:
          type: string
        text:
          type: string
          nullable: true
        score:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        publishDate:
          type: string
          nullable: true
        status:
          type: string
        comment:
          $ref: '#/components/schemas/AmlComment'
      required:
      - publishDate
      - score
      - text
      - title
      - type
      - url
    AmlArticleTypeEnum:
      enum:
      - NEGATIVE
      type: string
    AmlCheck:
      oneOf:
      - $ref: '#/components/schemas/PersonAmlCheck'
      - $ref: '#/components/schemas/CompanyAmlCheck'
      discriminator:
        propertyName: userType
        mapping:
          PERSON: '#/components/schemas/PersonAmlCheck'
          COMPANY: '#/components/schemas/CompanyAmlCheck'
    AmlCheckMonitoring:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        status:
          $ref: '#/components/schemas/MonitoringStatusEnum'
        isSubscribed:
          type: boolean
        expiration:
          type: string
          format: date-time
        tags:
          type: array
          items:
            type: string
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - created
      - id
    AmlCheckStatusEnum:
      enum:
      - NOT_CHECKED
      - NO_FLAGS
      - FALSE_POSITIVE
      - TRUE_POSITIVE
      - FLAGS_FOUND
      type: string
    AmlCheckV3BusinessData:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        overallStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        statusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        statusSetAt:
          type: string
          format: date-time
          nullable: true
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AmlAdverseMediaData'
          nullable: true
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/BusinessSearchResult'
          nullable: true
      required:
      - id
    AmlCheckV3IndividualData:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        overallStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        statusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        statusSetAt:
          type: string
          format: date-time
          nullable: true
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AmlAdverseMediaData'
          nullable: true
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/IndividualSearchResult'
          nullable: true
      required:
      - id
    AmlComment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        manager:
          $ref: '#/components/schemas/ManagerAccount'
        content:
          type: string
          maxLength: 10000
        type:
          $ref: '#/components/schemas/AmlCommentTypeEnum'
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - content
      - created
      - id
      - manager
      - type
    AmlCommentTypeEnum:
      enum:
      - ADVERSE_MEDIA
      - AML_PROFILE
      type: string
    AmlMonitoringUser:
      type: object
      properties:
        monitoringId:
          type: string
          maxLength: 100
        name:
          type: string
          nullable: true
          maxLength: 200
        surname:
          type: string
          nullable: true
          maxLength: 100
        lastCheckDate:
          type: string
          format: date
          nullable: true
        alertStatus:
          $ref: '#/components/schemas/MonitoringAlertTypeEnum'
      required:
      - monitoringId
    AmlReviewSubjectEnum:
      enum:
      - COMPANY
      - BENEFICIARY
      - SHAREHOLDER
      type: string
    AmlReviewWebhook:
      type: object
      properties:
        amlReviewSubjectType:
          $ref: '#/components/schemas/AmlReviewSubjectEnum'
        id:
          type: string
        companyId:
          type: string
        clientId:
          type: string
        externalRef:
          type: string
          nullable: true
        negativeNewsComment:
          type: string
          nullable: true
        negativeNewsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        newsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        newsStatusSetAt:
          type: string
          format: date-time
          nullable: true
        amlComment:
          type: string
          nullable: true
        pepsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        pepsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        pepsStatusSetAt:
          type: string
          format: date-time
          nullable: true
        sanctionsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        sanctionsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        sanctionsStatusSetAt:
          type: string
          format: date-time
          nullable: true
        overallStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          nullable: true
        statusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        statusSetAt:
          type: string
          format: date-time
          nullable: true
      required:
      - amlReviewSubjectType
      - companyId
      - id
    Applicant:
      oneOf:
      - $ref: '#/components/schemas/IndividualApplicant'
      - $ref: '#/components/schemas/CompanyApplicant'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL: '#/components/schemas/IndividualApplicant'
          COMPANY: '#/components/schemas/CompanyApplicant'
    ApplicantCreate:
      oneOf:
      - $ref: '#/components/schemas/IndividualApplicantCreate'
      - $ref: '#/components/schemas/CompanyApplicantCreate'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL: '#/components/schemas/IndividualApplicantCreate'
          COMPANY: '#/components/schemas/CompanyApplicantCreate'
    ApplicantCreateRequest:
      oneOf:
      - $ref: '#/components/schemas/IndividualApplicantCreateRequest'
      - $ref: '#/components/schemas/CompanyApplicantCreateRequest'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL: '#/components/schemas/IndividualApplicantCreateRequest'
          COMPANY: '#/components/schemas/CompanyApplicantCreateRequest'
    ApplicantFlow:
      oneOf:
      - $ref: '#/components/schemas/IndividualFlow'
      - $ref: '#/components/schemas/CompanyFlow'
      discriminator:
        propertyName: applicantType
        mapping:
          INDIVIDUAL: '#/components/schemas/IndividualFlow'
          COMPANY: '#/components/schemas/CompanyFlow'
    ApplicantRequest:
      oneOf:
      - $ref: '#/components/schemas/IndividualApplicantRequest'
      - $ref: '#/components/schemas/CompanyApplicantRequest'
      discriminator:
        propertyName: infoType
        mapping:
          INDIVIDUAL: '#/components/schemas/IndividualApplicantRequest'
          COMPANY: '#/components/schemas/CompanyApplicantRequest'
    ApplicantTypeEnum:
      enum:
      - INDIVIDUAL
      - COMPANY
      type: string
    ApprovalStatusEnum:
      enum:
      - APPROVED
      - DENIED
      type: string
    AuditLogManager:
      type: object
      properties:
        id:
          type: integer
        displayName:
          type: string
    Beneficiary:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/Applicant'
        positions:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
        parent:
          type: string
          readOnly: true
          nullable: true
      required:
      - id
      - info
      - parent
    BeneficiaryCreate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/ApplicantCreate'
        positions:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
        parent:
          type: string
          nullable: true
      required:
      - id
      - info
    BeneficiaryCreateRequest:
      type: object
      properties:
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/ApplicantCreateRequest'
        positions:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
        parent:
          type: string
          minLength: 1
          nullable: true
      required:
      - info
    BeneficiaryDetail:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/Applicant'
        positions:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
        parent:
          type: string
          readOnly: true
          nullable: true
        meta:
          allOf:
          - $ref: '#/components/schemas/BeneficiaryDetailMeta'
          readOnly: true
        documents:
          type: array
          items:
            $ref: '#/components/schemas/KybDocument'
          default: []
        amlCheck:
          allOf:
          - $ref: '#/components/schemas/AmlCheck'
          nullable: true
        amlMonitoringUser:
          allOf:
          - $ref: '#/components/schemas/BeneficiaryMonitoringUser'
          readOnly: true
      required:
      - amlCheck
      - amlMonitoringUser
      - id
      - info
      - meta
      - parent
    BeneficiaryDetailMeta:
      type: object
      properties:
        identifier:
          type: string
          readOnly: true
          nullable: true
        clientId:
          type: string
          readOnly: true
          nullable: true
        finalStatus:
          type: string
          readOnly: true
          nullable: true
        sessionExpiration:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        identificationHistory:
          type: array
          items:
            $ref: '#/components/schemas/IdentificationHistory'
          readOnly: true
        pepsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: Always `NOT_CHECKED` for `COMPANY` beneficiaries because company
            AML can't have PEPs flags.
        pepsStatusSetAt:
          type: string
          format: date-time
          nullable: true
        pepsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        sanctionsCheckStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        sanctionsStatusSetAt:
          type: string
          format: date-time
          nullable: true
        sanctionsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        amlComment:
          type: string
          nullable: true
        negativeNewsStatus:
          $ref: '#/components/schemas/AmlCheckStatusEnum'
        negativeNewsComment:
          type: string
          nullable: true
        newsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        newsStatusSetAt:
          type: string
          format: date-time
          nullable: true
      required:
      - clientId
      - finalStatus
      - identificationHistory
      - identifier
      - newsStatusSetBy
      - pepsStatusSetBy
      - sanctionsStatusSetBy
      - sessionExpiration
    BeneficiaryDocument:
      oneOf:
      - $ref: '#/components/schemas/IndividualKybDoc'
      - $ref: '#/components/schemas/CompanyKybDoc'
    BeneficiaryDocumentCreate:
      oneOf:
      - $ref: '#/components/schemas/IndividualKybDocCreate'
      - $ref: '#/components/schemas/CompanyKybDocCreate'
    BeneficiaryDocumentCreateRequest:
      oneOf:
      - $ref: '#/components/schemas/IndividualKybDocCreateRequest'
      - $ref: '#/components/schemas/CompanyKybDocCreateRequest'
    BeneficiaryDocumentRequest:
      oneOf:
      - $ref: '#/components/schemas/IndividualKybDocRequest'
      - $ref: '#/components/schemas/CompanyKybDocRequest'
    BeneficiaryField:
      type: object
      properties:
        required:
          type: boolean
          default: false
        field:
          $ref: '#/components/schemas/BeneficiaryFieldEnum'
      required:
      - field
    BeneficiaryFieldEnum:
      enum:
      - OWNERSHIP_PERCENTAGE
      type: string
    BeneficiaryMonitoringUser:
      type: object
      properties:
        monitoringId:
          type: string
          readOnly: true
        alertStatus:
          allOf:
          - $ref: '#/components/schemas/MonitoringAlertTypeEnum'
          readOnly: true
      required:
      - alertStatus
      - monitoringId
    BeneficiaryRequest:
      type: object
      properties:
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/ApplicantRequest'
        positions:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
      required:
      - info
    BeneficiaryTypeEnum:
      enum:
      - CEO
      - REPRESENTATIVE
      - SHAREHOLDER
      - UBO
      - ABO
      type: string
    BeneficiaryUnifiedFlow:
      type: object
      description: Indicates which beneficiary types are editable.
      properties:
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        required:
          type: boolean
          default: false
        fields:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryField'
          nullable: true
        applicants:
          type: array
          items:
            $ref: '#/components/schemas/ApplicantFlow'
        description:
          type: string
          description: Note for the user to guide them on how the beneficiaries information
            (including documents uploading) should be filled/edited.
          maxLength: 512
        readOnly:
          type: boolean
          default: false
      required:
      - applicants
      - beneficiaryType
    BeneficiaryWebhook:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        amlComment:
          type: string
          nullable: true
          deprecated: true
        pepsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: Always `NOT_CHECKED` for `COMPANY` beneficiaries because company
            AML can't have PEPs flags.
          deprecated: true
        pepsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          deprecated: true
        pepsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          deprecated: true
        sanctionsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          deprecated: true
        sanctionsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          deprecated: true
        sanctionsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          deprecated: true
        negativeNewsComment:
          type: string
          nullable: true
          deprecated: true
        negativeNewsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          deprecated: true
        newsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          deprecated: true
        newsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          deprecated: true
        beneficiaryCheck:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        amlCheck:
          $ref: '#/components/schemas/AmlCheckV3IndividualData'
        negativeNewsCheck:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        scanRef:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
      required:
      - amlCheck
      - beneficiaryCheck
      - id
      - negativeNewsCheck
      - newsStatusSetBy
      - pepsStatusSetBy
      - sanctionsStatusSetBy
      - scanRef
    BlacklistStatus:
      type: object
      properties:
        id:
          type: string
        status:
          $ref: '#/components/schemas/BlacklistStatusEnum'
      required:
      - id
      - status
    BlacklistStatusEnum:
      enum:
      - CHECKED
      - SKIPPED
      type: string
    BusinessSearchDatasetEnum:
      enum:
      - PEP
      - PEP_LINKED
      - SAN
      - SAN_CURRENT
      - SAN_FORMER
      - INS
      - RRE
      - POI
      - REL
      - SOE
      - SOE_CURRENT
      - SOE_FORMER
      type: string
    BusinessSearchResult:
      type: object
      properties:
        version:
          type: integer
          description: The version number can be used by clients to detect when a
            profile has been changed by our research team.
        resourceId:
          type: string
          description: The resource ID can be used to retrieve the full profile or
            the PDF of the business.
        score:
          type: integer
          description: The match score of the profile.
        match:
          type: string
          description: The name of the profile that has been matched in the search.
        name:
          type: string
          description: The primary name of the profile.
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/SearchAddress'
          description: The list of profile addresses.
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/BusinessSearchDatasetEnum'
          description: "The profile datasets\n * PEP - (Deprecated - ignore)\n * PEP_LINKED\
            \ - Only linked PEPs (PEP by Association)\n * SAN - (Deprecated - ignore)\n\
            \ * SAN_CURRENT - Only current Sanctions\n * SAN_FORMER - Only former\
            \ Sanctions\n * INS - Insolvency\n * RRE - Reputational Risk Exposure\n\
            \ * POI - Profile Of Interest\n * REL - Regulatory Enforcement List\n\
            \ * SOE - (Deprecated - ignore)\n * SOE_CURRENT - Only current SOE\n *\
            \ SOE_FORMER - Only former SOE.\n"
        currentSanBodyIds:
          type: array
          items:
            type: integer
          description: The list of IDs of all sanctioning bodies, that are currently
            sanctioning the given profile. The full list of supported sanction bodies
            and their IDs is provided by /dictionaries/sanction-bodies endpoint.
        formerSanBodyIds:
          type: array
          items:
            type: integer
          description: The list of IDs of all sanctioning bodies, that were sanctioning
            the given profile in the past, but do not currently sanction them. The
            full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies
            endpoint.
      required:
      - addresses
      - currentSanBodyIds
      - datasets
      - formerSanBodyIds
      - match
      - name
      - resourceId
      - score
    CheckboxFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: boolean
          nullable: true
      required:
      - title
      - type
    Choice:
      type: object
      properties:
        key:
          type: string
          pattern: ^[\w_*-]+$
          maxLength: 32
        title:
          type: string
          maxLength: 512
      required:
      - key
      - title
    ClientSystem:
      type: object
      properties:
        ipAddress:
          type: string
          nullable: true
          description: '[ipv4](https://wikipedia.org/wiki/IPv4#Addressing) or [ipv6](https://wikipedia.org/wiki/IPv6_address)
            address.'
        timeZone:
          type: string
          nullable: true
          description: Time zone from [TZ database list](https://wikipedia.org/wiki/List_of_tz_database_time_zones#List).
    ClientSystemRequest:
      type: object
      properties:
        ipAddress:
          type: string
          nullable: true
          minLength: 1
          description: '[ipv4](https://wikipedia.org/wiki/IPv4#Addressing) or [ipv6](https://wikipedia.org/wiki/IPv6_address)
            address.'
        timeZone:
          type: string
          nullable: true
          minLength: 1
          description: Time zone from [TZ database list](https://wikipedia.org/wiki/List_of_tz_database_time_zones#List).
    CompanyAmlCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        checkedAt:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        userType:
          $ref: '#/components/schemas/UserMonitoringTypeEnum'
        input:
          $ref: '#/components/schemas/CompanyAmlCheckInput'
        filter:
          $ref: '#/components/schemas/CompanyAmlCheckFilter'
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/BusinessSearchResult'
          readOnly: true
          nullable: true
          description: AML database search result.
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AdverseMediaSearchResult'
          readOnly: true
          nullable: true
          description: Adverse media database search result.
        overallStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          readOnly: true
        monitoring:
          allOf:
          - $ref: '#/components/schemas/AmlCheckMonitoring'
          readOnly: true
          nullable: true
      required:
      - adverseMedia
      - amlCheck
      - checkedAt
      - clientId
      - created
      - filter
      - id
      - input
      - monitoring
      - overallStatus
      - userType
    CompanyAmlCheckFilter:
      type: object
      properties:
        threshold:
          type: integer
          maximum: 100
          minimum: 75
          nullable: true
          default: 85
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/CompanyAmlCheckFilterDatasetsEnum'
          nullable: true
          description: Required when checking `AML_CHECK` service.
        sanctionBodies:
          type: array
          items:
            type: integer
            maximum: 80
            minimum: 1
          nullable: true
          description: When searching `SAN` dataset, specify the values of sanctioning
            bodies that should be included when screening `SAN` dataset. The full
            list of supported sanction bodies and their values are provided by the
            API info endpoint. If none sanction bodies are provided the system will
            search sanctions issued by any sanctioning body.
    CompanyAmlCheckFilterDatasetsEnum:
      enum:
      - PEP_LINKED
      - SAN_CURRENT
      - SAN_FORMER
      - INS
      - RRE
      - POI
      - REL
      - SOE_CURRENT
      - SOE_FORMER
      type: string
    CompanyAmlCheckInput:
      type: object
      properties:
        companyName:
          type: string
          maxLength: 200
        country:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
      required:
      - companyName
    CompanyApplicant:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CustomFieldValue'
      required:
      - companyName
      - country
      - infoType
    CompanyApplicantCreate:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValue'
      required:
      - companyName
      - country
      - infoType
    CompanyApplicantCreateRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          minLength: 1
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
      - companyName
      - country
      - infoType
    CompanyApplicantRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        companyName:
          type: string
          minLength: 1
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
      - companyName
      - country
      - infoType
    CompanyComparisonDataMatching:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/CompanyFieldEnum'
        systemValue:
          type: string
          nullable: true
          maxLength: 255
        reportValue:
          type: string
          nullable: true
          maxLength: 255
        match:
          allOf:
          - $ref: '#/components/schemas/KybDataMatchEnum'
          nullable: true
      required:
      - field
      - match
      - reportValue
      - systemValue
    CompanyCreditBureauDocument:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        externalCompanyId:
          type: string
          maxLength: 255
        checkedAt:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/CreditBureauStatusEnum'
        dataFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:json)$
        reportFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:pdf)$
        beneficiaryDocument:
          type: boolean
      required:
      - externalCompanyId
      - id
      - status
    CompanyDeleteWebhook:
      type: object
      properties:
        date:
          type: string
          format: date-time
        manager:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        companyId:
          type: string
      required:
      - companyId
      - date
      - manager
    CompanyDetail:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        company:
          $ref: '#/components/schemas/CompanyDetailInfo'
        meta:
          $ref: '#/components/schemas/CompanyMeta'
        token:
          $ref: '#/components/schemas/CompanyToken'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/KybDocument'
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryDetail'
        questionnaires:
          type: array
          items:
            $ref: '#/components/schemas/KybAnswersDisplay'
        comments:
          type: array
          items:
            $ref: '#/components/schemas/KybComments'
        auditLogs:
          allOf:
          - $ref: '#/components/schemas/CompanyLogs'
          readOnly: true
        addressAudit:
          $ref: '#/components/schemas/AddressAuditRetrieve'
        websiteAudit:
          $ref: '#/components/schemas/WebsiteAudit'
        companyNameAudit:
          $ref: '#/components/schemas/CompanyNameAudit'
        dataMatchings:
          type: array
          items:
            $ref: '#/components/schemas/KybDataMatchingList'
        einVerification:
          $ref: '#/components/schemas/EinVerification'
        govChecks:
          $ref: '#/components/schemas/CompanyGovChecks'
        amlCheck:
          allOf:
          - $ref: '#/components/schemas/CompanyAmlCheck'
          nullable: true
        amlChecks:
          type: array
          items:
            $ref: '#/components/schemas/AmlCheck'
          description: Other AML checks that were performed for this company.
        amlMonitoringUsers:
          type: array
          items:
            $ref: '#/components/schemas/AmlMonitoringUser'
          nullable: true
        riskAssessment:
          allOf:
          - $ref: '#/components/schemas/RiskAssessmentSummary'
          nullable: true
      required:
      - addressAudit
      - amlCheck
      - amlChecks
      - amlMonitoringUsers
      - auditLogs
      - beneficiaries
      - comments
      - company
      - companyNameAudit
      - dataMatchings
      - documents
      - einVerification
      - govChecks
      - id
      - meta
      - questionnaires
      - riskAssessment
      - token
      - websiteAudit
    CompanyDetailInfo:
      type: object
      properties:
        companyName:
          type: string
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CustomFieldValue'
      required:
      - additionalInfo
      - companyName
      - country
    CompanyDocType:
      type: object
      properties:
        description:
          type: string
          nullable: true
          maxLength: 512
        required:
          type: boolean
          default: false
        docType:
          type: string
          pattern: ^[\u0000-\u007F]+$
          maxLength: 100
      required:
      - docType
    CompanyExpirationStatusEnum:
      enum:
      - PENDING
      - EXPIRED
      type: string
    CompanyExpirationWebhook:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        expirationStatus:
          allOf:
          - $ref: '#/components/schemas/CompanyExpirationStatusEnum'
          nullable: true
      required:
      - id
    CompanyField:
      type: object
      properties:
        required:
          type: boolean
          default: false
        field:
          $ref: '#/components/schemas/CompanyFieldEnum'
        order:
          type: integer
          minimum: 0
          nullable: true
      required:
      - field
    CompanyFieldEnum:
      enum:
      - COMPANY_NAME
      - REGISTRATION_NUMBER
      - COUNTRY
      - REGION
      - TYPE
      - PHONE
      - WEBSITE
      - EMAIL
      - BRAND_NAMES
      - ACTIVITY_CODE
      - TIN
      - OPERATING_ADDRESS
      - POSTAL_ADDRESS
      - POSTCODE
      - STREET
      - CITY
      type: string
    CompanyFieldUnified:
      type: object
      properties:
        required:
          type: boolean
          default: false
        field:
          $ref: '#/components/schemas/CompanyFieldEnum'
        order:
          type: integer
          minimum: 0
          nullable: true
        readOnly:
          type: boolean
          default: false
        changeFrom:
          nullable: true
          description: KYB form field value must be changed from this field's value.
        changeRequired:
          type: boolean
      required:
      - field
    CompanyFlow:
      type: object
      properties:
        required:
          type: boolean
          default: false
        applicantType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        fieldsCustom:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldAssignment'
          nullable: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/CompanyField'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CompanyDocType'
          nullable: true
      required:
      - applicantType
      - fields
    CompanyGovChecks:
      type: object
      properties:
        creditBureauDocuments:
          type: array
          items:
            $ref: '#/components/schemas/CompanyCreditBureauDocument'
        govRegistersDocuments:
          type: array
          items:
            $ref: '#/components/schemas/CompanyGovRegistersDocument'
        govOrderedDocuments:
          type: array
          items:
            $ref: '#/components/schemas/CompanyGovOrderedDocument'
        sosFilingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/CompanySosReportDocument'
      required:
      - creditBureauDocuments
      - govOrderedDocuments
      - govRegistersDocuments
      - sosFilingDocuments
    CompanyGovOrderedDocument:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          nullable: true
        documentFormat:
          type: string
          maxLength: 5
        expectedDeliveryTime:
          type: string
          format: date-time
        deliveredAt:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        file:
          type: string
          format: uri
          nullable: true
        beneficiaryDocument:
          type: boolean
      required:
      - expectedDeliveryTime
      - id
    CompanyGovRegistersDocument:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        lite:
          type: boolean
        checkedAt:
          type: string
          format: date-time
          nullable: true
        dataFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:json)$
        reportFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:pdf)$
        checkedCompanyName:
          type: string
          nullable: true
          maxLength: 200
        checkedRegistrationNumber:
          type: string
          nullable: true
          maxLength: 100
        companyName:
          type: string
          nullable: true
          maxLength: 200
        externalCompanyId:
          type: string
          maxLength: 512
        postcode:
          type: string
          nullable: true
          maxLength: 20
        city:
          type: string
          nullable: true
          maxLength: 100
        activityCode:
          type: string
          nullable: true
          maxLength: 32
        activity:
          type: object
          additionalProperties: {}
          nullable: true
        addresses:
          type: object
          additionalProperties: {}
          nullable: true
        aliases:
          type: object
          additionalProperties: {}
          nullable: true
        email:
          type: string
          nullable: true
          maxLength: 128
        faxNumber:
          type: string
          nullable: true
          maxLength: 32
        telephoneNumber:
          type: string
          nullable: true
          maxLength: 32
        fiscalCode:
          type: string
          nullable: true
          maxLength: 128
        websiteUrl:
          type: string
          nullable: true
          maxLength: 128
        foundationDate:
          type: string
          nullable: true
          maxLength: 128
        legalForm:
          type: string
          nullable: true
          maxLength: 128
        legalStatus:
          type: string
          nullable: true
          maxLength: 128
        registrationAuthority:
          type: string
          nullable: true
          maxLength: 128
        registrationAuthorityCode:
          type: string
          nullable: true
          maxLength: 128
        registrationDate:
          type: string
          nullable: true
          maxLength: 128
        registrationNumber:
          type: string
          nullable: true
          maxLength: 128
        vatNumber:
          type: string
          nullable: true
          maxLength: 128
        stateOfIncorporation:
          type: string
          nullable: true
          maxLength: 128
        associatedPersons:
          type: object
          additionalProperties: {}
          nullable: true
        beneficiaryDocument:
          type: boolean
      required:
      - externalCompanyId
      - id
    CompanyInfo:
      type: object
      properties:
        companyName:
          type: string
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValue'
      required:
      - companyName
      - country
    CompanyInfoRequest:
      type: object
      properties:
        companyName:
          type: string
          minLength: 1
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
      - companyName
      - country
    CompanyInfoRequestStatusEnum:
      enum:
      - REQUESTED
      - EXPIRED
      - CANCELED
      type: string
    CompanyInfoRequestWebhook:
      type: object
      properties:
        companyId:
          type: string
        token:
          type: string
        date:
          type: string
          format: date-time
        email:
          type: string
          format: email
          nullable: true
          maxLength: 254
        manager:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          nullable: true
        status:
          $ref: '#/components/schemas/CompanyInfoRequestStatusEnum'
      required:
      - companyId
      - date
      - email
      - manager
      - status
      - token
    CompanyKybDoc:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          readOnly: true
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    CompanyKybDocCreate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    CompanyKybDocCreateRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: byte
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - type
    CompanyKybDocRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
      required:
      - type
    CompanyList:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        company:
          $ref: '#/components/schemas/CompanyDetailInfo'
        meta:
          allOf:
          - $ref: '#/components/schemas/KybFormMeta'
          readOnly: true
      required:
      - company
      - id
      - meta
    CompanyLogs:
      type: object
      properties:
        logs:
          type: array
          items:
            $ref: '#/components/schemas/KybAuditLog'
          readOnly: true
        logsCount:
          type: integer
          readOnly: true
      required:
      - logs
      - logsCount
    CompanyMeta:
      type: object
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        status:
          $ref: '#/components/schemas/KybStatusEnum'
        statusChangedAt:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        statusChangedBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        expirationStatus:
          allOf:
          - $ref: '#/components/schemas/CompanyExpirationStatusEnum'
          nullable: true
        assignedTo:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        initialSubmissionTime:
          type: string
          format: date-time
          nullable: true
          description: Date and time when KYB form submit endpoint was called for
            the first time.
        submissionTime:
          type: string
          format: date-time
          nullable: true
          description: Date and time when KYB form submit endpoint was called.
        matchedBlacklists:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 32
          nullable: true
        blacklistStatuses:
          type: array
          items:
            $ref: '#/components/schemas/BlacklistStatus'
          readOnly: true
          nullable: true
        automationFlags:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 32
          nullable: true
        automationStatuses:
          type: object
          additionalProperties: {}
          nullable: true
        automationRanAt:
          type: string
          format: date-time
          nullable: true
        ipProxyRiskLevel:
          allOf:
          - $ref: '#/components/schemas/RiskLevelEnum'
          nullable: true
        fraudProbLevel:
          allOf:
          - $ref: '#/components/schemas/RiskLevelEnum'
          nullable: true
        sanctionsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: DEPRECATED
        sanctionsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          description: DEPRECATED
        sanctionsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        amlComment:
          type: string
          nullable: true
          description: DEPRECATED
        negativeNewsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: DEPRECATED
        newsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          description: DEPRECATED
        newsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
        negativeNewsComment:
          type: string
          nullable: true
          description: DEPRECATED
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          nullable: true
          description: Review approval status.
        approvalStatusChangedAt:
          type: string
          format: date-time
          nullable: true
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
        informationRequested:
          type: boolean
        reviewLevel:
          type: string
          nullable: true
          maxLength: 32
        soleProprietor:
          type: boolean
      required:
      - assignedTo
      - blacklistStatuses
      - created
      - newsStatusSetBy
      - sanctionsStatusSetBy
      - statusChangedAt
      - statusChangedBy
    CompanyNameAudit:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        descriptionByCompany:
          type: string
          nullable: true
        address:
          type: string
          nullable: true
          maxLength: 255
        phoneNumber:
          type: string
          nullable: true
          maxLength: 128
        industry:
          type: string
          nullable: true
          maxLength: 100
        rating:
          type: number
          format: double
          nullable: true
        socialMediaProfiles:
          type: array
          items:
            $ref: '#/components/schemas/SocialMediaProfiles'
      required:
      - created
      - id
      - socialMediaProfiles
    CompanyPdfContentEnum:
      enum:
      - SUBMITTED_COMPANY_INFO
      - COMPANY_META
      - RELATED_SUBJECTS
      - OWNERSHIP_STRUCTURE
      - QUESTIONNAIRE_ANSWERS
      - COMPANY_NAME_AUDIT
      - BANK_VERIFICATION
      - WEBSITE_AUDIT
      - ADDRESS_AUDIT
      - GOV_CHECKS
      - KYB_DATA_MATCHING
      - KYB_DOCUMENTS
      - AUDIT_LOGS
      - VAT_VERIFICATION
      - TAGS
      - SHAREHOLDERS_CHECK
      - AML_MONITORING_USERS
      - LINKED_COMPANIES
      - COMMENTS
      - COMPANY_AML_CHECK
      - COMPANY_ADVERSE_MEDIA_CHECK
      - BENEFICIARY_AML_CHECKS
      - BENEFICIARY_ADVERSE_MEDIA_CHECKS
      type: string
    CompanyReviewWebhook:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        companyName:
          type: string
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          nullable: true
          description: Review approval status.
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
        statusChangedBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          nullable: true
        soleProprietor:
          type: boolean
        amlComment:
          type: string
          nullable: true
          description: DEPRECATED
          deprecated: true
        sanctionsCheckStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: DEPRECATED
          deprecated: true
        sanctionsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          deprecated: true
        sanctionsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          description: DEPRECATED
          deprecated: true
        amlCheck:
          $ref: '#/components/schemas/AmlCheckV3BusinessData'
        companyCheck:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryWebhook'
        shareholderCheck:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        negativeNewsComment:
          type: string
          nullable: true
          description: DEPRECATED
          deprecated: true
        negativeNewsStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          description: DEPRECATED
          deprecated: true
        newsStatusSetBy:
          allOf:
          - $ref: '#/components/schemas/ManagerAccountOld'
          deprecated: true
        newsStatusSetAt:
          type: string
          format: date-time
          nullable: true
          description: DEPRECATED
          deprecated: true
        negativeNewsCheck:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        externalRef:
          type: string
          nullable: true
          description: Any additional value chosen by you.
          maxLength: 40
        relatedClientScanRefs:
          type: array
          items:
            type: string
            title: Scan refs
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
      required:
      - amlCheck
      - beneficiaries
      - clientId
      - companyCheck
      - companyName
      - id
      - negativeNewsCheck
      - newsStatusSetBy
      - sanctionsStatusSetBy
      - shareholderCheck
      - statusChangedBy
    CompanySosReportDocument:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        checkedAt:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        dataFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:json)$
        reportFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:pdf)$
        companyName:
          type: string
          nullable: true
          maxLength: 200
        formationDate:
          type: string
          format: date
          nullable: true
        entityType:
          allOf:
          - $ref: '#/components/schemas/SosEntityTypeEnum'
          nullable: true
        watchlistHitsCount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
        beneficiaryDocument:
          type: boolean
      required:
      - id
    CompanyStatus:
      oneOf:
      - $ref: '#/components/schemas/NeedToStatus'
      - $ref: '#/components/schemas/NeedToStatus'
      - $ref: '#/components/schemas/CompletedStatus'
      discriminator:
        propertyName: status
        mapping:
          NEED_TO_PROCESS: '#/components/schemas/NeedToStatus'
          NEED_TO_REVIEW: '#/components/schemas/NeedToStatus'
          COMPLETED: '#/components/schemas/CompletedStatus'
    CompanyStatusRequest:
      oneOf:
      - $ref: '#/components/schemas/NeedToStatusRequest'
      - $ref: '#/components/schemas/NeedToStatusRequest'
      - $ref: '#/components/schemas/CompletedStatusRequest'
      discriminator:
        propertyName: status
        mapping:
          NEED_TO_PROCESS: '#/components/schemas/NeedToStatusRequest'
          NEED_TO_REVIEW: '#/components/schemas/NeedToStatusRequest'
          COMPLETED: '#/components/schemas/CompletedStatusRequest'
    CompanySubmitWebhook:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        submissionTime:
          type: string
          format: date-time
          nullable: true
          description: Date and time when KYB form submit endpoint was called.
        soleProprietor:
          type: boolean
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        externalRef:
          type: string
          nullable: true
          description: Any additional value chosen by you.
          maxLength: 40
      required:
      - clientId
      - id
    CompanyToken:
      type: object
      properties:
        tokenType:
          $ref: '#/components/schemas/KybTokenTypeEnum'
        expiration:
          type: string
          format: date-time
          description: Date and time when this token will become expired.
        isValid:
          type: boolean
          description: Indicates whether this token is valid.
          readOnly: true
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        externalRef:
          type: string
          nullable: true
          description: Any additional value chosen by you.
          maxLength: 40
        scanRefs:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
        tags:
          type: array
          items:
            type: string
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer than
            32 characters.
          maxItems: 5
      required:
      - clientId
      - isValid
      - tokenType
    CompletedStatus:
      type: object
      properties:
        status:
          allOf:
          - $ref: '#/components/schemas/KybStatusEnum'
          description: Setting this status is the same as a manual review through
            the dashboard.<br>In the end, the KYB review webhook is sent.
        reviewInfo:
          $ref: '#/components/schemas/ManualReview'
      required:
      - reviewInfo
    CompletedStatusRequest:
      type: object
      properties:
        status:
          allOf:
          - $ref: '#/components/schemas/KybStatusEnum'
          description: Setting this status is the same as a manual review through
            the dashboard.<br>In the end, the KYB review webhook is sent.
        reviewInfo:
          $ref: '#/components/schemas/ManualReviewRequest'
      required:
      - reviewInfo
    CountryCodeEnum:
      enum:
      - AL
      - AM
      - AR
      - AT
      - AU
      - AW
      - AZ
      - BA
      - BB
      - BD
      - BE
      - BG
      - BH
      - BN
      - BO
      - BQ
      - BR
      - BW
      - BY
      - BZ
      - CA
      - CH
      - CN
      - CO
      - CR
      - CW
      - CY
      - CZ
      - DE
      - DK
      - DO
      - EC
      - EE
      - ES
      - FI
      - FR
      - GB
      - GE
      - GG
      - GH
      - GI
      - GR
      - HK
      - HR
      - HU
      - ID
      - IE
      - IL
      - IM
      - IN
      - IS
      - IT
      - JE
      - JO
      - KH
      - KW
      - KY
      - LI
      - LK
      - LS
      - LT
      - LU
      - LV
      - MA
      - ME
      - MH
      - MM
      - MT
      - MU
      - MY
      - NL
      - 'NO'
      - NZ
      - PE
      - PH
      - PK
      - PL
      - PR
      - PT
      - QA
      - RO
      - RS
      - RU
      - SB
      - SE
      - SG
      - SI
      - SK
      - TH
      - TN
      - TO
      - TR
      - TT
      - TW
      - UG
      - US
      - UY
      - VG
      - VI
      - VN
      - VU
      - WS
      - ZA
      type: string
    CountryEnum:
      enum:
      - AF
      - AX
      - AL
      - DZ
      - AS
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AU
      - AT
      - AZ
      - BS
      - BH
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BQ
      - BA
      - BW
      - BV
      - BR
      - IO
      - BN
      - BG
      - BF
      - BI
      - CV
      - KH
      - CM
      - CA
      - KY
      - CF
      - TD
      - CL
      - CN
      - CX
      - CC
      - CO
      - KM
      - CG
      - CK
      - CR
      - CI
      - HR
      - CU
      - CW
      - CY
      - CZ
      - CD
      - DK
      - DJ
      - DM
      - DO
      - EC
      - EG
      - SV
      - GQ
      - ER
      - EE
      - SZ
      - ET
      - FK
      - FO
      - FJ
      - FI
      - FR
      - GF
      - PF
      - TF
      - GA
      - GM
      - GE
      - DE
      - GH
      - GI
      - GR
      - GL
      - GD
      - GP
      - GU
      - GT
      - GG
      - GN
      - GW
      - GY
      - HT
      - HM
      - HN
      - HK
      - HU
      - IS
      - IN
      - ID
      - IR
      - IQ
      - IE
      - IM
      - IL
      - IT
      - JM
      - JP
      - JE
      - JO
      - KZ
      - KE
      - KI
      - XK
      - KW
      - KG
      - LA
      - LV
      - LB
      - LS
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MH
      - MQ
      - MR
      - MU
      - YT
      - MX
      - FM
      - MD
      - MC
      - MN
      - ME
      - MS
      - MA
      - MZ
      - MM
      - NA
      - NR
      - NP
      - NL
      - NC
      - NZ
      - NI
      - NE
      - NG
      - NU
      - NF
      - KP
      - MK
      - MP
      - 'NO'
      - OM
      - PK
      - PW
      - PS
      - PA
      - PG
      - PY
      - PE
      - PH
      - PN
      - PL
      - PT
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - BL
      - SH
      - KN
      - LC
      - MF
      - PM
      - VC
      - WS
      - SM
      - ST
      - SA
      - SN
      - RS
      - SC
      - SL
      - SG
      - SX
      - SK
      - SI
      - SB
      - SO
      - ZA
      - GS
      - KR
      - SS
      - ES
      - LK
      - SD
      - SR
      - SJ
      - SE
      - CH
      - SY
      - TW
      - TJ
      - TZ
      - TH
      - TL
      - TG
      - TK
      - TO
      - TT
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - AE
      - GB
      - UM
      - US
      - UY
      - UZ
      - VU
      - VA
      - VE
      - VN
      - VG
      - VI
      - WF
      - EH
      - YE
      - ZM
      - ZW
      type: string
    CountryFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
      required:
      - title
      - type
    CountryMultiFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: array
          items:
            $ref: '#/components/schemas/CountryEnum'
          nullable: true
      required:
      - title
      - type
    CreditBureauStatusEnum:
      enum:
      - ACTIVE
      - NON_ACTIVE
      - PENDING
      - OTHER
      - NOT_FOUND
      type: string
    CustomField:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        key:
          type: string
          pattern: ^[\w_*-]+$
          maxLength: 32
        title:
          type: string
          maxLength: 64
        description:
          type: string
          nullable: true
          default: ''
          maxLength: 512
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        choices:
          type: array
          items:
            $ref: '#/components/schemas/Choice'
      required:
      - id
      - key
      - title
      - type
    CustomFieldAssignment:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/CustomField'
        required:
          type: boolean
          default: false
        order:
          type: integer
          maximum: 4294967295
          minimum: 0
          format: int64
          nullable: true
      required:
      - field
    CustomFieldAssignmentUnified:
      type: object
      properties:
        field:
          $ref: '#/components/schemas/CustomField'
        required:
          type: boolean
          default: false
        order:
          type: integer
          maximum: 4294967295
          minimum: 0
          format: int64
          nullable: true
        readOnly:
          type: boolean
          default: false
        changeFrom:
          nullable: true
          description: KYB form field value must be changed from this field's value.
        changeRequired:
          type: boolean
      required:
      - field
    CustomFieldTypeEnum:
      enum:
      - CHECKBOX
      - COUNTRY
      - COUNTRY_MULTI
      - DATE
      - INTEGER
      - SELECT
      - SELECT_MULTI
      - TEXT
      type: string
    CustomFieldValue:
      oneOf:
      - $ref: '#/components/schemas/CheckboxFieldValue'
      - $ref: '#/components/schemas/CountryFieldValue'
      - $ref: '#/components/schemas/CountryMultiFieldValue'
      - $ref: '#/components/schemas/DateFieldValue'
      - $ref: '#/components/schemas/IntegerFieldValue'
      - $ref: '#/components/schemas/SelectFieldValue'
      - $ref: '#/components/schemas/SelectMultiFieldValue'
      - $ref: '#/components/schemas/TextFieldValue'
      discriminator:
        propertyName: type
        mapping:
          CHECKBOX: '#/components/schemas/CheckboxFieldValue'
          COUNTRY: '#/components/schemas/CountryFieldValue'
          COUNTRY_MULTI: '#/components/schemas/CountryMultiFieldValue'
          DATE: '#/components/schemas/DateFieldValue'
          INTEGER: '#/components/schemas/IntegerFieldValue'
          SELECT: '#/components/schemas/SelectFieldValue'
          SELECT_MULTI: '#/components/schemas/SelectMultiFieldValue'
          TEXT: '#/components/schemas/TextFieldValue'
    DateFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          format: date
          nullable: true
      required:
      - title
      - type
    DateOfBirthMatchingEnum:
      enum:
      - EXACT
      - SAME_YEAR
      - WITHIN_ONE_YEAR
      - WITHIN_TWO_YEARS
      - WITHIN_THREE_YEARS
      - WITHIN_FOUR_YEARS
      - WITHIN_FIVE_YEARS
      type: string
    EinVerification:
      type: object
      properties:
        result:
          allOf:
          - $ref: '#/components/schemas/EinVerificationEnum'
          readOnly: true
          nullable: true
        checkedEin:
          type: string
          readOnly: true
        checkedCompanyName:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
      required:
      - checkedCompanyName
      - checkedEin
      - created
      - result
    EinVerificationEnum:
      enum:
      - MISMATCH
      - UNKNOWN
      - VERIFIED
      type: string
    GovDocumentOrderStatusEnum:
      enum:
      - NOT_ORDERED
      - IN_PROGRESS
      - FINISHED
      - FAILED
      - TIMED_OUT
      type: string
    GovPartnerOrderDocumentRequest:
      type: object
      properties:
        countryCode:
          allOf:
          - $ref: '#/components/schemas/CountryCodeEnum'
          writeOnly: true
        registrationNumber:
          type: string
          writeOnly: true
          minLength: 1
          description: External company ID from GOV registers search should be used.
        region:
          type: string
          writeOnly: true
          minLength: 1
        companyName:
          type: string
          writeOnly: true
          minLength: 1
          maxLength: 200
        productKey:
          type: string
          writeOnly: true
          minLength: 1
      required:
      - companyName
      - countryCode
      - productKey
      - registrationNumber
    GovPartnerOrderedDocument:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          nullable: true
        documentFormat:
          type: string
          maxLength: 5
        productKey:
          type: string
        expectedDeliveryTime:
          type: string
          format: date-time
        price:
          type: number
          format: double
          minimum: 0
        deliveredAt:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        file:
          type: string
          format: uri
          nullable: true
      required:
      - expectedDeliveryTime
      - id
      - price
      - productKey
    GovRegistersAvailableDocuments:
      type: object
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/GovRegistersFilingResult'
      required:
      - products
    GovRegistersFilingResult:
      type: object
      properties:
        id:
          type: string
        productCode:
          type: string
        price:
          type: integer
          nullable: true
          readOnly: true
        productFormat:
          type: string
          nullable: true
          readOnly: true
        productTitle:
          type: string
        deliveryTimeMinutes:
          type: integer
        type:
          type: string
        displayDate:
          type: string
        priceTag:
          type: string
        companyName:
          type: string
        countryISO:
          type: string
        noVatPrice:
          type: string
        vatCharge:
          type: string
        currency:
          type: string
        companyCode:
          type: string
        productDetails:
          type: object
          additionalProperties: {}
        downloadURL:
          type: string
        propertyChanged:
          type: string
        tierCode:
          type: string
        tierValue:
          type: string
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        canOrder:
          type: boolean
          readOnly: true
        file:
          type: string
      required:
      - canOrder
      - id
      - price
      - productFormat
    IdentificationHistory:
      type: object
      properties:
        scanRef:
          type: string
          maxLength: 40
        finalStatus:
          type: string
          readOnly: true
      required:
      - finalStatus
      - scanRef
    IdentifierEnum:
      enum:
      - AUTHENTICATION_FAILED
      type: string
    IndividualApplicant:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          maxLength: 100
        surname:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CustomFieldValue'
      required:
      - infoType
      - name
      - surname
    IndividualApplicantCreate:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          maxLength: 100
        surname:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValue'
      required:
      - infoType
      - name
      - surname
    IndividualApplicantCreateRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          minLength: 1
          maxLength: 100
        surname:
          type: string
          minLength: 1
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
        scanRef:
          type: string
          minLength: 1
          writeOnly: true
          description: Existing scan reference of an ID verification to associate
            with this beneficiary.<br> *NOTE:* This field is **ignored** when using
            `kybTokenAuth` authentication.
      required:
      - infoType
      - name
      - surname
    IndividualApplicantRequest:
      type: object
      properties:
        infoType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        name:
          type: string
          minLength: 1
          maxLength: 100
        surname:
          type: string
          minLength: 1
          maxLength: 100
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        dateOfBirth:
          type: string
          format: date
          nullable: true
        country:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
          description: ID issuing country.
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        documentNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        personalNumber:
          type: string
          nullable: true
          pattern: ^[\u0000-\u007F]+$
          maxLength: 50
        citizenship:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        countryOfBirth:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        residentialAddress:
          type: string
          nullable: true
          maxLength: 255
        countryOfResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        postcode:
          type: string
          nullable: true
          maxLength: 20
        address:
          type: string
          nullable: true
          maxLength: 255
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        tin:
          type: string
          nullable: true
          maxLength: 20
        taxResidence:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        selfDeclaredPep:
          type: boolean
          nullable: true
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
      required:
      - infoType
      - name
      - surname
    IndividualDatasetEnum:
      enum:
      - PEP_CURRENT
      - PEP_FORMER
      - PEP_LINKED
      - SAN_CURRENT
      - SAN_FORMER
      - INS
      - RRE
      - DD
      - POI
      - REL
      - GRI
      type: string
    IndividualDocType:
      type: object
      properties:
        description:
          type: string
          nullable: true
          maxLength: 512
        required:
          type: boolean
          default: false
        docType:
          type: string
          pattern: ^[\u0000-\u007F]+$
          maxLength: 100
      required:
      - docType
    IndividualField:
      type: object
      properties:
        required:
          type: boolean
          default: false
        field:
          $ref: '#/components/schemas/IndividualFieldEnum'
        order:
          type: integer
          minimum: 0
          nullable: true
      required:
      - field
    IndividualFieldEnum:
      enum:
      - NAME
      - SURNAME
      - COUNTRY
      - EMAIL
      - PHONE
      - DATE_OF_BIRTH
      - NATIONALITY
      - DOCUMENT_NUMBER
      - PERSONAL_NUMBER
      - CITIZENSHIP
      - COUNTRY_OF_BIRTH
      - RESIDENTIAL_ADDRESS
      - COUNTRY_OF_RESIDENCE
      - POSTCODE
      - ADDRESS
      - STREET
      - CITY
      - TIN
      - TAX_RESIDENCE
      - SELF_DECLARED_PEP
      - POSITIONS
      type: string
    IndividualFlow:
      type: object
      properties:
        required:
          type: boolean
          default: false
        applicantType:
          $ref: '#/components/schemas/ApplicantTypeEnum'
        fieldsCustom:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldAssignment'
          nullable: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/IndividualField'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/IndividualDocType'
          nullable: true
      required:
      - applicantType
      - fields
    IndividualKybDoc:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/IndividualKybDocTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          readOnly: true
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    IndividualKybDocCreate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/IndividualKybDocTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    IndividualKybDocCreateRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IndividualKybDocTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: byte
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - type
    IndividualKybDocRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IndividualKybDocTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
      required:
      - type
    IndividualKybDocTypeEnum:
      enum:
      - IDENTITY_DOCUMENT
      - PROOF_OF_ADDRESS
      - OTHER
      type: string
    IndividualSearchResult:
      type: object
      properties:
        version:
          type: integer
          description: The version number can be used by clients to detect when a
            profile has changed.
        resourceId:
          type: string
          description: The resource ID can be used to retrieve the full profile or
            the PDF of the Individual.
        score:
          type: integer
          description: The match score of the profile.
        match:
          type: string
          description: The name of the profile that has been matched in the search.
        name:
          type: string
          description: The primary name of the profile.
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/SearchAddress'
          description: The list of profile addresses and nationalities.
        nationalities:
          type: array
          items:
            $ref: '#/components/schemas/CountryEnum'
          description: List of the individual's nationalities.
        datesOfBirth:
          type: array
          items:
            type: string
            description: Date in either YYYY-MM-DD or YYYY-MM or YYYY ISO format.
        gender:
          allOf:
          - $ref: '#/components/schemas/MainSexEnum'
          description: Gender (for individuals), if known.
        profileImage:
          type: string
          description: The primary profile image.
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/IndividualDatasetEnum'
          description: "The profile datasets\n * PEP_CURRENT - Only current PEPs\n\
            \ * PEP_FORMER - Only former PEPs\n * PEP_LINKED - Only linked PEPs (PEP\
            \ by Association)\n * SAN_CURRENT - Only current Sanctions\n * SAN_FORMER\
            \ - Only former Sanctions\n * INS - Insolvency\n * RRE - Reputational\
            \ Risk Exposure\n * DD - Disqualified Director\n * POI - Profile Of Interest\n\
            \ * REL - Regulatory Enforcement List\n * GRI - Gambling Risk Intelligence.\n"
        currentSanBodyIds:
          type: array
          items:
            type: integer
          description: The list of IDs of all sanctioning bodies, that are currently
            sanctioning the given profile. The full list of supported sanction bodies
            and their IDs is provided by /dictionaries/sanction-bodies endpoint.
        formerSanBodyIds:
          type: array
          items:
            type: integer
          description: The list of IDs of all sanctioning bodies, that were sanctioning
            the given profile in the past, but do not currently sanction them. The
            full list of supported sanction bodies and their IDs is provided by /dictionaries/sanction-bodies
            endpoint.
        pepTier:
          allOf:
          - $ref: '#/components/schemas/PepTierEnum'
          description: Defines the PEP tier of the individual. Where PEP Tier 1 indicates
            senior roles, PEP Tier 2 - middle-ranking, and PEP Tier 3 - junior officials.
      required:
      - addresses
      - currentSanBodyIds
      - datasets
      - datesOfBirth
      - formerSanBodyIds
      - match
      - name
      - nationalities
      - resourceId
      - score
    IntegerFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: integer
          nullable: true
      required:
      - title
      - type
    KybAnswersDisplay:
      type: object
      properties:
        title:
          type: string
        sections:
          type: array
          items:
            $ref: '#/components/schemas/QuestionnaireAnswersDisplaySections'
        id:
          type: string
          description: A unique identifier for the questionnaire.
        name:
          type: string
      required:
      - id
      - name
      - sections
      - title
    KybAuditLog:
      type: object
      properties:
        identifier:
          type: string
        text:
          type: string
        additionalText:
          type: string
        logType:
          $ref: '#/components/schemas/KybLogTypeEnum'
        logLevel:
          $ref: '#/components/schemas/LogLevelEnum'
        timestamp:
          type: string
          format: date-time
        manager:
          $ref: '#/components/schemas/AuditLogManager'
        logId:
          type: string
          nullable: true
      required:
      - identifier
      - logId
      - logLevel
      - logType
      - text
      - timestamp
    KybComments:
      type: object
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        content:
          type: string
          maxLength: 10000
        manager:
          allOf:
          - $ref: '#/components/schemas/ManagerAccount'
          readOnly: true
          nullable: true
      required:
      - content
      - created
      - manager
    KybDataMatchEnum:
      enum:
      - MATCH
      - NO_MATCH
      - PARTIAL_MATCH
      type: string
    KybDataMatchingList:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        companyComparison:
          type: array
          items:
            $ref: '#/components/schemas/CompanyComparisonDataMatching'
        created:
          type: string
          format: date-time
          readOnly: true
        reportId:
          type: string
          maxLength: 36
        reportType:
          $ref: '#/components/schemas/ReportTypeEnum'
      required:
      - companyComparison
      - created
      - id
      - reportId
      - reportType
    KybDocument:
      type: object
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        file:
          type: string
          format: uri
          readOnly: true
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - created
      - file
      - type
    KybDocumentTypeEnum:
      enum:
      - INCORPORATION_CERT
      - DIRECTOR_CERT
      - SHAREHOLDER_CERT
      - UBO_CERT
      - INCORPORATION_ARTICLES
      - SHAREHOLDER_REGISTRY
      - DIRECTORS_REGISTRY
      - STATE_REGISTRY
      - UBO_REGISTRY
      - OWNERSHIP_STRUCTURE
      - INCUMBENCY_CERT
      - TRUST_AGREEMENT
      - INFORMATION_STATEMENT
      - GOOD_STANDING_CERT
      - PROOF_OF_DOMAIN
      - PROOF_OF_ADDRESS
      - SOURCE_OF_FUNDS
      - BANK_STATEMENT
      - INVOICE
      - ONLINE_PRESENCE
      - DIRECTOR_ONLINE_PRESENCE
      - SHAREHOLDER_ONLINE_PRESENCE
      - WEBSITE_OVERVIEW
      - E_SIGNATURE_CERT
      - ANNUAL_REPORT
      - NAME_CHANGE_PROOF
      - TRADING_STATUS_PROOF
      - ORG_CHART
      - COMPANY_ADVERSE_MEDIA
      - INDIVIDUAL_ADVERSE_MEDIA
      - EMAIL_CHECK
      - SOURCE_OF_WEALTH
      - OTHER
      type: string
    KybForm:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        company:
          $ref: '#/components/schemas/CompanyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/KybFormDocument'
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/Beneficiary'
        clientSystem:
          $ref: '#/components/schemas/ClientSystem'
        meta:
          allOf:
          - $ref: '#/components/schemas/KybFormMeta'
          readOnly: true
      required:
      - company
      - id
      - meta
    KybFormAnswers:
      type: object
      properties:
        sections:
          type: object
          additionalProperties:
            type: object
            description: Section keys from a questionnaire.
            additionalProperties:
              $ref: '#/components/schemas/QuestionnaireAnswersQuestion'
      required:
      - sections
    KybFormAnswersRequest:
      type: object
      properties:
        sections:
          type: object
          additionalProperties:
            type: object
            description: Section keys from a questionnaire.
            additionalProperties:
              $ref: '#/components/schemas/QuestionnaireAnswersQuestionRequest'
      required:
      - sections
    KybFormCreate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        company:
          $ref: '#/components/schemas/CompanyInfo'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/KybFormDocumentCreate'
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/Beneficiary'
        clientSystem:
          $ref: '#/components/schemas/ClientSystem'
        meta:
          allOf:
          - $ref: '#/components/schemas/KybFormMeta'
          readOnly: true
      required:
      - company
      - id
      - meta
    KybFormCreateRequest:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/CompanyInfoRequest'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/KybFormDocumentCreateRequest'
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryRequest'
        clientSystem:
          $ref: '#/components/schemas/ClientSystemRequest'
      required:
      - company
    KybFormDocument:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          readOnly: true
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    KybFormDocumentCreate:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: uri
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - id
      - type
    KybFormDocumentCreateRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
        file:
          type: string
          format: byte
          description: 'Base64 encoded document file. Can be: `jpeg`, `jpg`, `png`,
            `gif`, `webp`, `heic`, `heif`, `pdf` files.'
      required:
      - file
      - type
    KybFormDocumentRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
      required:
      - type
    KybFormList:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        company:
          $ref: '#/components/schemas/CompanyInfo'
        meta:
          allOf:
          - $ref: '#/components/schemas/KybFormMeta'
          readOnly: true
      required:
      - company
      - id
      - meta
    KybFormMeta:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          nullable: true
          description: Review approval status.
        submissionTime:
          type: string
          format: date-time
          nullable: true
          description: Date and time when KYB form submit endpoint was called.
        soleProprietor:
          type: boolean
    KybFormMetaRequest:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          nullable: true
          description: Review approval status.
        submissionTime:
          type: string
          format: date-time
          nullable: true
          description: Date and time when KYB form submit endpoint was called.
        soleProprietor:
          type: boolean
    KybFormToken:
      type: object
      properties:
        tokenType:
          $ref: '#/components/schemas/KybTokenTypeEnum'
        tokenString:
          type: string
          readOnly: true
          description: Token string used for authentication.
        expiration:
          type: string
          format: date-time
          readOnly: true
          description: Date and time when this token will become expired.
        isActive:
          type: boolean
          readOnly: true
          description: Indicates whether this token is not deactivated.
          deprecated: true
        isValid:
          type: boolean
          description: Indicates whether this token is valid.
          readOnly: true
        companyId:
          type: string
          readOnly: true
          nullable: true
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        externalRef:
          type: string
          nullable: true
          description: Any additional value chosen by you.
          maxLength: 40
        locale:
          allOf:
          - $ref: '#/components/schemas/KybLocaleEnum'
          nullable: true
          description: The default client's language. By default selected by a client's
            IP address.
        flow:
          type: string
          format: uuid
          nullable: true
          description: KYB flow's `id` to use for this KYB session.
        theme:
          type: string
          format: uuid
          nullable: true
          description: KYB theme's `id` to use for this KYB session.
        tags:
          type: array
          items:
            type: string
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
        scanRefs:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
      required:
      - clientId
      - companyId
      - expiration
      - isActive
      - isValid
      - tokenString
      - tokenType
    KybFormTokenRequest:
      type: object
      properties:
        tokenType:
          $ref: '#/components/schemas/KybTokenTypeEnum'
        lifetime:
          type: integer
          maximum: 2592000
          minimum: 0
          writeOnly: true
          default: 3600
          description: The duration in seconds of KYB token validity.
        clientId:
          type: string
          minLength: 1
          description: A unique string identifying a client on your side.
          maxLength: 100
        externalRef:
          type: string
          nullable: true
          description: Any additional value chosen by you.
          maxLength: 40
        locale:
          allOf:
          - $ref: '#/components/schemas/KybLocaleEnum'
          nullable: true
          description: The default client's language. By default selected by a client's
            IP address.
        flow:
          type: string
          format: uuid
          nullable: true
          description: KYB flow's `id` to use for this KYB session.
        theme:
          type: string
          format: uuid
          nullable: true
          description: KYB theme's `id` to use for this KYB session.
        questionnaire:
          type: string
          minLength: 1
          writeOnly: true
          nullable: true
          description: KYB questionnaire's `key` to use for this KYB session. `null`
            for no questionnaire. If not given, the default questionnaire (from your
            KYB settings) will be used. Ignored when KYB flow is used, then questionnaire
            is taken according to used flow.
        questionnaireRequired:
          type: boolean
          writeOnly: true
          default: true
          description: If KYB session should have a questionnaire.
        tags:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
        scanRefs:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
      required:
      - clientId
      - tokenType
    KybFormUnifiedFlow:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/CompanyFieldUnified'
          nullable: true
        fieldsCustom:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldAssignmentUnified'
          nullable: true
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CompanyDocType'
          nullable: true
        beneficiaries:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryUnifiedFlow'
          nullable: true
        companySearch:
          type: boolean
          nullable: true
        bankVerification:
          type: boolean
          nullable: true
        emailVerification:
          type: boolean
          nullable: true
        ownershipFullStructure:
          type: boolean
          description: Indicates that the KYB form must contain at least one beneficiary
            (of any kind) and every company beneficiary of `SHAREHOLDER`, `UBO` and
            `ABO` type must have at least one individual beneficiary. This is validated
            when submitting the KYB form.
        ownershipPercentageThreshold:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
          description: Threshold to not require to add shareholders that are below
            this number.
        description:
          type: string
          nullable: true
          description: Note for the user to guide them on how the company information
            (including documents uploading) should be filled/edited.
          maxLength: 512
        questionnaireDescription:
          type: string
          nullable: true
          description: Note for the user to guide them on how the questionnaire should
            be filled/edited.
          maxLength: 512
    KybFormUpdate:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/CompanyInfo'
        clientSystem:
          $ref: '#/components/schemas/ClientSystem'
      required:
      - company
    KybFormUpdateRequest:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/CompanyInfoRequest'
        clientSystem:
          $ref: '#/components/schemas/ClientSystemRequest'
      required:
      - company
    KybInfo:
      type: object
      properties:
        locale:
          allOf:
          - $ref: '#/components/schemas/KybLocaleEnum'
          nullable: true
          readOnly: true
          description: Default locale to use when user opens the KYB form for the
            first time.
        theme:
          allOf:
          - $ref: '#/components/schemas/ThemeCore'
          nullable: true
          readOnly: true
          description: Indicates the visual customization of the KYB form.
        flow:
          allOf:
          - $ref: '#/components/schemas/KybFormUnifiedFlow'
          nullable: true
          readOnly: true
          description: Indicates which fields/objects should be present in the KYB
            form.<br>If this field is `null`, then all possible fields/objects are
            present in this KYB form.
      required:
      - flow
      - locale
      - theme
    KybInfoUnauthorized:
      oneOf:
      - $ref: '#/components/schemas/KybInfoUnauthorizedString'
      - $ref: '#/components/schemas/KybInfoUnauthorizedObject'
    KybInfoUnauthorizedObject:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/KybInfoUnauthorizedObjectMessage'
        identifier:
          allOf:
          - $ref: '#/components/schemas/IdentifierEnum'
          readOnly: true
        documentation:
          type: string
          format: uri
          readOnly: true
        severity:
          allOf:
          - $ref: '#/components/schemas/SeverityEnum'
          readOnly: true
      required:
      - documentation
      - identifier
      - message
      - severity
    KybInfoUnauthorizedObjectMessage:
      type: object
      properties:
        detail:
          type: string
        completed:
          type: boolean
          readOnly: true
      required:
      - completed
      - detail
    KybInfoUnauthorizedString:
      type: object
      properties:
        message:
          type: string
        identifier:
          allOf:
          - $ref: '#/components/schemas/IdentifierEnum'
          readOnly: true
        documentation:
          type: string
          format: uri
          readOnly: true
        severity:
          allOf:
          - $ref: '#/components/schemas/SeverityEnum'
          readOnly: true
      required:
      - documentation
      - identifier
      - message
      - severity
    KybLocaleEnum:
      enum:
      - en
      - es
      - fr
      - ru
      - de
      - it
      - pl
      - lt
      - lv
      - et
      - cs
      - ro
      - hu
      - ja
      - bg
      - nl
      - pt
      type: string
    KybLogTypeEnum:
      enum:
      - AUTOMATION
      - CLIENT
      - DEFAULT
      - PARTNER
      - SYSTEM
      type: string
    KybPdfRequest:
      type: object
      properties:
        password:
          type: string
          minLength: 1
        content:
          type: array
          items:
            $ref: '#/components/schemas/CompanyPdfContentEnum'
          default:
          - SUBMITTED_COMPANY_INFO
          - COMPANY_META
          - RELATED_SUBJECTS
          - OWNERSHIP_STRUCTURE
          - QUESTIONNAIRE_ANSWERS
          - COMPANY_NAME_AUDIT
          - BANK_VERIFICATION
          - WEBSITE_AUDIT
          - ADDRESS_AUDIT
          - GOV_CHECKS
          - KYB_DATA_MATCHING
          - KYB_DOCUMENTS
          - AUDIT_LOGS
          - VAT_VERIFICATION
          - TAGS
          - SHAREHOLDERS_CHECK
          - AML_MONITORING_USERS
          - LINKED_COMPANIES
          - COMMENTS
          - COMPANY_AML_CHECK
          - COMPANY_ADVERSE_MEDIA_CHECK
          - BENEFICIARY_AML_CHECKS
          - BENEFICIARY_ADVERSE_MEDIA_CHECKS
    KybStatusEnum:
      enum:
      - PENDING
      - PROCESSING
      - NEED_TO_PROCESS
      - NEED_TO_REVIEW
      - COMPLETED
      type: string
    KybToken:
      oneOf:
      - $ref: '#/components/schemas/KybFormToken'
      discriminator:
        propertyName: tokenType
        mapping:
          FORM: '#/components/schemas/KybFormToken'
    KybTokenRequest:
      oneOf:
      - $ref: '#/components/schemas/KybFormTokenRequest'
      discriminator:
        propertyName: tokenType
        mapping:
          FORM: '#/components/schemas/KybFormTokenRequest'
    KybTokenTypeEnum:
      enum:
      - FORM
      - GOV1
      - GOV2
      type: string
    KybTokenUpdate:
      type: object
      properties:
        scanRefs:
          type: array
          items:
            type: string
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
        tags:
          type: array
          items:
            type: string
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
    KybTokenUpdateRequest:
      type: object
      properties:
        scanRefs:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
        tags:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
    LogLevelEnum:
      enum:
      - DEBUG
      - INFO
      - STEP
      - ACTION
      - WARNING
      - FE_ERROR
      - ERROR
      - CRITICAL
      - NOT_SET
      type: string
    MainSexEnum:
      enum:
      - MALE
      - FEMALE
      type: string
    ManagerAccount:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
        surname:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
      required:
      - email
      - id
      - name
      - surname
    ManagerAccountOld:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        username:
          type: string
          pattern: ^[\w.@+-]+$
          maxLength: 255
          minLength: 5
          deprecated: true
        email:
          type: string
          format: email
          maxLength: 254
        name:
          type: string
          maxLength: 100
        surname:
          type: string
          maxLength: 100
      required:
      - email
      - id
      - name
      - surname
      - username
    ManualApprove:
      type: object
      properties:
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: 'Review approval status.

            - Can not select this status if there are unreviewed AML statuses.

            - In the end, AML monitoring subjects are added according to account settings.'
        denyReason:
          type: string
          readOnly: true
          nullable: true
          description: The reason why this KYB form was denied.
      required:
      - approvalStatus
      - denyReason
    ManualApproveRequest:
      type: object
      properties:
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: 'Review approval status.

            - Can not select this status if there are unreviewed AML statuses.

            - In the end, AML monitoring subjects are added according to account settings.'
      required:
      - approvalStatus
    ManualDeny:
      type: object
      properties:
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: Review approval status.
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
      required:
      - approvalStatus
    ManualDenyRequest:
      type: object
      properties:
        approvalStatus:
          allOf:
          - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: Review approval status.
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
      required:
      - approvalStatus
    ManualReview:
      oneOf:
      - $ref: '#/components/schemas/ManualApprove'
      - $ref: '#/components/schemas/ManualDeny'
      discriminator:
        propertyName: approvalStatus
        mapping:
          APPROVED: '#/components/schemas/ManualApprove'
          DENIED: '#/components/schemas/ManualDeny'
    ManualReviewRequest:
      oneOf:
      - $ref: '#/components/schemas/ManualApproveRequest'
      - $ref: '#/components/schemas/ManualDenyRequest'
      discriminator:
        propertyName: approvalStatus
        mapping:
          APPROVED: '#/components/schemas/ManualApproveRequest'
          DENIED: '#/components/schemas/ManualDenyRequest'
    MonitoringAlertTypeEnum:
      enum:
      - ALERT
      - DECLINED
      - ACCEPTED
      - PENDING
      - STATUS
      type: string
    MonitoringStatusEnum:
      enum:
      - ACTIVE
      - STOPPED
      - PENDING
      - ALERT
      type: string
    NeedToStatus:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
    NeedToStatusRequest:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
    PaginatedCompanyListList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompanyList'
    PatchedBeneficiaryDocumentRequest:
      oneOf:
      - $ref: '#/components/schemas/PatchedIndividualKybDocRequest'
      - $ref: '#/components/schemas/PatchedCompanyKybDocRequest'
    PatchedBeneficiaryRequest:
      type: object
      properties:
        beneficiaryType:
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
        beneficiaryTypes:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryTypeEnum'
          minItems: 1
        info:
          $ref: '#/components/schemas/ApplicantRequest'
        positions:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 50
          default: []
          description: Positions of the beneficiary. Can be `shareholder`, `director`,
            or any other position.
          maxItems: 3
        formFiller:
          type: boolean
          description: Indicates whether this beneficiary is the filler of the KYB
            form.
        ownershipPercentage:
          type: number
          format: double
          maximum: 100.0
          minimum: 0.0
          nullable: true
    PatchedCompanyInfoRequest:
      type: object
      properties:
        companyName:
          type: string
          minLength: 1
          maxLength: 200
        registrationNumber:
          type: string
          nullable: true
          maxLength: 100
        country:
          $ref: '#/components/schemas/CountryEnum'
        region:
          type: string
          nullable: true
          maxLength: 2
        type:
          type: string
          nullable: true
          maxLength: 100
        phone:
          type: string
          nullable: true
          description: Phone number in [E.164](https://wikipedia.org/wiki/E.164) format.
          maxLength: 128
        website:
          type: string
          format: uri
          nullable: true
          maxLength: 200
        email:
          type: string
          format: email
          nullable: true
          description: Email address.
          maxLength: 254
        brandNames:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
          default: []
          maxItems: 10
        activityCode:
          type: string
          nullable: true
          maxLength: 8
        tin:
          type: string
          nullable: true
          description: Taxpayer identification number.
          maxLength: 32
        operatingAddress:
          type: string
          nullable: true
          maxLength: 255
        postalAddress:
          type: string
          nullable: true
          description: Registration address.
          maxLength: 255
        postcode:
          type: string
          nullable: true
          maxLength: 20
        street:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          nullable: true
          maxLength: 100
        additionalInfo:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AdditionalFieldValueRequest'
    PatchedCompanyKybDocRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
    PatchedIndividualKybDocRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IndividualKybDocTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
    PatchedKybFormDocumentRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/KybDocumentTypeEnum'
        filename:
          type: string
          nullable: true
          maxLength: 100
    PatchedKybFormUpdateRequest:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/CompanyInfoRequest'
        clientSystem:
          $ref: '#/components/schemas/ClientSystemRequest'
    PatchedKybTokenUpdateRequest:
      type: object
      properties:
        scanRefs:
          type: array
          items:
            type: string
            minLength: 1
            pattern: ^[^,]+$
            maxLength: 40
          nullable: true
        tags:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 32
            pattern: ^[^,]+$
          default: []
          description: List of case-sensitive strings. Each tag can not be longer
            than 32 characters.
          maxItems: 5
    PepTierEnum:
      enum:
      - PEP_TIER_1
      - PEP_TIER_2
      - PEP_TIER_3
      type: string
    PersonAmlCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        clientId:
          type: string
          description: A unique string identifying a client on your side.
          maxLength: 100
        checkedAt:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        userType:
          $ref: '#/components/schemas/UserMonitoringTypeEnum'
        input:
          $ref: '#/components/schemas/PersonAmlCheckInput'
        filter:
          $ref: '#/components/schemas/PersonAmlCheckFilter'
        amlCheck:
          type: array
          items:
            $ref: '#/components/schemas/IndividualSearchResult'
          readOnly: true
          nullable: true
          description: AML database search result.
        adverseMedia:
          type: array
          items:
            $ref: '#/components/schemas/AdverseMediaSearchResult'
          readOnly: true
          nullable: true
          description: Adverse media database search result.
        overallStatus:
          allOf:
          - $ref: '#/components/schemas/AmlCheckStatusEnum'
          readOnly: true
        monitoring:
          allOf:
          - $ref: '#/components/schemas/AmlCheckMonitoring'
          readOnly: true
          nullable: true
      required:
      - adverseMedia
      - amlCheck
      - checkedAt
      - clientId
      - created
      - filter
      - id
      - input
      - monitoring
      - overallStatus
      - userType
    PersonAmlCheckFilter:
      type: object
      properties:
        threshold:
          type: integer
          maximum: 100
          minimum: 75
          nullable: true
          default: 85
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/PersonAmlCheckFilterDatasetsEnum'
          nullable: true
          description: Required when checking `AML_CHECK` service.
        sanctionBodies:
          type: array
          items:
            type: integer
            maximum: 80
            minimum: 1
          nullable: true
          description: When searching `SAN` dataset, specify the values of sanctioning
            bodies that should be included when screening `SAN` dataset. The full
            list of supported sanction bodies and their values are provided by the
            API info endpoint. If none sanction bodies are provided the system will
            search sanctions issued by any sanctioning body.
        dateOfBirthMatching:
          allOf:
          - $ref: '#/components/schemas/DateOfBirthMatchingEnum'
          nullable: true
          default: EXACT
        pepTiers:
          type: array
          items:
            $ref: '#/components/schemas/PepTierEnum'
          nullable: true
    PersonAmlCheckFilterDatasetsEnum:
      enum:
      - PEP_CURRENT
      - PEP_FORMER
      - PEP_LINKED
      - SAN_CURRENT
      - SAN_FORMER
      - INS
      - RRE
      - DD
      - POI
      - REL
      type: string
    PersonAmlCheckInput:
      type: object
      properties:
        fullName:
          type: string
          maxLength: 200
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          nullable: true
        dateOfBirth:
          type: string
          format: date
          nullable: true
        sex:
          allOf:
          - $ref: '#/components/schemas/MainSexEnum'
          nullable: true
      required:
      - fullName
    Question:
      type: object
      properties:
        key:
          type: string
          pattern: ^[\w_*-]+$
          maxLength: 32
        title:
          type: string
          maxLength: 512
        description:
          type: string
          nullable: true
          default: ''
          maxLength: 512
        choices:
          type: array
          items:
            $ref: '#/components/schemas/Choice'
        type:
          $ref: '#/components/schemas/TypeB9cEnum'
        required:
          type: boolean
          default: false
        placeholder:
          type: string
          nullable: true
          maxLength: 100
        condition:
          type: string
          nullable: true
      required:
      - key
      - title
      - type
    Questionnaire:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        key:
          type: string
          readOnly: true
          description: Used for token creation to identify this questionnaire.
          pattern: ^[\w_*-]+$
          maxLength: 32
        name:
          type: string
          maxLength: 32
        title:
          type: string
          maxLength: 512
        description:
          type: string
          nullable: true
          default: ''
          maxLength: 512
        type:
          $ref: '#/components/schemas/QuestionnaireTypeEnum'
        sections:
          type: array
          items:
            $ref: '#/components/schemas/Section'
      required:
      - id
      - key
      - name
      - sections
      - title
    QuestionnaireAnswersDisplayQuestions:
      type: object
      properties:
        key:
          type: string
        title:
          type: string
        type:
          $ref: '#/components/schemas/TypeB9cEnum'
        value:
          oneOf:
          - type: array
            items:
              type: string
          - type: string
          - type: boolean
          nullable: true
          readOnly: true
      required:
      - key
      - title
      - type
      - value
    QuestionnaireAnswersDisplaySections:
      type: object
      properties:
        title:
          type: string
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionnaireAnswersDisplayQuestions'
      required:
      - questions
      - title
    QuestionnaireAnswersQuestion:
      type: object
      description: Question keys from a questionnaire.
      properties:
        value:
          nullable: true
          description: Question answer. Value depends on the question type.
      required:
      - value
    QuestionnaireAnswersQuestionRequest:
      type: object
      description: Question keys from a questionnaire.
      properties:
        value:
          nullable: true
          description: Question answer. Value depends on the question type.
      required:
      - value
    QuestionnaireTypeEnum:
      enum:
      - KYC
      - KYB
      type: string
    ReportTypeEnum:
      enum:
      - KYB_DOCUMENT
      - CREDIT_BUREAU
      - GOV_REGISTERS
      - GOV_REGISTERS_FILINGS
      - SOS_REPORT
      - SOLE_PROPRIETOR_REPORT
      - COMPANY_AI_REPORT
      type: string
    RiskAssessmentSummary:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        riskScore:
          type: integer
          maximum: 100
          minimum: 0
          nullable: true
        riskLevel:
          allOf:
          - $ref: '#/components/schemas/RiskLevelEnum'
          nullable: true
        comment:
          type: string
          nullable: true
      required:
      - id
    RiskLevelEnum:
      enum:
      - VERY_LOW
      - LOW
      - MEDIUM
      - HIGH
      - VERY_HIGH
      - NOT_CHECKED
      type: string
    SearchAddress:
      type: object
      properties:
        geography:
          type: string
          description: An upper-case two-letter ISO-3166-2 code of a country or dependent
            territory of the profile address or profile nationality.
        city:
          type: string
          description: The city name of the profile address.
      required:
      - geography
    Section:
      type: object
      properties:
        key:
          type: string
          pattern: ^[\w_*-]+$
          maxLength: 32
        title:
          type: string
          maxLength: 512
        description:
          type: string
          nullable: true
          default: ''
          maxLength: 512
        condition:
          type: string
          nullable: true
        questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
      required:
      - key
      - questions
      - title
    SelectFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          nullable: true
          pattern: ^[\w_*-]+$
          maxLength: 32
      required:
      - title
      - type
    SelectMultiFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: array
          items:
            type: string
            pattern: ^[\w_*-]+$
            maxLength: 32
          nullable: true
      required:
      - title
      - type
    SeverityEnum:
      enum:
      - NOT_SEVERE
      - SEVERE
      type: string
    SocialMediaProfiles:
      type: object
      properties:
        link:
          type: string
        name:
          type: string
      required:
      - link
      - name
    SosEntityTypeEnum:
      enum:
      - CORPORATION
      - LLC
      - PARTNERSHIP
      - NON_PROFIT
      - TRUST
      - SOLE_PROPRIETORSHIP
      type: string
    SosReportDocument:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        checkedAt:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        dataFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:json)$
        reportFile:
          type: string
          format: uri
          nullable: true
          pattern: (?:pdf)$
        companyName:
          type: string
          nullable: true
          maxLength: 200
        formationDate:
          type: string
          format: date
          nullable: true
        entityType:
          allOf:
          - $ref: '#/components/schemas/SosEntityTypeEnum'
          nullable: true
        watchlistHitsCount:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          nullable: true
      required:
      - id
    SosReportParameterRequest:
      type: object
      properties:
        companyName:
          type: string
          minLength: 1
          maxLength: 200
        state:
          $ref: '#/components/schemas/StateEnum'
        city:
          type: string
          minLength: 1
          maxLength: 100
        street:
          type: string
          minLength: 1
          maxLength: 255
        postalCode:
          type: string
          minLength: 1
          pattern: ^\d{5}$
          maxLength: 10
      required:
      - city
      - companyName
      - postalCode
      - state
      - street
    StateEnum:
      enum:
      - AK
      - AL
      - AR
      - AZ
      - CA
      - CO
      - CT
      - DE
      - FL
      - GA
      - HI
      - IA
      - ID
      - IL
      - IN
      - KS
      - KY
      - LA
      - MA
      - MD
      - ME
      - MI
      - MN
      - MO
      - MS
      - MT
      - NC
      - ND
      - NE
      - NH
      - NJ
      - NM
      - NV
      - NY
      - OH
      - OK
      - OR
      - PA
      - RI
      - SC
      - SD
      - TN
      - TX
      - UT
      - VA
      - VT
      - WA
      - WI
      - WV
      - WY
      type: string
    TextFieldValue:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/CustomFieldTypeEnum'
        value:
          type: string
          nullable: true
          maxLength: 100
      required:
      - title
      - type
    ThemeColor:
      type: object
      properties:
        primary:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        secondary:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        primaryBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        secondaryBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        hoveredButton:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        disabledIconButton:
          type: string
          nullable: true
          title: Disabled icon
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        disabledButtonTypography:
          type: string
          nullable: true
          title: Disabled typography
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        disabledButton:
          type: string
          nullable: true
          title: Disabled background
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        typography:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        success:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        successBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        error:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        errorBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        warning:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        warningBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        info:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        infoBackground:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
        border:
          type: string
          nullable: true
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
          maxLength: 25
    ThemeCore:
      type: object
      properties:
        companyName:
          type: string
          nullable: true
          maxLength: 32
        logo:
          type: string
          format: uri
          nullable: true
        font:
          type: string
          format: uri
          nullable: true
        colors:
          $ref: '#/components/schemas/ThemeColor'
        supportEmail:
          type: string
          format: email
          nullable: true
          maxLength: 100
    TypeB9cEnum:
      enum:
      - CHECKBOX
      - COLOR
      - COUNTRY
      - COUNTRY_MULTI
      - DATE
      - DATETIME
      - EMAIL
      - FILE
      - FILE_MULTI
      - FLOAT
      - LIST
      - INTEGER
      - PASSWORD
      - RADIO
      - SELECT
      - SELECT_MULTI
      - TEL
      - TEXT
      - TEXT_AREA
      - TIME
      - URL
      type: string
    UserMonitoringTypeEnum:
      enum:
      - COMPANY
      - PERSON
      type: string
    WebsiteAudit:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        riskLevel:
          $ref: '#/components/schemas/RiskLevelEnum'
        trustScore:
          type: integer
          maximum: 100
          minimum: 0
        blacklistScore:
          type: integer
          maximum: 100
          minimum: -100
        internalAuditScore:
          type: integer
          maximum: 100
          minimum: 0
        popularityScore:
          type: integer
          maximum: 100
          minimum: 0
        domainCreatedAt:
          type: string
          format: date-time
          nullable: true
        websiteTitle:
          type: string
          nullable: true
        websiteDescription:
          type: string
          nullable: true
      required:
      - created
      - id
      - riskLevel
      - url
    SosReportWebhook:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        companyName:
          type: string
          maxLength: 200
          nullable: true
        entityType:
          allOf:
          - $ref: '#/components/schemas/SosEntityTypeEnum'
          nullable: true
        formationDate:
          type: string
          format: date
          nullable: true
        status:
          $ref: '#/components/schemas/GovDocumentOrderStatusEnum'
        reportFile:
          type: string
          format: uri
          pattern: (?:pdf)$
          nullable: true
        dataFile:
          type: string
          format: uri
          pattern: (?:json)$
          nullable: true
        watchlistHitsCount:
          type: integer
          minimum: -2147483648
          maximum: 2147483647
          nullable: true
      required:
      - id
    RegistryCenterCheck:
      oneOf:
      - $ref: '#/components/schemas/LithuaniaRegistryCenterCheck'
      - $ref: '#/components/schemas/HungaryRegistryCenterCheck'
      - $ref: '#/components/schemas/UkRegistryCenterCheck'
      - $ref: '#/components/schemas/UsRegistryCenterCheck'
      discriminator:
        propertyName: database
        mapping:
          LT: '#/components/schemas/LithuaniaRegistryCenterCheck'
          HU: '#/components/schemas/HungaryRegistryCenterCheck'
          UK: '#/components/schemas/UkRegistryCenterCheck'
          US_15: '#/components/schemas/UsRegistryCenterCheck'
    RegistryCenterCheckRequest:
      oneOf:
      - $ref: '#/components/schemas/LithuaniaRegistryCenterCheckRequest'
      - $ref: '#/components/schemas/HungaryRegistryCenterCheckRequest'
      - $ref: '#/components/schemas/UkRegistryCenterCheckRequest'
      - $ref: '#/components/schemas/UsRegistryCenterCheckRequest'
      discriminator:
        propertyName: database
        mapping:
          LT: '#/components/schemas/LithuaniaRegistryCenterCheckRequest'
          HU: '#/components/schemas/HungaryRegistryCenterCheckRequest'
          UK: '#/components/schemas/UkRegistryCenterCheckRequest'
          US_15: '#/components/schemas/UsRegistryCenterCheckRequest'
    LithuaniaRegistryCenterCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        checkedPersonalNumber:
          type: string
          maxLength: 30
        checkedDocumentType:
          type: string
          nullable: true
          maxLength: 2
        personalNumber:
          type: string
          readOnly: true
          nullable: true
        name:
          type: string
          readOnly: true
          nullable: true
        surname:
          type: string
          readOnly: true
          nullable: true
        documentNumber:
          type: string
          readOnly: true
          nullable: true
        documentExpiration:
          type: string
          format: date
          readOnly: true
          nullable: true
        facePhoto:
          type: string
          format: uri
          readOnly: true
          nullable: true
          description: Face photo from a document.
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
      required:
      - checkedPersonalNumber
      - database
      - documentExpiration
      - documentNumber
      - facePhoto
      - id
      - name
      - personalNumber
      - surname
    LithuaniaRegistryCenterCheckRequest:
      type: object
      properties:
        checkedPersonalNumber:
          type: string
          minLength: 1
          maxLength: 30
        checkedDocumentType:
          type: string
          nullable: true
          maxLength: 2
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
      required:
      - checkedPersonalNumber
      - database
    HungaryRegistryCenterCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        checkedMrz:
          type: string
          maxLength: 100
        firstName:
          type: string
          readOnly: true
          nullable: true
        lastName:
          type: string
          readOnly: true
          nullable: true
        maidenName:
          type: string
          readOnly: true
          nullable: true
        mothersMaidenName:
          type: string
          readOnly: true
          nullable: true
        birthDate:
          type: string
          format: date
          readOnly: true
          nullable: true
        birthPlace:
          type: string
          readOnly: true
          nullable: true
        address:
          type: object
          additionalProperties: {}
          readOnly: true
        residentialAddress:
          type: object
          additionalProperties: {}
          readOnly: true
        nationality:
          allOf:
          - $ref: '#/components/schemas/CountryEnum'
          readOnly: true
          nullable: true
        idCard:
          type: object
          additionalProperties: {}
          readOnly: true
        passport:
          type: object
          additionalProperties: {}
          readOnly: true
        additionalData:
          type: object
          additionalProperties: {}
          readOnly: true
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
      required:
      - additionalData
      - address
      - birthDate
      - birthPlace
      - checkedMrz
      - database
      - firstName
      - id
      - idCard
      - lastName
      - maidenName
      - mothersMaidenName
      - nationality
      - passport
      - residentialAddress
    HungaryRegistryCenterCheckRequest:
      type: object
      properties:
        checkedMrz:
          type: string
          maxLength: 100
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
      required:
      - checkedMrz
      - database
    UkRegistryCenterCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
        firstName:
          type: string
          maxLength: 255
        lastName:
          type: string
          maxLength: 255
        dateOfBirth:
          type: string
          format: date
        address:
          $ref: '#/components/schemas/UkAddress'
        firstNameStatus:
          allOf:
          - $ref: '#/components/schemas/FirstNameStatus5e4Enum'
          readOnly: true
        lastNameStatus:
          allOf:
          - $ref: '#/components/schemas/LastNameStatus5e4Enum'
          readOnly: true
        dateOfBirthStatus:
          allOf:
          - $ref: '#/components/schemas/DateOfBirthStatusEnum'
          readOnly: true
        addressStatus:
          allOf:
          - $ref: '#/components/schemas/AddressStatusEnum'
          readOnly: true
        addressStatusScore:
          type: number
          format: double
          readOnly: true
      required:
      - address
      - addressStatus
      - addressStatusScore
      - database
      - dateOfBirth
      - dateOfBirthStatus
      - firstName
      - firstNameStatus
      - id
      - lastName
      - lastNameStatus
    UkRegistryCenterCheckRequest:
      type: object
      properties:
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          minLength: 1
          maxLength: 100
        firstName:
          type: string
          minLength: 1
          maxLength: 255
        lastName:
          type: string
          minLength: 1
          maxLength: 255
        dateOfBirth:
          type: string
          format: date
        address:
          $ref: '#/components/schemas/UkAddressRequest'
      required:
      - address
      - database
      - dateOfBirth
      - firstName
      - lastName
    UsRegistryCenterCheck:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          maxLength: 100
        firstName:
          type: string
          maxLength: 100
        lastName:
          type: string
          maxLength: 100
        middleName:
          type: string
          nullable: true
          maxLength: 100
        dob:
          type: string
          format: date
          nullable: true
        yob:
          type: integer
          maximum: 2050
          minimum: 1901
          nullable: true
        address1:
          type: string
          nullable: true
          maxLength: 255
          minLength: 1
        address2:
          type: string
          nullable: true
          maxLength: 255
          minLength: 1
        city:
          type: string
          nullable: true
          maxLength: 100
          minLength: 2
        state:
          type: string
          nullable: true
          maxLength: 2
        zip:
          type: string
          nullable: true
          pattern: ^[0-9]*$
          maxLength: 10
        idNum:
          type: string
          nullable: true
          maxLength: 9
        phone:
          type: string
          nullable: true
          maxLength: 128
          minLength: 10
        email:
          type: string
          format: email
          nullable: true
          maxLength: 254
        firstNameStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        lastNameStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        middleNameStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        dobStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        yobStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        address1Status:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        address2Status:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        cityStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        stateStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        zipStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        idNumStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        phoneStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
        emailStatus:
          allOf:
          - $ref: '#/components/schemas/SoftKycMatchStatusEnum'
          readOnly: true
          nullable: true
      required:
      - address1Status
      - address2Status
      - cityStatus
      - database
      - dobStatus
      - emailStatus
      - firstName
      - firstNameStatus
      - id
      - idNumStatus
      - lastName
      - lastNameStatus
      - middleNameStatus
      - phoneStatus
      - stateStatus
      - yobStatus
      - zipStatus
    UsRegistryCenterCheckRequest:
      type: object
      properties:
        database:
          $ref: '#/components/schemas/DatabaseEnum'
        clientId:
          type: string
          nullable: true
          minLength: 1
          maxLength: 100
        firstName:
          type: string
          minLength: 1
          maxLength: 100
        lastName:
          type: string
          minLength: 1
          maxLength: 100
        middleName:
          type: string
          nullable: true
          maxLength: 100
        dob:
          type: string
          format: date
          nullable: true
        yob:
          type: integer
          maximum: 2050
          minimum: 1901
          nullable: true
        address1:
          type: string
          nullable: true
          maxLength: 255
          minLength: 1
        address2:
          type: string
          nullable: true
          maxLength: 255
          minLength: 1
        city:
          type: string
          nullable: true
          maxLength: 100
          minLength: 2
        state:
          type: string
          nullable: true
          maxLength: 2
        zip:
          type: string
          nullable: true
          pattern: ^[0-9]*$
          maxLength: 10
        idNum:
          type: string
          nullable: true
          maxLength: 9
        phone:
          type: string
          nullable: true
          maxLength: 128
          minLength: 10
        email:
          type: string
          format: email
          nullable: true
          maxLength: 254
      required:
      - database
      - firstName
      - lastName
    DatabaseEnum:
      enum:
      - LT
      - HU
      - UK
      - US_15
      type: string
    RegistryCenterCheckWebhook:
      oneOf:
      - $ref: '#/components/schemas/HungaryRegistryCenterWebhook'
      - $ref: '#/components/schemas/LithuaniaRegistryCenterWebhook'
      - $ref: '#/components/schemas/Us15RegistryCenterWebhook'
      discriminator:
        propertyName: resourceType
        mapping:
          HungaryRegistryCenterCheck: '#/components/schemas/HungaryRegistryCenterWebhook'
          LithuaniaRegistryCenterCheck: '#/components/schemas/LithuaniaRegistryCenterWebhook'
          Us15RegistryCenterCheck: '#/components/schemas/Us15RegistryCenterWebhook'
  securitySchemes:
    apiKeyPair:
      type: http
      scheme: basic
      description: 'The request must contain basic auth headers where username is
        *API key* and password is *API secret*.<br>

        In order for you to start using our API you will need an **API key** and **API
        secret**.<br>

        Both can be retrieved by contacting *iDenfy''s support* or *iDenfy''s sales
        team*.'
    kybTokenAuth:
      type: http
      scheme: bearer
      description: 'Authentication for actions with all operations associated with
        KYB form.<br>

        Token obtained from *KYB form token generation* endpoint as ``tokenString``
        value.<br>'
x-tagGroups:
- name: General
  tags:
  - Webhooks
- name: KYB
  tags:
  - KYB Token
  - KYB Forms
  - KYB Documents
  - Beneficiaries
  - KYB Questionnaires
  - Companies
- name: KYB GOV Checks
  tags:
  - Credit Bureau
  - GOV Registers
  - GOV Orders
  - SOS Reports
  - Registry Center Checks
tags:
- name: KYB Token
  description: KYB token endpoints to begin KYB flow.
- name: KYB Forms
  description: Endpoints for KYB form actions.
- name: KYB Documents
  description: KYB documents CRUD endpoints for the KYB form.
- name: Beneficiaries
  description: Beneficiaries CRUD endpoints for the KYB form.
- name: KYB Questionnaires
  description: KYB questionnaires endpoints.
- name: Companies
  description: Endpoints for actions with companies.
- name: Credit Bureau
  description: Endpoints for actions with credit bureau documents.
- name: GOV Registers
  description: Endpoints for actions with GOV registers documents.
- name: GOV Orders
  description: Endpoints for actions with GOV ordered documents.
- name: SOS Reports
  description: Endpoints for actions with SOS filing documents.
- name: Webhooks
  description: Webhooks.
- name: Registry Center Checks
  description: Registry center check endpoints.
externalDocs:
  description: For other/more docs on iDenfy services visit our main documentation
    page.
  url: https://documentation.idenfy.com
webhooks:
  companyReview:
    post:
      operationId: companyReview
      description: This notification is sent when a company verification is completed.
      summary: Company review
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_REVIEW
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyReviewWebhook'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  companyDelete:
    post:
      operationId: companyDelete
      description: This notification is sent when a company is deleted.
      summary: Company delete
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_DELETE
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyDeleteWebhook'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  companyAmlReview:
    post:
      operationId: companyAmlReview
      description: This notification is sent when an AML review status is manually
        updated for a company or it's beneficiaries.
      summary: Company aml review
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_AML_REVIEW
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmlReviewWebhook'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  companyInfoRequest:
    post:
      operationId: companyInfoRequest
      description: This notification is sent when additional company info is requested
        and when the company form token expires.
      summary: Company info request
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_INFO_REQUEST
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInfoRequestWebhook'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  companyExpiration:
    post:
      operationId: companyExpiration
      description: This notification is sent when a company verification is nearing
        expiration or expires.
      summary: Company expiration
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_EXPIRATION
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyExpirationWebhook'
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  companySubmit:
    post:
      operationId: companySubmit
      description: This notification is sent when company information is submitted.
      summary: Company submit
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - COMPANY_SUBMIT
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanySubmitWebhook'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  govOrderedDocument:
    post:
      operationId: govOrderedDocument
      description: This notification is sent when a gov registers document, which
        was ordered using the API, is delivered.
      summary: Gov ordered document
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - GOV_ORDERED_DOCUMENT
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GovPartnerOrderedDocument'
        required: true
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
  sosReport:
    post:
      operationId: sosReport
      description: This notification is sent when a SOS filing report is delivered.
      summary: Sos report
      externalDocs:
        description: Find info about webhook signing here.
        url: https://documentation.idenfy.com/security/CallbackSigning
      parameters:
      - in: header
        name: Idenfy-Event-Type
        schema:
          type: string
          enum:
          - SOS_REPORT
        required: true
      - in: header
        name: Idenfy-Signature
        schema:
          type: string
        description: Webhook signature
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SosReportWebhook'
      responses:
        '200':
          description: Return a 200 status to indicate that the data was received
            successfully.
