openapi: 3.0.3
info:
  title: bell
  version: 1.0.1784211198183
  description: Сервис bell
  license:
    name: CC BY-NC-ND 4.0
    url: https://gitlab.infra.rtkit.dev/openapi/key/raw/main/LICENCE.md
tags:
  - name: notification(auth)
    description: Методы notification. Требуют авторизацию. Доступны из интернета
  - name: system(public)
    description: Методы system. Не требуют авторизацию. Доступны из интернета
paths:
  /bell/api/v1/notification:
    post:
      summary: |-
        Метод сохранения уведомления.
        Поддерживает только создание.
        Метод доступен для: service
      operationId: NotificationService_PostNotification
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationResponse"
        "400":
          description: Ошибка
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationResponse"
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "409":
          description: В базе данных хранится более новая версия объекта
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationResponse"
        default:
          description: Ошибки транспортного слоя
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/v1PostNotificationRequest"
        required: true
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:edit
          bearerHttp: []
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
  /bell/api/v1/notification/count:
    get:
      summary: |-
        Метод получения количества уведомлений.
        Метод доступен для: admin, manager, master, slave, service
      operationId: NotificationService_GetNotificationCount
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationCountResponse"
        "400":
          description: Ошибка
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationCountResponse"
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationCountResponse"
        default:
          description: Ошибки транспортного слоя
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: filter.orpons
          description: По ОРПОН
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              format: int64
        - name: filter.roomNumbers
          description: По номерам квартир
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: filter.statusTypes
          description: |-
            По статусам

             - STATUS_TYPE_UNKNOWN: Значение не указано
             - NEW: Новый.
            Устанавливается по умолчанию
             - DELIVERED: Доставлен
             - VIEWED: Просмотрен
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - NEW
                - DELIVERED
                - VIEWED
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:read
            - bell:edit
          bearerHttp: []
  /bell/api/v1/notification/list:
    get:
      summary: |-
        Метод получения списка уведомлений.
        Метод доступен для: admin, manager, master, slave, service
      operationId: NotificationService_GetNotificationList
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    $ref: "#/components/schemas/v1GetNotificationListResponse"
                  error:
                    $ref: "#/components/schemas/rpcStatus"
                title: Поток объектов v1GetNotificationListResponse
        "400":
          description: Ошибка
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: filter.orpons
          description: По ОРПОН
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              format: int64
        - name: filter.roomNumbers
          description: По номерам квартир
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: filter.statusTypes
          description: |-
            По статусам

             - STATUS_TYPE_UNKNOWN: Значение не указано
             - NEW: Новый.
            Устанавливается по умолчанию
             - DELIVERED: Доставлен
             - VIEWED: Просмотрен
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - NEW
                - DELIVERED
                - VIEWED
        - name: paging.orderByType
          description: |-
            Тип значения сортировки.
            Если значение не передано, то будет взято значение по умолчанию.
            # По умолчанию: CREATED_AT

             - ORDER_BY_TYPE_UNKNOWN: Значение не указано
             - CREATED_AT: По дате создания
             - STATUS_CHANGED_AT: По дате последнего изменения статуса
          in: query
          required: false
          schema:
            type: string
            enum:
              - CREATED_AT
              - STATUS_CHANGED_AT
        - name: paging.directionType
          description: |-
            Тип направления сортировки.
            # По умолчанию: DESC

             - DIRECTION_TYPE_UNKNOWN: Значение не указано
             - DESC: От большего к меньшему
             - ASC: От меньшего к большему
          in: query
          required: false
          schema:
            type: string
            enum:
              - DESC
              - ASC
        - name: paging.limit
          description: |-
            Количество записей на страницу.
            Если значение 0 (не передано), то будет взято значение по умолчанию.
            # Диапазон: 0..100.
            # По умолчанию: 20
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: paging.offset
          description: |-
            Сдвиг.
            # Диапазон: 0..2147483647
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:read
            - bell:edit
          bearerHttp: []
  "/bell/api/v1/notification/view/orpon/{orpon}/room_number/{roomNumber}":
    post:
      summary: >-
        Метод изменения статуса уведомлений на "Просмотрено" по ОРПОНу и номеру
        квартиры.

        Метод доступен для: master, slave, service
      operationId: NotificationService_PostNotificationViewOrponRoomNumber
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewOrponRoomNumberResponse"
        "400":
          description: Ошибка
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewOrponRoomNumberResponse"
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "404":
          description: Объект не найден
        "409":
          description: В базе данных хранится более новая версия объекта
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewOrponRoomNumberResponse"
        default:
          description: Ошибки транспортного слоя
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: orpon
          description: |-
            ОРПОН.
            # Диапазон: 1..9223372036854775807
          in: path
          required: true
          schema:
            type: string
            format: int64
        - name: roomNumber
          description: |-
            Номер квартиры.
            # Диапазон: 1..4
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:edit
          bearerHttp: []
  "/bell/api/v1/notification/{id}":
    get:
      summary: |-
        Метод получения уведомления.
        Метод доступен для: admin, manager, master, slave, service
      operationId: NotificationService_GetNotification
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationResponse"
        "400":
          description: Ошибка
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationResponse"
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "404":
          description: Объект не найден
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetNotificationResponse"
        default:
          description: Ошибки транспортного слоя
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: id
          description: |-
            Идентификатор уведомления.
            # Тип: Guid
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:read
            - bell:edit
          bearerHttp: []
  "/bell/api/v1/notification/{id}/view":
    post:
      summary: |-
        Метод изменения статуса уведомления на "Просмотрено".
        Метод доступен для: master, slave, service
      operationId: NotificationService_PostNotificationView
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewResponse"
        "400":
          description: Ошибка
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewResponse"
        "401":
          description: Запрос не авторизован
        "403":
          description: В доступе отказано
        "404":
          description: Объект не найден
        "409":
          description: В базе данных хранится более новая версия объекта
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1PostNotificationViewResponse"
        default:
          description: Ошибки транспортного слоя
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      parameters:
        - name: id
          description: |-
            Идентификатор уведомления.
            # Тип: Guid
          in: path
          required: true
          schema:
            type: string
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
      tags:
        - notification(auth)
      security:
        - oauth2:
            - bell:edit
          bearerHttp: []
  /bell/api/v1/system/status:
    get:
      summary: |-
        Метод получения статуса сервиса.
        Не требует авторизации
      operationId: SystemService_GetSystemStatus
      responses:
        "200":
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/v1GetSystemStatusResponse"
        "400":
          description: Ошибка
        "500":
          description: Внутренняя ошибка сервиса
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/rpcStatus"
      tags:
        - system(public)
      parameters:
        - in: header
          name: X-Request-Id
          schema:
            type: string
            format: uuid
          description: Уникальный идентификатор запроса. Создаётся клиентом на каждый запрос
        - in: header
          name: X-Device-Id
          schema:
            type: string
          description: Уникальный идентификатор устройства. Создаётся клиентом при первом
            запуске приложения. Если есть способ однозначно узнать идентификатор
            устройства, то создаётся на основе него и остаётся неизменным после
            переустановки приложения
        - in: header
          name: X-Api-Key
          schema:
            type: string
          description: Уникальный ключ для партнера. Создается администратором и
            передается партнерам.
        - in: header
          name: Canary
          schema:
            type: string
          description: Параметр балансировки запроса. Если для заголовка запроса
            установлено значение always, он будет перенаправлен на канареечный
            деплой. Если для заголовка установлено значение never, он никогда не
            будет перенаправлен на канареечный деплой
