openapi: 3.0.3
info:
  version: '1.0'
  title: Платформонезависимый интерфейс Агента ПОДД
  description: Предназначен для выполнения SQL-запросов и запросов на загрузку ТП в синхронном и асинхронном режимах, а также запросов BLOB по ссылке через Агент ПОДД
tags:
  - name: query sync
    description: Синхронный вызов запроса с возможностью надстроек
  - name: query async
    description: Асинхронный вызов запроса c возможностью надстроек
  - name: query blob
    description: Запрос BLOB по ссылке для интерфейса с возможностью надстроек
  - name: regulatedQuery sync
    description: Синхронный вызов Регламентированного запроса без надстроек
  - name: regulatedQuery async
    description: Асинхронный вызов Регламентированного запроса без надстроек
  - name: regulatedQuery blob
    description: Запрос BLOB по ссылке для интерфейса без возможности надстроек

paths:
  /query:
    post:
      summary: Синхронный/асинхронный вызов запроса
      description: Синхронное получение результата выполнения SQL запроса или создание асинхронного SQL-запроса
      operationId: syncQueryResultOrAsyncCreate
      tags:
        - query sync
        - query async
      parameters:
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/ClientRequestID'
        - name: async
          in: query
          description: Параметр регулирует, производится ли синхронное выполнение SQL-запроса, либо создаётся асинхронный
          required: false
          schema:
            type: boolean
      requestBody:
        description: Тело запроса
        required: true
        content:
          application/x-www-form-urlencoded; charset=utf-8:
            schema:
              $ref: '#/components/schemas/sqlRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/sqlRequestWithTableParam'
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/sqlRequestWithTableParam'
          multipart/mixed:
            schema:
              $ref: '#/components/schemas/sqlRequestWithTableParam'
      responses:
        '200':
          description: Синхронный SQL-запрос выполнен успешно.
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okSyncResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '201':
          description: Асинхронный SQL-запрос создан.
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okAsyncCreate'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: 'Синхронный и асинхронный вызов: ошибка выполнения SQL-запроса со статусами 400, 403, 406, 429, 500 и 503'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
            Version:
              $ref: '#/components/headers/version'

  '/query/{requestId}':
    get:
      summary: Результат асинхронного запроса
      description: Запрос на получение результата асинхронно вызванного SQL-запроса
      operationId: asyncQueryResult
      tags:
        - query async
      parameters:
        - $ref: '#/components/parameters/ClientRequestID'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/accept'
        - name: requestId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Получен результат асинхронно вызванного SQL-запроса
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okSyncResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '202':
          description: 'Асинхронный вызов: результат по заданному идентификатору запроса еще не поступил'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '404':
          description: 'Асинхронный вызов: результат по заданному идентификатору SQL-запроса не найден'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: Ошибка выполнения SQL-запроса со статусами 400, 403, 406, 429, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              schema:
                type: string
              description: Клиентский идентификатор

    delete:
      summary: Отмена асинхронного запроса
      description: 'Запрос на отмену выполнения асинхронно вызванного SQL-запроса (только для траспорта Pulsar, use-ca: false)'
      operationId: asyncQueryCancel
      tags:
        - query async
      parameters:
        - $ref: '#/components/parameters/ClientRequestID'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/accept'
        - name: requestId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Асинхронный SQL-запрос успешно отменён.
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okAsyncCancel'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              schema:
                type: string
              description: Клиентский идентификатор
        '404':
          description: 'Асинхронный вызов: результат по заданному идентификатору SQL-запроса не найден'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: |
            Ошибка выполнения SQL-запроса со статусами 406, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              schema:
                type: string
              description: Клиентский идентификатор

  '/query/blob/{blobLink}':
    get:
      summary: Получение BLOB по ссылке
      description: Запрос на получение BLOB по ссылке
      operationId: blobLinkQuery
      tags:
        - query blob
      parameters:
        - $ref: '#/components/parameters/ClientRequestID'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/accept'
        - name: blobLink
          in: path
          description: Ссылка на вырузку BLOB
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Содержимое BLOB
          content:
            application/octet-stream:
              schema:
                type: object
          headers:
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
            Version:
              $ref: '#/components/headers/version'
            Content-Length:
              schema:
                type: string
              description: Размер тела объекта в байтах
              required: true
        default:
          description: Ошибка выполнения SQL-запроса со статусами 400, 406, 429, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
            Version:
              $ref: '#/components/headers/version'

  /regulated-query:
    post:
      summary: Синхронный вызов запроса
      description: Запрос на выполнение РЗ без надстроек в синхронном режиме
      operationId: syncRegQueryResult
      tags:
        - regulatedQuery sync
      parameters:
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/ClientRequestID'
      requestBody:
        content:
          application/x-www-form-urlencoded; charset=utf-8:
            schema:
              $ref: '#/components/schemas/RQRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
          multipart/mixed:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
      responses:
        '200':
          description: РЗ в синхронном режиме выполнен успешно
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okSyncResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: Ошибка выполнения SQL-запроса со статусами 400, 403, 406, 429, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'

  /regulated-query/async:
    post:
      summary: Асинхронный вызов запроса
      description: Запрос на выполнение РЗ без надстроек в асинхронном режиме
      operationId: asyncRegQueryCreate
      tags:
        - regulatedQuery async
      parameters:
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/ClientRequestID'
      requestBody:
        content:
          application/x-www-form-urlencoded; charset=utf-8:
            schema:
              $ref: '#/components/schemas/RQRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
          multipart/mixed:
            schema:
              $ref: '#/components/schemas/RQRequestWithTableParam'
      responses:
        '201':
          description: Асинхронный РЗ создан
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okAsyncCreate'
          headers:
            Location:
              $ref: '#/components/headers/Location'
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: Ошибка выполнения SQL-запроса со статусами 400 и 500
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'

  '/regulated-query/{requestId}':
    get:
      summary: Результат асинхронного запроса
      description: Запрос на получение результата асинхронно вызванного РЗ
      operationId: asyncRegQueryResult
      tags:
        - regulatedQuery async
      parameters:
        - $ref: '#/components/parameters/accept'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/ClientRequestID'
        - name: requestId
          in: path
          description: Уникальный идентификатор SQL-запроса
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Получен результат асинхронно вызванного SQL-запроса
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okSyncResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '202':
          description: 'Асинхронный вызов: результат по заданному идентификатору запроса еще не поступил'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '404':
          description: 'Асинхронный вызов: результат по заданному идентификатору SQL-запроса не найден'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: |
            Ошибка выполнения SQL-запроса со статусами 400, 403, 406, 429, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
    delete:
      summary: Удаление результата асинхронного запроса
      description: 'Запрос на удаление результата выполнения асинхронно вызванного РЗ (только для траспорта Rsocket, use-ca: true)'
      operationId: asyncRegQueryCancel
      tags:
        - regulatedQuery async
      parameters:
        - $ref: '#/components/parameters/accept'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/ClientRequestID'
        - name: requestId
          in: path
          description: Уникальный идентификатор SQL-запроса
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Асинхронный SQL-запрос успешно удален
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/okAsyncDelete'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        '404':
          description: 'Асинхронный вызов: результат по заданному идентификатору SQL-запроса не найден'
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
        default:
          description: Ошибка выполнения SQL-запроса со статусами 406, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            Version:
              $ref: '#/components/headers/version'
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'

  '/regulated-query/blob/{blobLink}':
    get:
      summary: Получение BLOB по ссылке
      description: Запрос на получение BLOB по ссылке
      operationId: blobLinkRegQuery
      tags:
        - regulatedQuery blob
      parameters:
        - $ref: '#/components/parameters/ClientRequestID'
        - $ref: '#/components/parameters/acceptVersion'
        - $ref: '#/components/parameters/accept'
        - name: blobLink
          in: path
          description: Ссылка на вырузку BLOB
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Содержимое BLOB
          content:
            application/octet-stream:
              schema:
                type: object
          headers:
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
            Version:
              $ref: '#/components/headers/version'
            Content-Length:
              schema:
                type: string
              description: Размер тела объекта в байтах
              required: true
        default:
          description: Ошибка выполнения SQL-запроса со статусами 400, 406, 429, 500 и 503
          content:
            application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/errorResponse'
          headers:
            ClientRequestID:
              $ref: '#/components/headers/ClientRequestID'
            Version:
              $ref: '#/components/headers/version'

