openapi: 3.0.3
info:
  title: Crypto Overview
  description: |
    ## Методы Sber API по работе с сертификатами и криптопрофилями:

    - [Получение криптоинформации (КУЦ, криптопрофили и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-get)
    - [Получение криптоинформации для ЕИО (КУЦ, пользователи и т.д.)](/ru/sber-api/specifications/crypto/crypto-info-eio-get)
    - [Создание запроса на новый сертификат `v2`](/ru/sber-api/specifications/crypto/create-cert-request-v-2)
    - [Создание запроса на новый сертификат для ЕИО `v2`](/ru/sber-api/specifications/crypto/create-cert-request-eio-v-2)
    - [Получение статуса запроса на новый сертификат](/ru/sber-api/specifications/crypto/status-get)
    - [Получение статуса запроса на новый сертификат для ЕИО](/ru/sber-api/specifications/crypto/status-eio-get)
    - [Получение печатной формы запроса на новый сертификат `v2`](/ru/sber-api/specifications/crypto/print-v-2)
    - [Получение печатной формы запроса на новый сертификат для ЕИО `v2`](/ru/sber-api/specifications/crypto/print-eio-v-2)
    - [Подтвердить выпуск сертификата без посещения банка](/ru/sber-api/specifications/crypto/confirm-cert)
    - [Подтвердить выпуск сертификата без посещения банка для ЕИО](/ru/sber-api/specifications/crypto/confirm-cert-eio)
    - [Активация сертификата](/ru/sber-api/specifications/crypto/activate-post)
    - [Активация сертификата для ЕИО](/ru/sber-api/specifications/crypto/activate-eio-post)

    import Hosts from '/docs/ru/includes/sbapi/_hosts.mdx'

    # START_RAW
    <Hosts />
    # END_RAW
  version: 01.00.000

servers:
  - url: https://fintech-test.sberbank.ru:9443/fintech/api
    description: Песочница
  - url: https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
    description: Тестовый контур
  - url: https://fintech.sberbank.ru:9443/fintech/api
    description: Промышленный контур

paths:
  /v1/crypto:
    get:
      tags:
        - Получение криптоинформации
      operationId: cryptoInfoGet
      summary: Получение криптоинформации (КУЦ, криптопрофили и т.д.)
      description: | 
        Ресурс позволяет получить информацию по криптопрофилю и сертификатам пользователя (владельца **access_token**, который используется в запросе), сертификатам удостоверяющих центров, и сертификату технологического криптопрофиля банка. Полученную информацию возможно использовать в криптографических операциях (в операциях с сертификатами и операциях с электронной подписью). Работает только с access_token сотрудников **вашей компании**.

        Для получения информации по крипто-профилю и сертификатам необходимо отправить GET-запрос `/fintech/api/v1/crypto` с токеном доступа (**access_token**) пользователя вашей компании в параметре **Authorization** заголовка.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `GET_CRYPTO_INFO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение криптоинформации в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CryptoInfo"
          description: Информация о КУЦ и криптопрофилях
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: |
            Bad Request

            | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
            | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
            | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Unauthorized

            | Cause        | Message                                                                | Description                                                                                                                  |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |

        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden
            
            | Cause                   | Message                                                                             | Description                                                                                                                                                                                                                                                                                                                                                                                              |
            | ----------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен                         | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. <br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `GET_CRYPTO_INFO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
            | ACCESS_EXCEPTION        | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.<br /><br />Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio`                                                                                                                                                                                          |
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
        500:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Internal Server Error

            | **Cause**         | **Message**               | **Description**                                                                                                               |
            | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
            | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |

        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/eio:
    get:
      tags:
        - Получение криптоинформации
      operationId: cryptoInfoEioGet
      summary: Получение криптоинформации для ЕИО (КУЦ, пользователи и т.д.)
      description: |
        Ресурс позволяет получить информацию по крипто-профилям и сертификатам всех пользователей, сертификатам удостоверяющих центров, и сертификату технологического криптопрофиля банка. Полученную информацию возможно использовать в криптографических операциях (в операциях с сертификатами и операциях с электронной подписью). Работает с access_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).

        Отправьте GET-запрос `/fintech/api/v1/crypto/eio` с токеном доступа (**access_token**) пользователя-ЕИО в параметре **Authorization** заголовка.

        В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `GET_CRYPTO_INFO_EIO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение криптоинформации для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EioCryptoInfo"
          description: | 
            Информация о КУЦ и криптопрофилях

            | Cause        | Message                                                                | Description                                                                                                                  |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Bad Request

            | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
            | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
            | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Unauthorized
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden

            | Cause              | Message                                                | Description                                                                                                                                                                                                                                                                                                                                                                                                      |
            | ----------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API. <br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `GET_CRYPTO_INFO_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |

        500:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Internal Server Error

            | **Cause**         | **Message**               | **Description**                                                                                                               |
            | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
            | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |

        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/cert-requests/{externalId}/activate:
    post:
      tags:
        - Активация сертификата
      operationId: activatePost
      summary: Активация сертификата
      description: |
        Ресурс позволяет создавать запросы на активацию выпущенного сертификата, для дальнейшей возможности подписывать документы и запросы. Работает только с access_token сотрудников **вашей компании**. Отправьте POST-запрос `/fintech/api/v1/crypto/cert-requests/{externalId}/activate` с токеном доступа (**access_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на активацию сертификата в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.
        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          description: Внешний UUID запроса на новый сертификат
          schema:
            type: string
      responses:
        200:
          description: OK
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Bad Request

            | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
            | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
            | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Unauthorized

            | **Cause**    | **Message**                                                            | **Description**                                                                                                              |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden

            | **Cause**               | **Message**                                                                         | **Description**                                                                                                                                                                                                                                                                                                                                                                                                 |
            | ----------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен                         | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.<br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CERTIFICATE_REQUEST`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
            | ACCESS_EXCEPTION        | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.<br /><br />Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio`                                                                                                                                                                                             |

        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Not Found
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |

        500:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Internal Server Error

            | **Cause**         | **Message**               | **Description**                                                                                                               |
            | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
            | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |

        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/cert-requests/{externalId}/state:
    get:
      tags:
        - Получение статуса
      operationId: statusGet
      summary: Получение статуса запроса на новый сертификат
      description: | 
        Ресурс позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат. Работает только с access_token сотрудников **вашей компании**.

        Для получения статуса заявления необходимо отправить GET-запрос `/fintech/api/v1/crypto/cert-requests/{externalId}/state` с токеном доступа (**access_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение статуса запроса на новый сертификат, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:

          | Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
          | :----------------------------------- | :---------------------------------- |
          | `4a1cddc4-34af-4383-8b0c-356d48a2278f` | `ACCEPTED_BY_ABS`                  |
          | Любое другое значение                 | `AWAITING_CONFIRMATION`             |

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          schema:
            type: string
          description: Внешний UUID запроса на новый сертификат
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocState"
          description: | 
            OK

            | bankStatus                                       | Наименование статуса     | Назначение кода состояния                                                                                                                                                                                                                                                                                                                                                      |
            | ------------------------------------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | **Промежуточный/Продолжать опрашивать**          |
            | `ACCEPTED_BY_ABS`                                | Принят АБС               | Электронный документ был принят к обработке в АБС Банка<br /><br />Подписанту необходимо предоставить в Банк заявление на выпуск сертификата.<br /><br />С помощью ресурса GET `/fintech/api/v1/crypto/cert-requests/{externalId}/print` получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо предоставить заявление в обслуживающий офис Сбера. |
            | `PUBLISHED_BY_BANK`                              | Издан Банком             | Сертификат выпущен, и него необходимо активировать.<br /><br />Активировать сертификат можно с помощью ресурса POST `/fintech/api/v1/crypto/cert-requests/{externalId}/activate`                                                                                                                                                                                                    |
            | `AWAITING_CONFIRMATION`                          | Ожидает подтверждения    | Подписант должен подтвердить заявления дистанционно.<br /><br />Дистанционно подтвердить можно с помощью ресурса POST `/v1/crypto/cert-requests/{externalId}/confirm`<br /><br /> Если возвращался статус AWAITING_CONFIRMATION, а потом у организации поменялся КУЦ, то на следующий запрос на выпуск сертификата, вернется ACCEPTED_BY_ABS |
            | `CONFIRMED`                                      | Подтверждён              | Подписант успешно подтвердил запрос на выпуск сертификата.                                                                                                                                                                                                    |
            | **Окончательный (Не успешный)/Прекратить опрос** |
            | `DENIED`                                         | Отказано в сертификации  | Ошибка в процессе выпуска сертификата либо отказано в сертификации                                                                                                                                                                                                                                                                                                                  |
            | **Окончательный (Успешный)/Прекратить опрос**    |
            | `PROCESSED`                                      | Обработан                | Сертификат активирован                                                                                                                                                                                                                                                                                                                                                              |
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Bad request

            | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
            | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
            | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Unauthorized

            | **Cause**    | **Message**                                                            | **Description**                                                                                                              |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden

            | **Cause**               | **Message**                                                                         | **Description**                                                                                                                                                                                                                                                                                                                                                                                                 |
            | ----------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен                         | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.<br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CERTIFICATE_REQUEST`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
            | ACCESS_EXCEPTION        | Работа с сертификатами и криптопрофилями доступна только по собственной организации | Используемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.<br /><br />Для работы с пользователями других компании используйте ресурсы группы `/v1/crypto.../eio`                                                                                                                                                                                             |
        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Not Found
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
        500:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Internal Server Error

            | **Cause**         | **Message**               | **Description**                                                                                                               |
            | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
            | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |

        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/cert-requests/eio/{externalId}/activate:
    post:
      tags:
        - Активация сертификата
      operationId: activateEioPost
      summary: Активация сертификата для ЕИО
      description: |
        Ресурс позволяет создавать запросы на активацию выпущенного сертификата, для дальнейшей возможности подписывать документы и запросы. Работает с access_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).

        Отправьте POST-запрос `/fintech/api/v1/crypto/cert-requests/eio/{externalId}/activate` с токеном доступа (**access_token**) пользователя-ЕИО в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на активацию сертификата для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          schema:
            type: string
          description: Внешний UUID запроса на новый сертификат
      responses:
        200:
          description: OK
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
             Bad Request

              | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
              | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
              | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Unauthorized

            | **Cause**    | **Message**                                                            | **Description**                                                                                                              |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden

            | ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.<br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CRYPTO_CERT_REQUEST_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |

        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Not Found
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
        500:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Internal Server Error

            | **Cause**         | **Message**               | **Description**                                                                                                               |
            | ----------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
            | UNKNOWN_EXCEPTION | Внутренняя ошибка сервера | Сделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка. |

        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/cert-requests/eio/{externalId}/state:
    get:
      tags:
        - Получение статуса
      operationId: statusEioGet
      summary: Получение статуса запроса на новый сертификат для ЕИО
      description: |
        Ресурс позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат. Работает с access_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).

        Отправьте GET-запрос `/fintech/api/v1/crypto/cert-requests/eio/{externalId}/state` с токеном доступа (**access_token**) пользователя-ЕИО в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение статуса запроса на новый сертификат для ЕИО, ответ зависит от переданного параметра `externalId`. Для симуляции различных сценариев используйте следующие тестовые идентификаторы:

          | Передаваемое значение `externalId` | Возвращаемое значение `bankStatus` |
          | :----------------------------------- | :---------------------------------- |
          | `a7f3b1c8-2e5d-4f9a-b6c0-9e8d7a2b5c4e` | `ACCEPTED_BY_ABS`                  |
          | Любое другое значение                 | `AWAITING_CONFIRMATION`             |

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          schema:
            type: string
          description: Внешний UUID запроса на новый сертификат
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocState"
          description: | 
            OK

            | bankStatus                     | Наименование статуса | Назначение кода состояния                                                                                                                                                                                                                                                                                                                                                      |
            | ------------------------------------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | **Промежуточный/Продолжать опрашивать**          |
            | `ACCEPTED_BY_ABS`                                | Принят АБС               | Электронный документ был принят к обработке в АБС Банка<br /><br />Подписанту необходимо предоставить в Банк заявление на выпуск сертификата.<br /><br />С помощью ресурса GET `/fintech/api/v1/crypto/cert-requests/{externalId}/print` получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо предоставить заявление в обслуживающий офис Сбера. |
            | `PUBLISHED_BY_BANK`                              | Издан Банком             | Сертификат выпущен, и него необходимо активировать.<br /><br />Активировать сертификат можно с помощью ресурса POST `/fintech/api/v1/crypto/cert-requests/{externalId}/activate`                                                                                                                                                                                                    |
            | `AWAITING_CONFIRMATION`                          | Ожидает подтверждения    | Подписант должен подтвердить заявления дистанционно.<br /><br />Дистанционно подтвердить можно с помощью ресурса POST `/v1/crypto/cert-requests/{externalId}/confirm` |
            | `CONFIRMED`                                      | Подтверждён              | Подписант успешно подтвердил запрос на выпуск сертификата.                                                                                                                                                                                                    |
            | **Окончательный (Не успешный)/Прекратить опрос** |
            | `DENIED`                                         | Отказано в сертификации  | Ошибка в процессе выпуска сертификата либо отказано в сертификации                                                                                                                                                                                                                                                                                                                  |
            | **Окончательный (Успешный)/Прекратить опрос**    |
            | `PROCESSED`                                      | Обработан                | Сертификат активирован                                                                                                                                                                                                                                                                                                                                                              |
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
             Bad Request

              | **Cause**             | **Message**                                                         | **Description**                                                                                                                                                                                                                                                                      |
              | --------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
              | DESERIALIZATION_FAULT | Неверный формат запроса                                             | Данные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в response в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос. |
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Unauthorized

            | **Cause**    | **Message**                                                            | **Description**                                                                                                              |
            | ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
            | UNAUTHORIZED | accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-х | Указан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос. |

        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Forbidden

            | **Cause**               | **Message**                                                 | **Description**                                                                                                                                                                                                                                                                                                                                                                                                     |
            | ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
            | ACTION_ACCESS_EXCEPTION | Операция не может быть выполнена: доступ к ресурсу запрещен | Используемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.<br /><br />В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция `CRYPTO_CERT_REQUEST_EIO`. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token. |
        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Not Found
        429:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: | 
            Too Many Requests

            | **Cause**         | **Message**                                        | **Description**    |
            | ----------------- | -------------------------------------------------- | ---------------------|
            | TOO_MANY_REQUESTS | Превышен лимит запросов. Повторите операцию позже. | Количество запросов к данному методу за ограниченное время превысило допустимое значение. Пользователю необходимо повторить запрос позднее |
        500:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
        503:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Service Unavailable

  /v1/crypto/cert-requests/{externalId}/confirm:
    post:
      tags:
        - Подтвердить выпуск сертификата без посещения банка
      operationId: confirmCert
      summary: Передача подписи для заявления на выпуск и запроса на сертификат
      description: |
        Передача подписи для заявления на выпуск и запроса на сертификат.
        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на подтверждение выпуска сертификата без посещения банка в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          schema:
            type: string
          description: Внешний UUID запроса на подтверждение сертификата УНЭП на УНЭП
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmCertRequest'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocStateShort"
          description: Успешный ответ
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Ошибка в запросе или его жизненном цикле
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Не авторизован
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Запрещено
        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Документ с указанным ID не найден
        500:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Внутренняя ошибка сервера

  /v1/crypto/cert-requests/eio/{externalId}/confirm:
    post:
      tags:
        - Подтвердить выпуск сертификата без посещения банка
      operationId: confirmCertEio
      summary: Передача подписи для заявления на выпуск и запроса на сертификат для ЕИО
      description: |
        Передача подписи для заявления на выпуск и запроса на сертификат.
        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на подтверждение выпуска сертификата без посещения банка для ЕИО в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          description: Access token организации-клиента, полученный через SSO
          schema:
            type: string
        - name: externalId
          in: path
          required: true
          schema:
            type: string
          description: Внешний UUID запроса на подтверждение сертификата УНЭП на УНЭП для ЕИО
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmCertRequest'
      responses:
        200:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocStateShort"
          description: Успешный ответ
        400:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Ошибка в запросе или его жизненном цикле
        401:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Не авторизован
        403:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Запрещено
        404:
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
          description: Документ с указанным ID не найден
        500:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Внутренняя ошибка сервера

  /v2/crypto/cert-requests:
    post:
      tags:
        - Создание запроса на новый сертификат
      operationId: createCertRequestV2
      summary: Создание запроса на новый сертификат
      description: |
        Ресурс позволяет создавать запросы на выпуск нового сертификата для пользователя с возможностью перевыпуска без посещения банка, чей **access_token** используется в запросе. Работает только с access_token сотрудников **вашей компании**.

        Для создания запроса на выпуск нового сертификата необходимо отправить POST-запрос `/fintech/api/v2/crypto/cert-requests` с токеном доступа (**access_token**) пользователя вашей компании в параметре **Authorization** заголовка и реквизитами запроса в теле.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.

        :::note
        В примере параметр cms заполнен для СКЗИ-Инфокрипт VPN-KEY-TLS. Для альтернативной СКЗИ необходимо заполнять следующим образом: "cms": "-----BEGIN CERTIFICATE REQUEST-----\n ... MIIIj ... \n-----END CERTIFICATE REQUEST-----".
        :::

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на создание запроса на новый сертификат в песочнице успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            description: Access token, полученный самим партнёром
            example: c76fb018-27c9-43f7-a751-62646eda7e1a-1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateRequestV2'
      responses:
        '200':
          description: Успешный запрос
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateRequestV2'
        '400':
          description: Неверный формат запроса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: Указан некорректный или просроченный access_token
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '403':
          description: Операция не может быть выполнена, доступ к ресурсу запрещён
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '429':
          description: Превышен лимит запросов. Повторите операцию позже
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /v2/crypto/cert-requests/eio:
    post:
      tags:
        - Создание запроса на новый сертификат
      operationId: createCertRequestEioV2
      summary: Создание запроса на новый сертификат для ЕИО
      description: |
        Ресурс позволяет создавать запросы на выпуск нового сертификата для любого пользователя Сбербизнес компании с возможностью перевыпуска без посещения Банка. Работает с access_token пользователей **с признаком единоличный исполнительный орган** (ЕИО).

        Для создания запроса на выпуск нового сертификата необходимо отправить POST-запрос `/fintech/api/v2/crypto/cert-requests/eio` с токеном доступа (**access_token**) пользователя-ЕИО в параметре **Authorization** заголовка и реквизитами запроса в теле.

        В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.

        :::note
        В примере параметр cms заполнен для СКЗИ-Инфокрипт VPN-KEY-TLS. Для альтернативной СКЗИ необходимо заполнять следующим образом: "cms": "-----BEGIN CERTIFICATE REQUEST-----\n ... MIIIj ... \n-----END CERTIFICATE REQUEST-----".
        :::

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на создание запроса на новый сертификат для ЕИО успешный ответ всегда одинаковый и не зависит от входных данных.

          Все поля запроса заполняйте произвольными данными в соответствии с требованиями в документации.

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            description: Access token, полученный самим партнёром
            example: c76fb018-27c9-43f7-a751-62646eda7e1a-1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateRequestEioV2'
      responses:
        '200':
          description: Успешный запрос
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateRequestEioV2'
        '400':
          description: Неверный формат запроса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: Указан некорректный или просроченный access_token
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '403':
          description: Операция не может быть выполнена, доступ к ресурсу запрещён
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '404':
          description: Не найден пользователь для запроса на сертификат
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '429':
          description: Превышен лимит запросов. Повторите операцию позже
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /v2/crypto/cert-requests/{externalId}/print:
    get:
      tags:
        - Получение печатной формы
      operationId: printV2
      summary: Получение печатной формы заявления и запроса на сертификат
      description: |
        Ресурс позволяет получить печатную форму заявления на выпуск сертификата. Работает только с access_token сотрудников **вашей компании**.

        Для получения печатной формы заявления необходимо отправить GET-запрос `/fintech/api/v2/crypto/cert-requests/{externalId}/print` с токеном доступа (**access_token**) пользователя вашей компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CERTIFICATE_REQUEST` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение печатной формы, структура ответа зависит от переданного параметра `externalId`:

          | Передаваемое значение `externalId` | Описание ответа |
          | :----------------------------------- | :-------------- |
          | `4a1cddc4-34af-4383-8b0c-356d48a2278f` | Возвращаются поля `pdfData` и `cms`, при этом `cms = null` |
          | Любое другое значение                 | Возвращаются поля `pdfData` и `cms` (оба содержат значения) |

        </details>

      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            description: Access token, полученный самим партнёром
            example: c76fb018-27c9-43f7-a751-62646eda7e1a-1
        - name: externalId
          in: path
          required: true
          schema:
            type: string
            description: Идентификатор документа в организации-партнера (Внешний идентификатор)
            example: 363084ba-7079-4b9d-bbab-c4972dee82d9
      responses:
        '200':
          description: Успешный запрос
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintResponseV2'
        '400':
          description: Неверный формат запроса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: Указан некорректный или просроченный access_token
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '404':
          description: Документ с указанным ID не найден
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '429':
          description: Превышен лимит запросов. Повторите операцию позже
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /v2/crypto/cert-requests/eio/{externalId}/print:
    get:
      tags:
        - Получение печатной формы
      operationId: printEioV2
      summary: Получение печатной формы заявления и запроса на сертификат для ЕИО
      description: |
        Ресурс позволяет получить печатную форму заявления на выпуск сертификата.

        Для получения печатной формы заявления необходимо отправить GET-запрос `/fintech/api/v2/crypto/cert-requests/eio/{externalId}/print` с токеном доступа (**access_token**) пользователя **вашей организации** или ЕИО вашей дочерней компании в параметре **Authorization** заголовка и идентификатором документа (**externalId**) в path-параметре.

        В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис `CRYPTO_CERT_REQUEST_EIO` для получения доступа к этому ресурсу.

        <details>
          <summary>Рекомендации по тестированию в песочнице</summary>

          При отправке запроса на получение печатной формы для ЕИО, структура ответа зависит от переданного параметра `externalId`:

          | Передаваемое значение `externalId` | Описание ответа |
          | :----------------------------------- | :-------------- |
          | `a7f3b1c8-2e5d-4f9a-b6c0-9e8d7a2b5c4e` | Возвращаются поля `pdfData` и `cms`, при этом `cms = null` |
          | Любое другое значение                 | Возвращаются поля `pdfData` и `cms` (оба содержат значения) |

        </details>
        
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
            description: Access token, полученный самим партнёром
            example: c76fb018-27c9-43f7-a751-62646eda7e1a-1
        - name: externalId
          in: path
          required: true
          schema:
            type: string
            description: Идентификатор документа в организации-партнера (Внешний идентификатор)
            example: 363084ba-7079-4b9d-bbab-c4972dee82d9
      responses:
        '200':
          description: Успешный запрос
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintResponseV2'
        '400':
          description: Неверный формат запроса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: Указан некорректный или просроченный access_token
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '404':
          description: Документ с указанным ID не найден
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '429':
          description: Превышен лимит запросов. Повторите операцию позже
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"

components:
  schemas:
    CryptoInfo:
      type: object
      properties:
        certCenterCode:
          type: string
          description: Код удостоверяющего центра
          example: А00KJL
        certCenterNum:
          type: string
          description: Текущий порядковый номер для генерации запроса на сертификат
          example: 4B
        certsCA:
          items:
            type: string
            format: byte
          description: Сертификаты удостоверяющих центров
          example: ["LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEcnpDQ0ExeWdBd0lCQWdJUktqT3VYYjh4TUVOQk1EYzJTVUJCQ0hrd0NnWUlLb1VEQndFQkF3SXdnY0F4DQpDekFKQmdOVkJBWVRBbEpWTVNBd0hnWURWUVFLREJmUW45Q1EwSjRnMEtIUXNkQzEwWURRc2RDdzBMM1F1akVoDQpNQjhHQ1NxR1NJYjNEUUVKQVJZU1kyRnpZbkptUUhOaVpYSmlZVzVyTG5KMU1VSXdRQVlEVlFRTEREblFsTkMxDQowTC9Rc05HQTBZTFFzTkM4MExYUXZkR0NJTkM2MExqUXNkQzEwWURRc2RDMTBMZlF2dEMvMExEUmdkQzkwTDdSDQpnZEdDMExneEtEQW1CZ05WQkFNTUg5Q2kwSlhRb2RDaUlOQ2owSjNRcmRDZklESXdNalFnMEtIUXNkQzEwWUF3DQpIaGNOTWpRd01qQTNNREF3TURBd1doY05Nell3TWpBM01EQXdNREF3V2pDQnh6RUxNQWtHQTFVRUJoTUNVbFV4DQpJREFlQmdOVkJBb01GOUNmMEpEUW5pRFFvZEN4MExYUmdOQ3gwTERRdmRDNk1VSXdRQVlEVlFRTEREblFsTkMxDQowTC9Rc05HQTBZTFFzTkM4MExYUXZkR0NJTkM2MExqUXNkQzEwWURRc2RDMTBMZlF2dEMvMExEUmdkQzkwTDdSDQpnZEdDMExneElUQWZCZ2txaGtpRzl3MEJDUUVXRW1OaGMySnlaa0J6WW1WeVltRnVheTV5ZFRFdk1DMEdBMVVFDQpBd3dtU1ZOVFZVVlNJTkNpMEpYUW9kQ2lJTkNqMEozUXJkQ2ZJREl3TWpRZzBLSFFzZEMxMFlBd1pqQWZCZ2dxDQpoUU1IQVFFQkFUQVRCZ2NxaFFNQ0FpTUNCZ2dxaFFNSEFRRUNBZ05EQUFSQTU4WnFBME4vWEUzdTVxWVZqb29MDQozRWFLSmR3SThTS2s2QUNscUR5VUV6M1Naenp5ak05SEVoM0FOYjA4NTVaREVBRE1JeGxxUFdXUWxoUVBUOGhLDQpQYU9DQVI4d2dnRWJNRDRHQnlxRkF3TjdBd0VFTXd3eE1EQkRRVEEzTmtseDBLTFF0ZEdCMFlMUW1OQzMwTFRRDQpzTkdDMExYUXU5R00wS1BRbmRDdDBKL1FvZEN4MExYUmdEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CZ0dBMVVkDQpKUVFSTUE4R0JGVWRKUUFHQnlxRkF3TjdCUUV3RGdZRFZSMFBBUUgvQkFRREFnR0dNRDhHQTFVZEh3UTRNRFl3DQpOS0F5b0RDR0xtaDBkSEE2THk5M2QzY3VjMkpsY21KaGJtc3VjblV2WTJFdlZHVnpkRkp2YjNRd01FTkJNRGMyDQpTQzVqY213d0h3WURWUjBqQkJnd0ZvQVV3VVVHSkUyVkk4VXNEWkhhMmFrQlM1QnNveFF3SFFZRFZSME9CQllFDQpGQzlXWUFraC9YZ1N1ajZYRWJVMGYxT3VlbzRJTUIwR0JTcUZBMlJ2QkJRTUV0Q1IwTGpRdXRHQTBMalF2OUdDDQpJRFV1TURBS0JnZ3FoUU1IQVFFREFnTkJBR1lWdU5QcldrM2tJaTYyMVdCNWthd01pcm83MHZubUxUclZ2VStaDQpzNXhMYVhzeVlIYkVyL2EyMTArcnd4eDNvNlplNkxjOHZ4dXNFYjIrTEdYOHpRMD0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg==",  "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDOXpDQ0FxU2dBd0lCQWdJS2ZSYXFZakR3cVpkNDJEQUtCZ2dxaFFNSEFRRURBakNCeHpFTE1Ba0dBMVVFDQpCaE1DVWxVeElEQWVCZ05WQkFvTUY5Q2YwSkRRbmlEUW9kQ3gwTFhSZ05DeDBMRFF2ZEM2TVVJd1FBWURWUVFMDQpERG5RbE5DMTBML1FzTkdBMFlMUXNOQzgwTFhRdmRHQ0lOQzYwTGpRc2RDMTBZRFFzZEMxMExmUXZ0Qy8wTERSDQpnZEM5MEw3UmdkR0MwTGd4SVRBZkJna3Foa2lHOXcwQkNRRVdFbU5oYzJKeVprQnpZbVZ5WW1GdWF5NXlkVEV2DQpNQzBHQTFVRUF3d21TVk5UVlVWU0lOQ2kwSlhRb2RDaUlOQ2owSjNRcmRDZklESXdNalFnMEtIUXNkQzEwWUF3DQpIaGNOTWpVd01qRXpNREF3TURBd1doY05Namt3TWpFek1EQXdNREF3V2pDQmtqRVlNQllHQlNxRkEyUUJFZzB4DQpNREkzTnpBd01UTXlNVGsxTVM4d0xRWURWUVFERENiUW90QzEwWUhSZ2lEUWtOQ2cwSnd0MEpnZzBLRFJnOUdDDQowTDdRdXRDMTBMMGdNakF5TlRFTE1Ba0dBMVVFQmhNQ1VsVXhJREFlQmdOVkJBb01GOUNmMEpEUW5pRFFvZEN4DQowTFhSZ05DeDBMRFF2ZEM2TVJZd0ZBWURWUVFGRXcxVVRGTXdPVE16TURZME1UQTBNR1l3SHdZSUtvVURCd0VCDQpBUUV3RXdZSEtvVURBZ0lqQWdZSUtvVURCd0VCQWdJRFF3QUVRQVRxb3RqdUlwaVVzSDdRKzcyT20vV1MvMEtRDQpzOW4wckJ3cWhKaVYyRmwyaFF5MnZwaTVDdWZHeHdWaElTVGJnV3hJU1hKRnc2c3FwRXU4VnBKdlYxaWpnWjB3DQpnWm93RGdZRFZSMFBBUUgvQkFRREFnSEdNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdOd1lEVlIwZkJEQXdMakFzDQpvQ3FnS0lZbWFIUjBjRG92TDNkM2R5NXpZbVZ5WW1GdWF5NXlkUzlqWVM4d01EQXdlRFV3T1M1amNtd3dIUVlEDQpWUjBPQkJZRUZNaXErdmtkUzh2cUkxUCsrSFVMSys4UjFZNnlNQjhHQTFVZEl3UVlNQmFBRkM5V1lBa2gvWGdTDQp1ajZYRWJVMGYxT3VlbzRJTUFvR0NDcUZBd2NCQVFNQ0EwRUFORWFoN2Z2ZHFaL1BwNEErWW9XS2RWU3dZSlhtDQpma2k1eEprUUg1WE1ITDQ0bnVXQnZqa3paR2I1KzVEd1lkVnFuRDl6RkVCQy9xUXJEMDM4ZlM2OVd3PT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg=="]
        cryptoProfileInfos:
          items:
            $ref: "#/components/schemas/CryptoProfileInfo"
      additionalProperties: false

    EioCryptoInfo:
      type: object
      properties:
        certCenterCode:
          type: string
          description: Код удостоверяющего центра
          example: А00KJL
        certCenterNum:
          type: string
          description: Текущий порядковый номер для генерации запроса на сертификат
          example: 4B
        certsCA:
          items:
            type: string
            format: byte
          description: Сертификаты удостоверяющих центров
          example: ["LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEcnpDQ0ExeWdBd0lCQWdJUktqT3VYYjh4TUVOQk1EYzJTVUJCQ0hrd0NnWUlLb1VEQndFQkF3SXdnY0F4DQpDekFKQmdOVkJBWVRBbEpWTVNBd0hnWURWUVFLREJmUW45Q1EwSjRnMEtIUXNkQzEwWURRc2RDdzBMM1F1akVoDQpNQjhHQ1NxR1NJYjNEUUVKQVJZU1kyRnpZbkptUUhOaVpYSmlZVzVyTG5KMU1VSXdRQVlEVlFRTEREblFsTkMxDQowTC9Rc05HQTBZTFFzTkM4MExYUXZkR0NJTkM2MExqUXNkQzEwWURRc2RDMTBMZlF2dEMvMExEUmdkQzkwTDdSDQpnZEdDMExneEtEQW1CZ05WQkFNTUg5Q2kwSlhRb2RDaUlOQ2owSjNRcmRDZklESXdNalFnMEtIUXNkQzEwWUF3DQpIaGNOTWpRd01qQTNNREF3TURBd1doY05Nell3TWpBM01EQXdNREF3V2pDQnh6RUxNQWtHQTFVRUJoTUNVbFV4DQpJREFlQmdOVkJBb01GOUNmMEpEUW5pRFFvZEN4MExYUmdOQ3gwTERRdmRDNk1VSXdRQVlEVlFRTEREblFsTkMxDQowTC9Rc05HQTBZTFFzTkM4MExYUXZkR0NJTkM2MExqUXNkQzEwWURRc2RDMTBMZlF2dEMvMExEUmdkQzkwTDdSDQpnZEdDMExneElUQWZCZ2txaGtpRzl3MEJDUUVXRW1OaGMySnlaa0J6WW1WeVltRnVheTV5ZFRFdk1DMEdBMVVFDQpBd3dtU1ZOVFZVVlNJTkNpMEpYUW9kQ2lJTkNqMEozUXJkQ2ZJREl3TWpRZzBLSFFzZEMxMFlBd1pqQWZCZ2dxDQpoUU1IQVFFQkFUQVRCZ2NxaFFNQ0FpTUNCZ2dxaFFNSEFRRUNBZ05EQUFSQTU4WnFBME4vWEUzdTVxWVZqb29MDQozRWFLSmR3SThTS2s2QUNscUR5VUV6M1Naenp5ak05SEVoM0FOYjA4NTVaREVBRE1JeGxxUFdXUWxoUVBUOGhLDQpQYU9DQVI4d2dnRWJNRDRHQnlxRkF3TjdBd0VFTXd3eE1EQkRRVEEzTmtseDBLTFF0ZEdCMFlMUW1OQzMwTFRRDQpzTkdDMExYUXU5R00wS1BRbmRDdDBKL1FvZEN4MExYUmdEQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CZ0dBMVVkDQpKUVFSTUE4R0JGVWRKUUFHQnlxRkF3TjdCUUV3RGdZRFZSMFBBUUgvQkFRREFnR0dNRDhHQTFVZEh3UTRNRFl3DQpOS0F5b0RDR0xtaDBkSEE2THk5M2QzY3VjMkpsY21KaGJtc3VjblV2WTJFdlZHVnpkRkp2YjNRd01FTkJNRGMyDQpTQzVqY213d0h3WURWUjBqQkJnd0ZvQVV3VVVHSkUyVkk4VXNEWkhhMmFrQlM1QnNveFF3SFFZRFZSME9CQllFDQpGQzlXWUFraC9YZ1N1ajZYRWJVMGYxT3VlbzRJTUIwR0JTcUZBMlJ2QkJRTUV0Q1IwTGpRdXRHQTBMalF2OUdDDQpJRFV1TURBS0JnZ3FoUU1IQVFFREFnTkJBR1lWdU5QcldrM2tJaTYyMVdCNWthd01pcm83MHZubUxUclZ2VStaDQpzNXhMYVhzeVlIYkVyL2EyMTArcnd4eDNvNlplNkxjOHZ4dXNFYjIrTEdYOHpRMD0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg==",  "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDOXpDQ0FxU2dBd0lCQWdJS2ZSYXFZakR3cVpkNDJEQUtCZ2dxaFFNSEFRRURBakNCeHpFTE1Ba0dBMVVFDQpCaE1DVWxVeElEQWVCZ05WQkFvTUY5Q2YwSkRRbmlEUW9kQ3gwTFhSZ05DeDBMRFF2ZEM2TVVJd1FBWURWUVFMDQpERG5RbE5DMTBML1FzTkdBMFlMUXNOQzgwTFhRdmRHQ0lOQzYwTGpRc2RDMTBZRFFzZEMxMExmUXZ0Qy8wTERSDQpnZEM5MEw3UmdkR0MwTGd4SVRBZkJna3Foa2lHOXcwQkNRRVdFbU5oYzJKeVprQnpZbVZ5WW1GdWF5NXlkVEV2DQpNQzBHQTFVRUF3d21TVk5UVlVWU0lOQ2kwSlhRb2RDaUlOQ2owSjNRcmRDZklESXdNalFnMEtIUXNkQzEwWUF3DQpIaGNOTWpVd01qRXpNREF3TURBd1doY05Namt3TWpFek1EQXdNREF3V2pDQmtqRVlNQllHQlNxRkEyUUJFZzB4DQpNREkzTnpBd01UTXlNVGsxTVM4d0xRWURWUVFERENiUW90QzEwWUhSZ2lEUWtOQ2cwSnd0MEpnZzBLRFJnOUdDDQowTDdRdXRDMTBMMGdNakF5TlRFTE1Ba0dBMVVFQmhNQ1VsVXhJREFlQmdOVkJBb01GOUNmMEpEUW5pRFFvZEN4DQowTFhSZ05DeDBMRFF2ZEM2TVJZd0ZBWURWUVFGRXcxVVRGTXdPVE16TURZME1UQTBNR1l3SHdZSUtvVURCd0VCDQpBUUV3RXdZSEtvVURBZ0lqQWdZSUtvVURCd0VCQWdJRFF3QUVRQVRxb3RqdUlwaVVzSDdRKzcyT20vV1MvMEtRDQpzOW4wckJ3cWhKaVYyRmwyaFF5MnZwaTVDdWZHeHdWaElTVGJnV3hJU1hKRnc2c3FwRXU4VnBKdlYxaWpnWjB3DQpnWm93RGdZRFZSMFBBUUgvQkFRREFnSEdNQThHQTFVZEV3RUIvd1FGTUFNQkFmOHdOd1lEVlIwZkJEQXdMakFzDQpvQ3FnS0lZbWFIUjBjRG92TDNkM2R5NXpZbVZ5WW1GdWF5NXlkUzlqWVM4d01EQXdlRFV3T1M1amNtd3dIUVlEDQpWUjBPQkJZRUZNaXErdmtkUzh2cUkxUCsrSFVMSys4UjFZNnlNQjhHQTFVZEl3UVlNQmFBRkM5V1lBa2gvWGdTDQp1ajZYRWJVMGYxT3VlbzRJTUFvR0NDcUZBd2NCQVFNQ0EwRUFORWFoN2Z2ZHFaL1BwNEErWW9XS2RWU3dZSlhtDQpma2k1eEprUUg1WE1ITDQ0bnVXQnZqa3paR2I1KzVEd1lkVnFuRDl6RkVCQy9xUXJEMDM4ZlM2OVd3PT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg=="]
        cryptoUserInfos:
          items:
            $ref: "#/components/schemas/CryptoUserInfo"
      additionalProperties: false

    CryptoUserInfo:
      type: object
      description: Информация о пользователе
      properties:
        sub:
          type: string
          description: Хэш идентификатора пользователя
          example: "4b181b59d6f2708f8c05e91dbb2356ecd7b2a3f11faa6e5480c2e84349ca31ee"
        cryptoProfileInfos:
          items:
            $ref: "#/components/schemas/CryptoProfileInfo"
      additionalProperties: false

    CryptoProfileInfo:
      type: object
      description: Информация о криптопрофиле
      required:
        - certificateInfos
      properties:
        alias:
          type: string
          description: Псевдоним
          example: Profile alias
        typeName:
          type: string
          description: Наименование типа
          example: Инфокрипт
        certificateInfos:
          items:
            $ref: "#/components/schemas/CertificateInfo"
      additionalProperties: false

    CertificateInfo:
      type: object
      description: Информация о сертификате
      properties:
        issuer:
          type: string
          description: Издатель
          example: ISSURE
        serialNumber:
          type: string
          description: Серийный номер
          example: SN:000F18
        uuid:
          type: string
          format: uuid
          description: Уникальный идентификатор
          example: 22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6
        active:
          type: boolean
          description: признак активности
          example: true
        cert:
          type: string
          description: Сертификат
          example: "MIIDSjCCAvUCAQAwggGtMQswCQYDVQQGEwJSVTEZMBcGA1UEBwwQ0LMuINCc0L7RgdC60LLQsDFQME4GA1UECgxH0J7RgtC60YDRi9GC0L7QtSDQsNC60YbQuNC+0L3QtdGA0L3QvtC1INC+0LHRidC10YHRgtCy0L4g0KDQvtC80LDRiNC60LAxHzAdBgNVBAsMFtCR0YPRhdCz0LDQu9GC0LXRgNC40Y8xHjAcBgNVBAMMFdCe0J7QniDQoNC+0LzQsNGI0LrQsDEVMBMGBSqFA2QEDAowMTAyNTczODc1MRgwFgYFKoUDZAESDTUxODYwNjk4NTQxMTkxFTATBgNVBAQMDNCY0LLQsNC90L7QsjEiMCAGA1UEKgwZ0JjQstCw0L0g0JjQstCw0L3QvtCy0LjRhzEqMCgGA1UEDAwh0JPQu9Cw0LLQvdGL0Lkg0LHRg9GF0LPQsNC70YLQtdGAMSQwIgYJKoZIhvcNAQkBFhVpdmFub3ZAb3Jncm9tYXNoa2EucnUxGjAYBggqhQMDgQMBARIMNzcwMTEyMzQ1Njc4MRYwFAYFKoUDZAMSCzEyMzQ1Njc4OTAxMGgwIQYIKoUDBwEBAQEwFQYJKoUDBwECAQEBBggqhQMHAQECAgNDAARAhpOsyalRLQaU6ZI/xErvRV3ImgMc0f2hQXFFerz7j0QFAWGXplawVmq6Bd1QjMCJ5rI54mtyPX087RMPLrbb+KCB1DCB0QYJKoZIhvcNAQkOMYHDMIHAMA4GA1UdDwEB/wQEAwIE8DAMBgNVHRMEBTADAgEAMCkGByqFAwN7AwEEHgwcQTAwRlVUMzdz0JjQstCw0L3QvtCyINCYLtCYLjAUBgcqhQMDewMEBAkGByqFAwN7BRgwIAYIKoUDBwEBAQEEFDASBgcqhQMCAh8BBgcqhQMCAiMCMD0GBSqFA2RvBDQMMk9wZW5TU0wuMyAmIFNDU0kgUnVUb2tlbiBFRFMuMiB8IEdPU1QgUiAzNC4xMC0yMDEyMAwGCCqFAwcBAQMCBQADQQAoLgkJN+lVzp21Icq3fIm0Clx5s9B8dkvC+59OjXbR4BV73wMtw4nZoEDTya6a53mw1YoqNmM+VkUIdSKaeTSg"
      additionalProperties: false

    CertificateRequestV2:
      type: object
      required:
        - externalId
        - number
        - userName
        - email
        - orgName
        - userPosition
        - snils
        - inn
        - pkcs10
      properties:
        externalId:
          type: string
          format: uuid
          description: Идентификатор документа, присвоенный партнёром (UUID)
          example: 4a1cddc4-34af-4383-8b0c-356d48a2278f
        number:
          type: string
          description: Номер документа - заявки на выпуск сертификата
          example: '1'
        userName:
          type: string
          description: ФИО - фамилия, имя и отчество уполномоченного лица клиента
          example: Иванов Иван Иванович
        orgName:
          type: string
          description: |
            Краткое наименование организации
            
            Если символ двойной кавычки (") является частью значения строки, он **должен** быть экранирован (\"), подробнее в [стандарте](https://datatracker.ietf.org/doc/html/rfc8259#section-7).
          example: "ООО \"Организация\""
        email:
          type: string
          format: email
          description: Электронная почта
          example: ivanov@mail.ru
        userPosition:
          type: string
          description: Должность физического лица
          example: Операционист
        snils:
          type: string
          pattern: '^\d{11}$'
          description: СНИЛС физического лица
          example: '32165498701'
        inn:
          type: string
          pattern: '^\d{12}$'
          description: ИНН физического лица
          example: '123456789012'
        pkcs10:
          $ref: '#/components/schemas/Pkcs10'
        bankStatus:
          type: string
          description: Статус документа
          readOnly: true
          example: 'ACCEPTED_BY_ABS'
        bankComment:
          type: string
          description: Банковский комментарий к статусу документа
          readOnly: true
          example: null
    
    ConfirmCertRequest:
      type: object
      description: Информация о подписях
      required:
        - cmsSign
        - printSign
      properties:
        cmsSign:
          type: string
          description: Подпись запроса на сертификат в base64
          example: MIIIj..
        printSign:
          type: string
          description: Подпись печатной формы заявления на сертификацию в base64
          example: MIIIj..

    CertificateRequestEioV2:
      type: object
      required:
        - externalId
        - login
        - number
        - userName
        - snils
        - inn
        - email
        - userPosition
        - pkcs10
        - orgName
      properties:
        externalId:
          type: string
          format: uuid
          description: Идентификатор документа, присвоенный партнёром (UUID)
          example: 4a1cddc4-34af-4383-8b0c-356d48a2278f
        login:
          type: string
          description: Логин пользователя, для которого создаётся запрос на сертификат
          example: L1
        number:
          type: string
          description: Номер документа - заявки на выпуск сертификата
          example: '1'
        userName:
          type: string
          description: ФИО - фамилия, имя и отчество уполномоченного лица клиента
          example: Иванов Иван Иванович
        snils:
          type: string
          pattern: '^\d{11}$'
          description: СНИЛС физического лица
          example: '32165498701'
        inn:
          type: string
          pattern: '^\d{12}$'
          description: ИНН физического лица
          example: '123456789012'
        orgName:
          type: string
          description: Краткое наименование организации
          example: ООО 'Организация'
        email:
          type: string
          format: email
          description: Электронная почта
          example: ivanov@mail.ru
        userPosition:
          type: string
          description: Должность физического лица
          example: Операционист
        pkcs10:
          $ref: '#/components/schemas/Pkcs10'
        bankStatus:
          type: string
          description: Статус документа
          readOnly: true
          example: 'ACCEPTED_BY_ABS'
        bankComment:
          type: string
          description: Банковский комментарий к статусу документа
          readOnly: true
          example: null

    Pkcs10:
      type: object
      required:
        - cms
        - bicryptId
      properties:
        cms:
          type: string
          nullable: false
          description: 'Данные запроса на сертификат ЭП в формате CMS (PKCS #10)'
          example: |
            -----BEGIN CMS-----
            ...
            MIIIj ...
            ...
            -----END CMS-----
        bicryptId:
          type: string
          nullable: false
          minLength: 8
          maxLength: 50
          description: Идентификатор bicryptId
          example: V2QL0020sИвановИИ
      additionalProperties: false

    DocStateShort:
      type: object
      description: Сокращенный статус документа
      properties:
        bankStatus:
          type: string
          description: Статус документа
          example: PROCESSING
        bankComment:
          type: string
          readOnly: true
          description: Банковский комментарий к статусу документа
          example: Документ в обработке
      additionalProperties: false

    DocState:
      type: object
      description: Статус документа
      allOf:
        - $ref: "#/components/schemas/DocStateShort"
        - type: object
          properties:
            channelInfo:
              type: string
              readOnly: true
              description: Дополнительная информация. Комментарий, специфичный для документа, полученного по данному каналу
          additionalProperties: false

    PrintResponseV2:
      type: object
      properties:
        pdfData:
          type: string
          format: byte
          description: Печатная форма запроса на сертификат в формате PDF (byte)
        cms:
          type: string
          description: содержимое p10-запроса на сертификат
    
    
    Error:
      oneOf:
        - $ref: '#/components/schemas/ErrorResponse'
        - $ref: '#/components/schemas/FintechNotice'
        - $ref: '#/components/schemas/SberapiError'

    SberapiError:
      required:
        - httpCode
        - httpMessage
        - moreInformation
      type: object
      description: Формат ошибочного сообщения, которое возвращает СберАПИ (API GW или SOWA)
      properties:
        httpCode:
          type: string
          pattern: ^[0-9]{1,3}$
          example: '400'
          description: Код ошибки
        httpMessage:
          type: string
          maxLength: 50
          pattern: ^[0-9a-zA-Z\s]*$
          example: Error
          description: Описание ошибки
        moreInformation:
          type: string
          maxLength: 254
          pattern: ^[0-9A-Za-zА-Я-а-я\s-]*$
          example: Error
          description: Дополнительная информация
      additionalProperties: false

    ErrorResponse:
      type: object
      properties:
        cause:
          type: string
          description: Тип ошибки
        referenceId:
          type: string
          format: uuid
          description: Уникальный идентификатор ошибки (UUID)
        message:
          type: string
          description: Сообщение
        checks:
          type: array
          description: Список проверок, приведших к ошибке
          items:
            type: object
            properties:
              level:
                type: string
                description: Уровень результата
              message:
                type: string
                description: Сообщение
              fields:
                type: array
                description: Названия полей (при наличии связи с моделью)
                items:
                  type: string
        internalErrorCode:
          description: Внутренний код ошибки
          nullable: true
          type: string
      additionalProperties: false

    FintechNotice:
      type: object
      title: Notice
      description: Информационное сообщение об ошибке, сбое или предупреждение
      properties:
        cause:
          type: string
          description: Причина или основание сообщения
        referenceId:
          type: string
          description: Уникальный идентификатор (UUID)
        message:
          type: string
          description: Сообщение
      additionalProperties: false