components:
  schemas:
    NotificationPagingDirectionType:
      type: string
      enum:
        - DESC
        - ASC
      description: |-
        - DIRECTION_TYPE_UNKNOWN: Значение не указано
         - DESC: От большего к меньшему
         - ASC: От меньшего к большему
      title: |-
        Справочник типов направлений сортировки.
        # Тип: byte
    NotificationPagingOrderByType:
      type: string
      enum:
        - CREATED_AT
        - STATUS_CHANGED_AT
      description: |-
        - ORDER_BY_TYPE_UNKNOWN: Значение не указано
         - CREATED_AT: По дате создания
         - STATUS_CHANGED_AT: По дате последнего изменения статуса
      title: |-
        Справочник типов значений сортировки.
        # Тип: byte
    NotificationStatusType:
      type: string
      enum:
        - NEW
        - DELIVERED
        - VIEWED
      description: |-
        - STATUS_TYPE_UNKNOWN: Значение не указано
         - NEW: Новый.
        Устанавливается по умолчанию
         - DELIVERED: Доставлен
         - VIEWED: Просмотрен
      title: Статус
    protobufAny:
      type: object
      properties:
        "@type":
          type: string
      additionalProperties: {}
      title: Произвольный JSON
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: "#/components/schemas/protobufAny"
      title: Ошибка транспортного слоя
    v1GetNotificationCountResponse:
      type: object
      properties:
        data:
          type: integer
          format: int32
          title: Количество уведомлений
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1GetNotificationCountResponseError"
      title: Ответ на запрос на получение количества уведомлений
    v1GetNotificationCountResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка запроса на получение количества уведомлений
    v1GetNotificationListResponse:
      type: object
      properties:
        data:
          title: Уведомление
          allOf:
            - $ref: "#/components/schemas/v1Notification"
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1GetNotificationListResponseError"
      title: Ответ на запрос на получение списка уведомлений
    v1GetNotificationListResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка запроса на получение списка уведомлений
    v1GetNotificationResponse:
      type: object
      properties:
        data:
          title: Уведомление
          allOf:
            - $ref: "#/components/schemas/v1Notification"
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1GetNotificationResponseError"
      title: Ответ на запрос на получение уведомления
    v1GetNotificationResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка запроса на получение уведомления
    v1GetSystemStatusResponse:
      type: object
      title: Ответ на запрос проверки доступности сервиса
    v1Notification:
      type: object
      properties:
        id:
          type: string
          title: |-
            Идентификатор.
            Создаётся сервером.
            # Тип: Guid
          readOnly: true
        orpon:
          type: string
          format: int64
          title: |-
            ОРПОН.
            # Диапазон 1..9223372036854775807
        appTitle:
          type: string
          title: |-
            Наименование приложения-отправителя.
            # Диапазон: 3..256
        roomNumber:
          type: string
          title: |-
            Номер квартиры.
            # Диапазон: 1..4
        header:
          type: string
          title: |-
            Заголовок.
            # Диапазон: 3..128
        text:
          type: string
          title: |-
            Тело.
            # Диапазон: 3..256
        statusType:
          title: Статус
          readOnly: true
          allOf:
            - $ref: "#/components/schemas/NotificationStatusType"
        createdAt:
          type: string
          format: date-time
          title: |-
            Дата создания.
            # Тип: DateTime
          readOnly: true
        statusChangedAt:
          type: string
          format: date-time
          title: |-
            Дата последнего изменения статуса.
            Заполняется и обновляется сервером.
            # Тип: DateTime
          readOnly: true
        payload:
          type: object
          additionalProperties:
            type: string
          title: Полезная нагрузка
      title: |-
        Уведомление.
        # Описание модели
      required:
        - orpon
        - roomNumber
        - header
        - text
    v1NotificationFilter:
      type: object
      properties:
        orpons:
          type: array
          items:
            type: string
            format: int64
          title: По ОРПОН
        roomNumbers:
          type: array
          items:
            type: string
          title: По номерам квартир
        statusTypes:
          type: array
          items:
            $ref: "#/components/schemas/NotificationStatusType"
          title: По статусам
      title: Фильтр уведомлений
    v1NotificationPaging:
      type: object
      properties:
        orderByType:
          title: |-
            Тип значения сортировки.
            Если значение не передано, то будет взято значение по умолчанию.
            # По умолчанию: CREATED_AT
          allOf:
            - $ref: "#/components/schemas/NotificationPagingOrderByType"
        directionType:
          title: |-
            Тип направления сортировки.
            # По умолчанию: DESC
          allOf:
            - $ref: "#/components/schemas/NotificationPagingDirectionType"
        limit:
          type: integer
          format: int32
          title: |-
            Количество записей на страницу.
            Если значение 0 (не передано), то будет взято значение по умолчанию.
            # Диапазон: 0..100.
            # По умолчанию: 20
        offset:
          type: integer
          format: int32
          title: |-
            Сдвиг.
            # Диапазон: 0..2147483647
      title: Постраничный вывод
    v1PostNotificationRequest:
      type: object
      properties:
        data:
          title: Уведомление
          allOf:
            - $ref: "#/components/schemas/v1Notification"
      title: Запрос сохранения уведомления
      required:
        - data
    v1PostNotificationResponse:
      type: object
      properties:
        data:
          title: Уведомление
          allOf:
            - $ref: "#/components/schemas/v1Notification"
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1PostNotificationResponseError"
      title: Ответ на запрос сохранения уведомления
    v1PostNotificationResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка сохранения уведомления
    v1PostNotificationViewOrponRoomNumberResponse:
      type: object
      properties:
        data:
          type: integer
          format: int32
          title: Количество изменённых уведомлений
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1PostNotificationViewOrponRoomNumberResponseError"
      title: Ответ на изменение статуса уведомлений на "Просмотрено" по ОРПОНу и
        номеру квартиры
    v1PostNotificationViewOrponRoomNumberResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка
    v1PostNotificationViewResponse:
      type: object
      properties:
        error:
          title: Ошибка
          allOf:
            - $ref: "#/components/schemas/v1PostNotificationViewResponseError"
      title: Ответ на изменение статуса уведомления на "Просмотрено" уведомления
    v1PostNotificationViewResponseError:
      type: object
      properties:
        validation:
          title: Ошибка валидации
          allOf:
            - $ref: "#/components/schemas/v1ValidationError"
      title: Ошибка
    v1ValidationError:
      type: object
      properties:
        path:
          type: string
          title: Путь к полю в формате наименования прото
        message:
          type: string
          title: Валидационное сообщение
      title: |-
        Ошибки валидации.
        Эти проверки выполняются до обращения в базу данных
      required:
        - path
        - message
  securitySchemes:
    bearerHttp:
      type: http
      scheme: bearer
      bearerFormat: JWT
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://oauth2-staging.k8s.key.rt.ru/oauth2/token
          scopes:
            bell:edit: Предоставляет полный доступ в сервис bell
            bell:read: Предоставляет доступ на чтение данных из сервиса bell
servers:
  - url: https://keyapis-staging.k8s.key.rt.ru
    description: staging
  - url: https://{feature}.k8s.key.rt.ru/
    description: https feature
    variables:
      feature:
        default: ""
        description: Feature name
  - url: http://{feature}.k8s.key.rt.ru/
    description: http feature
    variables:
      feature:
        default: ""
        description: Feature name
  - url: https://localhost:3001
    description: localhost
  - url: https://keyapis.key.rt.ru
    description: production
