1 тема (без фильтров)

mail@pastecode.io avatar
unknown
yaml
2 years ago
5.6 kB
3
Indexable
openapi: 3.0.0
info:
  title: Архив API
  description: API для работы с архивом трансфертных ставок
  version: 1.0.0
servers:
  - url: https://api.example.com
paths:
  /archive/transfer-rates:
    get:
      summary: Получить архивные трансфертные ставки
      operationId: getTransferRatesArchive
      tags:
        - archive
      parameters:
        - name: rateType
          in: query
          description: Тип ставок (базовые или плавающие)
          schema:
            type: string
            enum:
              - базовые
              - плавающие
        - name: currency
          in: query
          description: Фильтр по валюте
          schema:
            type: string
        - name: startDate
          in: query
          description: Фильтр по начальной дате
          schema:
            type: string
            format: date
        - name: endDate
          in: query
          description: Фильтр по конечной дате
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Успешный ответ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRatesResponse'
        '504':
          description: Время ожидания истекло
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /archive/transfer-rates/notify:
    post:
      summary: Отправить уведомление о завершении обработки
      operationId: sendProcessingNotification
      tags:
        - archive
      responses:
        '200':
          description: Успешная отправка уведомления
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    TransferRatesResponse:
      type: object
      properties:
        transferRates:
          type: array
          items:
            $ref: '#/components/schemas/TransferRate'
    TransferRate:
      type: object
      properties:
        date:
          type: string
          format: date
        currency:
          type: string
        paymentPeriod:
          type: string
        baseRates:
          type: object
          properties:
            1M:
              type: number
            2M:
              type: number
            3M:
              type: number
            4M:
              type: number
            5M:
              type: number
            6M:
              type: number
            7M:
              type: number
            8M:
              type: number
            9M:
              type: number
            10M:
              type: number
            11M:
              type: number
            12M:
              type: number
            13M:
              type: number
            14M:
              type: number
            15M:
              type: number
            16M:
              type: number
            17M:
              type: number
            18M:
              type: number
            19M:
              type: number
            20M:
              type: number
            21M:
              type: number
            22M:
              type: number
            23M:
              type: number
            24M:
              type: number
            25M:
              type: number
            26M:
              type: number
            27M:
              type: number
            28M:
              type: number
            29M:
              type: number
            30M:
              type: number
            31M:
              type: number
            32M:
              type: number
            33M:
              type: number
            34M:
              type: number
            35M:
              type: number
            36M:
              type: number
            4Y:
              type: number
            5Y:
              type: number
            6Y:
              type: number
            7Y:
              type: number
            8Y:
              type: number
            9Y:
              type: number
            10Y:
              type: number
        floatingRates:
          type: object
          properties:
            effectiveDate:
              type: string
              format: date
            currency:
              type: string
            paymentPeriod:
              type: string
            index:
              type: string
            1M:
              type: number
            2M:
              type: number
            3M:
              type: number
            6M:
              type: number
            1Y:
              type: number
            1Y 1M:
              type: number
            1Y 6M:
              type: number
            2Y:
              type: number
            3Y:
              type: number
            5Y:
              type: number
            7Y:
              type: number
            10Y:
              type: number
    ErrorResponse:
      type: object
      properties:
        error:
          type: string