components:

  ########## Параметры ##########
  parameters:
    acceptVersion:
      name: Accept-Version
      in: header
      description: Основная (major) часть версии (сейчас 1)
      required: true
      schema:
        enum:
          - '1'
    accept:
      name: Accept
      in: header
      description: Тип контента
      required: true
      schema:
        enum:
          - application/vnd.ru.rtlabs.podd.agent+json; charset=utf-8

    ClientRequestID:
      name: ClientRequestID
      in: header
      description: Клиентский идентификатор
      schema:
        type: string

          ########## Заголовки ##########
  headers:
    version:
      schema:
        enum:
          - '1.0'
      description: Версия API
      required: true
    ClientRequestID:
      schema:
        type: string
      description: Клиентский идентификатор
    Location:
      schema:
        type: string
        format: url
      description: Относительный URL, где доступен результат асинхронного запроса
      required: true

  schemas:
    ########## Общие схемы ##########

    typesParams:
      enum:
        - STRING
        - LONG
        - INTEGER
        - BIG_DECIMAL
        - DOUBLE
        - FLOAT
        - DATE
        - TIME
        - TIMESTAMP
        - BOOLEAN
      title: Типы параметров

    typesAttributes:
      enum:
        - STRING
        - LONG
        - INTEGER
        - BIG_DECIMAL
        - DOUBLE
        - FLOAT
        - DATE
        - TIME
        - TIMESTAMP
        - BOOLEAN
        - BINARY
      title: Типы атрибутов возвращаемых данных

    ########## Схемы для запросов без ТП ##########
    sqlRequest:
      type: object
      description: SQL-запрос с возможностью надстроек
      properties:
        priority:
          $ref: '#/components/schemas/sqlRequestPriority'
        timeout:
          type: string
          description: Предельное время ожидания выполнения запроса в секундах
        sql:
          type: string
          description: Текст SQL-запроса
        params:
          type: array
          description: 'Параметры SQL-запроса: могут указываться в SQL, в случае указания в данном параметре в SQL указывается (?)'
          items:
            $ref: '#/components/schemas/sqlRequestParam'
        maxRows:
          type: string
          description: Максимальное количество возвращаемых записей таблицы ответа. Если не задан, возвращаются все записи
      required:
        - priority
        - sql

    sqlRequestPriority:
      enum:
        - NORMAL
        - HIGH
      description: Приоритет запроса

    RQRequest:
      type: object
      title: RQRequest
      description: Вызов РЗ без надстроек
      properties:
        priority:
          $ref: '#/components/schemas/sqlRequestPriority'
        timeout:
          type: string
          description: Предельное время ожидания выполнения запроса в секундах
        datamart:
          type: string
          description: Витрина Поставщика данных, к которой производится обращение
        mnemonic:
          type: string
          description: Мнемоника РЗ
        majorVersion:
          type: integer
          description: Версия РЗ
        minorVersion:
          type: integer
          description: Версия РЗ
        params:
          type: array
          items:
            $ref: '#/components/schemas/sqlRequestNamedParam'
      required:
        - priority
        - datamart
        - mnemonic

    ########## Параметры запросов ##########

    sqlRequestParam:
      type: object
      description: Динамический параметр SQL-запроса.
      properties:
        type:
          description: Тип параметра
          $ref: '#/components/schemas/typesParams'
        value:
          type: string
          description: Значение параметра
      required:
        - type
        - value

    sqlRequestNamedParam:
      type: object
      description: Именованный параметр SQL-запроса.
      properties:
        name:
          type: string
          description: Наименование именованного параметра
        type:
          description: Тип параметра
          $ref: '#/components/schemas/typesParams'
        value:
          type: string
          description: Значение параметра
      required:
        - type
        - value

    ########## Схемы для запросов с ТП ##########

    sqlRequestWithTableParam:
      type: object
      title: sqlRequestWithTableParam
      description: SQL-запрос с табличным параметром
      properties:
        priority:
          $ref: '#/components/schemas/sqlRequestPriority'
        timeout:
          type: string
          description: Предельное время ожидания выполнения запроса в секундах
        sql:
          type: string
          description: Текст SQL-запроса
        params:
          type: array
          description: Параметры SQL-запроса.
          items:
            $ref: '#/components/schemas/sqlRequestParam'
        tableParams:
          type: array
          description: Описание передаваемого файла с данными для табличного параметра
          items:
            $ref: '#/components/schemas/sqlRequestTableParams'
        <table_param_name>:
          anyOf:
            - $ref: '#/components/schemas/sqlRequestCSV'
            - $ref: '#/components/schemas/sqlRequestZIP'
      required:
        - priority
        - sql
        - tableParams
        - <table_param_name>

    sqlRequestTableParams:
      type: object
      title: sqlRequestTableParams
      description: SQL-запрос с табличным параметром
      properties:
        name:
          type: string
          description: Наименование табличного параметра, соответствующее указанному в SQL-выражении, в формате "@<table_param_name>"
        columns:
          type: array
          items:
            $ref: '#/components/schemas/responseColumnDescription'
      required:
        - name
        - columns

    sqlRequestCSV:
      type: object
      title: sqlRequestCSV
      description: Файл с данными для табличного параметра
      properties:
        application/csv:
          description: Файл в формате .csv

    sqlRequestZIP:
      type: object
      title: sqlRequestZIP
      description: Файл с данными для табличного параметра
      properties:
        application/zip:
          description: Файл в формате .zip

    RQRequestWithTableParam:
      type: object
      title: RQRequestWithTableParam
      description: РЗ с табличным параметром
      properties:
        priority:
          $ref: '#/components/schemas/sqlRequestPriority'
        timeout:
          type: string
          description: Предельное время ожидания выполнения запроса в секундах
        datamart:
          type: string
          description: Витрина Поставщика данных, к которой производится обращение
        mnemonic:
          type: string
          description: Мнемоника РЗ
        majorVersion:
          type: integer
          description: Версия РЗ
        minorVersion:
          type: integer
          description: Версия РЗ
        params:
          type: array
          description: Параметры SQL-запроса.
          items:
            $ref: '#/components/schemas/sqlRequestNamedParam'
        tableParams:
          type: array
          description: Описание передаваемого файла с данными для табличного параметра
          items:
            $ref: '#/components/schemas/sqlRequestTableParams'
        <table_param_name>:
          anyOf:
            - $ref: '#/components/schemas/sqlRequestCSV'
            - $ref: '#/components/schemas/sqlRequestZIP'
      required:
        - priority
        - datamart
        - mnemonic
        - tableParams
        - <table_param_name>

    ########## Схемы для ответов ##########

    okSyncResponse:
      type: object
      description: Ответ с результатом успешного запроса.
      properties:
        created_at:
          type: string
          description: Время формирования ответа
          format: date-time
        query_id:
          type: string
          description: Идентификатор выполненного SQL-запроса в ПОДД
          format: uuid
        rows:
          type: array
          description: Результат выполнения SQL-запроса в виде массива строк
          items:
            type: array
            description: Строка результата выполнения SQL-запроса.
            items:
              $ref: '#/components/schemas/responseDataItem'
        meta:
          type: array
          description: Описание колонок результата
          items:
            $ref: '#/components/schemas/responseColumnDescription'
      required:
        - created_at
        - query_id
        - meta

    responseDataItem:
      type: string

    okAsyncCreate:
      type: object
      description: Ответ на успешное создание асинхронного SQL-запроса.
      properties:
        id:
          type: string
          description: Идентификатор созданного SQL-запроса.
          format: uuid
        deadline:
          type: string
          description: Время, до которого доступен результат выполнения запроса
          format: date-time
      required:
        - id
        - deadline

    errorResponse:
      type: object
      description: Ответ с ошибкой выполнения запроса
      properties:
        created_at:
          type: string
          description: Время формирования ответа
          format: date-time
        query_id:
          type: string
          description: Идентификатор запроса
          format: uuid
        error:
          type: string
          description: Текст ошибки

    okAsyncCancel:
      type: object
      description: Ответ на успешную отмену асинхронного запроса
      properties:
        query_id:
          type: string
          description: Уникальный идентификатор SQL-запроса
          format: uuid
        success:
          enum:
            - Запрос отменён.
          description: Строка с константным значением «Запрос отменён»
      required:
        - query_id
        - success

    okAsyncDelete:
      type: object
      description: Ответ на успешное удаление результата асинхронного запроса
      properties:
        query_id:
          type: string
          description: Уникальный идентификатор SQL-запроса
          format: uuid
        success:
          enum:
            - Запрос удален.
          description: Строка с константным значением «Запрос удален»
      required:
        - query_id
        - success

    responseColumnDescription:
      type: object
      description: Описание колонки в ответе
      properties:
        name:
          type: string
          description: Наименование
        type:
          $ref: '#/components/schemas/typesAttributes'
      required:
        - name
        - type



