openapi: 3.0.1
info:
  version: 2.0.2
  title: TeslaPay Api Specification
  description: |

    # Core API V2

    Api version 1 [here](../v1/mabhost.html)

    ## Changelog

    You can follow and get to know the latest API changes and improvements [here](./changelog.html).

    ## LHS Brackets filtering support
    For example,
    `GET /clients/?filter=age[gte]21 or (email[eq]"a@a.com" and CreateDate[eq]2019-01-31)` would find all
    the items where the `age` is greater than or equals to `21` or `email` equals `a@a.com`
    and `CreateDate` equals `31 Jan 2019`. Default the logical operator `and`.
    `LIKE` operator with SQL pattern supported, but `ESCAPE` option NOT supported.
    For available filter fields, and their types see endpoint description

    ### Notations
      | Operator | Bracket Notation |
      |:--------:|:----------------:|
      |   N/A    |     \[range]     |
      |   N/A    |     \[like]      |
      |    =     |      \[eq]       |
      |    !=    |      \[ne]       |
      |    >     |      \[gt]       |
      |    >=    |      \[gte]      |
      |    <     |      \[lt]       |
      |    <=    |      \[lte]      |
      |   and    |       and        |
      |    or    |        or        |

    ### Datatypes
      |  Type  | format                                          |
      |:------:|:------------------------------------------------|
      | string | Value in double quotes. ex: email\[like]"%.com" |
      |  date  | Date as defined by yyyy-mm-dd                   |
      | number | Integer number with no thousand delimiters      |

    ## Response codes
      | HTTP Code | Description                                                  |
      | :-------: | :----------------------------------------------------------- |
      |    200    | Request completed successfully                               |
      |    400    | Invalid request. Show message box with "OK" button. Message text from response field `failure_message` and concatenate with text "Error: `detail.error_id`". Title should be filled from `detail.title` |
      |    408    | Execution timeout. Retry same request later                  |
      |   Other   | Show message box with "OK" button. Message text: "We apologize for any inconveniences caused, please contact TeslaPay Customer Support via 'Messaging' section. Error code: `detail.error_id` ". Title should be filled from `detail.title` |
servers:
  - url: https://localhost/v2
    description: TeslaPay Api Host
tags:
  - name: Client Api V2
    description: |
      Client operations.  __Work in progress (WIP)__
