openapi: 3.0.1
info:
  title: 'Смарт-контракты на ном. счёте v1'
  description: |
    ### Сервис предназначен для управления смарт-контрактами при расчетах через номинальный счет с множеством бенефициаров.

    ### Доступные функции:

    -   Передача информации о бенефициаре
    -   Получение списка и статуса бенефициаров
    -   Создание смарт-контракта
    -   Получение статуса смарт-контракта
    -   Подтверждение смарт-контракта
    -   Получение списка и статусов смарт-контрактов
    -   Возврат денежных средств бенефициара
    -   Получение отчета о движении средств на балансе бенефициара номинального счета за указанный период

    [Подробнее о смарт-контрактах](https://www.sberbank.ru/ru/legal/services/smart-contract)

    [Инструкция по получению токена](/docs/ru/sber-api/start/connect#poluchit-access-token)
  version: 1.0.0
servers:
  - url: https://fintech.sberbank.ru:9443/v1/nominal-account
paths:
  '/signup':
    post:
      operationId: signup
      tags:
        - 'Активация API'
      summary: 'Активировать API'
      description: 'Разовый запрос, выполняемый для сопоставления clientId SberAPI с номинальным счетом<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      type: object
                      required:
                        - nominalAccountNumber
                      properties:
                        nominalAccountNumber:
                          $ref: '#/components/schemas/nominalAccountNumber'
                      additionalProperties: false
                      description: 'Данные'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый payload'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
              description: 'Запрос онбординга системы партнера, содержащий номер номинального счета'
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                properties:
                  nominalAccountId:
                    $ref: '#/components/schemas/nominalAccountId'
                additionalProperties: false
                description: 'успешный ответ'
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Conflict
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/create':
    post:
      operationId: addBeneficiarylite
      tags:
        - Методы работы с бенефициарами
      summary: 'Создать бенефициара'
      description: 'Запрос отправляет анкету бенефициара для добавления в реестр бенефициаров номинального счета <br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Значение атрибута **beneficiaryId** в запросе должно быть уникально относительно **beneficiaryId** ранее созданных бенефициаров <br></br>Схема блока **data** должна соответствовать типу бенефициара (**beneficiaryType**) <br></br>БИК банка счета бенефициара в запросе (**account.bankBIC**) должен соответствовать номеру счета бенефициара в запросе (**account.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1&documentId=24444&ysclid=m3ygncn8z6925372348) <br></br>Значение ИНН бенефициара (**inn**) в запросе должно быть уникально относительно ранее созданных бенефициаров <br></br>Значение атрибута **contractExpDate** в запросе должно быть больше текущей даты и больше значения атрибута **contractDate** в запросе'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос создания бенефициара
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      oneOf:
                        - $ref: '#/components/schemas/beneficiaryIndividuallite'
                        - $ref: '#/components/schemas/beneficiaryOrglite'
                        - $ref: '#/components/schemas/beneficiaryIndividualEntrepreneurlite'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый контент'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
        required: true
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                description: 'ID бенефициара в реестре'
                properties:
                  beneficiaryId:
                    $ref: '#/components/schemas/beneficiaryId'
                additionalProperties: false
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/delete':
    post:
      operationId: deleteBeneficiary
      tags:
        - Методы работы с бенефициарами
      summary: 'Удаление бенефициара'
      description: 'Запрос отправляет id бенефициара для удаления из реестра бенефициаров номинального счета <br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Перед вызовом метода необходимо проверить, что у бенефициара закрыты все смарт-контракты и выведены денежные средства <br></br>Бенефициар, в отношении которого выполняется удаление, должен быть активным'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос создания бенефициара
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      type: object
                      properties:
                        beneficiaryId:
                          $ref: '#/components/schemas/beneficiaryId'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый контент'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '200':
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/update':
    post:
      operationId: updateBeneficiary
      tags:
        - Методы работы с бенефициарами
      summary: 'Изменить информацию по бенефициару'
      description: 'Запрос отправляет id бенефициара для изменения информации по бенефициару:номер телефона, e-mail, реквизиты счета  <br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>БИК банка счета бенефициара в запросе (**account.bankBIC**) должен соответствовать номеру счета бенефициара в запросе (**account.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1&documentId=24444&ysclid=m3ygncn8z6925372348) <br></br>Бенефициар, в отношении которого выполняется изменение информации, должен быть активным'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос создания бенефициара
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      type: object
                      required:
                        - beneficiaryId
                      properties:
                        beneficiaryId:
                          $ref: '#/components/schemas/beneficiaryId'
                        phone:
                          $ref: '#/components/schemas/phone'
                        email:
                          $ref: '#/components/schemas/email'
                        orgName:
                          $ref: '#/components/schemas/orgShortNameRu'
                        account:
                          $ref: '#/components/schemas/account'
                        contractExpDate:
                          $ref: '#/components/schemas/contractExpDate'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый контент'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '200':
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/registry':
    get:
      operationId: getBeneficiariesRegistry
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Запросить реестр бенефициаров'
      description: 'В ответ на запрос возвращается список бенефициаров в статусах ACTIVATED. Список можно пролистать постранично. Каждая страница может содержать до 40 элементов списка<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: pageNumber
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 10000
            default: 0
            description: 'Порядковый номер страницы реестра бенефициаров'
            example: 0
        - name: pageSize
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            maximum: 40
            default: 40
            description: 'Количество элементов реестра бенефициаров на одной странице'
            example: 40
      responses:
        '200':
          headers:
            page-number:
              schema:
                type: number
                minimum: 0
                maximum: 10000
              description: 'Порядковый номер страницы реестра бенефициаров'
              example: 0
            page-size:
              schema:
                type: number
                minimum: 1
                maximum: 40
              description: 'Количество элементов реестра бенефициаров на одной странице'
              example: 40
            total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 10000
              description: 'Общее количество элементов реестра бенефициаров'
              example: 2086
            updated:
              schema:
                type: string
                format: date-time
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    beneficiaryId:
                      $ref: '#/components/schemas/beneficiaryId'
                    status:
                      type: string
                      pattern: '^[A-Za-z]{20}$'
                      description: 'Статус бенефициара'
                      example: 'ACTIVATED'
                    subject:
                      $ref: "#/components/schemas/subject"
                    contractNumber:
                      $ref: "#/components/schemas/contractNumber"
                    contractDate:
                      $ref: '#/components/schemas/contractDate'
                    contractExpDate:
                      $ref: '#/components/schemas/contractExpDate'
                  additionalProperties: false
                  description: 'Бенефициар'
                maxItems: 40
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/details/{id}':
    get:
      operationId: getBeneficiaryDetailsById
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Запросить сведения о бенефициарe'
      description: 'Возвращает статус и реквизиты бенефициара, хранимые в реестре<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/beneficiaryId'
        - name: pageNumber
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 10000
            default: 0
            description: 'Порядковый номер страницы реестра бенефициаров'
            example: 0
        - name: pageSize
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            maximum: 40
            default: 40
            description: 'Количество элементов реестра бенефициаров на одной странице'
            example: 40
      responses:
        '200':
          headers:
            page-number:
              schema:
                type: number
                minimum: 0
                maximum: 10000
              description: 'Порядковый номер страницы реестра бенефициаров'
              example: 0
            page-size:
              schema:
                type: number
                minimum: 1
                maximum: 40
              description: 'Количество элементов реестра бенефициаров на одной странице'
              example: 40
            total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 10000
              description: 'Общее количество элементов реестра бенефициаров'
              example: 2086
            updated:
              schema:
                type: string
                format: date-time
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
          content:
            application/json:
              schema:
                type: object
                properties:
                  beneficiaryId:
                    $ref: '#/components/schemas/beneficiaryId'
                  status:
                    type: string
                    pattern: '^[A-Za-z]{20}$'
                    description: 'Статус бенефициара принимает одно из значений: CREATED, ACTIVATED, TOCLOSE, DELETED, BLOCKED, ERROR'
                    example: 'ACTIVATED'
                  subject:
                    $ref: '#/components/schemas/subject'
                  contractNumber:
                    $ref: '#/components/schemas/contractNumber'
                  contractDate:
                    $ref: '#/components/schemas/contractDate'
                  contractExpDate:
                    $ref: '#/components/schemas/contractExpDate'
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/beneficiaryEvent'
                    maxItems: 40
                    description: 'Последние события по бенефициару и их статусы'
                additionalProperties: false
                description: 'Данные бенефициара'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/state/{id}':
    get:
      operationId: getBeneficiaryStateById
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Запросить состояние бенефициара'
      description: 'Метод возвращает детализированный баланс, список смарт-контрактов и список событий, связанных с балансом бенефициара. Списки можно пролистать постранично<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: "#/components/schemas/RqUID"
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: id
          in: path
          required: true
          schema:
            $ref: "#/components/schemas/beneficiaryId"
        - name: eventsPageNumber
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 6000
            default: 0
            description: 'Порядковый номер страницы событий смарт-контрактов у бенефициара'
            example: 0
        - name: eventsPageSize
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            maximum: 20
            default: 20
            description: 'Количество элементов событий смарт-контрактов у бенефициара на странице'
            example: 20
        - name: smartContractsPageNumber
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 2000
            default: 0
            description: 'Порядковый номер страницы смарт-контрактов бенефициара'
            example: 0
        - name: smartContractsPageSize
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            maximum: 20
            default: 20
            description: 'Количество элементов смарт-контрактов бенефициара'
            example: 20
      responses:
        '200':
          headers:
            events-page-number:
              schema:
                type: number
                minimum: 0
                maximum: 6000
              description: 'Порядковый номер страницы событий смарт-контрактов у бенефициара'
              example: 0
            events-page-size:
              schema:
                type: number
                minimum: 1
                maximum: 20
              description: 'Количество элементов событий смарт-контрактов у бенефициара на странице'
              example: 20
            events-total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 6000
              description: 'Общее количество элементов событий смарт-контрактов у бенефициара'
              example: 215
            events-updated:
              schema:
                type: string
                format: date-time
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
            smart-contracts-page-number:
              schema:
                type: number
                minimum: 0
                maximum: 2000
              description: 'Порядковый номер страницы смарт-контрактов бенефициара'
              example: 0
            smart-contracts-page-size:
              schema:
                type: number
                minimum: 1
                maximum: 20
              description: 'Количество элементов смарт-контрактов бенефициара'
              example: 20
            smart-contracts-total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 2000
              description: 'Общее количество элементов смарт-контрактов бенефициара'
              example: 427
            smart-contracts-updated:
              schema:
                type: string
                format: date-time
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/beneficiaryState'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/balance-report/{id}':
    get:
      operationId: getBeneficiaryBalanceReport
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Запросить выписку по движению средств'
      description: 'Метод позволяет по заданным параметрам получить выписку по движению средств на балансе бенефицира<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/beneficiaryId'
        - name: pageNumber
          in: query
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 6000
            default: 0
            description: 'Порядковый номер страницы событий смарт-контрактов у бенефициара'
            example: 0
        - name: pageSize
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            maximum: 20
            default: 20
            description: 'Количество элементов событий смарт-контрактов у бенефициара на странице'
            example: 20
        - name: eventType
          in: query
          required: false
          schema:
            type: string
            enum:
              - 'debit'
              - 'credit'
              - 'credit,debit'
              - 'debit,credit'
            description: 'Фильтр типа операции'
            example: 'debit'
        - name: startDate
          in: query
          required: false
          schema:
            type: string
            pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
            description: 'Дата начала периода'
            example: '2022-11-01'
        - name: endDate
          in: query
          required: false
          schema:
            type: string
            pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
            description: 'Дата окончания периода'
            example: '2022-11-30'
      responses:
        '200':
          headers:
            page-number:
              schema:
                type: number
                minimum: 0
                maximum: 6000
              description: 'Порядковый номер страницы событий смарт-контрактов у бенефициара'
              example: 0
            page-size:
              schema:
                type: number
                minimum: 1
                maximum: 20
              description: 'Количество элементов событий смарт-контрактов у бенефициара на странице'
              example: 20
            total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 6000
              description: 'Общее количество элементов событий смарт-контрактов у бенефициара'
              example: 215
            updated:
              schema:
                format: date-time
                type: string
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/beneficiaryBalanceReport'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/moneyback':
    post:
      operationId: moneyback
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Вывести средства с номинального счета'
      description: 'Метод позволяет вывести средства бенефициара с номинального счета на расчетный счет. Счет, указанный в запросе, должен совпадать со счетом бенефициара в реестре. Расчетный счет бенефицира можно получить запросом GET /beneficiaries/details/{id}<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Перед вызовом метода необходимо проверить, что доступный остаток бенефициара больше или равен сумме выводимых средств (значение атрибута **amount** из запроса), путем вызова метода **GET/beneficiaries/state/{id}** <br></br>Бенефициар, в отношении которого выполняется вывод средств, должен быть активным <br></br>Данные блока **subject** в запросе должны соответствовать данным бенефициара (счет может отличаться, но должен принадлежать бенефициару)'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос вывода средств с номинального счета
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      type: object
                      description: 'Данные'
                      properties:
                        subject:
                          $ref: '#/components/schemas/subject'
                        beneficiaryId:
                          $ref: '#/components/schemas/beneficiaryId'
                        amount:
                          $ref: '#/components/schemas/amount'
                        currency:
                          $ref: '#/components/schemas/currency'
                      additionalProperties: false
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый payload'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                description: 'Уникальный идентификатор события'
                properties:
                  eventId:
                    $ref: '#/components/schemas/eventId'
                additionalProperties: false
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/beneficiaries/{beneficiaryId}/balance/events/{eventId}':
    get:
      operationId: getBeneficiaryBalanceEventId
      tags:
        - 'Методы работы с бенефициарами'
      summary: 'Запросить информацию про денежный event'
      description: 'Метод позволяет по eventId получить информацию про денежный event конкретного бенефициара<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: beneficiaryId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/beneficiaryId'
        - name: eventId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/eventId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/event'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/smart-contracts':
    post:
      operationId: createSmartContract
      tags:
        - 'Методы работы со смарт-контрактами'
      summary: 'Создать смарт-контракт'
      description: 'Создание смарт-контракта <br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Значение атрибута **id** в запросе должно быть уникально относительно id ранее созданных смарт-контрактов <br></br>Значение атрибута **expiryDate** в запросе должно быть больше текущей даты и меньше даты истечения договора-основания (атрибут **contractExpDate** в запросе **POST/beneficiaries/create**) <br></br> БИК банка получателя в запросе (**contractors.bankBIC**) должен соответствовать номеру счета получателя в запросе (**contractors.accountNumber**). Подробности правил соответствия по [ссылке](https://normativ.kontur.ru/document?moduleId=1&documentId=24444&ysclid=m3ygncn8z6925372348) <br></br>Данные участников смарт-контракта в запросе (блок **contractors**) не должны совпадать с данными бенефициара <br></br>Значение атрибута **amount** в запросе должно быть больше 0 <br></br>Бенефициар, в отношении которого выполняется создание смарт-контракта, должен быть активным'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос создания смарт-контракта
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      $ref: '#/components/schemas/smartContract'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый payload'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                properties:
                  smartContractId:
                    $ref: '#/components/schemas/smartContractId'
                additionalProperties: false
                description: OK
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/smart-contracts/confirmstep':
    post:
      operationId: confirmSmartContractStep
      tags:
        - 'Методы работы со смарт-контрактами'
      summary: 'Подтвердить шаг смарт-контракта'
      description: 'Подтверждение поставки продукции или этапа оказания услуги<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Данные отправителя в запросе (блок **payer**) должны соответствовать данным бенефициара. Также данные всех блоков **payer** в запросе должны быть идентичны <br></br>Значение атрибута **amount** каждой транзакции в запросе должно быть больше 0 <br></br> Сумма всех транзакций в запросе должа быть меньше или равна сумме захолдированных средств под смарт-контракт <br></br>Если тип транзакции (**transactionType**) в запросе = **FEE**, данные получателя средств (блок **payee**) должны соответствовать данным владельца номинального счета <br></br>Если тип транзакции (**transactionType**) в запросе = **PAYMENT**, данные получателя средств (блок **payee**) должны соответствовать данным блока **contractors** из ранее отправленного запроса **POST/smart-contracts** по данному смарт-контракту <br></br> Значение атрибута **transactionId** в запросе для каждой транзакции должно быть уникально <br></br>Бенефициар, в отношении которого выполняется исполнение смарт-контракта, должен быть активным <br></br>Если сумма всех транзакций в запросе равна сумме захолдированных под смарт-контракт средств, то после исполнения всех транзакций в рамках данного запроса, смарт-контракт автоматически завершится'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос подтверждения шага смарт-контракта
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      $ref: '#/components/schemas/stepconfirmation'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый payload'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '201':
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/smart-contracts/completion':
    post:
      operationId: completeSmartContract
      tags:
        - 'Методы работы со смарт-контрактами'
      summary: 'Завершить смарт-контракт'
      description: 'После того, как выполнены все расчеты по смарт-контракту, или стороны пришли к согласию завершить смарт-контракт преждевременно, необходимо выполнить запрос завершения смарт-контракта<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу <br></br>Данный метод вызывается в случае, если необходимо завершить смарт-контракт, у которого не израсходована сумма захолдированных средств <br></br>Бенефициар, в отношении которого выполняется завершение смарт-контракта, должен быть активным'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - content
                - signature
              description: Структура тела ответа на запрос завершения смарт-контракта
              properties:
                content:
                  type: object
                  required:
                    - data
                    - agreement
                  properties:
                    data:
                      $ref: '#/components/schemas/smartContractCompletion'
                    agreement:
                      $ref: '#/components/schemas/agreement'
                  additionalProperties: false
                  description: 'Подписываемый payload'
                signature:
                  $ref: '#/components/schemas/signature'
              additionalProperties: false
      responses:
        '201':
          description: Created
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
  '/smart-contracts/{id}':
    get:
      operationId: getSmartContractById
      tags:
        - 'Методы работы со смарт-контрактами'
      summary: 'Запросить актуальные сведения о смарт-контракте'
      description: 'Запрос позволяет увидеть актуальный статус смарт-контракта, детализацию финансовых обязательств и список событий<br></br>Чтобы использовать метод, в параметре **scope** ссылки авторизации пользователя должен быть указан сервис **nominal_accounts** для получения доступа к этому ресурсу'
      parameters:
        - name: RqUID
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/RqUID'
        - name: Authorization
          in: header
          required: true
          schema:
            $ref: '#/components/schemas/Authorization'
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/smartContractId'
        - name: pageNumber
          in: query
          required: false
          schema:
            description: 'Порядковый номер страницы с событиями по смарт-контракту'
            type: number
            minimum: 0
            maximum: 600
            default: 0
            example: 0
        - name: pageSize
          in: query
          required: false
          schema:
            description: 'Количество элементов на одной странице с событиями по смарт-контракту'
            type: number
            minimum: 1
            maximum: 20
            default: 20
            example: 20
      responses:
        '200':
          headers:
            page-number:
              schema:
                type: number
                minimum: 0
                maximum: 600
              description: 'Порядковый номер страницы с событиями по смарт-контракту'
              example: 0
            page-size:
              schema:
                type: number
                minimum: 1
                maximum: 20
              description: 'Количество элементов на одной странице с событиями по смарт-контракту'
              example: 20
            total-elements:
              schema:
                type: number
                minimum: 0
                maximum: 600
              description: 'Общее количество событий по смарт-контракту'
              example: 83
            updated:
              schema:
                type: string
                format: date-time
              description: 'Время обновления списка'
              example: '2022-03-15T23:31:00.999Z'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actualSmartContractWithEvents'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Method Not Allowed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Internal Server Error
        '502':
          description: Bad Gateway
        '503':
          description: Service Unavailable
        '504':
          description: Gateway Timeout
components:
  schemas:
    RqUID:
      type: string
      pattern: '^[0-9a-fA-F]{32}$'
      description: 'Уникальный идентификатор запроса'
      example: 'f4550e519e81435d864c4b5e07d70e18'
    Authorization:
      type: string
      pattern: '^([a-zA-Z0-9]){38}$'
      description: 'Access token пользователя, полученный через SSO'
      example: 'cb0bbb48-7d32-4419-8413-db7a9e8bb6c8-2'
    clientType:
      type: string
      pattern: '^[A-Z]{2}$'
      description: 'Признак типа клиента: UL (ИНН из запроса = 10 символов), IP (ИНН из запроса = 12 символов)'
      example: 'UL'
    birthDate:
      type: string
      pattern: '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: 'Дата рождения'
      example: '1985-09-09'
    basisContractDate:
      type: string
      pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: 'дата заключения договора-основания'
      example: '2022-03-15'
    basisContractExpDate:
      type: string
      pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: 'дата истечения срока действия договора-основания'
      example: '2022-03-15'
    contractDate:
      type: string
      pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: >-
        Дата заключения договора присоединения бенефициара к НС
        date – full-date notation as defined by RFC 3339, section 5.6,
        full-date = date-fullyear "-" date-month "-" date-mday
        for example, 2017-07-21
      example: '2022-12-13'
    contractExpDate:
      type: string
      pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: >-
        Дата завершения действия договора присоединения бенефициара к НС
        date – full-date notation as defined by RFC 3339, section 5.6,
        full-date = date-fullyear "-" date-month "-" date-mday
        for example, 2017-07-21
      example: '2023-12-13'
    smartContractExpDate:
      type: string
      pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
      description: 'Дата по которую действует смарт-контракт'
      example: '2022-12-13'
    nominalAccountId:
      type: string
      format: uuid
      pattern: '^[0-9a-fA-F-]{36}$'
      description: 'id номинального счета'
      example: '74550e51-9e81-435d-864c-4b5e07d70e18'
    beneficiaryId:
      type: string
      format: uuid
      pattern: '^[0-9a-fA-F-]{36}$'
      description: 'Идентификатор бенефициара номинального счета'
      example: '99ee301b-8e06-4fd5-88d4-2ca5668294b1'
    contractors:
      type: array
      maxItems: 10
      description: 'Реквизиты участников смарт-контракта'
      items:
        $ref: '#/components/schemas/subject'
    basisAccountNumber:
      type: string
      pattern: '^4[0-9]{4}810[0-9]{12}$'
      description: 'номер расчетного счета'
      example: '40702810038000000481'
    nominalAccountNumber:
      type: string
      pattern: '^40[0-9]{3}810[0-9]{12}$'
      description: 'Номер номинального счета'
      example: '40703810012345678910'
    orgShortNameRu:
      type: string
      pattern: '^[А-Яа-яёЁ0-9 "№+-]{3,160}$'
      description: 'Наименование организации (общедоступно)'
      example: 'ПАО Ромашки'
    orgFullNameRu:
      type: string
      pattern: '^[А-ЯЁа-яё][А-ЯЁа-яё0-9 "«»№+-]{3,250}$'
      description: 'Полное наименование организации (общедоступно)'
      example: 'Публичное Акционерное Общество «Ромашки»'
    orgShortNameEn:
      description: 'Международное наименование организации (общедоступно)'
      example: 'JSC. "Institute for Design and Research in Oil Industry"'
      pattern: '^[a-zA-z0-9 ".+-]{3,160}$'
      type: string
    orgFullNameEn:
      description: 'Полное международное наименование организации (общедоступно)'
      type: string
      example: 'Joint Stock Comp. "Institute for Design and Research in Oil Industry"'
      pattern: '^[a-zA-z0-9 ".+-]{3,200}$'

    addresslite:
      type: string
      pattern: '^[1-9А-ЯЁа-яёA-Za-z][0-9А-ЯЁа-яёA-Za-z №N.,()/\"«»-]{1,250}$'
      description: 'Юридический алрес'
      example: '123456, Кабардино-Балкарская Республика, г.Тырны-Ауз, ул. 50 лет Окт. революци, 69/с1, стр.17, корп.1, этаж 8, ком.258 '

      additionalProperties: false

    address:
      type: object
      required:
        - postCode
        - region
        - city
        - house
      description: 'Структура для описания адреса'
      properties:
        postCode:
          type: string
          pattern: '^[1-9][0-9]{5}$'
          description: 'почтовый индекс (общедоступно)'
          example: '123456'
        region:
          type: string
          pattern: '^[А-ЯЁа-яё][А-ЯЁа-яё -]{1,50}$'
          description: 'Название региона (общедоступно)'
          example: 'Кабардино-Балкарская Республика'
        city:
          type: string
          pattern: '^[А-ЯЁа-яё][А-ЯЁа-яё -]{1,50}$'
          description: 'Название города (общедоступно)'
          example: 'Тырны-Ауз'
        street:
          type: string
          pattern: '^[А-ЯЁа-яё1-9][А-ЯЁа-яё0-9 -.]{1,200}$'
          description: 'Название улицы (общедоступно)'
          example: '50 лет Окт. революции'
        house:
          type: string
          pattern: '^[1-9А-ЯЁа-яё][0-9А-ЯЁа-яё/]{0,7}$'
          description: 'номер дома (общедоступно)'
          example: '69Жс1'
        building:
          type: string
          pattern: '^[1-9А-ЯЁа-яё][0-9А-ЯЁа-яё /.]{0,50}$'
          description: 'Номер здания, строения и т.д. (общедоступно)'
          example: 'стр. 17'
        corps:
          type: string
          pattern: '^[1-9А-ЯЁа-яё][0-9А-ЯЁа-яё /.]{0,50}$'
          description: 'Корпус (общедоступно)'
          example: 'корп. 1'
        floor:
          type: string
          pattern: '^[1-9][0-9]{0,2}$'
          description: 'Этаж (общедоступно)'
          example: '101'
        room:
          type: string
          pattern: '^[1-9А-ЯЁа-яёA-Za-z][0-9А-ЯЁа-яёA-Za-z -.]{0,50}$'
          description: 'Номер офиса (общедоступно)'
          example: '123А'
      additionalProperties: false
    phone:
      type: string
      pattern: '^((8|\+7)[ -]?)?(\(?\d{3}\)?[ -]?)?[\d -]{7,10}$'
      description: 'Номер телефона для контактов (общедоступно)'
      example: '+7(905)123-45-67'
    clientPhone:
      type: array
      maxItems: 10
      items:
        $ref: '#/components/schemas/phone'
    email:
      type: string
      format: email
      maxLength: 40
      description: 'Адрес электронной почты для контактов (общедоступно)'
      example: 'info@your-company.ru'
    clientEmail:
      type: array
      maxItems: 10
      items:
        $ref: '#/components/schemas/email'
    snils:
      type: string
      pattern: '^[0-9]{3}-[0-9]{3}-[0-9]{3} [0-9]{2}$'
      description: 'Страховой номер индивидуального лицевого счета'
      example: '012-345-678 90'
    kpp:
      type: string
      pattern: '^[0-9]{9}$'
      description: 'Код причины постановки на учет (общедоступно)'
      example: '773101001'
    account:
      required:
        - bankBIC
        - bankCorAccount
        - bankName
        - accountNumber
      type: object
      description: 'Структура описания реквизитов расчетного счета'
      properties:
        accountNumber:
          $ref: '#/components/schemas/basisAccountNumber'
        bankBIC:
          type: string
          pattern: '^[0-9]{9}$'
          description: 'БИК'
          example: '043601607'
        bankCorAccount:
          type: string
          pattern: '^[0-9]{20}$'
          description: 'Корреспондентский счет'
          example: '30101810400000000225'
        bankName:
          type: string
          pattern: '^[А-ЯЁа-яё][А-ЯЁа-яё0-9 №N.,()"-]+$'
          maxLength: 140
          description: 'Наименование банка'
          example: 'Публичное акционерное общество «Сбербанк России»'
      additionalProperties: false
    smartContractId:
      type: string
      format: uuid
      pattern: '^[0-9A-Fa-f-]{36}$'
      description: 'Id смарт-контракта'
      example: '99ee301b-8e06-4fd5-88d4-2ca5668294b1'
    smartContractTitle:
      type: string
      pattern: '^[А-ЯЁа-яё0-9][А-ЯЁа-яё0-9 ./№+-]+$'
      maxLength: 250
      description: 'Номер договора, заключенного сторонами'
      example: 'Договор купли-продажи №КП 12/1-2022 от 01.12.2022'
    contractNumber:
      type: string
      pattern: '^[А-ЯЁа-яёA-Za-z\d\/\-\_]+$'
      maxLength: 25
      description: 'Номер договора-основания'
      example: 'ДКП02-01/2022'
    license:
      type: object
      required:
        - licenseType
        - licenseNumber
        - licenseDate
        - licenseIssuer
      description: 'Информация о лицензии'
      properties:
        licenseType:
          type: string
          pattern: '^[0-9А-ЯЁа-яё -,."«»()]+$'
          maxLength: 200
          description: 'тип лицензии'
          example: 'Разработка и производство средств защиты конфиденциальной информации'
        licenseNumber:
          type: string
          pattern: '^[№0-9А-ЯЁа-яё][№0-9А-ЯЁа-яё/-]+$'
          maxLength: 50
          description: 'номер лицензии'
          example: '78-Б/12345'
        licenseIssuer:
          type: string
          pattern: '^[0-9А-ЯЁа-яё-№ -,."«»]+$'
          maxLength: 200
          example: 'Управление по управлению всеми управлениями №1'
          description: 'Организация, выдавшая лицензию'
        licenseDate:
          type: string
          pattern: '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата выдачи лицензии'
          example: '2022-03-15'
        licenseExpireDate:
          type: string
          pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата истечения срока действия лицензии'
          example: '2022-03-15'
      additionalProperties: false
    identificationDoc:
      type: object
      required:
        - seria
        - number
        - issuer
        - issueDate
        - issuerCode
      description: 'Документ удостоверяющий личность'
      properties:
        identificationDocType:
          type: string
          description: 'Тип (наименование) документа удостоверяющего личность - Паспорт гражданина РФ (общедоступно для ИП)'
          enum:
            - 'Паспорт гражданина РФ'
          example: 'Паспорт гражданина РФ'
          default: 'Паспорт гражданина РФ'
        seria:
          type: string
          pattern: '^[0-9]{4}$'
          description: 'Серия документа'
          example: '4508'
        number:
          type: string
          pattern: '^[0-9]{6}$'
          description: 'Номер документа'
          example: '947357'
        issuer:
          type: string
          pattern: '^[А-ЯЁа-яё0-9 -/.№]{0,100}$'
          description: 'Наименование органа, выдавшего документ'
          example: 'ОВД района Северное Тушино г. Москвы'
        issueDate:
          type: string
          pattern: '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата выдачи паспорта'
          example: '2022-03-15'
        issuerCode:
          type: string
          pattern: '^[0-9-]{7}$'
          description: 'Код подразделения'
          example: '123-243'
      additionalProperties: false
    beneficiaryOrglite:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - ogrn
        - inn
        - kpp
        - orgName
        - account
        - legalAddress
        - isForeignOrg
        - isTaxResidentRF
        - isOnlyTaxResidentRF
        - isControlPersonsRF
        - phone
        - email
      description: 'Анкета бенефициара ЮЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          type: string
          pattern: '^1$'
          description: 'Тип бенефициара 1 - ЮЛ'
          example: '1'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        ogrn:
          type: string
          pattern: '^[0-9]{13}$'
          description: 'ОГРН (общедоступно)'
          example: '1047796372711'
        inn:
          type: string
          pattern: '^[0-9]{10}$'
          description: 'ИНН (общедоступно)'
          example: '0743528989'
        kpp:
          $ref: '#/components/schemas/kpp'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        account:
          $ref: '#/components/schemas/account'
        legalAddress:
          $ref: '#/components/schemas/addresslite'
        isForeignOrg:
          type: boolean
          description: 'Признак зарубежной организации: true – да, false – нет (общедоступно)'
          example: false
        isTaxResidentRF:
          type: boolean
          description: 'Признак налогового резидента РФ: true – да, false – нет (общедоступно)'
          example: true
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак налогового резиденства только в РФ: true – да, false – нет'
          example: true
        isControlPersonsRF:
          type: boolean
          description: 'Являются ли все контролирующие лица организации налоговыми резидентами только РФ?: true – да, false – нет (общедоступно)'
          example: true
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
      additionalProperties: false
    beneficiaryIndividualEntrepreneurlite:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - surname
        - name
        - birthDate
        - identificationDoc
        - inn
        - ogrnip
        - account
        - postAddress
        - isOnlyTaxResidentRF
        - email
        - phone
      description: 'Анкета бенефициара ИП'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          description: 'Тип бенефициара 2 - ИП'
          type: string
          pattern: '^2$'
          example: '2'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        surname:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Фамилия (общедоступно для ИП)'
          example: 'Коган-Константинопольский'
        name:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Имя (общедоступно для ИП)'
          example: 'Фарид Оглы'
        patronymic:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Отчество (общедоступно для ИП)' #поле обязательно к заполнению при наличии в паспорте
          example: 'Николаевич'
        birthDate:
          $ref: '#/components/schemas/birthDate'
        identificationDoc:
          $ref: "#/components/schemas/identificationDoc"
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН'
          example: '097743528989'
        account:
          $ref: '#/components/schemas/account'
        ogrnip:
          type: string
          pattern: '^3[0-9]{14}$'
          description: 'ОГРНИП (общедоступно)'
          example: '304500116000157'
        postAddress:
          $ref: '#/components/schemas/addresslite'
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак налогового резиденства только в РФ: true – да, false – нет'
          example: true
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
      additionalProperties: false
    beneficiaryIndividuallite:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - surname
        - name
        - birthDate
        - birthPlace
        - inn
        - identificationDoc
        - regAddress
        - account
        - isOnlyTaxResidentRF
        - email
        - phone
      description: 'Анкета бенефициара ФЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          description: 'Тип бенефициара 3 - ФЛ'
          type: string
          pattern: '^3$'
          example: '3'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        surname:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Фамилия'
          example: 'Коган-Константинопольский'
        name:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Имя'
          example: 'Фарид Оглы'
        patronymic:
          type: string
          pattern: '^[А-ЯЁ][А-Яа-яёЁ -]+$'
          maxLength: 50
          description: 'Отчество' #поле обязательно к заполнению при наличии в паспорте
          example: 'Николаевич'
        birthDate:
          $ref: '#/components/schemas/birthDate'
        identificationDoc:
          $ref: "#/components/schemas/identificationDoc"
        regAddress:
          $ref: '#/components/schemas/addresslite'
        birthPlace:
          type: string
          pattern: '^[А-ЯЁа-яё .-]+$'
          maxLength: 50
          description: 'Место рождения – Город'
          example: 'г. Санкт-Петербург'
        account:
          $ref: '#/components/schemas/account'
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак налогового резиденства только в РФ: true – да, false – нет'
          example: true
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН'
          example: '097743528989'
      additionalProperties: false

    beneficiaryOrg:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - orgName
        - orgFullName
        - legalForm
        - ogrn
        - ogrnDate
        - ogrnPlace
        - legalAddress
        - inn
        - kpp
        - oktmo
        - isForeignOrg
        - isTaxResidentRF
        - isOnlyTaxResidentRF
        - isControlPersonsRF
        - account
        - email
      description: 'Анкета бенефициара ЮЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          type: string
          pattern: '^1$'
          description: 'Тип бенефициара 1 - ЮЛ'
          example: '1'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        orgFullName:
          $ref: '#/components/schemas/orgFullNameRu'
        orgForeignName:
          $ref: '#/components/schemas/orgShortNameEn'
        orgForeignFullName:
          $ref: '#/components/schemas/orgFullNameEn'
        legalForm:
          type: string
          pattern: '^[А-Яа-я][А-Яа-я0-9 -]{0,250}$'
          description: 'Организационно-правовая форма на русском' #При создании бенефициара, в поле “legalForm” необходимо указать информацию согласно ОКОПФ, например: Общества с ограниченной ответственностью
          example: 'Общество С Ограниченной Ответственностью'
        foreignLegalForm:
          type: string
          pattern: '^[A-Za-z ]{0,250}$'
          description: 'Организационно-правовая форма латиницей'
          example: 'Joint Stock Company'
        ogrn:
          type: string
          pattern: '^[0-9]{13}$'
          description: 'ОГРН (общедоступно)'
          example: '1047796372711'
        ogrnDate:
          type: string
          pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата присвоения ОГРН (после 2002 года) (общедоступно)'
          example: '2022-03-15'
        ogrnPlace:
          description: "Место гос.регистрации (более мелкое территориальное деление, например, город в области) (общедоступно)"
          type: string
          example: "Красногорск"
          pattern: '^[А-Яа-яёЁ ,.-]{0,50}$'
        orgDateReg:
          type: string
          pattern: '^(19|20)[0-9]{2}-[0-1][0-9]-[0-3][0-9]$'
          description: 'Дата регистрации организации (до 2002 года) (общедоступно)'
          example: '2022-03-15'
        inn:
          type: string
          pattern: '^[0-9]{10}$'
          description: 'ИНН (общедоступно)'
          example: '0743528989'
        kpp:
          $ref: '#/components/schemas/kpp'
        oktmo:
          type: string
          pattern: '^[0-9]{8,11}$'
          description: 'ОКТМО (общедоступно)'
          example: '45286590000'
        legalAddress:
          $ref: '#/components/schemas/address'
        isForeignOrg:
          type: boolean
          description: 'Признак зарубежной организации: true – да, false – нет (общедоступно)'
          example: false
        isTaxResidentRF:
          type: boolean
          description: 'Признак налогового резидента РФ: true – да, false – нет (общедоступно)'
          example: true
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак налогового резиденства только в РФ: true – да, false – нет'
          example: true
        isControlPersonsRF:
          type: boolean
          description: 'Являются ли все контролирующие лица организации налоговыми резидентами только РФ?: true – да, false – нет (общедоступно)'
          example: true
        account:
          $ref: '#/components/schemas/account'
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
      additionalProperties: false
    beneficiaryIndividualEntrepreneur:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - surname
        - name
        - birthCountry
        - birthCity
        - birthDate
        - citizenship
        - identificationDoc
        - regAddress
        - inn
        - isOnlyTaxResidentRF
        - account
        - email
        - postAddress
        - ogrnip
        - ogrnipPlace
        - ogrnipDate
        - snils
        - orgName
      description: 'Анкета бенефициара ИП'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          description: 'Тип бенефициара 2 - ИП'
          type: string
          pattern: '^2$'
          example: '2'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        surname:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Фамилия (общедоступно для ИП)'
          example: 'Коган-Константинопольский'
        name:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Имя (общедоступно для ИП)'
          example: 'Фарид Оглы'
        patronymic:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Отчество (общедоступно для ИП)' #поле обязательно к заполнению при наличии в паспорте
          example: 'Николаевич'
        birthCountry:
          type: string
          pattern: '^[А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Место рождения – Страна'
          example: 'Российская Федерация'
        birthCity:
          type: string
          pattern: '^[А-ЯЁа-яё .-]+$'
          maxLength: 50
          description: 'Место рождения – Город'
          example: 'г. Санкт-Петербург'
        birthDate:
          $ref: '#/components/schemas/birthDate'
        citizenship:
          type: string
          pattern: '^[А-ЯЁа-яё .,-]+$'
          maxLength: 250
          description: 'Гражданство (при наличии нескольких, перечислить все через запятую) (общедоступно для ИП)'
          example: 'Россия, Швеция'
        identificationDoc:
          $ref: "#/components/schemas/identificationDoc"
        regAddress:
          $ref: '#/components/schemas/address'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН'
          example: '097743528989'
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак резидентства только РФ: true – да, false – нет'
          example: true
        account:
          $ref: '#/components/schemas/account'
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
        postAddress:
          $ref: '#/components/schemas/address'
        ogrnip:
          type: string
          pattern: '^3[0-9]{14}$'
          description: 'ОГРНИП (общедоступно)'
          example: '304500116000157'
        ogrnipPlace:
          type: string
          pattern: '^[А-ЯЁа-яё ,.-]+$'
          maxLength: 50
          description: 'Место госрегистрации (регион, город) (общедоступно)'
          example: 'Московская область, городской округ Красногорск, село Петрово-Дальнее'
        ogrnipDate:
          type: string
          pattern: '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата госрегистрации (общедоступно)'
          example: '2022-03-15'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        snils:
          $ref: '#/components/schemas/snils'
        oktmo:
          type: string
          pattern: '^[0-9]{8,11}$'
          description: 'ОКТМО'
          example: '45286590000'
        licenseList:
          type: array
          maxItems: 10
          items:
            $ref: '#/components/schemas/license'
      additionalProperties: false
    beneficiaryIndividual:
      type: object
      required:
        - beneficiaryId
        - beneficiaryType
        - nominalAccountId
        - contractNumber
        - contractDate
        - surname
        - name
        - birthCountry
        - birthCity
        - birthDate
        - citizenship
        - identificationDoc
        - regAddress
        - inn
        - isOnlyTaxResidentRF
        - account
        - email
        - postAddress
        - snils
      description: 'Анкета бенефициара ФЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        beneficiaryType:
          description: 'Тип бенефициара 3 - ФЛ'
          type: string
          pattern: '^3$'
          example: '3'
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        contractNumber:
          $ref: '#/components/schemas/contractNumber'
        contractDate:
          $ref: '#/components/schemas/basisContractDate'
        contractExpDate:
          $ref: '#/components/schemas/basisContractExpDate'
        surname:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Фамилия'
          example: 'Коган-Константинопольский'
        name:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Имя'
          example: 'Фарид Оглы'
        patronymic:
          type: string
          pattern: '^[А-ЯЁ][А-Яа-яёЁ -]+$'
          maxLength: 50
          description: 'Отчество' #поле обязательно к заполнению при наличии в паспорте
          example: 'Николаевич'
        birthCountry:
          type: string
          pattern: '^[А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Место рождения – Страна'
          example: 'Российская Федерация'
        birthCity:
          type: string
          pattern: '^[А-ЯЁа-яё .-]+$'
          maxLength: 50
          description: 'Место рождения – Город'
          example: 'г. Санкт-Петербург'
        birthDate:
          $ref: '#/components/schemas/birthDate'
        citizenship:
          type: string
          pattern: '^[А-ЯЁа-яё .,-]+$'
          maxLength: 250
          description: 'Гражданство (при наличии нескольких, перечислить все через запятую)'
          example: 'Россия, Швеция'
        identificationDoc:
          $ref: "#/components/schemas/identificationDoc"
        regAddress:
          $ref: '#/components/schemas/address'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН ФЛ'
          example: "097743528989"
        isOnlyTaxResidentRF:
          type: boolean
          description: 'Признак резидентства только РФ: true – да, false – нет'
          example: true
        account:
          $ref: '#/components/schemas/account'
        phone:
          $ref: '#/components/schemas/phone'
        email:
          $ref: '#/components/schemas/email'
        postAddress:
          $ref: '#/components/schemas/address'
        snils:
          $ref: '#/components/schemas/snils'
        oktmo:
          type: string
          pattern: '^[0-9]{8,11}$'
          description: 'ОКТМО'
          example: "45286590000"
      additionalProperties: false
    organization:
      type: object
      required:
        - typeCode
        - orgName
        - inn
        - kpp
        - ogrn
        - account
      description: 'Общая структура описания организации'
      properties:
        typeCode:
          type: string
          pattern: ^UL$
          description: 'Тип участника UL'
          default: 'UL'
          example: 'UL'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        inn:
          type: string
          pattern: '^[0-9]{10}$'
          description: 'ИНН ЮЛ'
          example: '0743528989'
        kpp:
          $ref: '#/components/schemas/kpp'
        ogrn:
          type: string
          pattern: '^[0-9]{13}$'
          description: 'ОРГН'
          example: '1047796372711'
        account:
          $ref: '#/components/schemas/account'
      additionalProperties: false
    individualEntrepreneur:
      type: object
      required:
        - typeCode
        - personName
        - inn
        - ogrnip
        - account
      description: 'Общий набор данных для ИП'
      properties:
        typeCode:
          description: 'Тип участника IP'
          type: string
          pattern: '^IP$'
          default: 'IP'
          example: 'IP'
        personName:
          type: string
          pattern: '^[А-ЯЁа-яё -]{3,250}$'
          description: 'ФИО для платежа'
          example: 'И Кван Ё'
        orgName:
          type: string
          pattern: '^[А-ЯЁа-яё][А-ЯЁа-яё0-9 "«»№+-]{3,160}$'
          description: 'Наименование ИП для платежа' #заполнять поле в соответствии с тем, как указано в свидетельстве о регистрации
          example: 'Индивидуальный предприниматель И Кван Ё'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН ФЛ'
          example: '774352898912'
        ogrnip:
          type: string
          pattern: '^3[0-9]{14}$'
          description: 'ОГРНИП'
          example: '304500116000157'
        snils:
          $ref: '#/components/schemas/snils'
        account:
          $ref: '#/components/schemas/account'
      additionalProperties: false
    individual:
      type: object
      required:
        - typeCode
        - personName
        - inn
        - account
      description: 'Общий набор данные для ФЛ'
      properties:
        typeCode:
          type: string
          pattern: '^FL$'
          default: 'FL'
          description: 'Тип участника FL'
          example: 'FL'
        personName:
          type: string
          pattern: '^[А-ЯЁа-яё -]{3,250}$'
          description: 'ФИО для платежа'
          example: 'Коган-Константинопольский Константин Константинович'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН ФЛ'
          example: '074352898912'
        snils:
          $ref: '#/components/schemas/snils'
        account:
          $ref: '#/components/schemas/account'
      additionalProperties: false
    subject:
      oneOf:
        - $ref: '#/components/schemas/organization'
        - $ref: '#/components/schemas/individualEntrepreneur'
        - $ref: '#/components/schemas/individual'
    smartContract:
      type: object
      required:
        - id
        - title
        - beneficiaryId
        - contractors
        - amount
        - currency
      description: 'Структура с параметрами смарт-контракта'
      properties:
        id:
          $ref: '#/components/schemas/smartContractId'
        title:
          $ref: '#/components/schemas/smartContractTitle'
        expiryDate:
          $ref: '#/components/schemas/smartContractExpDate'
        amount:
          $ref: "#/components/schemas/amount"
        currency:
          $ref: "#/components/schemas/currency"
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        contractors:
          $ref: '#/components/schemas/contractors'
      additionalProperties: false
    smartContractCompletion:
      type: object
      required:
        - id
        - title
        - beneficiaryId
        - contractors
      description: 'Структура с параметрами смарт-контракта'
      properties:
        id:
          $ref: '#/components/schemas/smartContractId'
        title:
          $ref: '#/components/schemas/smartContractTitle'
        expiryDate:
          $ref: '#/components/schemas/smartContractExpDate'
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        contractors:
          $ref: '#/components/schemas/contractors'
      additionalProperties: false
    actualSmartContract:
      type: object
      description: 'Структура с параметрами смарт-контракта'
      properties:
        id:
          $ref: '#/components/schemas/smartContractId'
        title:
          $ref: '#/components/schemas/smartContractTitle'
        expiryDate:
          $ref: '#/components/schemas/smartContractExpDate'
        status:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: "Статус смарт-контракта"
          example: 'RUN'
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        contractors:
          $ref: '#/components/schemas/contractors'
        obligations:
          $ref: '#/components/schemas/obligations'
        currency:
          $ref: '#/components/schemas/currency'
        pending:
          $ref: '#/components/schemas/pending'
      additionalProperties: false
    actualSmartContractWithEvents:
      type: object
      description: 'Структура с параметрами смарт-контракта и событиями'
      properties:
        id:
          $ref: '#/components/schemas/smartContractId'
        title:
          $ref: '#/components/schemas/smartContractTitle'
        expiryDate:
          $ref: '#/components/schemas/smartContractExpDate'
        status:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Статус смарт-контракта'
          example: 'RUN'
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        contractors:
          $ref: '#/components/schemas/contractors'
        obligations:
          $ref: "#/components/schemas/obligations"
        currency:
          $ref: "#/components/schemas/currency"
        pending:
          $ref: "#/components/schemas/pending"
        events:
          type: array
          maxItems: 20
          description: 'Cобытия по смарт-контракту и их статусы'
          items:
            $ref: '#/components/schemas/event'
      additionalProperties: false
    stepconfirmation:
      type: object
      description: 'Структура шага смарт-контракта'
      properties:
        smartContractId:
          $ref: '#/components/schemas/smartContractId'
        transactions:
          type: array
          maxItems: 10
          description: 'Исполняемые на шаге транзакции'
          items:
            $ref: '#/components/schemas/transaction'
      additionalProperties: false
    transaction:
      type: object
      required:
        - transactionId
        - transactionType
        - payer
        - payee
        - amount
        - currency
        - purpose
      description: 'Перевод средств с номинального счета на р/с получателя'
      properties:
        transactionId:
          type: string
          format: uuid
          pattern: '^[0-9a-fA-F-]{36}$'
          description: 'Id шага смарт-контракта'
          example: '65757ccd-410b-49a8-8e4e-99b51ab127ea'
        transactionType:
          type: string
          description: 'Тип транзакции'
          enum:
            - PAYMENT
            - FEE
          example: 'PAYMENT'
        payer:
          $ref: '#/components/schemas/payer'
        payee:
          $ref: '#/components/schemas/subject'
        amount:
          $ref: '#/components/schemas/amount'
        currency:
          $ref: '#/components/schemas/currency'
        purpose:
          $ref: '#/components/schemas/purpose'
      additionalProperties: false
    purpose:
      type: string
      pattern: '^(?!.*--)[^<>#@&$’*]+$'
      maxLength: 210
      description: 'Назначение платежа'
      example: 'Оплата по Договору поставки №23/04-2022 от 01.04.2022, включая НДС 20%'
    payer:
      oneOf:
        - $ref: '#/components/schemas/payerUL'
        - $ref: '#/components/schemas/payerIP'
        - $ref: '#/components/schemas/payerFL'
    payerUL:
      type: object
      required:
        - beneficiaryId
        - typeCode
        - orgName
        - inn
        - kpp
        - ogrn
      description: 'Реквизиты плательщика ЮЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        typeCode:
          type: string
          pattern: '^UL$'
          default: 'UL'
          description: 'Тип участника UL'
          example: 'UL'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        inn:
          pattern: '^[0-9]{10}$'
          type: string
          description: 'ИНН ЮЛ'
          example: '0743528989'
        kpp:
          $ref: '#/components/schemas/kpp'
        ogrn:
          type: string
          pattern: '^[0-9]{13}$'
          description: 'ОРГН'
          example: '1047796372711'
      additionalProperties: false
    payerIP:
      description: 'Реквизиты плательщика ИП'
      required:
        - beneficiaryId
        - typeCode
        - personName
        - inn
        - ogrnip
      type: object
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        typeCode:
          type: string
          pattern: '^IP$'
          default: 'IP'
          description: 'Тип участника IP'
          example: 'IP'
        personName:
          type: string
          pattern: '^[А-ЯЁа-яё -]{3,250}$'
          description: 'ФИО для платежа'
          example: 'И Кван Ё'
        orgName:
          type: string
          pattern: '^[А-Яа-яёЁ0-9 "№+-]{3,160}$'
          description: 'Наименование ИП для платежа'
          example: 'Индивидуальный предприниматель И Кван Ё'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН ФЛ'
          example: '774352898912'
        ogrnip:
          type: string
          pattern: '^3[0-9]{14}$'
          description: 'ОГРНИП'
          example: '304500116000157'
        snils:
          $ref: '#/components/schemas/snils'
      additionalProperties: false
    payerFL:
      required:
        - beneficiaryId
        - typeCode
        - personName
        - inn
      type: object
      description: 'Реквизиты плательщика ФЛ'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        typeCode:
          type: string
          pattern: '^FL$'
          default: 'FL'
          description: 'Тип участника FL'
          example: 'FL'
        personName:
          type: string
          pattern: '^[А-Яа-яёЁ -]{3,250}$'
          description: 'ФИО для платежа'
          example: 'Коган-Константинопольский Константин Константинович'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН ФЛ'
          example: '074352898912'
        snils:
          $ref: '#/components/schemas/snils'
      additionalProperties: false
    balance:
      type: object
      description: >-
        Детализированный баланс бенефициара.
        Свободный остаток рассчитывается как freeBalance = balance - obligations - pending - blocked - debt. Если debt > 0, то freeBalance может получиться отрицательным значением.
      properties:
        balance:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Все деньги бенефициара на НС'
          example: 100100500
        obligations:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Общий объем обязательств по смарт-контрактам'
          example: 100500
        pending:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Деньги, находящиеся в обработке банком при выводе средств (moneyback)'
          example: 220030
        blocked:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Деньги, заблокированные гос. органами'
          example: 50000
        debt:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Текущий долг перед гос. органами'
          example: 0
      additionalProperties: false
    beneficiaryBalanceReport:
      type: object
      description: 'Выписка по балансу бенефициара за период'
      properties:
        startBalance:
          type: object
          description: 'Баланс на начало периода'
          properties:
            balance:
              type: integer
              minimum: 0
              maximum: 1000000000000
              description: 'Общий баланс бенефициара в начале периода'
              example: 100000
          additionalProperties: false
        endBalance:
          type: object
          description: 'Баланс бенефициара'
          properties:
            balance:
              type: integer
              minimum: 0
              maximum: 1000000000000
              description: 'Общий баланса бенефициара в конце периода'
              example: 200000
          additionalProperties: false
        totalCredit:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Общее количество внесенных средств за период'
          example: 500000
        totalDebit:
          type: integer
          minimum: 0
          maximum: 1000000000000
          description: 'Общее количество выведенных средств за период'
          example: 400000
        events:
          type: array
          maxItems: 20
          description: 'Последние события и их статусы. Массив отсортирован в порядке убывания editDate'
          items:
            $ref: '#/components/schemas/event'
      additionalProperties: false
    beneficiaryState:
      type: object
      description: 'Актуальное состояние бенефициара: баланс и действующие смарт-контракты'
      properties:
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        status:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Статус бенефициара принимает одно из значений: CREATED, ACTIVATED, TOCLOSE, DELETED, BLOCKED, ERROR'
          example: 'ACTIVATED'
        balance:
          $ref: '#/components/schemas/balance'
        smartContracts:
          type: array
          description: 'Список актуальных смарт-контрактов'
          items:
            $ref: '#/components/schemas/actualSmartContract'
          maxItems: 20
        events:
          type: array
          description: 'Последние события и их статусы'
          items:
            $ref: '#/components/schemas/event'
          maxItems: 20
      additionalProperties: false
    eventId:
      type: string
      format: uuid
      pattern: '^[0-9a-fA-F-]{36}$'
      description: 'Уникальный идентификатор события'
      example: 'f36fe80a-2ea2-4f79-bdc3-fc52dceea7f9'
    registrationSBPresp:
      type: object
      description: "Событие: транзакция, взыскание гос. органов и т.д."
      required:
        - applicationId
        - number
        - date
        - financialName
        - inn
        - ogrn
        - state
      properties:
        applicationId:
          description: Идентификатор заявки
          type: string
          example: "1"
        number:
          description: Номер заявки
          type: string
          example: "108"
        date:
          description: Дата создания заявки
          type: string
          format: date
          example: "YYYY-MM-DD"
        financialName:
          description: "Краткое наименование организации"
          type: string
          example: "ООО Ромашка"
        inn:
          description: "ИНН"
          type: string
          maxLength: 12
          example: "6161616161"
        kpp:
          description: "КПП"
          type: string
          maxLength: 9
          example: "616161616"
        ogrn:
          description: "ОГРН"
          type: string
          minLength: 13
          maxLength: 15
          example: "1147746831352"
        state:
          description: Статус заявки
          type: string
          enum:
            - ACCEPTED
            - NOT_ACCEPTED
            - PROCESSING
          example: "ACCEPTED"
        errorMessage:
          $ref: '#/components/schemas/errorMessage'
    validateSBPreq:
      type: object
      description: "Реквизиты для проведения проверок в СБП"
      required:
        - nominalAccountId
        - amount
        - receiverPhone
        - payeeBankBIC
      properties:
        nominalAccountId:
          $ref: '#/components/schemas/nominalAccountId'
        amount:
          description: "Сумма платежа"
          type: string
          format: decimal
          minimum: 0
          example: 76000
        comment:
          description: "Сообщение получателю"
          type: string
          maxLength: 140
          example: "прочий перевод"
        kvd:
          description: "Код вида дохода"
          type: string
          example: 1
        receiverPhone:
          description: "Номер телефона получателя ФЛ"
          type: string
          maxLength: 13
          example: "0079052222222"
        payeeBankBIC:
          description: БИК банка получателя
          type: string
          maxLength: 9
          pattern: "^[0-9]{9}$"
          example: 046015602
    validateSBPresp:
      type: object
      description: "Реквизиты для проведения проверок в СБП"
      required:
        - id
        - amount
        - state
      properties:
        id:
          type: string
          description: "Идентификатор платежа"
          format: guid
          example: "123e4567-e89b-12d3-a456-426655440000"
        docNumber:
          type: string
          description: "Номер документа"
          example: 15
        docDate:
          type: string
          format: date
          description: "Дата документа (опердень совершения операции)"
          example: YYYY-MM-DD
        amount:
          description: "Сумма платежа"
          type: string
          format: decimal
          minimum: 0
          example: 7600
        fee:
          description: "Сумма комиссии"
          type: string
          format: decimal
          minimum: 0
          example: 114
        pam:
          description: "PAM получателя"
          type: string
          maxLength: 140
          example: "Иван Иванович И."
        createDateTime:
          description: "Дата и время составления документа (серверное время)"
          type: string
          example: 2021-09-28T08:41:00.263Z
        state:
          description: Статус проведения проверки
          type: string
          enum:
            - VALIDATION_FAILED
            - VALIDATION_SUCCESS
          example: "VALIDATION_SUCCESS"
        errorMessage:
          $ref: '#/components/schemas/errorMessage'
    event:
      type: object
      description: "Событие: транзакция, взыскание гос. органов и т.д."
      required:
        - eventId
        - eventType
        - eventValue
        - createDate
      properties:
        eventId:
          $ref: '#/components/schemas/eventId'
        smartContractId:
          $ref: '#/components/schemas/smartContractId'
        eventType:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Тип события может принять одно из значений: "CREDIT", "DEBIT", "HOLD", "UNHOLD"'
          example: 'DEBIT'
        eventValue:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Значение события, обычно является его статусом. Может принять одно из значений: "CREATED", "PENDING", "DONE", "ERROR"'
          example: 'DONE'
        errorMessage:
          $ref: '#/components/schemas/errorMessage'
        amount:
          $ref: '#/components/schemas/amount'
        purpose:
          $ref: '#/components/schemas/purpose'
        payee:
          $ref: '#/components/schemas/subject'
        createDate:
          type: string
          format: date-time
          description: 'Время создания события'
          example: '2022-03-15T23:31:00.999Z'
        editDate:
          type: string
          format: date-time
          description: 'Время изменения статуса события'
          example: '2022-03-15T23:31:00.999Z'
      additionalProperties: false
    beneficiaryEvent:
      type: object
      required:
        - eventId
        - eventType
        - eventValue
        - createDate
      description: 'Событие, определяющее статус бенефициара'
      properties:
        eventId:
          $ref: '#/components/schemas/eventId'
        eventType:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Тип события CREATE, UPDATE, DELETE, BLOCK, UNBLOCK'
          example: 'CREATE'
        eventValue:
          type: string
          pattern: '^[A-Za-z]{20}$'
          description: 'Значение события CREATED, PENDING, ACTIVATED, BLOCKED, DELETED, ERROR, DONE'
          example: 'CREATED'
        errorMessage:
          $ref: '#/components/schemas/errorMessage'
        createDate:
          type: string
          format: date-time
          description: 'Время создания события'
          example: '2022-03-15T23:31:00.999Z'
        editDate:
          type: string
          format: date-time
          description: 'Время изменения статуса события'
          example: '2022-03-15T23:31:00.999Z'
      additionalProperties: false
    clientULreq:
      type: object
      required:
        - kpp
        - ogrn
        - inn
      description: 'Структура запроса поиска информации по клиенту (ЮЛ)'
      properties:
        kpp:
          $ref: '#/components/schemas/kpp'
        ogrn:
          $ref: '#/components/schemas/beneficiaryOrg/properties/ogrn'
        inn:
          $ref: '#/components/schemas/beneficiaryOrg/properties/inn'
      additionalProperties: false
    clientIPreq:
      type: object
      required:
        - ogrn
        - inn
      description: 'Структура запроса поиска информации по клиенту (ИП)'
      properties:
        kpp:
          $ref: '#/components/schemas/kpp'
        ogrn:
          $ref: '#/components/schemas/beneficiaryOrg/properties/ogrn'
        inn:
          $ref: '#/components/schemas/beneficiaryOrg/properties/inn'
      additionalProperties: false
    clientULresp:
      type: object
      required:
        - orgName
        - orgFullName
        - legalForm
        - ogrn
        - ogrnDate
        - ogrnPlace
        - legalAddress
        - inn
        - kpp
        - oktmo
        - email
      description: 'Анкета при регистрации клиента ЮЛ'
      properties:
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        orgFullName:
          $ref: '#/components/schemas/orgFullNameRu'
        orgForeignName:
          $ref: '#/components/schemas/orgShortNameEn'
        orgForeignFullName:
          $ref: '#/components/schemas/orgFullNameEn'
        legalForm:
          type: string
          pattern: '^[А-Яа-я][А-Яа-я0-9 -]{0,250}$'
          description: 'Организационно-правовая форма на русском' #При создании бенефициара, в поле “legalForm” необходимо указать информацию согласно ОКОПФ, например: Общества с ограниченной ответственностью
          example: 'Общество С Ограниченной Ответственностью'
        foreignLegalForm:
          type: string
          pattern: '^[A-Za-z ]{0,250}$'
          description: 'Организационно-правовая форма латиницей'
          example: 'Joint Stock Company'
        ogrn:
          type: string
          pattern: '^[0-9]{13}$'
          description: 'ОГРН (общедоступно)'
          example: '1047796372711'
        ogrnDate:
          type: string
          pattern: '^20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата присвоения ОГРН (после 2002 года) (общедоступно)'
          example: '2022-03-15'
        ogrnPlace:
          description: "Место гос.регистрации (более мелкое территориальное деление, например, город в области) (общедоступно)"
          type: string
          example: "Красногорск"
          pattern: '^[А-Яа-яёЁ ,.-]{0,50}$'
        orgDateReg:
          type: string
          pattern: '^(19|20)[0-9]{2}-[0-1][0-9]-[0-3][0-9]$'
          description: 'Дата регистрации организации (до 2002 года) (общедоступно)'
          example: '2022-03-15'
        inn:
          type: string
          pattern: '^[0-9]{10}$'
          description: 'ИНН (общедоступно)'
          example: '0743528989'
        kpp:
          $ref: '#/components/schemas/kpp'
        oktmo:
          type: string
          pattern: '^[0-9]{8,11}$'
          description: 'ОКТМО (общедоступно)'
          example: '45286590000'
        legalAddress:
          $ref: '#/components/schemas/address'
        phone:
          $ref: '#/components/schemas/clientPhone'
        email:
          $ref: '#/components/schemas/clientEmail'
      additionalProperties: false
    clientIPresp:
      type: object
      required:
        - surname
        - name
        - birthCountry
        - birthCity
        - birthDate
        - citizenship
        - identificationDoc
        - regAddress
        - inn
        - email
        - postAddress
        - ogrnip
        - ogrnipPlace
        - ogrnipDate
        - snils
        - orgName
      description: 'Анкета бенефициара ИП'
      properties:
        surname:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Фамилия (общедоступно для ИП)'
          example: 'Коган-Константинопольский'
        name:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Имя (общедоступно для ИП)'
          example: 'Фарид Оглы'
        patronymic:
          type: string
          pattern: '^[А-ЯЁ][А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Отчество (общедоступно для ИП)' #поле обязательно к заполнению при наличии в паспорте
          example: 'Николаевич'
        birthCountry:
          type: string
          pattern: '^[А-ЯЁа-яё -]+$'
          maxLength: 50
          description: 'Место рождения – Страна'
          example: 'Российская Федерация'
        birthCity:
          type: string
          pattern: '^[А-ЯЁа-яё .-]+$'
          maxLength: 50
          description: 'Место рождения – Город'
          example: 'г. Санкт-Петербург'
        birthDate:
          $ref: '#/components/schemas/birthDate'
        citizenship:
          type: string
          pattern: '^[А-ЯЁа-яё .,-]+$'
          maxLength: 250
          description: 'Гражданство (при наличии нескольких, перечислить все через запятую) (общедоступно для ИП)'
          example: 'Россия, Швеция'
        identificationDoc:
          $ref: "#/components/schemas/identificationDoc"
        regAddress:
          $ref: '#/components/schemas/address'
        inn:
          type: string
          pattern: '^[0-9]{12}$'
          description: 'ИНН'
          example: '097743528989'
        phone:
          $ref: '#/components/schemas/clientPhone'
        email:
          $ref: '#/components/schemas/clientEmail'
        postAddress:
          $ref: '#/components/schemas/address'
        ogrnip:
          type: string
          pattern: '^3[0-9]{14}$'
          description: 'ОГРНИП (общедоступно)'
          example: '304500116000157'
        ogrnipPlace:
          type: string
          pattern: '^[А-ЯЁа-яё ,.-]+$'
          maxLength: 50
          description: 'Место госрегистрации (регион, город) (общедоступно)'
          example: 'Московская область, городской округ Красногорск, село Петрово-Дальнее'
        ogrnipDate:
          type: string
          pattern: '^(19|20)[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$'
          description: 'Дата госрегистрации (общедоступно)'
          example: '2022-03-15'
        orgName:
          $ref: '#/components/schemas/orgShortNameRu'
        snils:
          $ref: '#/components/schemas/snils'
        oktmo:
          type: string
          pattern: '^[0-9]{8,11}$'
          description: 'ОКТМО'
          example: '45286590000'
        licenseList:
          type: array
          maxItems: 10
          items:
            $ref: '#/components/schemas/license'
      additionalProperties: false
    amount:
      type: integer
      minimum: 0
      maximum: 100000000000
      description: 'Cумма средств в копейках'
      example: 20100
    obligations:
      type: integer
      minimum: 0
      maximum: 100000000000
      description: 'Cумма средств в копейках'
      example: 2019900
    pending:
      type: integer
      minimum: 0
      maximum: 1000000000000
      description: 'Средства, находящиеся в обработке платежа банком'
      example: 220030
    currency:
      type: string
      enum:
        - RUB
        - RUR
      description: 'Валюта'
      example: 'RUB'
    agreement:
      type: string
      enum:
        - 'Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета'
      description: 'Соглашение'
      example: 'Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета'
    signature:
      type: string
      pattern: '^[A-Za-z0-9+/=]+$'
      maxLength: 16000
      description: 'Подпись над content'
      example: "MIIN9gYJKoZIhvcNAQcCoIIN5zCCDeMCAQExDDAKBggqhQMHAQECAjALBgkqhkiG9w0BBwGgggpKMIIFHDCCBMmgAwIBAgIQOyCK5f1GaIZJoFD6r6iDkzAKBggqhQMHAQEDAjCCAQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEyMzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQsDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0xODA5MTIxMDE5MzBaFw0yMzA5MTIxMDI4NTVaMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIjAQYIKoUDBwEBAgIDQwAEQJgf/alQzSGGMPRZBnKp1j1rwDOCBkY349whSrH4n7dW7KUttYGHtp3CLt/9CTNTnBgyrNdCLgml9DajpcHSIvCjggH+MIIB+jA2BgUqhQNkbwQtDCsi0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyA0LjApMIIBIQYFKoUDZHAEggEWMIIBEgwrItCa0YDQuNC/0YLQvtCf0YDQviBDU1AiICjQstC10YDRgdC40Y8gNC4wKQxB0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAICLQmtGA0LjQv9GC0L7Qn9GA0L4g0KPQpiIMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAMT9Ch0LXRgNGC0LjRhNC40LrQsNGCINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8wMDAtMDAwMCDQvtGCIDAwLjAwLjAwMDAwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8MBIGCSsGAQQBgjcVAQQFAgMBAAEwJQYDVR0gBB4wHDAIBgYqhQNkcQEwCAYGKoUDZHECMAYGBFUdIAAwIwYJKwYBBAGCNxUCBBYEFMjaZsu2l9I+yWcdwltkOqvcu89pMAoGCCqFAwcBAQMCA0EAPpXN2B+VvQmrc4L1BODyZhIygpsrA8xLwLNz+OcN1r2DyCctAcHs72VdrHf93dqdBOK/6AJ/hzYbz6x6KJwh/jCCBSYwggTToAMCAQICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAwIwggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIwHhcNMjExMDAxMTQyNTMxWhcNMjIwMTAxMTQzNTMxWjCBtjEYMBYGCCqFAwOBAwEBEgo2MTY1MTczNDA4MSAwHgYJKoZIhvcNAQkBFhFpaWNvbWV0YUB0ZWN0LmNvbTEvMC0GA1UEAwwm0JrQvtC80LXRgtCwINCY0LLQsNC9INCY0LLQsNC90L7QstC40YcxFTATBgNVBAoMDNCa0L7QvNC10YLQsDEjMCEGA1UEBwwa0KDQvtGB0YLQvtCyLdC90LAt0JTQvtC90YMxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUDAgIkAAYIKoUDBwEBAgIDQwAEQFnrKMdW+QUgH8484b8cVBr3LQmikew2ZWUnfXpFzNi0yEfh/JM/autCt/YhmX9bAkYH86jCHq6J2RMk5VRJOPyjggJaMIICVjAPBgNVHQ8BAf8EBQMDB/AAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMB0GA1UdDgQWBBR+BEDU3Eo8o2VJC0hT3Pi7FmBArTAfBgNVHSMEGDAWgBSbhV77gdxNWQdRY8++39osf8lEPDCCAQ8GA1UdHwSCAQYwggECMIH/oIH8oIH5hoG1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC8hMDQyMiEwNDM1ITA0NDEhMDQ0MiEwNDNlITA0MzIhMDQ0YiEwNDM5JTIwITA0MjMhMDQyNiUyMCEwNDFlITA0MWUhMDQxZSUyMCEwMDIyITA0MWEhMDQyMCEwNDE4ITA0MWYhMDQyMiEwNDFlLSEwNDFmITA0MjAhMDQxZSEwMDIyKDEpLmNybIY/aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC90ZXN0Z29zdDIwMTIoMSkuY3JsMIHaBggrBgEFBQcBAQSBzTCByjBEBggrBgEFBQcwAoY4aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvQ2VydEVucm9sbC9yb290MjAxOC5jcnQwPwYIKwYBBQUHMAGGM2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEyZy9vY3NwLnNyZjBBBggrBgEFBQcwAYY1aHR0cDovL3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnc3Qvb2NzcC5zcmYwCgYIKoUDBwEBAwIDQQA2aueOfec/1xFA/NOfciGpRGYPr06YaDfZRdx0jbiU2fubJgSjB/MvZMsrOrIPGSK9DBN9pk/cOqDQ3f20TottMYIDczCCA28CAQEwggEjMIIBCjEYMBYGBSqFA2QBEg0xMjM0NTY3ODkwMTIzMRowGAYIKoUDA4EDAQESDDAwMTIzNDU2Nzg5MDEvMC0GA1UECQwm0YPQuy4g0KHRg9GJ0ZHQstGB0LrQuNC5INCy0LDQuyDQtC4gMTgxCzAJBgNVBAYTAlJVMRkwFwYDVQQIDBDQsy4g0JzQvtGB0LrQstCwMRUwEwYDVQQHDAzQnNC+0YHQutCy0LAxJTAjBgNVBAoMHNCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniIxOzA5BgNVBAMMMtCi0LXRgdGC0L7QstGL0Lkg0KPQpiDQntCe0J4gItCa0KDQmNCf0KLQni3Qn9Cg0J4iAhN8AAPbUp/n8lqPLQ/7AAEAA9tSMAoGCCqFAwcBAQICoIIB5zAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMTEwMDExNDU4MjZaMC8GCSqGSIb3DQEJBDEiBCA/U5ohPpfIAswinUdMaqMqglo2CyqTOpSf2SUgjZzhuzCCAXoGCyqGSIb3DQEJEAIvMYIBaTCCAWUwggFhMIIBXTAKBggqhQMHAQECAgQg1wk0diRGLZG+oWXUM8cCdDszaDCKQ5onnGCp3uNcAnIwggErMIIBEqSCAQ4wggEKMRgwFgYFKoUDZAESDTEyMzQ1Njc4OTAxMjMxGjAYBggqhQMDgQMBARIMMDAxMjM0NTY3ODkwMS8wLQYDVQQJDCbRg9C7LiDQodGD0YnRkdCy0YHQutC40Lkg0LLQsNC7INC0LiAxODELMAkGA1UEBhMCUlUxGTAXBgNVBAgMENCzLiDQnNC+0YHQutCy0LAxFTATBgNVBAcMDNCc0L7RgdC60LLQsDElMCMGA1UECgwc0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjE7MDkGA1UEAwwy0KLQtdGB0YLQvtCy0YvQuSDQo9CmINCe0J7QniAi0JrQoNCY0J/QotCeLdCf0KDQniICE3wAA9tSn+fyWo8tD/sAAQAD21IwCgYIKoUDBwEBAQEEQCS2z4wN+cZlvy+49XUpf/K6pO2T/In+4PSC6xO0zJLGpiWIvbijHwaiZ8CpWu7/GlN++fWzkai7lAd4E0g4Qis="
    error:
      type: object
      required:
        - httpCode
        - httpMessage
        - moreInformation
      description: 'Сообщение об ошибке'
      properties:
        httpCode:
          pattern: '^[0-9]{3}$'
          type: string
          description: 'Код ошибки'
          example: '400'
        httpMessage:
          type: string
          pattern: "^[0-9a-zA-Z '.-]+$"
          maxLength: 50
          description: 'Описание ошибки'
          example: 'Error description'
        moreInformation:
          type: string
          pattern: '^[0-9a-zA-ZА-ЯЁа-яё.,@№^)(}{$|\s:_!=?/-]*$'
          maxLength: 254
          description: 'Дополнительная информация об ошибке'
          example: 'Error details'
      additionalProperties: false
    errorMessage:
      type: string
      pattern: '^[0-9а-яёА-ЯЁa-zA-Z._ @()/\№,]+$'
      maxLength: 254
      description: 'Сообщение об ошибке'
      example: 'На счете получателя установлены блокирующие ограничения'

  # securitySchemes:
  #   OAuth2:
  #     type: oauth2
  #     description: '[Инструкция по получению токена](ru/sber-api/start/connect#poluchit-access-token)'
  #     flows:
  #       clientCredentials:
  #         tokenUrl: 'https://mc.api.sberbank.ru/prod/tokens/v3/oauth'
  #         scopes:
  #           auth://sbersmartcabinet/nominal-account: 'Общий скоуп для доступа ко всем методам'
# security:
#   - OAuth2:
#     - auth://nominal-account

# Powered by APIStudio