{
  "12001": {
    "message": "Method is unimplemented",
    "type": "UNIMPLEMENTED",
    "description": "Метод не реализован."
  },
  "12002": {
    "message": "Deprecated method is unavailable",
    "type": "UNAVAILABLE",
    "description": "Метод устарел и недоступен."
  },
  "30001": {
    "message": "Missing parameter: `from`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from` является обязательным.<br/>Укажите корректный параметр `from`."
  },
  "30002": {
    "message": "The required period should not exceed 14 days",
    "type": "INVALID_ARGUMENT",
    "description": "Запрошенный период не может превышать 14 дней.<br/>Укажите корректный период."
  },
  "30003": {
    "message": "`from` can't be less than the current date",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from` не может быть меньше текущей даты.<br/>Укажите корректный параметр `from`."
  },
  "30004": {
    "message": "Missing parameter: `to`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `to` является обязательным.<br/>Укажите корректный параметр `to`."
  },
  "30005": {
    "message": "`id_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `id_type` имеет некорректное значение.<br/>[Список доступных значений](./instruments#instrumentidtype)."
  },
  "30006": {
    "message": "Missing parameter: `id_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `id_type` является обязательным.<br/>Укажите корректный параметр `id_type`."
  },
  "30007": {
    "message": "Missing parameter: `id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `id` является обязательным.<br/>Укажите корректный параметр `id`."
  },
  "30008": {
    "message": "Missing parameter: `figi`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `figi` является обязательным.<br/>Укажите корректный параметр `figi`."
  },
  "30009": {
    "message": "`from` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from` имеет некорректное значение.<br/>Укажите корректный параметр `from`."
  },
  "30010": {
    "message": "`to` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `to` имеет некорректное значение.<br/>Укажите корректный параметр `to`."
  },
  "30011": {
    "message": "`interval` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `interval` имеет некорректное значение.<br/>[Список доступных значений](./marketdata#subscriptioninterval)."
  },
  "30012": {
    "message": "`to` can't be less than `from`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `to` не может быть меньше параметра `from`.<br/>Укажите корректные параметры `from` и `to`."
  },
  "30013": {
    "message": "`class_code` require for `id_type` = `ticker`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `class_code` не может быть пустым при поиске по тикеру.<br/>Укажите корректный параметр `class_code`.<br/>[Подробнее](./faq_identification/)."
  },
  "30014": {
    "message": "The maximum request period for the given candle interval has been exceeded",
    "type": "INVALID_ARGUMENT",
    "description": "Превышен максимальный период запроса для данного интервала свечи.<br/>Укажите корректный интервал.<br/>[Подробнее](./load_history/)."
  },
  "30015": {
    "message": "Parameter `quantity` is missing or equal to 0",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `quantity` является обязательным.<br/>Укажите корректный параметр `quantity`."
  },
  "30016": {
    "message": "`quantity` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `quantity` имеет некорректное значение.<br/>Укажите корректный параметр `quantity`."
  },
  "30017": {
    "message": "Missing parameter: `price`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `price` является обязательным.<br/>Укажите корректный параметр `price`.<br/>Значение параметра `price` должно быть положительным.<br/>`units` и `nanos` не могут иметь разные знак и модуль `nanos` должен быть < 999 999 999"
  },
  "30018": {
    "message": "`price` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `price` имеет некорректное значение.<br/>Укажите корректный параметр `price`."
  },
  "30019": {
    "message": "Missing parameter: `direction`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `direction` является обязательным.<br/>Укажите корректный параметр `direction`."
  },
  "30020": {
    "message": "`direction` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `direction` имеет некорректное значение."
  },
  "30021": {
    "message": "Missing parameter: `account_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `account_id` является обязательным.<br/>Укажите корректный параметр `account_id`."
  },
  "30022": {
    "message": "`account_id` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `account_id` имеет некорректное значение."
  },
  "30023": {
    "message": "Invalid parameter: `state`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `state` имеет некорректное значение.<br/>Укажите корректный параметр `state`.<br/>[Список доступных значений](./operations/#operationstate)."
  },
  "30025": {
    "message": "Missing parameter: `order_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `order_type` является обязательным.<br/>Укажите корректный параметр `order_type`. [Список доступных значений](./orders/#ordertype)."
  },
  "30026": {
    "message": "Invalid parameter: `order_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `order_type` имеет некорректное значение.<br/>Укажите корректный параметр `order_type`."
  },
  "30027": {
    "message": "Missing parameter: `order_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `order_id` является обязательным.<br/>Укажите корректный параметр `order_id`."
  },
  "30028": {
    "message": "`order id` has invalid UUID format",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `order_id` имеет некорректное значение.<br/>Укажите корректный параметр `order_id` формата UUID. Максимальная длина 36 символов."
  },
  "30029": {
    "message": "Missing parameter: `idempotency_key`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `idempotency_key` является обязательным.<br/>Укажите корректный параметр `idempotency_key`."
  },
  "30030": {
    "message": "`idempotency_key` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `idempotency_key` имеет некорректное значение.<br/>Укажите корректный параметр `idempotency_key`. Максимальная длина 36 символов."
  },
  "30031": {
    "message": "Missing parameter: `depth`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `depth` является обязательным.<br/>Укажите корректный параметр `depth`."
  },
  "30032": {
    "message": "`depth` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `depth` имеет некорректное значение.<br/>Укажите корректный параметр `depth`."
  },
  "30033": {
    "message": "Missing parameter: `trade_clearing_account` or `class_code`",
    "type": "INVALID_ARGUMENT",
    "description": "Параметр `trade_clearing_account` или `class_code` не может быть пустым."
  },
  "30034": {
    "message": "Not enough balance",
    "type": "INVALID_ARGUMENT",
    "description": "Недостаточно средств для совершения сделки (ошибка песочницы).<br/>Пополните баланс нужной валюты через метод [SandboxPayIn](./sandbox#sandboxpayin)."
  },
  "30036": {
    "message": "Missing parameter: `stop_price`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `stop_price` является обязательным.<br/>Укажите корректный параметр `stop_price`."
  },
  "30037": {
    "message": "Missing parameter: `stop_order_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `stop_order_type` является обязательным.<br/>Укажите корректный параметр `stop_order_typ`."
  },
  "30038": {
    "message": "`stop_order_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `stop_order_type` имеет некорректное значение.<br/>[Список доступных значений](./stoporders/#stopordertype)."
  },
  "30039": {
    "message": "Bad request: `trailing_data`",
    "type": "INVALID_ARGUMENT",
    "description": "Укажите корректное значение параметра `trailing_data`"
  },
  "30040": {
    "message": "`expire_date` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `expire_date` имеет некорректное значение.<br/>Укажите корректный параметр `expire_date`."
  },
  "30041": {
    "message": "The method is available only for futures",
    "type": "INVALID_ARGUMENT",
    "description": "Метод предназначен только для работы с фьючерсами.<br/>Передайте во входные параметры метода идентификатор фьючерса."
  },
  "30042": {
    "message": "Not enough assets for a margin trade",
    "type": "INVALID_ARGUMENT",
    "description": "Недостаточно активов для маржинальной сделки.<br/>Проверьте маржинальные показатели счёта — это можно сделать через метод [GetMarginAttributes](./users#getmarginattributes)."
  },
  "30043": {
    "message": "Missing parameter: `expiration_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `expiration_type` является обязательным.<br/>Укажите корректный параметр `expiration_type`."
  },
  "30044": {
    "message": "`expiration_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `expiration_type` имеет некорректное значение.<br/>[Список доступных значений](./stoporders/#stoporderexpirationtype)."
  },
  "30045": {
    "message": "Missing parameter: `ticker`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `ticker` является обязательным.<br/>Укажите корректный параметр `ticker`."
  },
  "30047": {
    "message": "Price currency does not match the settlement currency",
    "type": "INVALID_ARGUMENT",
    "description": "Валюта цены не совпадает с валютой расчётов по инструменту.<br/>Укажите корректную валюту цены. Узнать валюту расчета конкретного инструмента можно через метод [GetInstrumentBy](./instruments#getinstrumentby). "
  },
  "30048": {
    "message": "Instrument type is not bond",
    "type": "INVALID_ARGUMENT",
    "description": "Метод предназначен только для запроса информации по облигации.<br/>Передайте во входные параметры метода идентификатор облигации."
  },
  "30049": {
    "message": "Post order error: %s",
    "type": "INVALID_ARGUMENT",
    "description": "Ошибка метода выставления торгового поручения.<br/>Смотрите подробнее в тексте ошибки."
  },
  "30050": {
    "message": "`instrument_status` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `instrument_status` имеет некорректное значение.<br/>[Список доступных значений](./instruments#instrumentstatus)."
  },
  "30051": {
    "message": "Account margin status is disabled",
    "type": "INVALID_ARGUMENT",
    "description": "Для данного договора недоступна маржинальная торговля.<br/>Для выставления поручений на срочном рынке, необходимо включить маржинальную торговлю в приложении и терминале."
  },
  "30052": {
    "message": "Instrument forbidden for trading by API",
    "type": "INVALID_ARGUMENT",
    "description": "Для данного инструмента недоступна торговля через API.<br/>Вы можете проверить значение параметра `api_trade_available_flag` данного инструмента через метод [GetTradingStatus](./marketdata#gettradingstatus)."
  },
  "30053": {
    "message": "Post stop_order error: %s",
    "type": "INVALID_ARGUMENT",
    "description": "Ошибка метода выставления стоп-заявки.<br/>Смотрите подробнее в тексте ошибки."
  },
  "30054": {
    "message": "Instrument type is not a share or etf",
    "type": "INVALID_ARGUMENT",
    "description": "Тип инструмента не инвестиционный фонд или акция"
  },
  "30055": {
    "message": "`order_id` cannot be longer than 36 characters",
    "type": "INVALID_ARGUMENT",
    "description": "`order_id` не может быть длиннее 36 символов"
  },
  "30056": {
    "message": "Stop order settlement currency is not supported",
    "type": "INVALID_ARGUMENT",
    "description": "Валюта выставления стоп-заявки не поддерживается"
  },
  "30057": {
    "message": "The order is a duplicate, but the order report was not found",
    "type": "INVALID_ARGUMENT",
    "description": "Заявка является дублем, но отчет по заявке не найден.<br/>Проверьте параметр `order_id` (идентификатор запроса выставления поручения для целей идемпотентности.) - он должен быть уникальным."
  },
  "30058": {
    "message": "Task not completed yet, please try again later",
    "type": "INVALID_ARGUMENT",
    "description": "Выполнение задачи еще не завершено, попробуйте позже."
  },
  "30059": {
    "message": "Cancel order error: %s",
    "type": "INVALID_ARGUMENT",
    "description": "Ошибка метода отмены заявки.<br/>Смотрите подробнее в тексте ошибки."
  },
  "30060": {
    "message": "Cancel stop-order error: %s",
    "type": "INVALID_ARGUMENT",
    "description": "Ошибка метода отмены стоп-заявки.<br/>Смотрите подробнее в тексте ошибки."
  },
  "30061": {
    "message": "`from` value out of range",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from` имеет некорректное значение.<br/>Укажите значение в пределах от 1970-01-01T00:00:00Z до 2099-12-31T23:59:59.999999999Z включительно."
  },
  "30062": {
    "message": "`to` value out of range",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `to` имеет некорректное значение.<br/>Укажите значение в пределах от 1970-01-01T00:00:00Z до 2099-12-31T23:59:59.999999999Z включительно."
  },
  "30063": {
    "message": "`expire_date` value out of range",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `expire_date` имеет некорректное значение.<br/>Дата должна быть не ранее текущей и не позднее 2099-12-31T23:59:59.999999999Z."
  },
  "30064": {
    "message": "The required period should not exceed 31 days",
    "type": "INVALID_ARGUMENT",
    "description": "Запрошенный период не может превышать 31 дня.<br/>Укажите корректный период."
  },
  "30065": {
    "message": "Missing parameter: `task_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `task_id` является обязательным.<br/>Укажите корректный параметр `task_id`."
  },
  "30066": {
    "message": "Missing parameter: `payload`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `payload` является обязательным.<br/>Укажите корректный параметр `payload`."
  },
  "30067": {
    "message": "`action_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректное значение `action_type`.<br/>Выберите допустимое значение."
  },
  "30068": {
    "message": "Only limit order is allowed",
    "type": "INVALID_ARGUMENT",
    "description": "В настоящий момент возможно выставление только лимитного торгового поручения. [Подробнее про выставление торговых поручений](./orders_details)."
  },
  "30069": {
    "message": "Invalid parameter: `limit`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `limit` имеет некорректное значение.<br/>Значение должно быть меньше или равно 1000."
  },
  "30070": {
    "message": "`from` can't be more than the current date",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from` имеет некорректное значение.<br/>Укажите значение не превышающее текущую дату и время."
  },
  "30077": {
    "message": "Not available for OTC instruments",
    "type": "INVALID_ARGUMENT",
    "description": "Метод недоступен для внебиржевых инструментов.<br/>У таких инструментов параметр `api_trade_available_flag` метода [GetTradingStatus](./marketdata#gettradingstatus) будет иметь значение `false`."
  },
  "30078": {
    "message": "Incorrect minimum price increment",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректный шаг изменения цены.<br/>Остаток от деления `price` на `min_price_increment` должен быть равен 0."
  },
  "30079": {
    "message": "Instrument is not available for trading",
    "type": "INVALID_ARGUMENT",
    "description": "Инструмент недоступен для торгов. [Подробнее о торговых статусах](./faq_trading_status)."
  },
  "30080": {
    "message": "`quantity` must be positive",
    "type": "INVALID_ARGUMENT",
    "description": "Количество лотов должно быть положительным числом."
  },
  "30081": {
    "message": "Account status is closed",
    "type": "INVALID_ARGUMENT",
    "description": "Аккаунт закрыт."
  },
  "30082": {
    "message": "Account status is blocked",
    "type": "INVALID_ARGUMENT",
    "description": "Аккаунт заблокирован."
  },
  "30083": {
    "message": "`order_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректный тип заявки."
  },
  "30084": {
    "message": "Maximum request period has been exceeded",
    "type": "INVALID_ARGUMENT",
    "description": "Превышен лимит запрашиваемого периода."
  },
  "30085": {
    "message": "Price in points is available only for futures and bonds",
    "type": "INVALID_ARGUMENT",
    "description": "Тип цены в пунктах доступен только для фьючерсов и облигаций."
  },
  "30086": {
    "message": "Year is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректный год."
  },
  "30087": {
    "message": "Missing parameter: `query`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `query` является обязательным.<br/>Укажите не пустой параметр `query`."
  },
  "30088": {
    "message": "`from` and `to` must have the same year",
    "type": "INVALID_ARGUMENT",
    "description": "Запрашиваемые даты должны быть в рамках одного года."
  },
  "30089": {
    "message": "`to` must not be later than %s",
    "type": "INVALID_ARGUMENT",
    "description": "Поле `to` не должно быть позднее даты, указанной в тексте ошибки.<br/>Дата указана в формате ISO 8601."
  },
  "30090": {
    "message": "Missing parameter: `siebel_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `siebel_id` является обязательным.<br/>Укажите корректный параметр `siebel_id`."
  },
  "30091": {
    "message": "Quantity of instruments can't be more than 100",
    "type": "INVALID_ARGUMENT",
    "description": "Количество инструментов не может превышать 100."
  },
  "30092": {
    "message": "Trading unavailable on weekends",
    "type": "INVALID_ARGUMENT",
    "description": "Торги недоступны по нерабочим дням. [Подробнее о торговых сессиях](./markets)."
  },
  "30093": {
    "message": "Missing parameter: `figi` or `instrument_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Один из параметров `figi` или `instrument_id` является обязательным."
  },
  "30094": {
    "message": "Options trading is not available at the moment",
    "type": "INVALID_ARGUMENT",
    "description": "Выставление заявок по опционам недоступно."
  },
  "30095": {
    "message": "The request was not executed by the exchange",
    "type": "INVALID_ARGUMENT",
    "description": "Заявка не исполнена биржей.<br/>Лимитная заявка может не исполняться по причине недостижения установленной цены на бирже.<br/>Рыночная же может не исполняться по причине отсутствия сделок с данными инструментов (низкая ликвидность)."
  },
  "30096": {
    "message": "The order was rejected, try again later",
    "type": "INVALID_ARGUMENT",
    "description": "Заявка отклонена, попробуйте повторить позже."
  },
  "30097": {
    "message": "Inappropriate trading session",
    "type": "INVALID_ARGUMENT",
    "description": "Сейчас эта сессия не идёт. [Подробнее о торговых сессиях](./markets)."
  },
  "30098": {
    "message": "Currently there is no trading on this financial instrument",
    "type": "INVALID_ARGUMENT",
    "description": "Торги по этому финансовому инструменту сейчас не проводятся.<br/>Проверить актуальный торговый статус инструмента через метод [GetTradingStatus](./marketdata#gettradingstatus)."
  },
  "30099": {
    "message": "The price is outside the limits for this instrument",
    "type": "INVALID_ARGUMENT",
    "description": "Цена вне лимитов по инструменту или цена сделки вне лимита. [Подробнее про выставление торговых поручений](./orders_details)."
  },
  "30100": {
    "message": "The price must be positive",
    "type": "INVALID_ARGUMENT",
    "description": "Цена должна быть положительной."
  },
  "30101": {
    "message": "Pass the test to trade this financial instrument",
    "type": "INVALID_ARGUMENT",
    "description": "Для торговли этим инструментом пройдите тестирование. [Подробнее про тестирование](https://www.tbank.ru/blog/articles/test-invest/)."
  },
  "30102": {
    "message": "Required parameters missing",
    "type": "INVALID_ARGUMENT",
    "description": "Не правильно указаны обязательные параметры."
  },
  "30103": {
    "message": "Only best price is allowed",
    "type": "INVALID_ARGUMENT",
    "description": "Для инструмента доступно выставить заявки только с типом «лучшая цена»."
  },
  "30104": {
    "message": "`price_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректное значение `price_type`. Значением `price_type` может быть только `PRICE_TYPE_POINT` или `PRICE_TYPE_CURRENCY`."
  },
  "30105": {
    "message": "`exchange_order_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректное значение `exchange_order_type`. Значением `exchange_order_type` может быть только `LIMIT` или `MARKET`."
  },
  "30106": {
    "message": "`status` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректное значение `status`. Значением `status` может быть только `ACTIVE`, `EXCECUTED`, `CANCELED` И `EXPIRED`."
  },
  "30107": {
    "message": "Negative values are not allowed",
    "type": "INVALID_ARGUMENT",
    "description": "Некорректное значение `limit` и/или `page`. Параметры `limit` и `page` не могут принимать отицательные значения."
  },
  "30108": {
    "message": "Specify a lower `limit` or `page` value because there are fewer brands",
    "type": "INVALID_ARGUMENT",
    "description": "Количество брендов меньше запрашиваемых параметров."
  },
  "30109": {
    "message": "Maximum transaction amount has been exceeded",
    "type": "INVALID_ARGUMENT",
    "description": "Превышена максимальная сумма сделки. Разделите ордер на несколько ордеров меньшего объема."
  },
  "30210": {
    "message": "Trailing data required",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса стоп-заявки. Не заданы `indent` или `spread`."
  },
  "30211": {
    "message": "`indent type` required",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса стоп-заявки. Не задан `indent_type`."
  },
  "30212": {
    "message": "`spread type` required",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса стоп-заявки. Не задан `spread_type`."
  },
  "30213": {
    "message": "`indicator_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный `indicator_type`."
  },
  "30214": {
    "message": "`type_of_price` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный `type_of_price`."
  },
  "30215": {
    "message": "`length` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный `length`."
  },
  "30216": {
    "message": "`deviation_data` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный параметр `deviation_data`."
  },
  "30217": {
    "message": "`smoothing_data` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный параметр `smoothing_data`."
  },
  "30218": {
    "message": "Quantity of instruments can't be more than 3000",
    "type": "INVALID_ARGUMENT",
    "description": "Количество инструментов в списке не может быть больше 3000."
  },
  "30219": {
    "message": "`candle_source_type` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Проверьте параметры запроса. Некорректный параметр `candle_source_type`."
  },
  "30220": {
    "message": "`candle_type` not supported when `limit` specified",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `candle_type` не может быть задан, если передан `limit`"
  },
  "30221": {
    "message": "`order_request_id` not in UUID format",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `order_request_id` имеет некорректное значение. Укажите параметр `order_request_id` в UUID формате. Максимальная длина — 36 символов."
  },
  "30222": {
    "message": "`signal_id` not in UUID format",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `signal_id` имеет некорректное значение. Укажите параметр `signal_id` в UUID формате. Максимальная длина — 36 символов."
  },
  "30223": {
    "message": "`strategy_id` not in UUID format",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `strategy_id` имеет некорректное значение. Укажите параметр `strategy_id` в UUID формате. Максимальная длина — 36 символов."
  },
  "30224": {
    "message": "`strategy_type` is not valid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `strategy_type` имеет некорректное значение."
  },
  "30225": {
    "message": "`active` is not valid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `active` имеет некорректное значение."
  },
  "30226": {
    "message": "Specify a lower limit or page value because there are fewer items",
    "type": "INVALID_ARGUMENT",
    "description": "Количество элементов меньше запрашиваемых параметров."
  },
  "30227": {
    "message": "Order cancelled",
    "type": "INVALID_ARGUMENT",
    "description": "Заявка с заданными параметрами не может быть исполнена и отменена биржей или брокером."
  },
  "30228": {
    "message": "`from` or `limit` have to be specified",
    "type": "INVALID_ARGUMENT",
    "description": "Необходимо указать один из параметров — `from` или `limit`."
  },
  "30229": {
    "message": "Price in points is not available",
    "type": "INVALID_ARGUMENT",
    "description": "Сейчас конвертация цены фьючерса недоступна. Возможно, фьючерс истек или нет данных для расчета."
  },
  "30230": {
    "message": "Missing parameter: `group_id`",
    "description": "Входной параметр `group_id` является обязательным. Укажите корректный параметр `group_id`.",
    "type": "INVALID_ARGUMENT"
  },
  "30231": {
    "message": "`group_name` is missing or invalid",
    "description": "Входной параметр 'group_name' отсутствует или имеет некорректное значение. Укажите корректный параметр `group_name`.",
    "type": "INVALID_ARGUMENT"
  },
  "30232": {
    "message": "`group_color` is missing or invalid",
    "description": "Входной параметр `group_color` отсутствует или имеет некорректное значение. Укажите корректный параметр `group_color`.",
    "type": "INVALID_ARGUMENT"
  },
  "30233": {
    "message": "Group can't be deleted",
    "description": "Эту группу нельзя удалить.",
    "type": "INVALID_ARGUMENT"
  },
  "30234": {
    "message": "Instrument not supported",
    "description": "Инструмент не поддерживается методом.",
    "type": "INVALID_ARGUMENT"
  },
  "30235": {
    "message": "The maximum request period for the given interval is 30 days",
    "description": "Для данного интервала свечи данные доступны за последние 30 дней.",
    "type": "INVALID_ARGUMENT"
  },
  "30236": {
    "message": "Price in currency is not available",
    "type": "INVALID_ARGUMENT",
    "description": "Сейчас конвертация цены фьючерса недоступна. Возможно, фьючерс истек или нет данных для расчета."
  },
  "30237": {
    "message": "Missing parameter: `instrument_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `instrument_id` является обязательным."
  },
  "30238": {
    "message": "No data for the specified period",
    "type": "INVALID_ARGUMENT",
    "description": "За указанный интервал операции по счету не найдены."
  },
  "30240": {
    "message": "Confirmation required for specified instrument",
    "type": "INVALID_ARGUMENT",
    "description": "Торговля указанным инструментом может привести к непокрытой позиции. Необходимо использовать флаг `confirm_margin_trade` для подтверждения заявки."
  },
  "30241": {
    "message": "`take_profit_type` not available for specified `stop_order_type`",
    "type": "INVALID_ARGUMENT",
    "description": "Тип `take-profit` заявки не применим к другим стоп-заявкам."
  },
  "30242": {
    "message": "specify correct `limit`",
    "type": "INVALID_ARGUMENT",
    "description": "Значение `limit` должно быть от 1 до 100"
  },
  "30244": {
    "message": "The maximum request period exceeded",
    "type": "INVALID_ARGUMENT",
    "description": "Превышен максимальный интервал для запроса."
  },
  "30245": {
    "message": "`execution_status` is invalid",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `execution_status` имеет некорректное значение."
  },
  "30246": {
    "message": "Invalid parameter: `amount`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `amount` имеет некорректное значение. Значение должно быть неотрицательным и кратным 0.01."
  },
  "30247": {
    "message": "Missing parameter: `amount`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `amount` является обязательным."
  },
  "30248": {
    "message": "Missing parameter: `to_account_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `to_account_id` является обязательным."
  },
  "30249": {
    "message": "Missing parameter: `from_account_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `from_account_id` является обязательным."
  },
  "30250": {
    "message": "Invalid parameter: `to_account_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Зачисление денежных средств возможно только на действующие брокерские счета."
  },
  "30251": {
    "message": "Transaction error: %s",
    "type": "INVALID_ARGUMENT",
    "description": "Ошибка выполнения транзакции.<br/>Смотрите подробнее в тексте ошибки."
  },
  "30252": {
    "message": "Invalid parameter: `from_account_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Списание денежных средств возможно только с действующих брокерских счетов. Недоступно для ИИС."
  },
  "30253": {
    "message": "Invalid parameter: 'currency'",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр 'currency' имеет не корректное значение. Укажите допустимое значение."
  },
  "30254": {
    "message": "Invalid parameter: `time_in_force`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `time_in_force` имеет некорректное значение."
  },
  "30255": {
    "message": "Account forbidden for trading",
    "type": "INVALID_ARGUMENT",
    "description": "Торговля по этому счету запрещена."
  },
  "30256": {
    "message": "Missing parameter: `transaction_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `transaction_id` является обязательным."
  },
  "30257": {
    "message": "Invalid parameter: `transaction_id`",
    "type": "INVALID_ARGUMENT",
    "description": "Входной параметр `transaction_id` имеет некорректное значение. Укажите корректное значение параметра 'transaction_id' в формате uuid."
  },
  "30258": {
    "message": "Specified currency not available for the operation",
    "type": "INVALID_ARGUMENT",
    "description": "Переданная валюта недоступна для данной операции."
  },
  "35001": {
    "message": "Sandbox accounts limit reached",
    "type": "INVALID_ARGUMENT",
    "description": "Достигнут лимит на открытие торговых счетов в песочнице. Чтобы открыть новый счет необходимо закрыть один из существующих."
  },
  "40002": {
    "message": "Insufficient privileges",
    "type": "PERMISSION_DENIED",
    "description": "Недостаточно прав для совершения операции.<br/>Токен доступа имеет уровень прав read-only, либо у токена нет доступа к указанному счету.<br/>[Подробнее про виды токенов](./index#_2)."
  },
  "40003": {
    "message": "Authentication token is missing or invalid",
    "type": "UNAUTHENTICATED",
    "description": "Токен доступа не найден или не активен.<br/>Новый токен можно выпустить в [личном кабинете](https://www.tbank.ru/invest/settings/)."
  },
  "40004": {
    "message": "Working with orders is not available with this account",
    "type": "PERMISSION_DENIED",
    "description": "Выставление заявок недоступно с текущего аккаунта.<br/>Брокерский счет не найден, не принадлежит пользователю или закрыт. Возможно, на пользователе ограничения от T-Invest API или от биржи — в этом случае обратитесь в техподдержку."
  },

  "50001": {
    "message": "Exchange not found",
    "type": "NOT_FOUND",
    "description": "Биржа не найдена по переданному `exchange_id`.<br/>Укажите корректный `exchange_id`."
  },
  "50002": {
    "message": "Instrument not found",
    "type": "NOT_FOUND",
    "description": "Инструмент не найден.<br/>Укажите корректный идентификатор инструмента."
  },
  "50004": {
    "message": "Account not found",
    "type": "NOT_FOUND",
    "description": "Счёт по переданному `account_id` не найден.<br/>Укажите корректный `account_id`."
  },
  "50005": {
    "message": "Order not found",
    "type": "NOT_FOUND",
    "description": "Торговое поручение по переданному `order_id` не найдено.<br/>Укажите корректный `order_id`."
  },
  "50006": {
    "message": "Stop-order not found",
    "type": "NOT_FOUND",
    "description": "Стоп-заявка по переданному `stop_order_id` не найдена.<br/>Укажите корректный `stop_order_id`."
  },
  "50007": {
    "message": "Task not found",
    "type": "NOT_FOUND",
    "description": "Задача не найдена."
  },
  "50008": {
    "message": "No orderbook provider",
    "type": "NOT_FOUND",
    "description": "Отсутствует источник данных по стаканам."
  },
  "50009": {
    "message": "Asset not found",
    "type": "NOT_FOUND",
    "description": "Актив не найден.<br/>Укажите корректный идентификатор актива."
  },
  "50010": {
    "message": "Brand not found",
    "type": "NOT_FOUND",
    "description": "Бренд не найден.<br/>Укажите корректный идентификатор бренда."
  },
  "50011": {
    "message": "Strategy not found",
    "type": "NOT_FOUND",
    "description": "Стратегия не найдена. Укажите корректный идентификатор стратегии."
  },
  "50012": {
    "message": "Signal not found",
    "type": "NOT_FOUND",
    "description": "Сигнал не найден. Укажите корректный идентификатор сигнала."
  },
  "50013": {
    "message": "Group not found",
    "description": "Группа не найдена. Укажите корректный идентификатор группы.",
    "type": "NOT_FOUND"
  },
  "70001": {
    "message": "Internal error",
    "type": "INTERNAL",
    "description": "Внутренняя ошибка сервиса.<br/>Если ошибка повторяется, обратитесь в службу технической поддержки."
  },
  "70002": {
    "message": "Internal network error",
    "type": "INTERNAL",
    "description": "Неизвестная сетевая ошибка, попробуйте выполнить запрос позже.<br/>Если ошибка повторяется, обратитесь в службу технической поддержки."
  },
  "70003": {
    "message": "Internal error, please try again later",
    "type": "INTERNAL",
    "description": "Внутренняя ошибка сервиса, попробуйте выполнить запрос позже.<br/>Если ошибка повторяется, обратитесь в службу технической поддержки."
  },
  "80001": {
    "message": "Limit of open streams exceeded",
    "type": "RESOURCE_EXHAUSTED",
    "description": "Превышен лимит одновременных открытых stream-соединений. [Подробнее про лимитную политику](./limits/)"
  },
  "80002": {
    "message": "Request limit exceeded",
    "type": "RESOURCE_EXHAUSTED",
    "description": "Превышен лимит запросов в минуту. [Подробнее про лимитную политику](./limits/)"
  },
  "80003": {
    "message": "The limit on SMS sending has been exceeded, try again in a minute",
    "type": "RESOURCE_EXHAUSTED",
    "description": "Превышен лимит на отправку СМС, попробуйте через минуту. Если вы не хотите получать СМС при выставлении заявки, отключите отправку СМС в личном кабинете."
  },
  "80004": {
    "message": "No active subscriptions",
    "type": "RESOURCE_EXHAUSTED",
    "description": "В стриме отсутствуют активные подписки."
  },
  "80005": {
    "message": "Stream lifetime too long",
    "type": "RESOURCE_EXHAUSTED",
    "description": "Стрим был завершен из-за превышения времени жизни. Подключитесь повторно."
  },
  "80006": {
    "message": "Error limit exceeded",
    "type": "RESOURCE_EXHAUSTED",
    "description": "Превышен лимит ошибок в минуту. Проверьте параметры запроса, а также его реализуемость."
  },
  "90001": {
    "message": "Need confirmation: %s",
    "type": "FAILED_PRECONDITION",
    "description": "Требуется подтверждение операции.<br/>Смотрите подробнее в тексте ошибки."
  },
  "90002": {
    "message": "Only for qualified investors",
    "type": "FAILED_PRECONDITION",
    "description": "Торговля этим инструментом доступна только квалифицированным инвесторам."
  },
  "90003": {
    "message": "The price is too high",
    "type": "FAILED_PRECONDITION",
    "description": "Цена заявки слишком высокая. Разбейте заявку на заявки меньшего размера. [Подробнее про ограничения на стоимость заявки](./faq_orders/)."
  }
}
