syntax = "proto3"; package tinkoff.public.invest.api.contract.v1; import "google/protobuf/timestamp.proto"; import "invest/common.proto"; service InstrumentsService {/*Сервис предназначен для получения:
**1**. информации об инструментах;
**2**. расписания торговых сессий;
**3**. календаря выплат купонов по облигациям;
**4**. размера гарантийного обеспечения по фьючерсам;
**5**. дивидендов по ценной бумаге.*/ //Метод получения расписания торгов торговых площадок. rpc TradingSchedules (TradingSchedulesRequest) returns (TradingSchedulesResponse); //Метод получения облигации по её идентификатору. rpc BondBy (InstrumentRequest) returns (BondResponse); //Метод получения списка облигаций. rpc Bonds (InstrumentsRequest) returns (BondsResponse); //Метод получения графика выплат купонов по облигации. rpc GetBondCoupons (GetBondCouponsRequest) returns (GetBondCouponsResponse); //Метод получения валюты по её идентификатору. rpc CurrencyBy (InstrumentRequest) returns (CurrencyResponse); //Метод получения списка валют. rpc Currencies (InstrumentsRequest) returns (CurrenciesResponse); //Метод получения инвестиционного фонда по его идентификатору. rpc EtfBy (InstrumentRequest) returns (EtfResponse); //Метод получения списка инвестиционных фондов. rpc Etfs (InstrumentsRequest) returns (EtfsResponse); //Метод получения фьючерса по его идентификатору. rpc FutureBy (InstrumentRequest) returns (FutureResponse); //Метод получения списка фьючерсов. rpc Futures (InstrumentsRequest) returns (FuturesResponse); //Метод получения акции по её идентификатору. rpc ShareBy (InstrumentRequest) returns (ShareResponse); //Метод получения списка акций. rpc Shares (InstrumentsRequest) returns (SharesResponse); //Метод получения накопленного купонного дохода по облигации. rpc GetAccruedInterests (GetAccruedInterestsRequest) returns (GetAccruedInterestsResponse); //Метод получения размера гарантийного обеспечения по фьючерсам. rpc GetFuturesMargin (GetFuturesMarginRequest) returns (GetFuturesMarginResponse); //Метод получения основной информации об инструменте. rpc GetInstrumentBy (InstrumentRequest) returns (InstrumentResponse); //Метод для получения событий выплаты дивидендов по инструменту. rpc GetDividends (GetDividendsRequest) returns (GetDividendsResponse); //Метод получения актива по его идентификатору. rpc GetAssetBy (AssetRequest) returns (AssetResponse); //Метод получения списка активов. rpc GetAssets (AssetsRequest) returns (AssetsResponse); //Метод получения списка избранных инструментов. rpc GetFavorites (GetFavoritesRequest) returns (GetFavoritesResponse); //Метод редактирования списка избранных инструментов. rpc EditFavorites (EditFavoritesRequest) returns (EditFavoritesResponse); //Метод получения списка стран. rpc GetCountries (GetCountriesRequest) returns (GetCountriesResponse); //Метод поиска инструмента. rpc FindInstrument (FindInstrumentRequest) returns (FindInstrumentResponse); //Метод получения списка брендов. rpc GetBrands(GetBrandsRequest) returns (GetBrandsResponse); //Метод получения бренда по его идентификатору. rpc GetBrandBy(GetBrandRequest) returns (Brand); } //Запрос расписания торгов. message TradingSchedulesRequest { string exchange = 1; //Наименование биржи или расчетного календаря.
Если не передаётся, возвращается информация по всем доступным торговым площадкам. google.protobuf.Timestamp from = 2; //Начало периода по часовому поясу UTC. google.protobuf.Timestamp to = 3; //Окончание периода по часовому поясу UTC. } //Список торговых площадок. message TradingSchedulesResponse { repeated TradingSchedule exchanges = 1; // Список торговых площадок и режимов торгов. } //Данные по торговой площадке. message TradingSchedule { string exchange = 1; // Наименование торговой площадки. repeated TradingDay days = 2; // Массив с торговыми и неторговыми днями. } //Информация о времени торгов. message TradingDay { reserved 5, 6; google.protobuf.Timestamp date = 1; // Дата. bool is_trading_day = 2; // Признак торгового дня на бирже. google.protobuf.Timestamp start_time = 3; // Время начала торгов по часовому поясу UTC. google.protobuf.Timestamp end_time = 4; // Время окончания торгов по часовому поясу UTC. google.protobuf.Timestamp opening_auction_start_time = 7; // Время начала аукциона открытия в часовом поясе UTC. google.protobuf.Timestamp closing_auction_end_time = 8; // Время окончания аукциона закрытия в часовом поясе UTC. google.protobuf.Timestamp evening_opening_auction_start_time = 9; // Время начала аукциона открытия вечерней сессии в часовом поясе UTC. google.protobuf.Timestamp evening_start_time = 10; // Время начала вечерней сессии в часовом поясе UTC. google.protobuf.Timestamp evening_end_time = 11; // Время окончания вечерней сессии в часовом поясе UTC. google.protobuf.Timestamp clearing_start_time = 12; // Время начала основного клиринга в часовом поясе UTC. google.protobuf.Timestamp clearing_end_time = 13; // Время окончания основного клиринга в часовом поясе UTC. google.protobuf.Timestamp premarket_start_time = 14; // Время начала премаркета в часовом поясе UTC. google.protobuf.Timestamp premarket_end_time = 15; // Время окончания премаркета в часовом поясе UTC. } //Запрос получения инструмента по идентификатору. message InstrumentRequest { InstrumentIdType id_type = 1; // Тип идентификатора инструмента. Возможные значения: figi, ticker. Подробнее об идентификации инструментов: [Идентификация инструментов](https://tinkoff.github.io/investAPI/faq_identification/) string class_code = 2; // Идентификатор class_code. Обязателен при id_type = ticker. string id = 3; // Идентификатор запрашиваемого инструмента. } //Запрос получения инструментов. message InstrumentsRequest { InstrumentStatus instrument_status = 1; //Статус запрашиваемых инструментов. Возможные значения: [InstrumentStatus](#instrumentstatus) } //Информация об облигации. message BondResponse { Bond instrument = 1; // Информация об облигации. } //Список облигаций. message BondsResponse { repeated Bond instruments = 1; //Массив облигаций. } //Запрос купонов по облигации. message GetBondCouponsRequest { string figi = 1; //Figi-идентификатор инструмента. google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC. Фильтрация по coupon_date (дата выплаты купона) google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC. Фильтрация по coupon_date (дата выплаты купона) } //Купоны по облигации. message GetBondCouponsResponse { repeated Coupon events = 1; } //Объект передачи информации о купоне облигации. message Coupon { string figi = 1; //Figi-идентификатор инструмента. google.protobuf.Timestamp coupon_date = 2; //Дата выплаты купона. int64 coupon_number = 3; //Номер купона. google.protobuf.Timestamp fix_date = 4; //(Опционально) Дата фиксации реестра для выплаты купона. MoneyValue pay_one_bond = 5; //Выплата на одну облигацию. CouponType coupon_type = 6; //Тип купона. google.protobuf.Timestamp coupon_start_date = 7; //Начало купонного периода. google.protobuf.Timestamp coupon_end_date = 8; //Окончание купонного периода. int32 coupon_period = 9; //Купонный период в днях. } //Тип купонов. enum CouponType { COUPON_TYPE_UNSPECIFIED = 0; //Неопределенное значение COUPON_TYPE_CONSTANT = 1; //Постоянный COUPON_TYPE_FLOATING = 2; //Плавающий COUPON_TYPE_DISCOUNT = 3; //Дисконт COUPON_TYPE_MORTGAGE = 4; //Ипотечный COUPON_TYPE_FIX = 5; //Фиксированный COUPON_TYPE_VARIABLE = 6; //Переменный COUPON_TYPE_OTHER = 7; //Прочее } //Данные по валюте. message CurrencyResponse { Currency instrument = 1; // Информация о валюте. } //Данные по валютам. message CurrenciesResponse { repeated Currency instruments = 1; //Массив валют. } //Данные по фонду. message EtfResponse { Etf instrument = 1; // Информация о фонде. } //Данные по фондам. message EtfsResponse { repeated Etf instruments = 1; //Массив фондов. } //Данные по фьючерсу. message FutureResponse { Future instrument = 1; // Информация о фьючерсу. } //Данные по фьючерсам. message FuturesResponse { repeated Future instruments = 1; //Массив фьючерсов. } //Данные по акции. message ShareResponse { Share instrument = 1; // Информация об акции. } //Данные по акциям. message SharesResponse { repeated Share instruments = 1; //Массив акций. } //Объект передачи информации об облигации. message Bond { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код (секция торгов). string isin = 4; //Isin-идентификатор инструмента. int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 6; //Валюта расчётов. Quotation klong = 7; //Коэффициент ставки риска длинной позиции по инструменту. Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по инструменту. Quotation dlong = 9; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 10; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 11; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 12; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 13; //Признак доступности для операций в шорт. string name = 15; //Название инструмента. string exchange = 16; //Торговая площадка. int32 coupon_quantity_per_year = 17; //Количество выплат по купонам в год. google.protobuf.Timestamp maturity_date = 18; //Дата погашения облигации в часовом поясе UTC. MoneyValue nominal = 19; //Номинал облигации. google.protobuf.Timestamp state_reg_date = 21; //Дата выпуска облигации в часовом поясе UTC. google.protobuf.Timestamp placement_date = 22; //Дата размещения в часовом поясе UTC. MoneyValue placement_price = 23; //Цена размещения. MoneyValue aci_value = 24; //Значение НКД (накопленного купонного дохода) на дату. string country_of_risk = 25; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 26; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. string sector = 27; //Сектор экономики. string issue_kind = 28; //Форма выпуска. Возможные значения:
**documentary** — документарная;
**non_documentary** — бездокументарная. int64 issue_size = 29; //Размер выпуска. int64 issue_size_plan = 30; //Плановый размер выпуска. SecurityTradingStatus trading_status = 31; //Текущий режим торгов инструмента. bool otc_flag = 32; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 33; //Признак доступности для покупки. bool sell_available_flag = 34; //Признак доступности для продажи. bool floating_coupon_flag = 35; //Признак облигации с плавающим купоном. bool perpetual_flag = 36; //Признак бессрочной облигации. bool amortization_flag = 37; //Признак облигации с амортизацией долга. Quotation min_price_increment = 38; //Шаг цены. bool api_trade_available_flag = 39; //Признак доступности торгов через API. string uid = 40; //Уникальный идентификатор инструмента. RealExchange real_exchange = 41; //Реальная площадка исполнения расчётов. string position_uid = 42; //Уникальный идентификатор позиции инструмента. bool for_iis_flag = 51; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 61; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 62; //Дата первой дневной свечи. } //Объект передачи информации о валюте. message Currency { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код (секция торгов). string isin = 4; //Isin-идентификатор инструмента. int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 6; //Валюта расчётов. Quotation klong = 7; //Коэффициент ставки риска длинной позиции по инструменту. Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по инструменту. Quotation dlong = 9; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 10; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 11; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 12; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 13; //Признак доступности для операций в шорт. string name = 15; //Название инструмента. string exchange = 16; //Торговая площадка. MoneyValue nominal = 17; //Номинал. string country_of_risk = 18; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 19; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. SecurityTradingStatus trading_status = 20; //Текущий режим торгов инструмента. bool otc_flag = 21; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 22; //Признак доступности для покупки. bool sell_available_flag = 23; //Признак доступности для продажи. string iso_currency_name = 24; //Строковый ISO-код валюты. Quotation min_price_increment = 25; //Шаг цены. bool api_trade_available_flag = 26; //Признак доступности торгов через API. string uid = 27; //Уникальный идентификатор инструмента. RealExchange real_exchange = 28; //Реальная площадка исполнения расчётов. string position_uid = 29; //Уникальный идентификатор позиции инструмента. bool for_iis_flag = 41; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи. } //Объект передачи информации об инвестиционном фонде. message Etf { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код (секция торгов). string isin = 4; //Isin-идентификатор инструмента. int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 6; //Валюта расчётов. Quotation klong = 7; //Коэффициент ставки риска длинной позиции по инструменту. Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по инструменту. Quotation dlong = 9; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 10; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 11; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 12; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 13; //Признак доступности для операций в шорт. string name = 15; //Название инструмента. string exchange = 16; //Торговая площадка. Quotation fixed_commission = 17; //Размер фиксированной комиссии фонда. string focus_type = 18; //Возможные значения:
**equity** — акции;
**fixed_income** — облигации;
**mixed_allocation** — смешанный;
**money_market** — денежный рынок;
**real_estate** — недвижимость;
**commodity** — товары;
**specialty** — специальный;
**private_equity** — private equity;
**alternative_investment** — альтернативные инвестиции. google.protobuf.Timestamp released_date = 19; //Дата выпуска в часовом поясе UTC. Quotation num_shares = 20; //Количество акций фонда в обращении. string country_of_risk = 21; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 22; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. string sector = 23; //Сектор экономики. string rebalancing_freq = 24; //Частота ребалансировки. SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента. bool otc_flag = 26; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 27; //Признак доступности для покупки. bool sell_available_flag = 28; //Признак доступности для продажи. Quotation min_price_increment = 29; //Шаг цены. bool api_trade_available_flag = 30; //Признак доступности торгов через API. string uid = 31; //Уникальный идентификатор инструмента. RealExchange real_exchange = 32; //Реальная площадка исполнения расчётов. string position_uid = 33; //Уникальный идентификатор позиции инструмента. bool for_iis_flag = 41; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи. } //Объект передачи информации о фьючерсе. message Future { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код (секция торгов). int32 lot = 4; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 5; //Валюта расчётов. Quotation klong = 6; //Коэффициент ставки риска длинной позиции по клиенту. Quotation kshort = 7; //Коэффициент ставки риска короткой позиции по клиенту. Quotation dlong = 8; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 9; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 10; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 11; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 12; //Признак доступности для операций шорт. string name = 13; //Название инструмента. string exchange = 14; //Торговая площадка. google.protobuf.Timestamp first_trade_date = 15; //Дата начала обращения контракта в часовом поясе UTC. google.protobuf.Timestamp last_trade_date = 16; //Дата в часовом поясе UTC, до которой возможно проведение операций с фьючерсом. string futures_type = 17; //Тип фьючерса. Возможные значения:
**physical_delivery** — физические поставки;
**cash_settlement** — денежный эквивалент. string asset_type = 18; //Тип актива. Возможные значения:
**commodity** — товар;
**currency** — валюта;
**security** — ценная бумага;
**index** — индекс. string basic_asset = 19; //Основной актив. Quotation basic_asset_size = 20; //Размер основного актива. string country_of_risk = 21; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 22; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. string sector = 23; //Сектор экономики. google.protobuf.Timestamp expiration_date = 24; //Дата истечения срока в часов поясе UTC. SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента. bool otc_flag = 26; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 27; //Признак доступности для покупки. bool sell_available_flag = 28; //Признак доступности для продажи. Quotation min_price_increment = 29; //Шаг цены. bool api_trade_available_flag = 30; //Признак доступности торгов через API. string uid = 31; //Уникальный идентификатор инструмента. RealExchange real_exchange = 32; //Реальная площадка исполнения расчётов. string position_uid = 33; //Уникальный идентификатор позиции инструмента. string basic_asset_position_uid = 34; //Уникальный идентификатор позиции основного инструмента. bool for_iis_flag = 41; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи. } //Объект передачи информации об акции. message Share { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код (секция торгов). string isin = 4; //Isin-идентификатор инструмента. int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 6; //Валюта расчётов. Quotation klong = 7; //Коэффициент ставки риска длинной позиции по инструменту. Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по инструменту. Quotation dlong = 9; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 10; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 11; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 12; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 13; //Признак доступности для операций в шорт. string name = 15; //Название инструмента. string exchange = 16; //Торговая площадка. google.protobuf.Timestamp ipo_date = 17; //Дата IPO акции в часовом поясе UTC. int64 issue_size = 18; //Размер выпуска. string country_of_risk = 19; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 20; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. string sector = 21; //Сектор экономики. int64 issue_size_plan = 22; //Плановый размер выпуска. MoneyValue nominal = 23; //Номинал. SecurityTradingStatus trading_status = 25; //Текущий режим торгов инструмента. bool otc_flag = 26; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 27; //Признак доступности для покупки. bool sell_available_flag = 28; //Признак доступности для продажи. bool div_yield_flag = 29; //Признак наличия дивидендной доходности. ShareType share_type = 30; //Тип акции. Возможные значения: [ShareType](https://tinkoff.github.io/investAPI/instruments#sharetype) Quotation min_price_increment = 31; //Шаг цены. bool api_trade_available_flag = 32; //Признак доступности торгов через API. string uid = 33; //Уникальный идентификатор инструмента. RealExchange real_exchange = 34; //Реальная площадка исполнения расчётов. string position_uid = 35; //Уникальный идентификатор позиции инструмента. bool for_iis_flag = 46; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи. } //Запрос НКД по облигации message GetAccruedInterestsRequest { string figi = 1; //Figi-идентификатор инструмента. google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC. google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC. } //НКД облигации message GetAccruedInterestsResponse { repeated AccruedInterest accrued_interests = 1; //Массив операций начисления купонов. } //Операция начисления купонов. message AccruedInterest { google.protobuf.Timestamp date = 1; //Дата и время выплаты в часовом поясе UTC. Quotation value = 2; //Величина выплаты. Quotation value_percent = 3; //Величина выплаты в процентах от номинала. Quotation nominal = 4; //Номинал облигации. } //Запрос информации о фьючерсе message GetFuturesMarginRequest { string figi = 1; // Идентификатор инструмента. } //Данные по фьючерсу message GetFuturesMarginResponse { MoneyValue initial_margin_on_buy = 1; //Гарантийное обеспечение при покупке. MoneyValue initial_margin_on_sell = 2; //Гарантийное обеспечение при продаже. Quotation min_price_increment = 3; //Шаг цены. Quotation min_price_increment_amount = 4; //Стоимость шага цены. } //Тип идентификатора инструмента. Подробнее об идентификации инструментов: [Идентификация инструментов](https://tinkoff.github.io/investAPI/faq_identification/) enum InstrumentIdType { INSTRUMENT_ID_UNSPECIFIED = 0; //Значение не определено. INSTRUMENT_ID_TYPE_FIGI = 1; //Figi. INSTRUMENT_ID_TYPE_TICKER = 2; //Ticker. INSTRUMENT_ID_TYPE_UID = 3; //Уникальный идентификатор. } //Статус запрашиваемых инструментов. enum InstrumentStatus { INSTRUMENT_STATUS_UNSPECIFIED = 0; //Значение не определено. INSTRUMENT_STATUS_BASE = 1; //Базовый список инструментов (по умолчанию). Инструменты доступные для торговли через TINKOFF INVEST API. INSTRUMENT_STATUS_ALL = 2; //Список всех инструментов. } //Данные по инструменту. message InstrumentResponse { Instrument instrument = 1; // Основная информация об инструменте. } //Объект передачи основной информации об инструменте. message Instrument { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код инструмента. string isin = 4; //Isin-идентификатор инструмента. int32 lot = 5; //Лотность инструмента. Возможно совершение операций только на количества ценной бумаги, кратные параметру *lot*. Подробнее: [лот](https://tinkoff.github.io/investAPI/glossary#lot) string currency = 6; //Валюта расчётов. Quotation klong = 7; //Коэффициент ставки риска длинной позиции по инструменту. Quotation kshort = 8; //Коэффициент ставки риска короткой позиции по инструменту. Quotation dlong = 9; //Ставка риска минимальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort = 10; //Ставка риска минимальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) Quotation dlong_min = 11; //Ставка риска начальной маржи в лонг. Подробнее: [ставка риска в лонг](https://help.tinkoff.ru/margin-trade/long/risk-rate/) Quotation dshort_min = 12; //Ставка риска начальной маржи в шорт. Подробнее: [ставка риска в шорт](https://help.tinkoff.ru/margin-trade/short/risk-rate/) bool short_enabled_flag = 13; //Признак доступности для операций в шорт. string name = 14; //Название инструмента. string exchange = 15; //Торговая площадка. string country_of_risk = 16; //Код страны риска, т.е. страны, в которой компания ведёт основной бизнес. string country_of_risk_name = 17; //Наименование страны риска, т.е. страны, в которой компания ведёт основной бизнес. string instrument_type = 18; //Тип инструмента. SecurityTradingStatus trading_status = 19; //Текущий режим торгов инструмента. bool otc_flag = 20; //Признак внебиржевой ценной бумаги. bool buy_available_flag = 21; //Признак доступности для покупки. bool sell_available_flag = 22; //Признак доступности для продажи. Quotation min_price_increment = 23; //Шаг цены. bool api_trade_available_flag = 24; //Признак доступности торгов через API. string uid = 25; //Уникальный идентификатор инструмента. RealExchange real_exchange = 26; //Реальная площадка исполнения расчётов. string position_uid = 27; //Уникальный идентификатор позиции инструмента. bool for_iis_flag = 36; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 56; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 57; //Дата первой дневной свечи. } //Запрос дивидендов. message GetDividendsRequest { string figi = 1; //Figi-идентификатор инструмента. google.protobuf.Timestamp from = 2; //Начало запрашиваемого периода в часовом поясе UTC. Фильтрация происходит по параметру *record_date* (дата фиксации реестра). google.protobuf.Timestamp to = 3; //Окончание запрашиваемого периода в часовом поясе UTC. Фильтрация происходит по параметру *record_date* (дата фиксации реестра). } //Дивиденды. message GetDividendsResponse { repeated Dividend dividends = 1; } //Информация о выплате. message Dividend { MoneyValue dividend_net = 1; //Величина дивиденда на 1 ценную бумагу (включая валюту). google.protobuf.Timestamp payment_date = 2; //Дата фактических выплат в часовом поясе UTC. google.protobuf.Timestamp declared_date = 3; //Дата объявления дивидендов в часовом поясе UTC. google.protobuf.Timestamp last_buy_date = 4; //Последний день (включительно) покупки для получения выплаты в часовом поясе UTC. string dividend_type = 5; //Тип выплаты. Возможные значения: Regular Cash – регулярные выплаты, Cancelled – выплата отменена, Daily Accrual – ежедневное начисление, Return of Capital – возврат капитала, прочие типы выплат. google.protobuf.Timestamp record_date = 6; //Дата фиксации реестра в часовом поясе UTC. string regularity = 7; //Регулярность выплаты. Возможные значения: Annual – ежегодная, Semi-Anl – каждые полгода, прочие типы выплат. MoneyValue close_price = 8; //Цена закрытия инструмента на момент ex_dividend_date. Quotation yield_value = 9; //Величина доходности. google.protobuf.Timestamp created_at = 10; //Дата и время создания записи в часовом поясе UTC. } //Тип акций. enum ShareType { SHARE_TYPE_UNSPECIFIED = 0; //Значение не определено. SHARE_TYPE_COMMON = 1; //Обыкновенная SHARE_TYPE_PREFERRED = 2; //Привилегированная SHARE_TYPE_ADR = 3; //Американские депозитарные расписки SHARE_TYPE_GDR = 4; //Глобальные депозитарные расписки SHARE_TYPE_MLP = 5; //Товарищество с ограниченной ответственностью SHARE_TYPE_NY_REG_SHRS = 6; //Акции из реестра Нью-Йорка SHARE_TYPE_CLOSED_END_FUND = 7; //Закрытый инвестиционный фонд SHARE_TYPE_REIT = 8; //Траст недвижимости } //Запрос актива по идентификатору. message AssetRequest { string id = 1; //uid-идентификатор актива. } //Данные по активу. message AssetResponse { AssetFull asset = 1; //Актив. } //Запрос списка активов. message AssetsRequest { } //Список активов. message AssetsResponse { repeated Asset assets = 1; //Активы. } message AssetFull { string uid = 1; //Уникальный идентификатор актива. AssetType type = 2; //Тип актива. string name = 3; //Наименование актива. string name_brief = 4; //Короткое наименование актива. string description = 5; //Описание актива. google.protobuf.Timestamp deleted_at = 6; //Дата и время удаления актива. repeated string required_tests = 7; //Тестирование клиентов. oneof ext { AssetCurrency currency = 8; //Валюта. Обязательно и заполняется только для type = "ASSET_TYPE_CURRENCY". AssetSecurity security = 9; //Ценная бумага. Обязательно и заполняется только для type = "ASSET_TYPE_SECURITY". } string gos_reg_code = 10; //Номер государственной регистрации. string cfi = 11; //Код CFI. string code_nsd = 12; //Код НРД инструмента. string status = 13; //Статус актива. Brand brand = 14; //Бренд. google.protobuf.Timestamp updated_at = 15; //Дата и время последнего обновления записи. string br_code = 16; //Код типа ц.б. по классификации Банка России. string br_code_name = 17; //Наименование кода типа ц.б. по классификации Банка России. repeated AssetInstrument instruments = 18; //Массив идентификаторов инструментов. } //Информация об активе. message Asset { string uid = 1; //Уникальный идентификатор актива. AssetType type = 2; //Тип актива. string name = 3; //Наименование актива. repeated AssetInstrument instruments = 4; //Массив идентификаторов инструментов. } //Тип актива. enum AssetType { ASSET_TYPE_UNSPECIFIED = 0; //Тип не определён. ASSET_TYPE_CURRENCY = 1; //Валюта. ASSET_TYPE_COMMODITY = 2; //Товар. ASSET_TYPE_INDEX = 3; //Индекс. ASSET_TYPE_SECURITY = 4; //Ценная бумага. } //Валюта. message AssetCurrency { string base_currency = 1; //ISO-код валюты. } //Ценная бумага. message AssetSecurity { string isin = 1; //ISIN-идентификатор ценной бумаги. string type = 2; //Тип ценной бумаги. oneof ext { AssetShare share = 3; //Акция. Заполняется только для акций (тип актива asset.type = "ASSET_TYPE_SECURITY" и security.type = share). AssetBond bond = 4; //Облигация. Заполняется только для облигаций (тип актива asset.type = "ASSET_TYPE_SECURITY" и security.type = bond). AssetStructuredProduct sp = 5; //Структурная нота. Заполняется только для структурных продуктов (тип актива asset.type = "ASSET_TYPE_SECURITY" и security.type = sp). AssetEtf etf = 6; // Фонд. Заполняется только для фондов (тип актива asset.type = "ASSET_TYPE_SECURITY" и security.type = etf). AssetClearingCertificate clearing_certificate = 7; // Клиринговый сертификат участия. Заполняется только для клиринговых сертификатов (тип актива asset.type = "ASSET_TYPE_SECURITY" и security.type = clearing_certificate). } } //Акция. message AssetShare { ShareType type = 1; //Тип акции. Quotation issue_size = 2; //Объем выпуска (шт.). Quotation nominal = 3; //Номинал. string nominal_currency = 4; //Валюта номинала. string primary_index = 5; //Индекс (Bloomberg). Quotation dividend_rate = 6; //Ставка дивиденда (для привилегированных акций). string preferred_share_type = 7; //Тип привилегированных акций. google.protobuf.Timestamp ipo_date = 8; //Дата IPO. google.protobuf.Timestamp registry_date = 9; //Дата регистрации. bool div_yield_flag = 10; //Признак наличия дивидендной доходности. string issue_kind = 11; //Форма выпуска ФИ. google.protobuf.Timestamp placement_date = 12; //Дата размещения акции. string repres_isin = 13; //ISIN базового актива. Quotation issue_size_plan = 14; //Объявленное количество шт. Quotation total_float = 15; //Количество акций в свободном обращении. } //Облигация. message AssetBond { Quotation current_nominal = 1; //Текущий номинал. string borrow_name = 2; //Наименование заемщика. Quotation issue_size = 3; //Объем эмиссии облигации (стоимость). Quotation nominal = 4 ; //Номинал облигации. string nominal_currency = 5; //Валюта номинала. string issue_kind = 6; //Форма выпуска облигации. string interest_kind = 7; //Форма дохода облигации. int32 coupon_quantity_per_year = 8; //Количество выплат в год. bool indexed_nominal_flag = 9; //Признак облигации с индексируемым номиналом. bool subordinated_flag = 10; //Признак субординированной облигации. bool collateral_flag = 11; //Признак обеспеченной облигации. bool tax_free_flag = 12; //Признак показывает, что купоны облигации не облагаются налогом (для mass market). bool amortization_flag = 13; //Признак облигации с амортизацией долга. bool floating_coupon_flag = 14; //Признак облигации с плавающим купоном. bool perpetual_flag = 15; //Признак бессрочной облигации. google.protobuf.Timestamp maturity_date = 16; //Дата погашения облигации. string return_condition = 17; //Описание и условия получения дополнительного дохода. google.protobuf.Timestamp state_reg_date = 18; //Дата выпуска облигации. google.protobuf.Timestamp placement_date = 19; //Дата размещения облигации. Quotation placement_price = 20; //Цена размещения облигации. Quotation issue_size_plan = 21; //Объявленное количество шт. } //Структурная нота. message AssetStructuredProduct { string borrow_name = 1; //Наименование заемщика. Quotation nominal = 2; //Номинал. string nominal_currency = 3; //Валюта номинала. StructuredProductType type = 4; //Тип структурной ноты. string logic_portfolio = 5; //Стратегия портфеля. AssetType asset_type = 6; //Тип базового актива. string basic_asset = 7; //Вид базового актива в зависимости от типа базового актива. Quotation safety_barrier = 8; //Барьер сохранности (в процентах). google.protobuf.Timestamp maturity_date = 9; //Дата погашения. Quotation issue_size_plan = 10; //Объявленное количество шт. Quotation issue_size = 11; //Объем размещения. google.protobuf.Timestamp placement_date = 12; //Дата размещения ноты. string issue_kind = 13; //Форма выпуска. } //Тип структурной ноты. enum StructuredProductType { SP_TYPE_UNSPECIFIED = 0; //Тип не определён. SP_TYPE_DELIVERABLE = 1; //Поставочный. SP_TYPE_NON_DELIVERABLE = 2; //Беспоставочный. } //Фонд. message AssetEtf { Quotation total_expense = 1; //Суммарные расходы фонда (в %). Quotation hurdle_rate = 2; //Барьерная ставка доходности после которой фонд имеет право на perfomance fee (в процентах). Quotation performance_fee = 3; //Комиссия за успешные результаты фонда (в процентах). Quotation fixed_commission = 4; //Фиксированная комиссия за управление (в процентах). string payment_type = 5; //Тип распределения доходов от выплат по бумагам. bool watermark_flag = 6; //Признак необходимости выхода фонда в плюс для получения комиссии. Quotation buy_premium = 7; //Премия (надбавка к цене) при покупке доли в фонде (в процентах). Quotation sell_discount = 8; //Ставка дисконта (вычет из цены) при продаже доли в фонде (в процентах). bool rebalancing_flag = 9; //Признак ребалансируемости портфеля фонда. string rebalancing_freq = 10; //Периодичность ребалансировки. string management_type = 11; //Тип управления. string primary_index = 12; //Индекс, который реплицирует (старается копировать) фонд. string focus_type = 13; //База ETF. bool leveraged_flag = 14; //Признак использования заемных активов (плечо). Quotation num_share = 15; //Количество акций в обращении. bool ucits_flag = 16; //Признак обязательства по отчетности перед регулятором. google.protobuf.Timestamp released_date = 17; //Дата выпуска. string description = 18; //Описание фонда. string primary_index_description = 19; //Описание индекса, за которым следует фонд. string primary_index_company = 20; //Основные компании, в которые вкладывается фонд. Quotation index_recovery_period = 21; //Срок восстановления индекса (после просадки). string inav_code = 22; //IVAV-код. bool div_yield_flag = 23; //Признак наличия дивидендной доходности. Quotation expense_commission = 24; //Комиссия на покрытие расходов фонда (в процентах). Quotation primary_index_tracking_error = 25; //Ошибка следования за индексом (в процентах). string rebalancing_plan = 26; //Плановая ребалансировка портфеля. string tax_rate = 27; //Ставки налогообложения дивидендов и купонов. repeated google.protobuf.Timestamp rebalancing_dates = 28; //Даты ребалансировок. string issue_kind = 29; //Форма выпуска. Quotation nominal = 30; //Номинал. string nominal_currency = 31; //Валюта номинала. } //Клиринговый сертификат участия. message AssetClearingCertificate { Quotation nominal = 1; //Номинал. string nominal_currency = 2; //Валюта номинала. } //Бренд. message Brand { string uid = 1; //uid идентификатор бренда. string name = 2; //Наименование бренда. string description = 3; //Описание. string info = 4; //Информация о бренде. string company = 5; //Компания. string sector = 6; //Сектор. string country_of_risk = 7; //Код страны риска. string country_of_risk_name = 8; //Наименование страны риска. } //Идентификаторы инструмента. message AssetInstrument { string uid = 1; //uid идентификатор инструмента. string figi = 2; //figi идентификатор инструмента. string instrument_type = 3; //Тип инструмента. string ticker = 4; //Тикер инструмента. string class_code = 5; //Класс-код (секция торгов). repeated InstrumentLink links = 6; //Массив связанных инструментов. } //Связь с другим инструментом. message InstrumentLink { string type = 1; //Тип связи. string instrument_uid = 2; //uid идентификатор связанного инструмента. } //Запрос списка избранных инструментов, входные параметры не требуются. message GetFavoritesRequest { } //В ответ передаётся список избранных инструментов в качестве массива. message GetFavoritesResponse { repeated FavoriteInstrument favorite_instruments = 1; //Массив инструментов } //Массив избранных инструментов. message FavoriteInstrument { string figi = 1; //Figi-идентификатор инструмента. string ticker = 2; //Тикер инструмента. string class_code = 3; //Класс-код инструмента. string isin = 4; //Isin-идентификатор инструмента. string instrument_type = 11; //Тип инструмента. bool otc_flag = 16; //Признак внебиржевой ценной бумаги. bool api_trade_available_flag = 17; //Признак доступности торгов через API. } //Запрос редактирования списка избранных инструментов. message EditFavoritesRequest { repeated EditFavoritesRequestInstrument instruments = 1; //Массив инструментов. EditFavoritesActionType action_type = 6; //Тип действия со списком. } //Массив инструментов для редактирования списка избранных инструментов. message EditFavoritesRequestInstrument { string figi = 1; //Figi-идентификатор инструмента. } //Тип действия со списком избранных инструментов. enum EditFavoritesActionType { EDIT_FAVORITES_ACTION_TYPE_UNSPECIFIED = 0; //Тип не определён. EDIT_FAVORITES_ACTION_TYPE_ADD = 1; //Добавить в список. EDIT_FAVORITES_ACTION_TYPE_DEL = 2; //Удалить из списка. } //Результат редактирования списка избранных инструментов. message EditFavoritesResponse { repeated FavoriteInstrument favorite_instruments = 1; //Массив инструментов } //Реальная площадка исполнения расчётов. enum RealExchange { REAL_EXCHANGE_UNSPECIFIED = 0; //Тип не определён. REAL_EXCHANGE_MOEX = 1; //Московская биржа. REAL_EXCHANGE_RTS = 2; //Санкт-Петербургская биржа. REAL_EXCHANGE_OTC = 3; //Внебиржевой инструмент. } //Запрос справочника стран. message GetCountriesRequest { } //Справочник стран. message GetCountriesResponse { repeated CountryResponse countries = 1; //Массив стран. } //Данные о стране. message CountryResponse { string alfa_two = 1; //Двухбуквенный код страны. string alfa_three = 2; //Трёхбуквенный код страны. string name = 3; //Наименование страны. string name_brief = 4; //Краткое наименование страны. } //Запрос на поиск инструментов. message FindInstrumentRequest { string query = 1; //Строка поиска. } //Результат поиска инструментов. message FindInstrumentResponse { repeated InstrumentShort instruments = 1; //Массив инструментов, удовлетворяющих условиям поиска. } //Краткая информация об инструменте. message InstrumentShort { string isin = 1; //Isin инструмента. string figi = 2; //Figi инструмента. string ticker = 3; //Ticker инструмента. string class_code = 4; //ClassCode инструмента. string instrument_type = 5; //Тип инструмента. string name = 6; //Название инструмента. string uid = 7; //Уникальный идентификатор инструмента. string position_uid = 8; //Уникальный идентификатор позиции инструмента. bool api_trade_available_flag = 11; //Признак доступности торгов через API. bool for_iis_flag = 12; //Признак доступности для ИИС. google.protobuf.Timestamp first_1min_candle_date = 26; //Дата первой минутной свечи. google.protobuf.Timestamp first_1day_candle_date = 27; //Дата первой дневной свечи. } //Запрос списка брендов. message GetBrandsRequest { } //Запрос бренда. message GetBrandRequest { string id = 1; //Uid-идентификатор бренда. } //Список брендов. message GetBrandsResponse { repeated Brand brands = 1; //Массив брендов. }