paths:
  /clients:
    post:
      tags:
        - Client Api V2
      operationId: createClientV2
      description: This operation create client.
      summary: Create client
      x-scopes:
        - customer
      security:
        - basicMab: []
      parameters:
        - $ref: '#/components/parameters/requestId'
        - $ref: '#/components/parameters/partnerCode'
      requestBody:
        description: Create client
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientV2Model'
            examples:
              ClientCreated:
                $ref: '#/components/examples/v2--ClientCreateRequest'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientV2Model'
              examples:
                ClientCreateResponse200:
                  $ref: '#/components/examples/v2--ClientCreateResponse200'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '408':
          $ref: '#/components/responses/Timeout'
        '500':
          $ref: '#/components/responses/InternalError'
    get:
      tags:
        - Client Api V2
      operationId: listClientsV2
      summary: List clients
      description: |
        This operation retrieves list of the partner clients.

        ###### Filter fields
        | Field                 |  Type  |
        |:----------------------|:------:|
        | email                 | string |
        | contact_mobile_number | string |
        | external_id           | string |

        Filter example with limit/offset:

        `GET /v1/clients/?limit=300&offset=0&filter=contact_mobile_number[eq]"%2B37129207562";create_date[gte]2019-07-13;create_date[lte]2019-07-16`
      x-scopes:
        - customer
      security:
        - basicMab: []
      parameters:
        - $ref: '#/components/parameters/partnerCode'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientV2Model'
              examples:
                ClientGetResponse200:
                  $ref: '#/components/examples/v2--ClientGetResponse200'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '408':
          $ref: '#/components/responses/Timeout'
        '500':
          $ref: '#/components/responses/InternalError'
  /clients/{clientId}:
    put:
      tags:
        - Client Api V2
      operationId: updateClientV2
      description: |
        This operation partially updates client info. Only one of `person`/`company` is required,
        matching `client_type`. Properties omitted from that nested object are left unchanged —
        see `PersonV2UpdateModel`/`CompanyV2UpdateModel`.
      summary: Update client
      x-scopes:
        - customer
      security:
        - basicMab: []
      parameters:
        - $ref: '#/components/parameters/clientId'
        - $ref: '#/components/parameters/requestId'
        - $ref: '#/components/parameters/partnerCode'
      requestBody:
        description: Update client
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientUpdateV2Model'
      responses:
        '200':
          description: |
            Updated. Returns a minimal confirmation (id/name/regtek_ext_id plus
            registration_number+country for a company, or national_id_number+birth_date for a
            person) rather than the full client record - re-read via `GET /v2/clients` if the full
            record is needed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientUpdateResultV2Model'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '408':
          $ref: '#/components/responses/Timeout'
        '500':
          $ref: '#/components/responses/InternalError'
  /service/dictionary/company/naces:
    get:
      tags:
        - Services Api V2
      security:
        - basicMab: []
      operationId: DictionaryCompanyNACEs
      summary: List of allowed NACE codes
      description: Get available NACE codes list
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NaceCodeListModel'
              example:
                - code: A1.1.1
                  description: Growing of cereals (except rice), leguminous crops and oil seeds
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '408':
          $ref: '#/components/responses/Timeout'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    BadRequest:
      description: BadRequest
      content:
        application/json:
          examples:
            invalid_argument:
              value:
                failure_type: error
                failure_message: Invalid partner code
                detail:
                  error_id: c8535148-6cab-4968-9b97-db398ea32772
                  error_source: Hooks
                  status: '400'
                  code: invalid_argument
                  title: Invalid Argument
                  detail: Invalid partner code
            client_country_error:
              description: Client create validation error sample
              value:
                failure_type: error
                failure_message: Client is not a citizen/resident of EU/EEA/EFTA countries
                detail:
                  error_id: 16f2a80f-c6f4-40ed-8537-8ad8bace4609
                  error_source: Hooks
                  status: '400'
                  code: invalid_data
                  title: Invalid Data
                  detail: Client is not a citizen/resident of EU/EEA/EFTA countries
            sepa_transfer_invalid_iban:
              description: SEPA transfer. Invalid IBAN sample.
              value:
                failure_type: error
                failure_message: 'IBAN validation error: Account Number check digit not correct. IBAN structure is not correct'
                detail:
                  error_id: 0f22eb46-fed0-4d0a-9d9b-96da4a370a59
                  error_source: Hooks
                  status: '400'
                  code: invalid_data
                  title: Invalid Data
                  detail: 'IBAN validation error: Account Number check digit not correct. IBAN structure is not correct'
          schema:
            $ref: '#/components/schemas/ErrorMabModel'
    NotFound:
      description: NotFound
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMabModel'
    Timeout:
      description: Timeout
      content:
        application/json:
          example:
            failure_type: error
            failure_message: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
            detail:
              error_id: a1431101-8e88-4f29-b019-6aa004071ae1
              error_source: Hooks
              status: '408'
              code: timeout_api_error
              title: API timeout error
              detail: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
          schema:
            $ref: '#/components/schemas/ErrorMabModel'
    InternalError:
      description: InternalError
      content:
        application/json:
          example:
            failure_type: error
            failure_message: Internal error
            detail:
              error_id: 5e0e5c15-e077-47d5-9915-fc3737765e64
              error_source: Hooks
              status: '500'
              code: internal_error
              title: Internal error
              detail: Internal error
          schema:
            $ref: '#/components/schemas/ErrorMabModel'
    Unauthorized:
      description: Unauthorized
  securitySchemes:
    basicMab:
      type: http
      scheme: basic
      description: |
        <span type="warning" class="sc-bqGGPW eSYQnm"> Deprecated </span> ~~This API uses Basic Authentication~~
  parameters:
    partnerCode:
      in: header
      name: x-partner-code
      description: The unique identifier of the external system
      required: true
      deprecated: true
      schema:
        type: string
        nullable: false
        maxLength: 255
    offset:
      in: query
      name: offset
      description: The number of items to skip before starting to collect the result set.
      required: false
      schema:
        $ref: '#/components/schemas/offsetType'
    limit:
      in: query
      name: limit
      description: The numbers of items to return.
      required: false
      schema:
        $ref: '#/components/schemas/limitType'
    filter:
      in: query
      name: filter
      description: LHS [filter](#section/Macrobank-core-API/LHS-Brackets-filtering-support) expression.
      required: false
      schema:
        type: string
    requestId:
      in: header
      name: x-request-id
      description: Request id. Will act as an idempotency key
      required: true
      schema:
        type: string
        nullable: false
        maxLength: 64
    clientId:
      in: path
      name: clientId
      description: The unique identifier of the client
      required: true
      schema:
        type: string
        maxLength: 64
  schemas:
    offsetType:
      description: The number of items to skip before starting to collect the result set.
      type: integer
      format: int64
      minimum: 0
      maximum: 2147483647
    limitType:
      description: The numbers of items to return.
      type: integer
      format: int64
      minimum: 1
      maximum: 100
    AddressDetailsModel:
      type: object
      description: Object containing the address details
      x-no-response-model: true
      required:
        - country
        - city
        - line
        - postal_code
      properties:
        line:
          type: string
          maxLength: 255
        postal_code:
          type: string
          maxLength: 10
        city:
          type: string
          maxLength: 35
        country:
          description: Country of the home address, uses ISO 3661 alpha-2 Codes
          type: string
          minLength: 2
          maxLength: 2
    taxIdModel:
      description: The Tax ID object. Required for clients
      type: object
      required:
        - number
        - country
      properties:
        number:
          description: |
            Value of the tax ID
          type: string
          minLength: 4
          maxLength: 32
        country:
          description: Two-letter ISO 3661 code representing the country of the tax ID
          type: string
          maxLength: 2
        main:
          description: |
            Flag indicating whether this is the main tax ID for the person or company
          type: boolean
    highRiskProductsType:
      type: string
      description: 'High-risk products selection. Possible values: livestock_animals, chemical_biological_agents, coal_oil_fuel, explosives_radioactive, exotic_leather_ivory, precious_metals_jewelry, nothing, steroids_opioids, firearms_weapons.'
      enum:
        - livestock_animals
        - chemical_biological_agents
        - coal_oil_fuel
        - explosives_radioactive
        - exotic_leather_ivory
        - precious_metals_jewelry
        - nothing
        - steroids_opioids
        - firearms_weapons
      x-enum-descriptions:
        - 'livestock_animals: Livestock or living animals'
        - 'chemical_biological_agents: Chemical or biological agents for military use or riot control'
        - 'coal_oil_fuel: Coal, crude oil, petroleum products, or other fuels'
        - 'explosives_radioactive: Dangerous chemicals, explosives, radioactive materials, or weapons/riot-control agents'
        - 'exotic_leather_ivory: Exotic leather/materials (ivory, crocodile/python skin, etc.)'
        - 'precious_metals_jewelry: Precious metals, stones, jewelry, or watches'
        - 'nothing: None of the above selected'
        - 'steroids_opioids: Steroids, opioids, THC/HHC, melatonin, synthetic cannabinoids, or CBD'
        - 'firearms_weapons: Firearms or weapons'
    PurposeOfAccount:
      type: object
      description: |-
        Type of your future outgoing transfers

        | Value         | Description                              |
        | ------------- | ---------------------------------------- |
        | INVESTING     | Investing                                |
        | OPERATING     | Operating expenses                       |
        | PAYMENTS      | Payments for goods and services          |
        | REAL_ESTATE    | Buying or selling real estate            |
        | SAVINGS       | Savings and expending for personal needs |
        | SHARES        | Buying or selling companies shares       |
      x-no-response-model: true
      properties:
        purpose:
          description: Purpose array. Duplicate elements ignored.
          type: array
          items:
            type: string
        other:
          description: Other type of purpose description
          type: string
          maxLength: 100
    PepModel:
      type: object
      description: PEP details. Required if PEP status code `PEP` or `PEPC`
      x-no-response-model: true
      required:
        - country
        - position
      properties:
        country:
          description: Of which country PEP, uses ISO 3661 alpha-2 Codes
          type: string
          maxLength: 2
          nullable: false
        position:
          description: PEP position
          type: string
          maxLength: 255
          nullable: false
        name:
          description: PEP name. Required if PEP status code `PEPC`
          type: string
          maxLength: 255
        relation:
          description: |
            Please specify the relationship with a PEP. Required if PEP status code `PEPC`

            |  Code  | Description      |
            |:------:|:-----------------|
            | PEPREL | Relative         |
            | PEPBUS | Business contact |
          type: string
    OccupationModel:
      type: object
      description: Occupation details. Required for person with kind=client
      x-no-response-model: true
      required:
        - position
        - specific_position
        - criminal
        - tesla_funds
        - crypto_currency
      properties:
        position:
          description: |
            Position

            | Code       | Description              |
            |:-----------|:-------------------------|
            | EMPLOYEE   | Employee                 |
            | OWNER      | Business owner           |
            | OTHER      | Other                    |
          type: string
        other:
          description: Used if position code 'OTHER'.
          type: string
          maxLength: 255
        company:
          description: Used if position code 'EMPLOYEE'.
          type: string
          maxLength: 255
        name_of_own_business:
          description: Required if position code 'OWNER'.
          type: string
          maxLength: 255
        specific_position:
          description: |
            "Is your profession on the list below?"
              - Accountant
              - Advocate/Solicitor
              - Bailiff
              - Builder
              - Diplomat
              - Doctor
              - Estate Agent
              - Financial Services Consultant
              - Judge
              - Lawyer
              - Notary
              - Politician
              - Ship Owner
              - Tax advisor
              - Jeweller
          type: boolean
        criminal:
          description: Do you have a criminal record?
          type: boolean
        tesla_funds:
          description: I confirm that I am the owner of the funds
          type: boolean
        crypto_currency:
          description: Selling/buying virtual currencies
          type: boolean
    IdDocumentModel:
      x-no-response-model: true
      description: Identification document information
      type: object
      required:
        - type
        - number
        - expire_date
      properties:
        type:
          description: |
            Identification document type

            | Code | Value            |
            |:---- |:-----------------|
            | CCPT | PASSPORT         |
            | RPMT | RESIDENCE_PERMIT |
            | NIDN | ID_CARD          |
          type: string
        number:
          description: Identification document number
          type: string
          maxLength: 32
        expire_date:
          description: Identification document expiration date as defined by RFC 3339, section 5.6
          type: string
          format: date
    SourceOfIncomeV2:
      description: |
        Source of income information

        Source of income array. Items possible values.

        | Value                 | Description           |
        | --------------------- | --------------------- |
        | INHERITANCE_GIFTS     | Inheritance/Gifts     |
        | RECEIVABLE_DIVIDENDS  | Divorce Settlement    |
        | PROPERTY_SALE         | Property sale         |
        | SALARY                | Salary                |
        | SAVINGS               | Savings               |
      type: object
      x-no-response-model: true
      properties:
        income:
          type: array
          description: Source of income array. Duplicate elements ignored.
          items:
            type: string
        other:
          description: Other type of income description
          type: string
          maxLength: 100
    PersonAttachmentsModel:
      type: object
      description: Person attachments
      properties:
        utility_bill:
          title: Utility bill
          description: Id of file uploaded using `/attachments` endpoint
          type: string
        ubo:
          type: object
          description: 'As part of the registration of legal entities, questions regarding UBO >=25%:'
          properties:
            sow:
              title: UBO Source of Wealth
              description: |-
                Could you please provide confirmation of the main
                UBO Source of Wealth (bank statement that shows salary payments, dividends or savings account,
                sale of shares, inheritance etc)?
              type: object
              properties:
                absence_reason:
                  description: The reason of absent file
                  type: string
                file:
                  description: Id of file uploaded using `/attachments` endpoint
                  type: string
            profile:
              title: UBO Linkedin Profile / CV
              description: Could you please provide the mail UBO Likedin profile or their CV?
              type: object
              properties:
                absence_reason:
                  description: The reason of absent file
                  type: string
                file:
                  description: Id of file uploaded using `/attachments` endpoint
                  type: string
    ipType:
      description: A string containing the IP address of the client from whom the request was received.
      type: string
      maxLength: 15
      minLength: 7
    PersonV2Model:
      type: object
      description: Person attributes
      required:
        - kind
        - first_name
        - last_name
        - birth_date
        - address
        - nationality
        - national_id_number
        - us_person
        - pep_person
        - ip
      properties:
        id:
          description: The unique identifier of the person.
          type: string
          minLength: 3
          maxLength: 64
          readOnly: true
        external_reference:
          description: External reference of the person in Regtek system. It is used to identify the person in the external system.
          type: string
          maxLength: 64
        status:
          description: Person status. Statuses will be discussed later.
          type: string
          readOnly: true
        kind:
          description: |
            Person usage

            | Code | Description                  |
            |:-----|:-----------------------------|
            |  P   | Individual (UBO/Shareholder) |
            |  A   | Authorized person            |
            |  C   | Client                       |
          type: string
        first_name:
          description: First name of the person
          type: string
          minLength: 2
          maxLength: 50
        last_name:
          description: Last name of the person
          type: string
          minLength: 2
          maxLength: 50
        address:
          $ref: '#/components/schemas/AddressDetailsModel'
        email:
          description: Email address of the person. Required for clients and authorized persons
          type: string
          maxLength: 255
        contact_mobile_number:
          description: Contact Mobile Number with country code (E.164 recommendation). Required for clients and authorized persons
          pattern: ^\+\d{4,15}$
          type: string
          maxLength: 16
        birth_date:
          description: Birth date of the person (Any date from 1900-01-01 onward as defined by RFC 3339, section 5.6)
          type: string
          format: date
        nationality:
          description: Nationality of the person, uses ISO 3661 alpha-2 Codes
          type: string
          maxLength: 2
        residence:
          description: Residence country of the person, uses ISO 3661 alpha-2 Codes
          type: string
          maxLength: 2
        national_id_number:
          description: |
            Personal number or code from an identity document. If there is no personal number/code, use the date of birth in the following format: YYYY.MM.DD
          type: string
          maxLength: 32
        tax_residences:
          description: List of tax residencies of the person
          type: array
          items:
            $ref: '#/components/schemas/taxIdModel'
          x-no-response-model: true
        referral_code:
          description: Referral program code
          type: string
          maxLength: 255
        us_person:
          description: U.S. person status
          type: boolean
        pep_person:
          description: |
            PEP status

            | Code  | Description                                      |
            |:------|:-------------------------------------------------|
            | NOPEP | No, not a PEP                                    |
            | PEP   | YES                                              |
            | PEPC  | YES, a family member or close associate of a PEP |
          type: string
        annual_income:
          description: Annual income of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        max_single_payment_volume:
          description: Maximum planned single payment of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        ways_to_use_account:
          description: |
            Ways to use the account
          type: array
          items:
            type: string
            maxLength: 255
          x-no-response-model: true
        high_risk_products:
          description: High-risk products selection.
          type: array
          items:
            $ref: '#/components/schemas/highRiskProductsType'
          x-no-response-model: true
        planned_countries:
          title: Planned Countries
          description: Which countries do you plan to do business with?
          type: array
          items:
            type: string
            maxLength: 2
          x-no-response-model: true
        purpose_of_account:
          $ref: '#/components/schemas/PurposeOfAccount'
        planned_annual_turnover:
          description: Estimated total volume per year (in EUR)
          type: integer
          format: int32
          x-no-response-model: true
        third_party_use:
          description: |
            Third-party account use. Explanation if the account will be used by a third party
          type: string
          maxLength: 255
          x-no-response-model: true
        pep_details:
          $ref: '#/components/schemas/PepModel'
        occupation:
          $ref: '#/components/schemas/OccupationModel'
        document:
          $ref: '#/components/schemas/IdDocumentModel'
        source_of_income:
          $ref: '#/components/schemas/SourceOfIncomeV2'
        attachments:
          $ref: '#/components/schemas/PersonAttachmentsModel'
        remote_client_id:
          description: Remote system client identifier
          type: string
          maxLength: 255
        ip:
          $ref: '#/components/schemas/ipType'
        tc_agreement:
          description: I agree to TeslaPay T&C and Privacy Policy
          type: boolean
        info_correct:
          description: Confirmation of the correctness of the information
          type: boolean
        additional_data:
          description: |
            Optional object that contains additional information submission for processing.

            Available objects:

            #### Sumsub applicant object. 
              
              | Property      | Type   | Required | Description   |
              | :------------ | ------ | -------- | :------------ |
              | applicant_id  | String | Yes      | Applicant Id  |
              | inspection_id | String | Yes      | Inspection Id |

            ##### Example:
              
              ```json
            "sumsub": {
              "applicant_id": "5f80e6b7155a6336271e4677",
              "inspection_id": "123456b7155a6336271e6789"
            }
              ```

            #### Veriff session id object

              | Property   | Type   | Required | Description       |
              | :--------- | ------ | -------- | :---------------- |
              | session_id | String | Yes      | Veriff session Id |

            ##### Example:

              ```json
            "veriff": {
              "session_id": "c6f5b969-f672-45d3-9334-4413d6469c11"
            }
              ```
          type: object
    companyType:
      type: string
      description: |
        Type of legal entity form.

        **Available types**

        | Code        | Description                    |
        |-------------|--------------------------------|
        | LLC         | Limited Liability Company      |
        | SP          | Sole Proprietorship            |
        | PARTNERSHIP | Partnership                    |
        | CORPORATION | Corporation                    |
        | COOPERATIVE | Cooperative                    |
        | CHARITY     | Charity                        |
        | TRUST       | Trust                          |
        | OTHER       | Other (specified in the name) |
      maxLength: 16
      minLength: 2
    SourceOfFunds:
      type: object
      description: |-
        Major sources of incoming funds

        | Value       | Description                   |
        | ----------- | ----------------------------- |
        | INVESTMENTS | Investments of company owners |
        | INCOME      | Sales revenue                 |
        | BORROWINGS  | Borrowings                    |
      x-no-response-model: true
      properties:
        source:
          description: Sources of incoming funds array. Duplicate elements ignored.
          type: array
          items:
            type: string
        other:
          description: Other
          type: string
          maxLength: 255
    HowAttractsClients:
      type: object
      description: |-
        How company attracts customers

        | Value       | Description             |
        |-------------|-------------------------|
        | DIRECT      | Direct sales contact    |
        | EXHIBITION  | Exhibitions/conferences |
        | OFFLINE     | Offline marketing       |
        | PARTNERSHIP | Partnership sales       |
        | RUMOURS     | Word of mouth           |
        | SOCIAL      | Social media ads        |
        | WEB         | Web ads                 |
      x-no-response-model: true
      properties:
        attraction:
          description: Ways to attract customers.
          type: array
          items:
            type: string
        other:
          description: Other
          type: string
          maxLength: 255
    Industry:
      type: object
      description: |-
        Type of industry

        | Value         | Description           |
        |---------------|-----------------------|
        | ACCOUNTING    | Accounting            |
        | CONSULTANCY   | Consultancy           |
        | CRYPTO        | Crypto-currency       |
        | REAL_ESTATE   | Real Estate           |
        | FINANCIAL     | Financial services    |
        | GAMING        | Gaming & Gambling     |
        | IMPORT_EXPORT | Import & Export       |
        | IT            | IT                    |
        | LEGAL         | Legal                 |
        | MARKETING     | Affiliate & Marketing |
        | RETAIL        | Retail                |
        | TOURISM       | Tourism               |
      x-no-response-model: true
      properties:
        industry:
          description: Array of industries
          type: array
          items:
            type: string
        other:
          description: Other industry
          type: string
          maxLength: 255
    naceCodeType:
      description: NACE code for the business activity
      maxLength: 16
      minLength: 2
      type: string
    PartnerModel:
      type: object
      x-no-response-model: true
      description: Partner of the company
      properties:
        name:
          minLength: 1
          maxLength: 255
          type: string
        web_site:
          maxLength: 255
          type: string
        relationship:
          description: Description of relationship with partner
          minLength: 15
          maxLength: 255
          type: string
        country:
          description: Country of the partner, uses ISO 3661 alpha-2 Codes
          minLength: 2
          maxLength: 2
          type: string
        relation_direction:
          description: Direction of the relations with the partner
          enum:
            - INCOMING
            - OUTGOING
            - BOTH
          type: string
      required:
        - name
        - relationship
        - country
        - relation_direction
    ShareholderModel:
      type: object
      x-no-response-model: true
      description: Data about shareholder or beneficiary of the company
      properties:
        kind:
          description: Kind of entity Shareholder or Beneficiary
          enum:
            - SHAREHOLDER
            - BENEFICIARY
          type: string
        ratio:
          description: Ratio of ownership
          minimum: 0
          type: number
          format: float
        client_id:
          description: The unique identifier of the existing company/person.
          maxLength: 64
          minLength: 3
          type: string
      required:
        - kind
        - ratio
        - client_id
    CompanyAttachmentsModel:
      type: object
      description: Company attachments
      properties:
        license:
          description: Id of file uploaded using `/attachments` endpoint. Required for licensed business
          type: string
        share_register:
          description: Id of file uploaded using `/attachments` endpoint
          type: string
        director_register:
          description: Id of file uploaded using `/attachments` endpoint
          type: string
        trade_register:
          description: Id of file uploaded using `/attachments` endpoint
          type: string
        fin_statement:
          title: The Financial Statement
          description: |-
            Id of file uploaded using `/attachments` endpoint. The financial statement for the previous financial year.
            If the company has not been registered for more than a year, please provide us with the current financial statement of the company,
            which is not older than 3 months.
          type: string
      required:
        - fin_statement
    managementMemberType:
      type: object
      description: anagement structure member.
      required:
        - client_id
        - role
      properties:
        client_id:
          type: string
          minLength: 3
          maxLength: 64
          description: Existing person id.
        role:
          type: string
          enum:
            - director
            - authorized_person
          description: Role in company
        is_nominee:
          type: boolean
          description: Manager.isNominee.
    CompanyV2Model:
      type: object
      description: |-
        Legal entity information

        `license` - License scan
        `share_register` - Shareholders Register
        `director_register` - Director Register
        `trade_register` - Extract from the Trade Register
      properties:
        id:
          description: The unique identifier of the company.
          maxLength: 64
          minLength: 3
          readOnly: true
          type: string
        external_reference:
          description: External reference of the person in Regtek system. It is used to identify the person in the external system.
          type: string
          maxLength: 64
        status:
          description: Company status. Statuses will be discussed later.
          readOnly: true
          type: string
        kind:
          description: |
            Company usage
            | Code | Description |
            |:-----|:------------|
            |  O   | Company     |
            |  C   | Client      |
          type: string
        name:
          description: Name of the company
          maxLength: 255
          minLength: 2
          type: string
        type:
          $ref: '#/components/schemas/companyType'
        registration_number:
          description: Registration number of the company
          maxLength: 255
          minLength: 2
          type: string
        contact_email:
          description: Email address of the person
          maxLength: 255
          format: email
          type: string
        contact_mobile_number:
          description: Contact Mobile Number with country code (E.164 recommendation).
          pattern: ^\+\d{4,15}$
          maxLength: 65
          type: string
        country:
          description: Country of incorporation, uses ISO 3166-1 alpha-2 Codes
          maxLength: 2
          type: string
        purpose_of_account:
          $ref: '#/components/schemas/PurposeOfAccount'
        source_of_funds:
          $ref: '#/components/schemas/SourceOfFunds'
        clients_attraction:
          $ref: '#/components/schemas/HowAttractsClients'
        industry:
          $ref: '#/components/schemas/Industry'
        vat_number:
          description: VAT number in a case the company is a VAT payer
          maxLength: 80
          type: string
        is_vat_payer:
          description: Whether the company is a VAT payer
          type: boolean
        website:
          description: WEB site of the company
          maxLength: 255
          type: string
        social_media:
          description: Social Media accounts
          maxLength: 255
          type: string
        employees_number:
          description: Number of employees
          type: integer
        nace_codes:
          description: Array of NACE code for the business activity of the company
          type: array
          items:
            $ref: '#/components/schemas/naceCodeType'
        partners:
          description: List of partners of the company
          type: array
          items:
            $ref: '#/components/schemas/PartnerModel'
          x-no-response-model: true
        shareholders:
          description: List of shareholders and beneficiaries of the company
          type: array
          items:
            $ref: '#/components/schemas/ShareholderModel'
        official_address:
          $ref: '#/components/schemas/AddressDetailsModel'
        mail_address:
          $ref: '#/components/schemas/AddressDetailsModel'
        referral_code:
          description: Referral program code
          maxLength: 255
          type: string
        is_multiple_board_members:
          description: Management/Members of the board (> 1 member)
          type: boolean
        is_nominees:
          description: Do any of the Company shareholders or beneficial owners act as nominees
          type: boolean
        is_bearer_shares:
          description: Has a Company or any direct or indirect Company shareholders issued bearer shares?
          type: boolean
        site_info:
          description: WEB link to the current status of onboarding application or additional information request.
          readOnly: true
          type: string
        est_year_volume:
          description: Estimated total volume per year (in EUR)
          type: integer
          format: int64
          x-no-response-model: true
        est_year_inc_payments:
          description: Estimated number of incoming payments per year (average)
          type: integer
          format: int32
          x-no-response-model: true
        est_year_out_payments:
          description: Estimated number of outgoing payments per year (average)
          type: integer
          format: int32
          x-no-response-model: true
        max_single_payment_volume:
          description: Maximum planned single payment of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        planned_countries:
          title: Planned Countries
          description: Which countries do you plan to do business with?
          type: array
          items:
            type: string
            maxLength: 2
          x-no-response-model: true
        reason_for_account:
          title: Reason for opening an account
          description: Please explain why you want to open a business account in Lithuania and TeslaPay.
          type: string
        attachments:
          $ref: '#/components/schemas/CompanyAttachmentsModel'
          x-no-response-model: true
        remote_client_id:
          description: Remote system client identifier
          maxLength: 255
          type: string
        tc_agreement:
          description: I agree to TeslaPay T&C and Privacy Policy
          type: boolean
        info_correct:
          description: Confirmation of the correctness of the information
          type: boolean
        ip:
          $ref: '#/components/schemas/ipType'
        high_risk_products:
          description: High-risk products selection.
          type: array
          items:
            $ref: '#/components/schemas/highRiskProductsType'
          x-no-response-model: true
        licensed_activity:
          description: Licensed activity flag.
          type: boolean
        tax_residences:
          description: List of tax residencies of the company
          type: array
          items:
            $ref: '#/components/schemas/taxIdModel'
          x-no-response-model: true
        management_members:
          description: List of authorized persons of the company
          type: array
          items:
            $ref: '#/components/schemas/managementMemberType'
          x-no-response-model: true
        additional_data:
          description: |
            Optional object that contains additional information submission for processing.

            Available objects:

            #### Sumsub applicant object. 
              
              | Property      | Type   | Required | Description   |
              | :------------ | ------ | -------- | :------------ |
              | applicant_id  | String | Yes      | Applicant Id  |
              | inspection_id | String | Yes      | Inspection Id |

            ##### Example:
              
              ```json
            "sumsub": {
              "applicant_id": "5f80e6b7155a6336271e4677",
              "inspection_id": "123456b7155a6336271e6789"
            }
              ```
          type: object
      required:
        - contact_mobile_number
        - contact_email
        - name
        - registration_number
        - official_address
        - employees_number
        - country
        - is_vat_payer
        - is_multiple_board_members
        - is_nominees
        - is_bearer_shares
        - source_of_funds
        - clients_attraction
        - industry
        - ip
        - planned_countries
    ClientV2Model:
      type: object
      description: Client attributes
      required:
        - client_type
        - external_reference
      properties:
        external_reference:
          description: External reference of the client in Regtek system. It is used to identify the client in the external system.
          type: string
          maxLength: 64
        client_type:
          description: Client type
          type: string
          enum:
            - PERSON
            - COMPANY
        person:
          $ref: '#/components/schemas/PersonV2Model'
        company:
          $ref: '#/components/schemas/CompanyV2Model'
    ErrorFieldModel:
      x-no-response-model: true
      description: If a model is involved, this object contains information on which attribute the error occurred - optional
      properties:
        uri:
          description: The model's attribute that raised the error
          type: string
        message:
          description: A human readable error message that describes the error
          type: string
    ErrorObjectModel:
      type: object
      description: Error object
      example:
        error_id: f7295cf9-7ec9-43b0-8961-156ab6eac092
        error_source: Hooks
        status: '500'
        code: internal_error
        title: Internal error
      properties:
        error_id:
          description: Unique ID for the error
          type: string
        error_source:
          description: Source of error
          type: string
        status:
          description: HTTP status code
          type: string
        code:
          description: Computer readable code for error handling
          type: string
        title:
          description: Human readable generic error message
          type: string
        detail:
          description: Human readable error message containing all details available
          type: string
    ErrorMabModel:
      type: object
      description: |
        Macrobank error object.
      example:
        failure_type: error
        failure_message: Invalid partner code
        detail:
          error_id: c8535148-6cab-4968-9b97-db398ea32772
          error_source: Hooks
          status: '400'
          code: invalid_argument
          title: Invalid Argument
          detail: Invalid partner code
      properties:
        failure_type:
          description: Failure type
          type: string
          enum:
            - error
            - validation
        failure_message:
          type: string
          description: Human readable message
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorFieldModel'
        detail:
          $ref: '#/components/schemas/ErrorObjectModel'
    PersonV2UpdateModel:
      type: object
      description: |-
        Partial update of person attributes. Mirrors `PersonV2Model`, minus identity/read-only fields
        that cannot be changed after creation (`id`, `status`, `kind`, `external_reference`).

        This is a **partial update**: only properties present in the request body are changed.
        A property that is *omitted* leaves the current value untouched; a property sent with
        an explicit `null` clears it (where nullable). Sending an empty object `{}` is a no-op.
      properties:
        first_name:
          description: First name of the person
          type: string
          minLength: 2
          maxLength: 50
        last_name:
          description: Last name of the person
          type: string
          minLength: 2
          maxLength: 50
        address:
          $ref: '#/components/schemas/AddressDetailsModel'
        email:
          description: Email address of the person. Required for clients and authorized persons
          type: string
          maxLength: 255
        contact_mobile_number:
          description: Contact Mobile Number with country code (E.164 recommendation). Required for clients and authorized persons
          pattern: ^\+\d{4,15}$
          type: string
          maxLength: 16
        birth_date:
          description: Birth date of the person (Any date from 1900-01-01 onward as defined by RFC 3339, section 5.6)
          type: string
          format: date
        nationality:
          description: Nationality of the person, uses ISO 3661 alpha-2 Codes
          type: string
          maxLength: 2
        residence:
          description: Residence country of the person, uses ISO 3661 alpha-2 Codes
          type: string
          maxLength: 2
        national_id_number:
          description: |
            Personal number or code from an identity document. If there is no personal number/code, use the date of birth in the following format: YYYY.MM.DD
          type: string
          maxLength: 32
        tax_residences:
          description: List of tax residencies of the person. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/taxIdModel'
          x-no-response-model: true
        referral_code:
          description: Referral program code
          type: string
          maxLength: 255
        us_person:
          description: U.S. person status
          type: boolean
        pep_person:
          description: |
            PEP status

            | Code  | Description                                      |
            |:------|:-------------------------------------------------|
            | NOPEP | No, not a PEP                                    |
            | PEP   | YES                                              |
            | PEPC  | YES, a family member or close associate of a PEP |
          type: string
        annual_income:
          description: Annual income of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        max_single_payment_volume:
          description: Maximum planned single payment of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        ways_to_use_account:
          description: |
            Ways to use the account. Replaces the full list when present.
          type: array
          items:
            type: string
            maxLength: 255
          x-no-response-model: true
        high_risk_products:
          description: High-risk products selection. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/highRiskProductsType'
          x-no-response-model: true
        planned_countries:
          title: Planned Countries
          description: Which countries do you plan to do business with? Replaces the full list when present.
          type: array
          items:
            type: string
            maxLength: 2
          x-no-response-model: true
        purpose_of_account:
          $ref: '#/components/schemas/PurposeOfAccount'
        planned_annual_turnover:
          description: Estimated total volume per year (in EUR)
          type: integer
          format: int32
          x-no-response-model: true
        third_party_use:
          description: |
            Third-party account use. Explanation if the account will be used by a third party
          type: string
          maxLength: 255
          x-no-response-model: true
        pep_details:
          $ref: '#/components/schemas/PepModel'
        occupation:
          $ref: '#/components/schemas/OccupationModel'
        document:
          $ref: '#/components/schemas/IdDocumentModel'
        source_of_income:
          $ref: '#/components/schemas/SourceOfIncomeV2'
        attachments:
          $ref: '#/components/schemas/PersonAttachmentsModel'
          x-no-response-model: true
        remote_client_id:
          description: Remote system client identifier
          type: string
          maxLength: 255
        ip:
          $ref: '#/components/schemas/ipType'
        tc_agreement:
          description: I agree to TeslaPay T&C and Privacy Policy
          type: boolean
        info_correct:
          description: Confirmation of the correctness of the information
          type: boolean
        additional_data:
          description: |
            Optional object that contains additional information submission for processing.
            Merged into the previously stored value; keys not present are left untouched.

            Available objects:

            #### Sumsub applicant object.

              | Property      | Type   | Required | Description   |
              | :------------ | ------ | -------- | :------------ |
              | applicant_id  | String | Yes      | Applicant Id  |
              | inspection_id | String | Yes      | Inspection Id |

            ##### Example:

              ```json
            "sumsub": {
              "applicant_id": "5f80e6b7155a6336271e4677",
              "inspection_id": "123456b7155a6336271e6789"
            }
              ```

            #### Veriff session id object

              | Property   | Type   | Required | Description       |
              | :--------- | ------ | -------- | :---------------- |
              | session_id | String | Yes      | Veriff session Id |

            ##### Example:

              ```json
            "veriff": {
              "session_id": "c6f5b969-f672-45d3-9334-4413d6469c11"
            }
              ```
          type: object
    CompanyV2UpdateModel:
      type: object
      description: |-
        Partial update of company (legal entity) attributes. Mirrors `CompanyV2Model`, minus
        identity/read-only fields that cannot be changed after creation (`id`, `status`, `kind`,
        `external_reference`, `site_info`).

        This is a **partial update**: only properties present in the request body are changed.
        A property that is *omitted* leaves the current value untouched; a property sent with
        an explicit `null` clears it (where nullable). Sending an empty object `{}` is a no-op.

        `license` - License scan
        `share_register` - Shareholders Register
        `director_register` - Director Register
        `trade_register` - Extract from the Trade Register
      properties:
        name:
          description: Name of the company
          maxLength: 255
          minLength: 2
          type: string
        type:
          $ref: '#/components/schemas/companyType'
        registration_number:
          description: Registration number of the company
          maxLength: 255
          minLength: 2
          type: string
        contact_email:
          description: Email address of the person
          maxLength: 255
          format: email
          type: string
        contact_mobile_number:
          description: Contact Mobile Number with country code (E.164 recommendation).
          pattern: ^\+\d{4,15}$
          maxLength: 65
          type: string
        country:
          description: Country of incorporation, uses ISO 3166-1 alpha-2 Codes
          maxLength: 2
          type: string
        purpose_of_account:
          $ref: '#/components/schemas/PurposeOfAccount'
        source_of_funds:
          $ref: '#/components/schemas/SourceOfFunds'
        clients_attraction:
          $ref: '#/components/schemas/HowAttractsClients'
        industry:
          $ref: '#/components/schemas/Industry'
        vat_number:
          description: VAT number in a case the company is a VAT payer
          maxLength: 80
          type: string
        is_vat_payer:
          description: Whether the company is a VAT payer
          type: boolean
        website:
          description: WEB site of the company
          maxLength: 255
          type: string
        social_media:
          description: Social Media accounts
          maxLength: 255
          type: string
        employees_number:
          description: Number of employees
          type: integer
        nace_codes:
          description: Array of NACE code for the business activity of the company. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/naceCodeType'
        partners:
          description: List of partners of the company. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/PartnerModel'
          x-no-response-model: true
        shareholders:
          description: List of shareholders and beneficiaries of the company. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/ShareholderModel'
        official_address:
          $ref: '#/components/schemas/AddressDetailsModel'
        mail_address:
          $ref: '#/components/schemas/AddressDetailsModel'
        referral_code:
          description: Referral program code
          maxLength: 255
          type: string
        is_multiple_board_members:
          description: Management/Members of the board (> 1 member)
          type: boolean
        is_nominees:
          description: Do any of the Company shareholders or beneficial owners act as nominees
          type: boolean
        is_bearer_shares:
          description: Has a Company or any direct or indirect Company shareholders issued bearer shares?
          type: boolean
        est_year_volume:
          description: Estimated total volume per year (in EUR)
          type: integer
          format: int64
          x-no-response-model: true
        est_year_inc_payments:
          description: Estimated number of incoming payments per year (average)
          type: integer
          format: int32
          x-no-response-model: true
        est_year_out_payments:
          description: Estimated number of outgoing payments per year (average)
          type: integer
          format: int32
          x-no-response-model: true
        max_single_payment_volume:
          description: Maximum planned single payment of the person in EUR
          type: number
          format: int32
          x-no-response-model: true
        planned_countries:
          title: Planned Countries
          description: Which countries do you plan to do business with? Replaces the full list when present.
          type: array
          items:
            type: string
            maxLength: 2
          x-no-response-model: true
        reason_for_account:
          title: Reason for opening an account
          description: Please explain why you want to open a business account in Lithuania and TeslaPay.
          type: string
        attachments:
          $ref: '#/components/schemas/CompanyAttachmentsModel'
          x-no-response-model: true
        remote_client_id:
          description: Remote system client identifier
          maxLength: 255
          type: string
        tc_agreement:
          description: I agree to TeslaPay T&C and Privacy Policy
          type: boolean
        info_correct:
          description: Confirmation of the correctness of the information
          type: boolean
        ip:
          $ref: '#/components/schemas/ipType'
        high_risk_products:
          description: High-risk products selection. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/highRiskProductsType'
          x-no-response-model: true
        licensed_activity:
          description: Licensed activity flag.
          type: boolean
        tax_residences:
          description: List of tax residencies of the company. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/taxIdModel'
          x-no-response-model: true
        management_members:
          description: List of authorized persons of the company. Replaces the full list when present.
          type: array
          items:
            $ref: '#/components/schemas/managementMemberType'
          x-no-response-model: true
        additional_data:
          description: |
            Optional object that contains additional information submission for processing.
            Merged into the previously stored value; keys not present are left untouched.

            Available objects:

            #### Sumsub applicant object.

              | Property      | Type   | Required | Description   |
              | :------------ | ------ | -------- | :------------ |
              | applicant_id  | String | Yes      | Applicant Id  |
              | inspection_id | String | Yes      | Inspection Id |

            ##### Example:

              ```json
            "sumsub": {
              "applicant_id": "5f80e6b7155a6336271e4677",
              "inspection_id": "123456b7155a6336271e6789"
            }
              ```
          type: object
    ClientUpdateV2Model:
      type: object
      description: |-
        Partial update of client attributes. Only one of `person`/`company` is required, matching
        `client_type`. Fields omitted from the nested object are left unchanged (see
        `PersonV2UpdateModel`/`CompanyV2UpdateModel`).
      required:
        - client_type
      properties:
        client_type:
          description: Client type
          type: string
          enum:
            - PERSON
            - COMPANY
        person:
          $ref: '#/components/schemas/PersonV2UpdateModel'
        company:
          $ref: '#/components/schemas/CompanyV2UpdateModel'
    PersonUpdateResultV2Model:
      type: object
      description: |-
        Minimal confirmation of a person partial update - just enough to identify which record
        changed and correlate it with Regtek. Not the full `PersonV2Model`; re-read the client via
        `GET /v2/clients` if the full record is needed.
      properties:
        id:
          description: The unique identifier of the person.
          type: string
          minLength: 3
          maxLength: 64
        name:
          description: Full name of the person (first name + last name).
          type: string
        regtek_ext_id:
          description: External ID of the person in Regtek.
          type: string
          maxLength: 64
        national_id_number:
          description: |
            Personal number or code from an identity document. If there is no personal number/code, use the date of birth in the following format: YYYY.MM.DD
          type: string
          maxLength: 32
        birth_date:
          description: Birth date of the person (as defined by RFC 3339, section 5.6)
          type: string
          format: date
    CompanyUpdateResultV2Model:
      type: object
      description: |-
        Minimal confirmation of a company partial update - just enough to identify which record
        changed and correlate it with Regtek. Not the full `CompanyV2Model`; re-read the client via
        `GET /v2/clients` if the full record is needed.
      properties:
        id:
          description: The unique identifier of the company.
          type: string
          minLength: 3
          maxLength: 64
        name:
          description: Name of the company
          maxLength: 255
          minLength: 2
          type: string
        regtek_ext_id:
          description: External ID of the company in Regtek.
          type: string
          maxLength: 64
        registration_number:
          description: Registration number of the company
          maxLength: 255
          minLength: 2
          type: string
        country:
          description: Country of incorporation, uses ISO 3166-1 alpha-2 Codes
          type: string
          maxLength: 2
    ClientUpdateResultV2Model:
      type: object
      description: |-
        Minimal confirmation of a client partial update. Only the nested object matching
        `client_type` is populated.
      required:
        - client_type
      properties:
        client_type:
          description: Client type
          type: string
          enum:
            - PERSON
            - COMPANY
        person:
          $ref: '#/components/schemas/PersonUpdateResultV2Model'
        company:
          $ref: '#/components/schemas/CompanyUpdateResultV2Model'
    NaceModel:
      x-no-response-model: true
      description: NACE object
      properties:
        code:
          $ref: '#/components/schemas/naceCodeType'
        description:
          maxLength: 255
          type: string
    NaceCodeListModel:
      type: array
      description: NACE codes list
      items:
        $ref: '#/components/schemas/NaceModel'
  examples:
    v2--ClientGetResponse200:
      summary: List clients response
      value:
        - external_reference: AZ1234567890
          client_type: PERSON
          person:
            id: 7A88C1E2-6892-4839-94AD-39B5721D297E
            status: inprogress
            kind: C
            first_name: Ivan20
            last_name: Ivanov20
            address:
              line: 41 Peshkov Street
              postal_code: PSZ1070
              city: Moscow
              country: RU
            email: ivan.ivanov@gmail.com20
            contact_mobile_number: '+994505351920'
            nationality: LV
            residence: LV
            national_id_number: '22033344'
            tax_residences:
              - number: '123456'
                country: LV
                main: true
            referral_code: '0001'
            us_person: false
            pep_person: NOPEP
            occupation:
              position: Employee
              company: Sample company
              specific_position: false
              criminal: false
              tesla_funds: true
              crypto_currency: false
            document:
              type: CCPT
              number: '54321'
              expire_date: '2031-06-10'
            source_of_income:
              income:
                - SALARY
                - PROPERTY_SALE
                - INHERITANCE_GIFTS
              other: Comment
            ip: 109.110.0.1
            birth_date: '1980-07-22'
            additional_data:
              sumsub:
                id: 5f80e6b7155a6336271e4677
                inspection_id: 123456b7155a6336271e6789
    v2--ClientCreateRequest:
      summary: Create client
      value:
        external_reference: AZ9876543210
        client_type: PERSON
        person:
          kind: C
          first_name: Jonas
          last_name: Petraitis
          address:
            line: Gedimino pr. 15
            postal_code: '01103'
            city: Vilnius
            country: LT
          email: jonas.petraitis@example.com
          contact_mobile_number: '+37061234567'
          birth_date: '1985-06-12'
          nationality: LT
          residence: LT
          national_id_number: '38506120000'
          tax_residences:
            - number: '38506120000'
              country: LT
              main: true
          referral_code: REF2026
          us_person: false
          pep_person: PEPC
          annual_income: 42000
          max_single_payment_volume: 5000
          ways_to_use_account:
            - Salary receipt
            - Online shopping
            - International transfers to family
          high_risk_products:
            - precious_metals_jewelry
          planned_countries:
            - LT
            - LV
            - EE
          purpose_of_account:
            purpose:
              - SAVINGS
              - PAYMENTS
            other: Building an emergency fund and paying daily expenses abroad
          planned_annual_turnover: 60000
          third_party_use: Account will be used solely by the applicant; no third-party access.
          pep_details:
            country: LT
            position: Member of Parliament
            name: Andrius Petraitis
            relation: PEPREL
          occupation:
            position: EMPLOYEE
            company: TeslaPay Baltics UAB
            specific_position: false
            criminal: false
            tesla_funds: true
            crypto_currency: false
          document:
            type: CCPT
            number: LT1234567
            expire_date: '2030-05-01'
          source_of_income:
            income:
              - SALARY
              - SAVINGS
            other: ''
          attachments:
            utility_bill: file-98765
            ubo:
              sow:
                file: file-11111
              profile:
                file: file-22222
          remote_client_id: CRM-PERSON-0042
          ip: 109.110.0.2
          tc_agreement: true
          info_correct: true
          additional_data:
            sumsub:
              applicant_id: 5f80e6b7155a6336271e4677
              inspection_id: 123456b7155a6336271e6789
    v2--ClientCreateResponse200:
      summary: Create client response
      value:
        external_reference: AZ1234567890
        client_type: PERSON
        person:
          id: 7A88C1E2-6892-4839-94AD-39B5721D297E
          status: inprogress
          kind: C
          first_name: Ivan20
          last_name: Ivanov20
          address:
            line: 41 Peshkov Street
            postal_code: PSZ1070
            city: Moscow
            country: RU
          email: ivan.ivanov@gmail.com20
          contact_mobile_number: '+994505351920'
          nationality: LV
          residence: LV
          national_id_number: '22033344'
          tax_residences:
            - number: '123456'
              country: LV
              main: true
          referral_code: '0001'
          us_person: false
          pep_person: NOPEP
          occupation:
            position: Employee
            company: Sample company
            specific_position: false
            criminal: false
            tesla_funds: true
            crypto_currency: false
          document:
            type: CCPT
            number: '54321'
            expire_date: '2031-06-10'
          source_of_income:
            income:
              - SALARY
              - PROPERTY_SALE
              - INHERITANCE_GIFTS
            other: Comment
          ip: 109.110.0.1
          birth_date: '1980-07-22'
          additional_data:
            sumsub:
              id: 5f80e6b7155a6336271e4677
              inspection_id: 123456b7155a6336271e6789
