{
  "openapi": "3.0.1",
  "info": {
    "title": "Bonds-Lab B2B API",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://owa.bonds-lab.ru",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/v1/b2b/tariffs": {
      "get": {
        "tags": [
          "B2b"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/B2bTariffDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/B2bTariffDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/B2bTariffDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/subscribe": {
      "post": {
        "tags": [
          "B2b"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/pay-with-saved-card": {
      "post": {
        "tags": [
          "B2b"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaySavedCardRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaySavedCardRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaySavedCardRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/generate-key": {
      "post": {
        "tags": [
          "B2b"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateKeyResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateKeyResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateKeyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/subscription": {
      "get": {
        "tags": [
          "B2b"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/B2bSubscriptionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bSubscriptionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bSubscriptionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/cancel-auto-renewal": {
      "post": {
        "tags": [
          "B2b"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2b/resume-auto-renewal": {
      "post": {
        "tags": [
          "B2b"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/B2bMessageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/placements": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicOfferingResponseDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicOfferingResponseDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicOfferingResponseDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/instruments": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "SearchQuery",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Currency",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NominalCurrency",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NominalStrict",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NominalFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NominalTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "PriceFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "PriceTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponPrcFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponPrcTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponQuantityPerYear",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "AmortizationFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "FloatingCouponFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "MarginAbleFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "ForQualInvestorFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "HasEventsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "SingleBusinessFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "DefaultFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "TechnicalDefaultFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "AvailableInTFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "AvailableInAutofollowFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "InPortfolioFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "PortfolioFigis",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "MarkedEmitentsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "UniqueEmitentsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "CollectionId",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PlacementDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "PlacementDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MatureDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MatureDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstCallDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstCallDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstMtyDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstMtyDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "NextCouponDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "NextCouponDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CreditRatingFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CreditRatingTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NetDebtToEbitdaFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetDebtToEbitdaTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToEquityFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToEquityTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToAssetsFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToAssetsTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaToInterestExpenseFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaToInterestExpenseTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "OperatingCashFlowToTotalDebtFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "OperatingCashFlowToTotalDebtTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaMarginFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaMarginTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetProfitMarginFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetProfitMarginTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnAssetsFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnAssetsTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnInvestmentFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnInvestmentTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentRatioFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentRatioTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "QuickRatioFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "QuickRatioTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "Sorts",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "YieldFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "YieldTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "DurationFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "DurationTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentYieldFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentYieldTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "SpreadFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "SpreadTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "RateType",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/BondRateType"
            }
          },
          {
            "name": "GSpreadFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "GSpreadTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BondListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BondListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BondListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/instruments/{id}": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FinalBondResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalBondResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FinalBondResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/market-overview": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "SearchQuery",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Currency",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NominalCurrency",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NominalStrict",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NominalFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NominalTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "PriceFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "PriceTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponPrcFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponPrcTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CouponQuantityPerYear",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "AmortizationFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "FloatingCouponFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "MarginAbleFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "ForQualInvestorFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "HasEventsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "SingleBusinessFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "DefaultFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "TechnicalDefaultFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "AvailableInTFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "AvailableInAutofollowFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "InPortfolioFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "PortfolioFigis",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "MarkedEmitentsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/Flag"
            }
          },
          {
            "name": "UniqueEmitentsFlag",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "CollectionId",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PlacementDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "PlacementDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MatureDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "MatureDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstCallDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstCallDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstMtyDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FirstMtyDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "NextCouponDateFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "NextCouponDateTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CreditRatingFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CreditRatingTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NetDebtToEbitdaFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetDebtToEbitdaTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToEquityFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToEquityTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToAssetsFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "TotalDebtToAssetsTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaToInterestExpenseFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaToInterestExpenseTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "OperatingCashFlowToTotalDebtFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "OperatingCashFlowToTotalDebtTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaMarginFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "EbitdaMarginTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetProfitMarginFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "NetProfitMarginTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnAssetsFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnAssetsTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnInvestmentFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "ReturnOnInvestmentTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentRatioFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentRatioTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "QuickRatioFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "QuickRatioTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "Sorts",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "YieldFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "YieldTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "DurationFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "DurationTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentYieldFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "CurrentYieldTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "SpreadFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "SpreadTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "RateType",
            "in": "query",
            "style": "form",
            "schema": {
              "$ref": "#/components/schemas/BondRateType"
            }
          },
          {
            "name": "GSpreadFrom",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "GSpreadTo",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMapResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMapResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketMapResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/holdings": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PortfolioDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/holdings/{portfolioId}": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "portfolioId",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TinkoffPortfolioResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TinkoffPortfolioResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TinkoffPortfolioResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/issuers": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "isTracked",
            "in": "query",
            "style": "form",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SimplifiedBrandsListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplifiedBrandsListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplifiedBrandsListResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/alternatives/{isin}": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "isin",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AlternativeBondsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlternativeBondsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AlternativeBondsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/data/placements/{id}": {
      "get": {
        "tags": [
          "B2bData"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PublicOfferingResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicOfferingResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicOfferingResponseDto"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AlternativeBondsResponse": {
        "type": "object",
        "properties": {
          "higherRiskYield": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinalBondResponse"
            },
            "nullable": true
          },
          "lowerRiskYield": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinalBondResponse"
            },
            "nullable": true
          },
          "higherRiskYieldCount": {
            "type": "integer",
            "format": "int32"
          },
          "lowerRiskYieldCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "B2bMessageResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "B2bSubscriptionResponse": {
        "type": "object",
        "properties": {
          "isActive": {
            "type": "boolean"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "apiKeyPrefix": {
            "type": "string",
            "nullable": true
          },
          "autoRenewal": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "B2bTariffDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "durationDays": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BondAmortization": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "percent": {
            "type": "number",
            "format": "double"
          },
          "value": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BondCoupon": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "valuePrc": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BondCouponLadder": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "newPercent": {
            "type": "number",
            "format": "double"
          },
          "paymentsCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BondCouponType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "BondDtoResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "ticker": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "nominalCurrency": {
            "type": "string",
            "nullable": true
          },
          "couponQuantityPerYear": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "currentNominal": {
            "type": "number",
            "format": "double"
          },
          "maturityDate": {
            "type": "string",
            "format": "date-time"
          },
          "aciValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "nextCouponValuePrc": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "nextCouponValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "nextCouponDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "marginAbleFlag": {
            "type": "boolean"
          },
          "forQualInvestorFlag": {
            "type": "boolean"
          },
          "amortizationFlag": {
            "type": "boolean"
          },
          "floatingCouponFlag": {
            "type": "boolean"
          },
          "defaultFlag": {
            "type": "boolean"
          },
          "technicalDefaultFlag": {
            "type": "boolean"
          },
          "isMarkedIssuer": {
            "type": "boolean"
          },
          "nextMaturityDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "nextMaturityValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "nextCall": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "nextCallType": {
            "type": "string",
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean"
          },
          "yield": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currentYield": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "duration": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "rateType": {
            "$ref": "#/components/schemas/BondRateType"
          },
          "spread": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "gSpread": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "amortizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BondAmortization"
            },
            "nullable": true
          },
          "coupons7Months": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BondCoupon"
            },
            "nullable": true
          },
          "couponLadders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BondCouponLadder"
            },
            "nullable": true
          },
          "couponType": {
            "$ref": "#/components/schemas/BondCouponType"
          },
          "shortName": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          },
          "volume": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "availableInT": {
            "type": "boolean"
          },
          "availableInAutofollow": {
            "type": "boolean",
            "nullable": true
          },
          "creditRating": {
            "type": "string",
            "nullable": true
          },
          "placementDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "isin": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BondListResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "collectionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "collectionName": {
            "type": "string",
            "nullable": true
          },
          "bonds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinalBondResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BondRateType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "BrandBusinessResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "logoName": {
            "type": "string",
            "nullable": true
          },
          "creditRating": {
            "type": "string",
            "nullable": true
          },
          "docType": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "disclosureUrl": {
            "type": "string",
            "nullable": true
          },
          "consolidatedReportUrl": {
            "type": "string",
            "nullable": true
          },
          "accountingReportUrl": {
            "type": "string",
            "nullable": true
          },
          "msfoReportName": {
            "type": "string",
            "nullable": true
          },
          "rsbuReportName": {
            "type": "string",
            "nullable": true
          },
          "inn": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "isSpv": {
            "type": "boolean"
          },
          "isSfoOrMortgageAgent": {
            "type": "boolean"
          },
          "guarantorId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sector": {
            "type": "string",
            "nullable": true
          },
          "subSector": {
            "type": "string",
            "nullable": true
          },
          "investmentPros": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "investmentCons": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "keyRisks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "latestReportTitle": {
            "type": "string",
            "nullable": true
          },
          "latestReportDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "latestReportPeriodMonths": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "latestReportStandard": {
            "type": "string",
            "nullable": true
          },
          "latestReportCurrency": {
            "type": "string",
            "nullable": true
          },
          "currentPeriodLabel": {
            "type": "string",
            "nullable": true
          },
          "previousPeriodLabel": {
            "type": "string",
            "nullable": true
          },
          "latestMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FinancialMetricResponse"
            },
            "nullable": true
          },
          "debtRepaymentSchedule": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DebtRepaymentScheduleItemDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePaymentRequest": {
        "type": "object",
        "properties": {
          "tariffType": {
            "$ref": "#/components/schemas/TariffType"
          }
        },
        "additionalProperties": false
      },
      "DebtRepaymentScheduleItemDto": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string",
            "format": "date-time"
          },
          "couponsSum": {
            "type": "number",
            "format": "double"
          },
          "amortizationsSum": {
            "type": "number",
            "format": "double"
          },
          "maturitiesSum": {
            "type": "number",
            "format": "double"
          },
          "offersSum": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "FinalBondResponse": {
        "type": "object",
        "properties": {
          "bondResponse": {
            "$ref": "#/components/schemas/BondDtoResponse"
          },
          "brandBusinessDtoResponse": {
            "$ref": "#/components/schemas/BrandBusinessResponse"
          },
          "otherBonds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BondDtoResponse"
            },
            "nullable": true
          },
          "isInPortfolio": {
            "type": "boolean",
            "nullable": true
          },
          "issuerHoldPercent": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FinancialMetricResponse": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "previousValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "zone": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "string",
            "nullable": true
          },
          "isRelative": {
            "type": "boolean"
          },
          "isPercentage": {
            "type": "boolean"
          },
          "isLtm": {
            "type": "boolean"
          },
          "isReversed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Flag": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "GenerateKeyResponse": {
        "type": "object",
        "properties": {
          "apiKey": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MarketMapBondDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "ticker": {
            "type": "string",
            "nullable": true
          },
          "creditRating": {
            "type": "string",
            "nullable": true
          },
          "durationYears": {
            "type": "number",
            "format": "double"
          },
          "yield": {
            "type": "number",
            "format": "double"
          },
          "gSpread": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "isToEvent": {
            "type": "boolean"
          },
          "eventType": {
            "type": "string",
            "nullable": true
          },
          "issuerName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MarketMapResponse": {
        "type": "object",
        "properties": {
          "ofzYieldCurve": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfzYieldPointDto"
            },
            "nullable": true
          },
          "bonds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketMapBondDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OfzYieldPointDto": {
        "type": "object",
        "properties": {
          "durationYears": {
            "type": "number",
            "format": "double"
          },
          "yield": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PaymentResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaySavedCardRequest": {
        "type": "object",
        "properties": {
          "paymentMethodId": {
            "type": "string",
            "format": "uuid"
          },
          "tariffType": {
            "$ref": "#/components/schemas/TariffType"
          }
        },
        "additionalProperties": false
      },
      "PortfolioBenchmark": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "ticker": {
            "type": "string",
            "nullable": true
          },
          "halfYearReturn": {
            "type": "number",
            "format": "double"
          },
          "oneYearReturn": {
            "type": "number",
            "format": "double"
          },
          "lifetimeAnnualizedReturn": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PortfolioDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "hasValidTinkoffToken": {
            "type": "boolean"
          },
          "currentTotalValue": {
            "type": "number",
            "format": "double"
          },
          "investedTotalValue": {
            "type": "number",
            "format": "double"
          },
          "totalAci": {
            "type": "number",
            "format": "double"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastSyncDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "PortfolioMonthlyIncome": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "format": "int32"
          },
          "month": {
            "type": "integer",
            "format": "int32"
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "fixedCouponAmount": {
            "type": "number",
            "format": "double"
          },
          "floaterCouponAmount": {
            "type": "number",
            "format": "double"
          },
          "amortizationAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PortfolioUpcomingPayout": {
        "type": "object",
        "properties": {
          "bondName": {
            "type": "string",
            "nullable": true
          },
          "ticker": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "couponYield": {
            "type": "number",
            "format": "double"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicOfferingOtherBondDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "maturityDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "rateText": {
            "type": "string",
            "nullable": true
          },
          "creditRating": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicOfferingRatingDto": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "agency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicOfferingResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "placementDateLabel": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "ratings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicOfferingRatingDto"
            },
            "nullable": true
          },
          "couponRate": {
            "type": "string",
            "nullable": true
          },
          "couponPeriod": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "maturityDateLabel": {
            "type": "string",
            "nullable": true
          },
          "volume": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "issuerInn": {
            "type": "string",
            "nullable": true
          },
          "existingBondIsin": {
            "type": "string",
            "nullable": true
          },
          "brand": {
            "$ref": "#/components/schemas/BrandBusinessResponse"
          },
          "otherBonds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BondDtoResponse"
            },
            "nullable": true
          },
          "otherBondsMinimal": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicOfferingOtherBondDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SimplifiedBrandResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "logoName": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "bondName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SimplifiedBrandsListResponse": {
        "type": "object",
        "properties": {
          "brands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SimplifiedBrandResponse"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TariffType": {
        "enum": [
          "Month1",
          "Month3",
          "Month6",
          "Year1",
          "Forever",
          "Trial14Days",
          "Year1Fomo",
          "B2bMonth1",
          "B2bMonth3",
          "B2bMonth6",
          "B2bYear1"
        ],
        "type": "string"
      },
      "TinkoffPortfolioPosition": {
        "type": "object",
        "properties": {
          "bondId": {
            "type": "string",
            "format": "uuid"
          },
          "figi": {
            "type": "string",
            "nullable": true
          },
          "isin": {
            "type": "string",
            "nullable": true
          },
          "ticker": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "nominal": {
            "type": "number",
            "format": "double"
          },
          "nominalCurrency": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "averagePositionPrice": {
            "type": "number",
            "format": "double"
          },
          "investedValue": {
            "type": "number",
            "format": "double"
          },
          "currentValue": {
            "type": "number",
            "format": "double"
          },
          "baseYield": {
            "type": "number",
            "format": "double"
          },
          "personalYield": {
            "type": "number",
            "format": "double"
          },
          "couponType": {
            "type": "string",
            "nullable": true
          },
          "couponRateOrFormula": {
            "type": "string",
            "nullable": true
          },
          "nextCouponDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "nextCouponValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "couponQuantityPerYear": {
            "type": "integer",
            "format": "int32"
          },
          "nextCouponTotalAmount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "tkd": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "creditRating": {
            "type": "string",
            "nullable": true
          },
          "issuerSharePercent": {
            "type": "number",
            "format": "double"
          },
          "defaultFlag": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TinkoffPortfolioResponse": {
        "type": "object",
        "properties": {
          "hasValidTinkoffToken": {
            "type": "boolean"
          },
          "currentTotalValue": {
            "type": "number",
            "format": "double"
          },
          "cleanTotalValue": {
            "type": "number",
            "format": "double"
          },
          "investedTotalValue": {
            "type": "number",
            "format": "double"
          },
          "nominalTotalValue": {
            "type": "number",
            "format": "double"
          },
          "estimatedAnnualIncome": {
            "type": "number",
            "format": "double"
          },
          "estimatedMonthlyIncome": {
            "type": "number",
            "format": "double"
          },
          "estimatedDailyIncome": {
            "type": "number",
            "format": "double"
          },
          "estimatedFixedCouponIncome": {
            "type": "number",
            "format": "double"
          },
          "estimatedFloaterCouponIncome": {
            "type": "number",
            "format": "double"
          },
          "estimatedAmortizationIncome": {
            "type": "number",
            "format": "double"
          },
          "totalExpectedYield": {
            "type": "number",
            "format": "double"
          },
          "weightedAverageYield": {
            "type": "number",
            "format": "double"
          },
          "fixedWeightedAverageYield": {
            "type": "number",
            "format": "double"
          },
          "corporateFixedWeightedAverageYield": {
            "type": "number",
            "format": "double"
          },
          "weightedAverageDuration": {
            "type": "number",
            "format": "double"
          },
          "nextPayoutDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "nextPayoutAmount": {
            "type": "number",
            "format": "double"
          },
          "lifetimeXirr": {
            "type": "number",
            "format": "double"
          },
          "portfolioStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "xirrDebugMessage": {
            "type": "string",
            "nullable": true
          },
          "totalProfit": {
            "type": "number",
            "format": "double"
          },
          "totalProfitPercent": {
            "type": "number",
            "format": "double"
          },
          "profitFromPriceAppreciation": {
            "type": "number",
            "format": "double"
          },
          "receivedAccruals": {
            "type": "number",
            "format": "double"
          },
          "receivedCouponsLastMonth": {
            "type": "number",
            "format": "double"
          },
          "receivedCouponsLastYear": {
            "type": "number",
            "format": "double"
          },
          "paidCommissions": {
            "type": "number",
            "format": "double"
          },
          "profitFromSales": {
            "type": "number",
            "format": "double"
          },
          "totalAci": {
            "type": "number",
            "format": "double"
          },
          "monthlyIncome": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortfolioMonthlyIncome"
            },
            "nullable": true
          },
          "benchmarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortfolioBenchmark"
            },
            "nullable": true
          },
          "upcomingPayoutsCurrentMonth": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortfolioUpcomingPayout"
            },
            "nullable": true
          },
          "upcomingPayoutsNextMonth": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortfolioUpcomingPayout"
            },
            "nullable": true
          },
          "positions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TinkoffPortfolioPosition"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": []
    }
  ]
}