{"components":{"securitySchemes":{"apiToken":{"description":"Токен из настроек пространства (значение вида tby_live_…). Заголовок: Authorization: Bearer <токен>.","scheme":"bearer","type":"http"}}},"info":{"description":"REST-доступ к таблицам Табули: чтение и запись ячеек, листы, таблицы данных, форматирование, диаграммы, сводные и выполнение кода. Аутентификация — токеном пространства из настроек.\n\nОграничения: по умолчанию 10 запросов в секунду на токен (всплеск до 30) и не больше 5 одновременных запросов; при превышении приходит 429 с заголовками X-RateLimit-* и Retry-After.\n\nОтмены и повтора действия (undo/redo) здесь нет: каждый вызов самостоятелен и не держит сессию с историей. Чтобы вернуться к прежнему состоянию файла, используйте историю версий в приложении.","title":"Tabulya Developer API","version":"0.0.1"},"openapi":"3.1.0","paths":{"/v1/auth/me":{"get":{"description":"Кто владелец токена — быстрый способ проверить ключ.","operationId":"get_auth_me","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Владелец токена","tags":["Токен"]}},"/v1/connections":{"get":{"description":"Подключения к базам данных, настроенные в пространстве: uuid, имя и тип. С них начинается работа с внешними данными.","operationId":"get_connections","parameters":[{"description":"Uuid пространства; можно не передавать, если пространство одно.","in":"query","name":"space_uuid","required":false,"schema":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Подключения к базам данных","tags":["Подключения"]}},"/v1/connections/schemas":{"post":{"description":"Схемы подключённых баз: таблицы, столбцы и их типы. Для больших баз удобнее поиск таблиц.","operationId":"post_connections_schemas","requestBody":{"content":{"application/json":{"schema":{"properties":{"connection_ids":{"description":"Список uuid подключений; по умолчанию — все подключения пространства.","items":{"type":"string"},"type":"array"},"space_uuid":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Схемы баз данных","tags":["Подключения"]}},"/v1/connections/tables/search":{"post":{"description":"Ищет таблицы в подключении по описанию на естественном языке — вариант для баз, схема которых слишком велика.","operationId":"post_connections_tables_search","requestBody":{"content":{"application/json":{"schema":{"properties":{"connection_uuid":{"description":"Uuid подключения.","type":"string"},"query":{"description":"Описание нужных таблиц на естественном языке.","type":"string"},"space_uuid":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"},"top_k":{"description":"Сколько таблиц вернуть.","type":"integer"}},"required":["connection_uuid","query"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Поиск таблиц в базе","tags":["Подключения"]}},"/v1/files":{"get":{"description":"Файлы пространства, недавно изменённые первыми: uuid, имя, даты создания и изменения. Когда файлов больше страницы, в ответе приходит `nextOffset` — передайте его в `offset` за следующей страницей.","operationId":"get_files","parameters":[{"description":"Размер страницы.","in":"query","name":"limit","required":false,"schema":{"description":"Размер страницы.","type":"integer"}},{"description":"Сколько записей пропустить; берите `nextOffset` из предыдущего ответа.","in":"query","name":"offset","required":false,"schema":{"description":"Сколько записей пропустить; берите `nextOffset` из предыдущего ответа.","type":"integer"}},{"description":"Uuid пространства; можно не передавать, если пространство одно.","in":"query","name":"space_uuid","required":false,"schema":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Список файлов","tags":["Файлы"]},"post":{"description":"Создаёт пустой файл в пространстве и возвращает его uuid. Нужны права на редактирование пространства.","operationId":"post_files","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"Имя нового файла.","type":"string"},"private":{"description":"Файл виден только вам; по умолчанию доступен всему пространству.","type":"boolean"},"space_uuid":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Создать файл","tags":["Файлы"]}},"/v1/files/import":{"post":{"description":"Создаёт файл и сразу импортирует в него данные (files_create + files_import).\n\nЗагружает CSV, Excel или Parquet в файл. Данные передаются в base64; формат определяется по расширению имени. Excel-книга приходит со своими листами, CSV и Parquet ложатся от указанной ячейки.","operationId":"post_files_import","requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка, от которой ложатся данные CSV или Parquet; для Excel не используется.","type":"string"},"file_data":{"description":"Содержимое файла в base64.","type":"string"},"file_name":{"description":"Имя файла; расширение задаёт формат (.csv, .xlsx, .xls, .parquet).","type":"string"},"file_uuid":{"description":"Uuid файла.","type":"string"},"sheet":{"description":"Лист для CSV или Parquet; для Excel не используется.","type":"string"}},"required":["file_uuid","file_name","file_data"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Создать файл из данных","tags":["Файлы"]}},"/v1/files/{file_uuid}":{"get":{"description":"Метаданные файла: имя, пространство, даты создания и изменения, номер последнего сохранённого состояния и ваши права.","operationId":"get_files_file_uuid","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Сведения о файле","tags":["Файлы"]}},"/v1/files/{file_uuid}/batch":{"post":{"description":"Последовательность действий одним запросом; выполнение останавливается на первой ошибке.","operationId":"post_files_file_uuid_batch","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Пачка действий","tags":["Файлы"]}},"/v1/files/{file_uuid}/cells":{"delete":{"description":"Очищает ячейки диапазона вместе с код-ячейками, диаграммами и таблицами, которые в него попадают.","operationId":"delete_files_file_uuid_cells","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"range":{"description":"Диапазон A1, содержимое которого очищается.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Очистить ячейки","tags":["Ячейки"]},"get":{"description":"Читает значения ячеек. Передайте `range` для одного A1-диапазона или `ranges` для нескольких — каждый диапазон читается независимо. Возвращает отображаемые значения и ошибки формул, если они есть.","operationId":"get_files_file_uuid_cells","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Диапазон в нотации A1, например «A1:C10».","in":"query","name":"range","required":false,"schema":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"}},{"description":"Несколько диапазонов A1; каждый читается независимо.","in":"query","name":"ranges","required":false,"schema":{"description":"Несколько диапазонов A1; каждый читается независимо.","items":{"type":"string"},"type":"array"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Прочитать ячейки","tags":["Ячейки"]},"put":{"description":"Записывает прямоугольник значений начиная с указанной ячейки. Значения — литералы: числа, текст, даты. Для формул есть отдельная операция.","operationId":"put_files_file_uuid_cells","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"values":{"description":"Двумерный массив значений: строки из столбцов.","items":{"items":{"type":"string"},"type":"array"},"type":"array"}},"required":["cell","values"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Записать ячейки","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/batch":{"put":{"description":"Несколько записей и изменений форматирования одной транзакцией: файл загружается один раз, операции применяются по порядку. Дешевле и безопаснее череды отдельных вызовов.","operationId":"put_files_file_uuid_cells_batch","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"formats":{"description":"Изменения форматирования, применяемые после записей в той же транзакции.","items":{"properties":{"align":{"enum":["left","center","right"],"type":"string"},"bold":{"type":"boolean"},"clear":{"description":"Remove ALL formatting from the range.","type":"boolean"},"currency_symbol":{"type":"string"},"date_time":{"description":"Date/time display format (strftime-style).","type":"string"},"decimals":{"type":"integer"},"fill_color":{"description":"Background hex color.","type":"string"},"font_size":{"type":"integer"},"italic":{"type":"boolean"},"number_format":{"enum":["number","currency","percent","exponential"],"type":"string"},"numeric_commas":{"type":"boolean"},"range":{"description":"A1 range to format, e.g. 'A1:C1'.","type":"string"},"sheet":{"description":"Overrides the top-level sheet for this format.","type":"string"},"strikethrough":{"type":"boolean"},"text_color":{"description":"Hex color, e.g. '#1F77B4'.","type":"string"},"underline":{"type":"boolean"},"vertical_align":{"enum":["top","middle","bottom"],"type":"string"},"wrap":{"enum":["overflow","wrap","clip"],"type":"string"}},"required":["range"],"type":"object"},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"writes":{"description":"Записи значений, применяемые первыми в той же транзакции.","items":{"properties":{"cell":{"description":"Top-left anchor in A1, e.g. 'B2'.","type":"string"},"sheet":{"description":"Overrides the top-level sheet for this write.","type":"string"},"values":{"description":"2D array of literal values starting at the anchor.","items":{"items":{"type":"string"},"type":"array"},"type":"array"}},"required":["cell","values"],"type":"object"},"type":"array"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Записать ячейки пачкой","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/borders":{"put":{"description":"Ставит или снимает границы ячеек: можно выбрать стороны, стиль линии и цвет.","operationId":"put_files_file_uuid_cells_borders","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"color":{"description":"Цвет в формате «#RRGGBB» или «#RRGGBBAA».","type":"string"},"line":{"description":"Стиль линии границы.","enum":["line1","line2","line3","double","dotted","dashed"],"type":"string"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"sides":{"description":"Какие стороны задать; «clear» снимает границы.","enum":["all","inner","outer","horizontal","vertical","left","top","right","bottom","clear"],"type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Задать границы","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/code":{"get":{"description":"Возвращает исходный код код-ячейки (Python, SQL или формула), её вывод и ошибки выполнения.","operationId":"get_files_file_uuid_cells_code","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Ячейка в нотации A1.","in":"query","name":"cell","required":true,"schema":{"description":"Ячейка в нотации A1.","type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Прочитать код-ячейку","tags":["Ячейки"]},"put":{"description":"Ставит код-ячейку и запускает её в изолированном воркере: `python` выполняет код, `connection` — SQL-запрос к подключённой базе. Выполнение асинхронное: возвращается идентификатор задачи, результат появляется в ячейке позже.","operationId":"put_files_file_uuid_cells_code","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"code":{"description":"Исходный код на Python либо SQL-запрос, если язык — подключение.","type":"string"},"connection_uuid":{"description":"Uuid подключения.","type":"string"},"language":{"description":"Язык код-ячейки: «python» или «connection» для SQL.","enum":["python","connection"],"type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell","language","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Выполнить код в ячейке","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/code/rerun":{"post":{"description":"Перезапускает существующие код-ячейки, не меняя их код, — например, чтобы обновить внешние данные.","operationId":"post_files_file_uuid_cells_code_rerun","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"range":{"description":"Диапазон с код-ячейками, которые нужно перезапустить.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Перезапустить код","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/dependencies":{"get":{"description":"Показывает связи вокруг ячейки: что она читает, что зависит от неё, либо оба направления сразу.","operationId":"get_files_file_uuid_cells_dependencies","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Ячейка в нотации A1.","in":"query","name":"cell","required":true,"schema":{"description":"Ячейка в нотации A1.","type":"string"}},{"description":"Направление обхода связей: что ячейка читает, что зависит от неё, либо оба.","in":"query","name":"direction","required":false,"schema":{"description":"Направление обхода связей: что ячейка читает, что зависит от неё, либо оба.","enum":["forward","reverse","both"],"type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Зависимости ячейки","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/formats":{"get":{"description":"Читает форматирование диапазона: начертание, цвета, выравнивание, числовой формат. Обратная операция к форматированию.","operationId":"get_files_file_uuid_cells_formats","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Диапазон в нотации A1, например «A1:C10».","in":"query","name":"range","required":true,"schema":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Прочитать форматирование","tags":["Ячейки"]},"put":{"description":"Применяет форматирование к диапазону: начертание, цвета текста и заливки, выравнивание, числовой формат, размер шрифта. `clear` снимает всё форматирование.","operationId":"put_files_file_uuid_cells_formats","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"align":{"description":"Горизонтальное выравнивание.","enum":["left","center","right"],"type":"string"},"bold":{"description":"Полужирное начертание.","type":"boolean"},"clear":{"description":"Снять всё форматирование диапазона; остальные поля при этом игнорируются.","type":"boolean"},"currency_symbol":{"description":"Символ валюты для денежного формата.","type":"string"},"date_time":{"description":"Формат отображения даты и времени в стиле strftime, например «%d.%m.%Y».","type":"string"},"decimals":{"description":"Число знаков после запятой.","type":"integer"},"fill_color":{"description":"Цвет заливки в формате «#RRGGBB».","type":"string"},"font_size":{"description":"Размер шрифта в пунктах.","type":"integer"},"italic":{"description":"Курсив.","type":"boolean"},"negative":{"description":"Как показывать отрицательные суммы: минусом, красным или и тем и другим.","enum":["minus","minus_red","red","parentheses","parentheses_red"],"type":"string"},"number_format":{"description":"Числовой формат отображения.","enum":["number","currency","percent","exponential","text","accounting"],"type":"string"},"numeric_commas":{"description":"Разделять разряды.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"strikethrough":{"description":"Зачёркнутый текст.","type":"boolean"},"text_color":{"description":"Цвет текста в формате «#RRGGBB».","type":"string"},"underline":{"description":"Подчёркнутый текст.","type":"boolean"},"vertical_align":{"description":"Вертикальное выравнивание.","enum":["top","middle","bottom"],"type":"string"},"wrap":{"description":"Перенос текста по словам.","enum":["overflow","wrap","clip"],"type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Форматировать ячейки","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/formula":{"put":{"description":"Ставит формулу в ячейку и возвращает результат — формулы считаются синхронно, в отличие от кода.","operationId":"put_files_file_uuid_cells_formula","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"formula":{"description":"Выражение формулы, например «СУММ(A1:A10)».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell","formula"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Задать формулу","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/has-data":{"get":{"description":"Отвечает, занят ли диапазон: значениями, выводом кода или таблицы, объединёнными ячейками. Полезно проверить место перед записью.","operationId":"get_files_file_uuid_cells_has_data","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Диапазон в нотации A1, например «A1:C10».","in":"query","name":"range","required":true,"schema":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверить занятость диапазона","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/merge":{"delete":{"description":"Разъединяет объединённые ячейки (files_merge с unmerge=true).\n\nОбъединяет диапазон в одну ячейку (сохраняется значение левой верхней) либо разъединяет ранее объединённые.","operationId":"delete_files_file_uuid_cells_merge","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"by_rows":{"description":"Объединять каждую строку диапазона отдельно, а не весь диапазон целиком.","type":"boolean"},"center":{"description":"Выровнять содержимое объединённой ячейки по центру.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Разъединить ячейки","tags":["Ячейки"]},"post":{"description":"Объединяет диапазон в одну ячейку (сохраняется значение левой верхней) либо разъединяет ранее объединённые.","operationId":"post_files_file_uuid_cells_merge","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"by_rows":{"description":"Объединять каждую строку диапазона отдельно, а не весь диапазон целиком.","type":"boolean"},"center":{"description":"Выровнять содержимое объединённой ячейки по центру.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"unmerge":{"description":"Разъединить объединённые ячейки вместо объединения.","type":"boolean"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Объединить ячейки","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/move":{"post":{"description":"Переносит прямоугольник ячеек со значениями, форматами и кодом на новое место того же листа.","operationId":"post_files_file_uuid_cells_move","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"source":{"description":"Прямоугольник A1, который переносится.","type":"string"},"target":{"description":"Ячейка левого верхнего угла назначения.","type":"string"}},"required":["source","target"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Перенести блок ячеек","tags":["Ячейки"]}},"/v1/files/{file_uuid}/cells/replace":{"post":{"description":"Находит и заменяет текст в ячейках одной транзакцией. Затрагивает только текстовые значения и, по желанию, код.","operationId":"post_files_file_uuid_cells_replace","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"case_sensitive":{"description":"Учитывать регистр.","type":"boolean"},"find":{"description":"Что искать.","type":"string"},"replace":{"description":"Чем заменить; пустая строка удаляет найденное.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"whole_cell":{"description":"Заменять только ячейки, целиком равные искомому.","type":"boolean"}},"required":["find","replace"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Найти и заменить","tags":["Ячейки"]}},"/v1/files/{file_uuid}/charts":{"delete":{"description":"Удаляет диаграмму по идентификатору.","operationId":"delete_files_file_uuid_charts","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Идентификатор диаграммы.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["chart_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить диаграмму","tags":["Объекты"]},"patch":{"description":"Меняет существующую диаграмму: тип, данные, подписи, оформление. Переданные поля заменяются, остальные сохраняются.","operationId":"patch_files_file_uuid_charts","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chart_id":{"description":"Идентификатор диаграммы.","type":"string"},"chart_name":{"description":"Новое отображаемое имя; без значения имя сохраняется.","type":"string"},"chart_type":{"description":"Тип диаграммы; без значения тип сохраняется.","type":"string"},"data_range":{"description":"Новый диапазон данных; без значения диапазон сохраняется.","type":"string"},"first_col_labels":{"description":"Первый столбец — подписи категорий.","type":"boolean"},"first_row_headers":{"description":"Первая строка — заголовки.","type":"boolean"},"height_cells":{"description":"Высота в строках.","type":"integer"},"position":{"description":"Новая ячейка привязки в нотации A1; без значения положение сохраняется.","type":"string"},"series_columns":{"description":"Индексы столбцов-рядов для построения.","items":{"type":"integer"},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"title":{"description":"Заголовок; пустая строка убирает его.","type":"string"},"transpose":{"description":"Поменять местами ряды и категории.","type":"boolean"},"width_cells":{"description":"Ширина в столбцах.","type":"integer"},"x_column":{"description":"Индекс столбца категорий, отсчёт с нуля.","type":"integer"}},"required":["chart_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Изменить диаграмму","tags":["Объекты"]},"post":{"description":"Добавляет диаграмму по диапазону данных — без кода. Диаграмма остаётся живой: значения обновляются вместе с ячейками.","operationId":"post_files_file_uuid_charts","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"chart_name":{"description":"Новое отображаемое имя; без значения имя сохраняется.","type":"string"},"chart_type":{"description":"Тип диаграммы; без значения тип сохраняется.","type":"string"},"data_label_points":{"description":"Какие точки подписывать: первая, последняя, обе или минимум и максимум.","type":"string"},"data_label_series":{"description":"Индексы рядов с подписями значений; без значения — все ряды.","items":{"type":"integer"},"type":"array"},"data_labels":{"description":"Показывать подписи значений.","type":"boolean"},"data_range":{"description":"Новый диапазон данных; без значения диапазон сохраняется.","type":"string"},"first_col_labels":{"description":"Первый столбец — подписи категорий.","type":"boolean"},"first_row_headers":{"description":"Первая строка — заголовки.","type":"boolean"},"height_cells":{"description":"Высота в строках.","type":"integer"},"position":{"description":"Новая ячейка привязки в нотации A1; без значения положение сохраняется.","type":"string"},"secondary_series":{"description":"Индексы рядов, отложенных по правой оси.","items":{"type":"integer"},"type":"array"},"series_marks":{"description":"Тип отображения каждого ряда для комбинированной диаграммы.","items":{"properties":{"mark":{"description":"bar, line, area or point.","type":"string"},"series":{"description":"Canonical column index (0 = categories, first series = 1).","type":"integer"}},"required":["series","mark"],"type":"object"},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"title":{"description":"Заголовок; пустая строка убирает его.","type":"string"},"transpose":{"description":"Поменять местами ряды и категории.","type":"boolean"},"trend_series":{"description":"Индексы рядов с линией тренда; пустой список — все ряды.","items":{"type":"integer"},"type":"array"},"width_cells":{"description":"Ширина в столбцах.","type":"integer"},"x_column":{"description":"Индекс столбца категорий, отсчёт с нуля.","type":"integer"}},"required":["chart_type","data_range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Добавить диаграмму","tags":["Объекты"]}},"/v1/files/{file_uuid}/columns":{"delete":{"description":"Удаляет строки или столбцы целиком, сдвигая оставшееся содержимое.","operationId":"delete_files_file_uuid_columns","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"indices":{"description":"Буквы столбцов или номера строк.","items":{"type":["string","integer"]},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["indices"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить столбцы","tags":["Структура"]},"post":{"description":"Вставляет пустые строки или столбцы, сдвигая содержимое. Формулы и таблицы пересчитываются автоматически.","operationId":"post_files_file_uuid_columns","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"at":{"description":"Опорная линия: буква столбца («C») или номер строки («5»).","type":"string"},"count":{"description":"Сколько вставить.","type":"integer"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"side":{"description":"С какой стороны от опорной линии вставлять: до или после.","enum":["before","after"],"type":"string"}},"required":["at"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Вставить столбцы","tags":["Структура"]}},"/v1/files/{file_uuid}/columns/default-size":{"put":{"description":"Задаёт ширину столбцов или высоту строк в пикселях. Без списка индексов размер становится размером по умолчанию для всего листа.","operationId":"put_files_file_uuid_columns_default_size","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"size":{"description":"Размер в пикселях (1–2000).","type":"number"}},"required":["size"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Ширина столбцов по умолчанию","tags":["Структура"]}},"/v1/files/{file_uuid}/columns/move":{"post":{"description":"Переставляет столбцы или строки целиком: диапазон вырезается и вставляется перед указанной позицией, ссылки в формулах и таблицах подстраиваются.","operationId":"post_files_file_uuid_columns_move","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"to":{"description":"Куда переставить: буква столбца или номер строки.","type":"string"}},"required":["range","to"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Перенести столбцы","tags":["Структура"]}},"/v1/files/{file_uuid}/columns/size":{"put":{"description":"Задаёт ширину столбцов или высоту строк в пикселях. Без списка индексов размер становится размером по умолчанию для всего листа.","operationId":"put_files_file_uuid_columns_size","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"indices":{"description":"Буквы столбцов или номера строк.","items":{"type":["string","integer"]},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"size":{"description":"Размер в пикселях (1–2000).","type":"number"}},"required":["size"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Ширина столбцов","tags":["Структура"]}},"/v1/files/{file_uuid}/conditional-formats":{"delete":{"description":"Удаляет правило условного форматирования по идентификатору.","operationId":"delete_files_file_uuid_conditional_formats","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"Идентификатор правила из списка условных форматов.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить условный формат","tags":["Правила"]},"get":{"description":"Правила условного форматирования файла: диапазон, тип правила, условие и применяемый стиль.","operationId":"get_files_file_uuid_conditional_formats","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Список условных форматов","tags":["Правила"]},"put":{"description":"Создаёт или обновляет правило условного форматирования: формула-условие и стиль, который применяется к подходящим ячейкам.","operationId":"put_files_file_uuid_conditional_formats","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"apply_to_blank":{"description":"Применять правило и к пустым ячейкам.","type":"boolean"},"bold":{"description":"Полужирное начертание.","type":"boolean"},"fill_color":{"description":"Цвет заливки в формате «#RRGGBB».","type":"string"},"formula":{"description":"Выражение формулы, например «СУММ(A1:A10)».","type":"string"},"id":{"description":"Идентификатор.","type":"string"},"italic":{"description":"Курсив.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"strikethrough":{"description":"Зачёркнутый текст.","type":"boolean"},"text_color":{"description":"Цвет текста в формате «#RRGGBB».","type":"string"},"underline":{"description":"Подчёркнутый текст.","type":"boolean"}},"required":["range","formula"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Задать условный формат","tags":["Правила"]}},"/v1/files/{file_uuid}/conditional-formats/color-scale":{"put":{"description":"Ставит цветовую шкалу: ячейки диапазона окрашиваются градиентом по своему значению.","operationId":"put_files_file_uuid_conditional_formats_color_scale","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"auto_contrast_text":{"description":"Автоматически переключать цвет текста между чёрным и белым по яркости заливки.","type":"boolean"},"id":{"description":"Идентификатор.","type":"string"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"thresholds":{"description":"Точки градиента от наименьшего значения к наибольшему.","items":{"properties":{"color":{"description":"Hex color '#RRGGBB' at this stop.","type":"string"},"value":{"description":"Required for number/percent/percentile (0-100 for percent/percentile); omit for min/max.","type":"number"},"value_type":{"enum":["min","max","number","percent","percentile"],"type":"string"}},"required":["value_type","color"],"type":"object"},"minItems":2,"type":"array"}},"required":["range","thresholds"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Цветовая шкала","tags":["Правила"]}},"/v1/files/{file_uuid}/context":{"get":{"description":"Обзор файла из его текущего состояния: листы и таблицы данных с диапазонами и заголовками столбцов, диаграммы, сводные таблицы и граф зависимостей код-ячеек. Удобно как первый запрос перед чтением и правками.","operationId":"get_files_file_uuid_context","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Структура файла","tags":["Файлы"]}},"/v1/files/{file_uuid}/data":{"get":{"description":"Массовое чтение значений — то же, что /cells, отдельным путём для выгрузок.\n\nЧитает значения ячеек. Передайте `range` для одного A1-диапазона или `ranges` для нескольких — каждый диапазон читается независимо. Возвращает отображаемые значения и ошибки формул, если они есть.","operationId":"get_files_file_uuid_data","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Диапазон в нотации A1, например «A1:C10».","in":"query","name":"range","required":false,"schema":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"}},{"description":"Несколько диапазонов A1; каждый читается независимо.","in":"query","name":"ranges","required":false,"schema":{"description":"Несколько диапазонов A1; каждый читается независимо.","items":{"type":"string"},"type":"array"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Выгрузка данных","tags":["Файлы"]}},"/v1/files/{file_uuid}/export/pdf":{"post":{"description":"Тело с настройками печати необязательно: без него — Letter, книжная ориентация, масштаб 100 %, все листы. Ответ — сам файл, а не JSON.\n\nПечатает листы в PDF по правилам Excel: размер бумаги, ориентация, поля, масштаб или подгонка под число страниц, порядок страниц, центрирование, сетка и заголовки строк со столбцами. По листам задаются область печати, сквозные строки и столбцы, ручные разрывы.","operationId":"post_files_file_uuid_export_pdf","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"chartImages":{"additionalProperties":true,"description":"Растры диаграмм в base64-PNG по ключу «sheetId!x,y» — переопределяют снимок, сохранённый в файле. Диаграмма без снимка печатается рамкой с названием: у книги, загруженной через этот API, снимков нет, пока её не откроет клиент. Картинки, вставленные в ячейки, печатаются сами: PNG и JPEG — из файла, прочие форматы — рамкой. Объём растров, разворачиваемых в память, ограничен: сверх предела картинка печатается рамкой.","type":"object"},"fileName":{"description":"Имя файла: попадает в метаданные и в код &F колонтитула.","type":"string"},"pageSetup":{"description":"Параметры страницы: размер бумаги, ориентация, поля, масштаб, порядок страниц, центрирование, сетка, заголовки и колонтитулы.","properties":{"centerHorizontally":{"type":"boolean"},"centerVertically":{"type":"boolean"},"footer":{"description":"Секции колонтитула: left, center, right.","type":"object"},"header":{"description":"Секции колонтитула: left, center, right. Коды: &P, &N, &D, &F, &A, &B.","type":"object"},"margins":{"description":"Поля в дюймах.","properties":{"bottom":{"type":"number"},"footer":{"type":"number"},"header":{"type":"number"},"left":{"type":"number"},"right":{"type":"number"},"top":{"type":"number"}},"type":"object"},"orientation":{"enum":["portrait","landscape"],"type":"string"},"pageOrder":{"enum":["downThenOver","overThenDown"],"type":"string"},"paperSize":{"enum":["letter","legal","tabloid","executive","a3","a4","a5"],"type":"string"},"printGridlines":{"type":"boolean"},"printHeadings":{"type":"boolean"},"scaling":{"description":"Масштаб: {\"type\":\"zoom\",\"percent\":100} или {\"type\":\"fitTo\",\"width\":1,\"height\":null}.","type":"object"}},"type":"object"},"printedAt":{"description":"Дата для кода &D колонтитула.","type":"string"},"sheetIds":{"description":"Листы для печати; по умолчанию — все.","items":{"type":"string"},"type":"array"},"sheetOptions":{"additionalProperties":true,"description":"Настройки по листам: printArea (A1:F20), repeatRows (1:2), repeatCols (A:B), rowBreaks, colBreaks.","type":"object"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"binary","type":"string"}}},"description":"Файл"},"400":{"description":"Некорректные настройки"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"}},"summary":"Экспорт в PDF","tags":["Файлы"]}},"/v1/files/{file_uuid}/import":{"post":{"description":"Загружает CSV, Excel или Parquet в файл. Данные передаются в base64; формат определяется по расширению имени. Excel-книга приходит со своими листами, CSV и Parquet ложатся от указанной ячейки.","operationId":"post_files_file_uuid_import","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка, от которой ложатся данные CSV или Parquet; для Excel не используется.","type":"string"},"file_data":{"description":"Содержимое файла в base64.","type":"string"},"file_name":{"description":"Имя файла; расширение задаёт формат (.csv, .xlsx, .xls, .parquet).","type":"string"},"sheet":{"description":"Лист для CSV или Parquet; для Excel не используется.","type":"string"}},"required":["file_name","file_data"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Импортировать данные в файл","tags":["Файлы"]}},"/v1/files/{file_uuid}/outline":{"get":{"description":"Псевдоним /context — структура файла: листы, таблицы, диаграммы.\n\nОбзор файла из его текущего состояния: листы и таблицы данных с диапазонами и заголовками столбцов, диаграммы, сводные таблицы и граф зависимостей код-ячеек. Удобно как первый запрос перед чтением и правками.","operationId":"get_files_file_uuid_outline","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Структура файла (псевдоним)","tags":["Файлы"]}},"/v1/files/{file_uuid}/pivot-tables":{"delete":{"description":"Удаляет сводную таблицу по имени.","operationId":"delete_files_file_uuid_pivot_tables","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"pivot_table_name":{"description":"Имя сводной таблицы.","type":"string"}},"required":["pivot_table_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить сводную таблицу","tags":["Объекты"]},"put":{"description":"Создаёт или перенастраивает сводную таблицу: области строк, столбцов, значений и фильтров, макет и итоги.","operationId":"put_files_file_uuid_pivot_tables","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"description":"Действие: «create» — создать, «update» — обновить.","type":"string"},"column_grand_total":{"description":"Строка общих итогов.","type":"boolean"},"columns":{"description":"Поля области столбцов.","items":{"type":"object"},"type":"array"},"destination":{"description":"Куда поместить результат: новый лист или ячейка левого верхнего угла.","type":"string"},"filters":{"description":"Поля области фильтров, ограничивающие исходные строки.","items":{"type":"object"},"type":"array"},"layout":{"description":"Макет сводной таблицы: сжатый, структурой или табличный.","type":"string"},"pivot_table_name":{"description":"Имя сводной таблицы.","type":"string"},"row_grand_total":{"description":"Столбец общих итогов.","type":"boolean"},"rows":{"description":"Поля области строк, внешние первыми.","items":{"type":"object"},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"source":{"description":"Прямоугольник A1, который переносится.","type":"string"},"subtotal_position":{"description":"Где показывать промежуточные итоги: сверху или снизу.","type":"string"},"values":{"description":"Значения.","items":{"type":"object"},"type":"array"},"values_layout":{"description":"Как располагать поля значений: по столбцам или по строкам.","type":"string"}},"required":["action"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Сводная таблица","tags":["Объекты"]}},"/v1/files/{file_uuid}/rows":{"delete":{"description":"Удаляет строки или столбцы целиком, сдвигая оставшееся содержимое.","operationId":"delete_files_file_uuid_rows","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"indices":{"description":"Буквы столбцов или номера строк.","items":{"type":["string","integer"]},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["indices"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить строки","tags":["Структура"]},"post":{"description":"Вставляет пустые строки или столбцы, сдвигая содержимое. Формулы и таблицы пересчитываются автоматически.","operationId":"post_files_file_uuid_rows","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"at":{"description":"Опорная линия: буква столбца («C») или номер строки («5»).","type":"string"},"count":{"description":"Сколько вставить.","type":"integer"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"side":{"description":"С какой стороны от опорной линии вставлять: до или после.","enum":["before","after"],"type":"string"}},"required":["at"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Вставить строки","tags":["Структура"]}},"/v1/files/{file_uuid}/rows/default-size":{"put":{"description":"Задаёт ширину столбцов или высоту строк в пикселях. Без списка индексов размер становится размером по умолчанию для всего листа.","operationId":"put_files_file_uuid_rows_default_size","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"size":{"description":"Размер в пикселях (1–2000).","type":"number"}},"required":["size"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Высота строк по умолчанию","tags":["Структура"]}},"/v1/files/{file_uuid}/rows/move":{"post":{"description":"Переставляет столбцы или строки целиком: диапазон вырезается и вставляется перед указанной позицией, ссылки в формулах и таблицах подстраиваются.","operationId":"post_files_file_uuid_rows_move","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"to":{"description":"Куда переставить: буква столбца или номер строки.","type":"string"}},"required":["range","to"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Перенести строки","tags":["Структура"]}},"/v1/files/{file_uuid}/rows/size":{"put":{"description":"Задаёт ширину столбцов или высоту строк в пикселях. Без списка индексов размер становится размером по умолчанию для всего листа.","operationId":"put_files_file_uuid_rows_size","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"indices":{"description":"Буквы столбцов или номера строк.","items":{"type":["string","integer"]},"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"size":{"description":"Размер в пикселях (1–2000).","type":"number"}},"required":["size"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Высота строк","tags":["Структура"]}},"/v1/files/{file_uuid}/runs":{"get":{"description":"Состояние запуска кода по идентификатору задачи: в очереди, выполняется, завершено или не удалось.","operationId":"get_files_file_uuid_runs","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Идентификатор задачи, полученный при запуске кода.","in":"query","name":"task_id","required":true,"schema":{"description":"Идентификатор задачи, полученный при запуске кода.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Статус выполнения кода","tags":["Ячейки"]}},"/v1/files/{file_uuid}/runs/cancel":{"post":{"description":"Отменяет запуск кода: задача не будет подхвачена воркером. Уже начатое выполнение может завершиться.","operationId":"post_files_file_uuid_runs_cancel","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"task_id":{"description":"Идентификатор задачи, полученный при запуске кода.","type":"string"}},"required":["task_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Отменить выполнение кода","tags":["Ячейки"]}},"/v1/files/{file_uuid}/search":{"get":{"description":"Ищет текст в значениях ячеек, при желании — и в исходном коде код-ячеек. Возвращает позиции совпадений.","operationId":"get_files_file_uuid_search","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Учитывать регистр.","in":"query","name":"case_sensitive","required":false,"schema":{"description":"Учитывать регистр.","type":"boolean"}},{"description":"Искомый текст.","in":"query","name":"query","required":true,"schema":{"description":"Искомый текст.","type":"string"}},{"description":"Искать и в исходном коде код-ячеек, а не только в выводе.","in":"query","name":"search_code","required":false,"schema":{"description":"Искать и в исходном коде код-ячеек, а не только в выводе.","type":"boolean"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},{"description":"Заменять только ячейки, целиком равные искомому.","in":"query","name":"whole_cell","required":false,"schema":{"description":"Заменять только ячейки, целиком равные искомому.","type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Поиск по ячейкам","tags":["Файлы"]}},"/v1/files/{file_uuid}/sheets":{"get":{"description":"Листы файла в порядке вкладок: имя, позиция, цвет вкладки и число закреплённых строк и столбцов.","operationId":"get_files_file_uuid_sheets","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Список листов","tags":["Листы"]},"post":{"description":"Добавляет лист в файл. Имя должно быть уникальным.","operationId":"post_files_file_uuid_sheets","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"insert_before":{"description":"Имя листа, перед которым вставить новый; без значения — в конец.","type":"string"},"name":{"description":"Имя нового листа.","type":"string"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Создать лист","tags":["Листы"]}},"/v1/files/{file_uuid}/sheets/{sheet_name}":{"delete":{"description":"Удаляет лист вместе с содержимым. Последний лист файла удалить нельзя.","operationId":"delete_files_file_uuid_sheets_sheet_name","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить лист","tags":["Листы"]},"patch":{"description":"Переименовывает лист. Новое имя должно быть уникальным.","operationId":"patch_files_file_uuid_sheets_sheet_name","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"new_name":{"description":"Новое имя; должно быть уникальным.","type":"string"}},"required":["new_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Переименовать лист","tags":["Листы"]}},"/v1/files/{file_uuid}/sheets/{sheet_name}/color":{"patch":{"description":"Задаёт цвет вкладки листа; пустое значение снимает цвет.","operationId":"patch_files_file_uuid_sheets_sheet_name_color","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"color":{"description":"Цвет в формате «#RRGGBB» или «#RRGGBBAA».","type":"string"}},"required":["color"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Цвет вкладки листа","tags":["Листы"]}},"/v1/files/{file_uuid}/sheets/{sheet_name}/duplicate":{"post":{"description":"Создаёт копию листа со всем содержимым: значениями, форматами, кодом и таблицами.","operationId":"post_files_file_uuid_sheets_sheet_name_duplicate","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"new_name":{"description":"Новое имя; должно быть уникальным.","type":"string"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Дублировать лист","tags":["Листы"]}},"/v1/files/{file_uuid}/sheets/{sheet_name}/frozen":{"patch":{"description":"Закрепляет верхние строки и левые столбцы — они остаются видимыми при прокрутке.","operationId":"patch_files_file_uuid_sheets_sheet_name_frozen","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"frozen_columns":{"description":"Сколько столбцов закрепить слева; 0 — не закреплять.","minimum":0,"type":"integer"},"frozen_rows":{"description":"Сколько строк закрепить сверху; 0 — не закреплять.","minimum":0,"type":"integer"}},"required":["frozen_rows","frozen_columns"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Закрепить строки и столбцы","tags":["Листы"]}},"/v1/files/{file_uuid}/sheets/{sheet_name}/move":{"patch":{"description":"Меняет порядок вкладок: лист встаёт перед указанным или в конец.","operationId":"patch_files_file_uuid_sheets_sheet_name_move","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа.","in":"path","name":"sheet_name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"before":{"description":"Поставить лист перед этим листом; без значения — в конец.","type":"string"}},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Переместить лист","tags":["Листы"]}},"/v1/files/{file_uuid}/tables":{"patch":{"description":"Меняет настройки таблицы: имя, показ строки заголовков и полосы с именем, чередование цветов строк.","operationId":"patch_files_file_uuid_tables","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"alternating_colors":{"description":"Чередование цвета строк.","type":"boolean"},"cell":{"description":"Ячейка в нотации A1.","type":"string"},"first_row_as_header":{"description":"Считать первую строку данных строкой заголовков.","type":"boolean"},"name":{"description":"Имя.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"show_columns":{"description":"Показывать строку заголовков столбцов.","type":"boolean"},"show_name":{"description":"Показывать полосу с именем таблицы.","type":"boolean"}},"required":["cell"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Настройки таблицы","tags":["Структура"]},"post":{"description":"Создаёт таблицу данных с заголовками и значениями. Таблица получает имя, по которому на неё ссылаются формулы.","operationId":"post_files_file_uuid_tables","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"first_row_is_header":{"description":"Считать первую строку заголовками столбцов.","type":"boolean"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"table_name":{"description":"Имя таблицы.","type":"string"},"values":{"description":"Строки таблицы; первая может быть заголовками.","items":{"items":{"type":"string"},"type":"array"},"type":"array"}},"required":["cell","table_name","values"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Создать таблицу","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/columns":{"put":{"description":"Настройки отдельных столбцов таблицы: отображаемое имя, видимость.","operationId":"put_files_file_uuid_tables_columns","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"columns":{"description":"Настройки столбцов таблицы.","items":{"properties":{"hidden":{"description":"true hides the column, false shows it.","type":"boolean"},"name":{"description":"The column's current name.","type":"string"},"new_name":{"description":"Rename the column to this.","type":"string"}},"required":["name"],"type":"object"},"minItems":1,"type":"array"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell","columns"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Столбцы таблицы","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/filter":{"put":{"description":"Ставит фильтр на столбец таблицы: показывать только выбранные значения либо по условию.","operationId":"put_files_file_uuid_tables_filter","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"description":"Действие: «create» — создать, «update» — обновить.","enum":["show_only","hide","show_all","condition"],"type":"string"},"cell":{"description":"Ячейка в нотации A1.","type":"string"},"column":{"description":"Индекс столбца внутри таблицы, отсчёт с нуля.","type":"integer"},"condition":{"description":"Условие сравнения; значения разбираются как ввод в ячейку.","properties":{"connector":{"enum":["and","or"],"type":"string"},"op":{"enum":["equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal"],"type":"string"},"op2":{"enum":["equals","not_equals","greater_than","greater_than_or_equal","less_than","less_than_or_equal"],"type":"string"},"value":{"type":"string"},"value2":{"type":"string"}},"required":["op","value"],"type":"object"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"values":{"description":"Значения.","items":{"type":"string"},"type":"array"}},"required":["cell","action"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Фильтр таблицы","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/flatten":{"post":{"description":"Расформировывает таблицу: значения остаются на листе как обычные ячейки.","operationId":"post_files_file_uuid_tables_flatten","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Расформировать таблицу","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/from-range":{"post":{"description":"Превращает обычный диапазон в таблицу данных со структурными ссылками.","operationId":"post_files_file_uuid_tables_from_range","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"first_row_is_header":{"description":"Считать первую строку заголовками столбцов.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"table_name":{"description":"Имя таблицы.","type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Превратить диапазон в таблицу","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/rows":{"delete":{"description":"Удаляет строки таблицы по позиции.","operationId":"delete_files_file_uuid_tables_rows","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"axis":{"description":"Ось: строки или столбцы.","enum":["columns","rows"],"type":"string"},"cell":{"description":"Ячейка в нотации A1.","type":"string"},"count":{"description":"Сколько вставить.","type":"integer"},"index":{"description":"Позиция первой удаляемой строки внутри таблицы, отсчёт с нуля.","type":"integer"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell","axis","index"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить строки таблицы","tags":["Структура"]},"post":{"description":"Вставляет строки в таблицу по заданной позиции.","operationId":"post_files_file_uuid_tables_rows","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"axis":{"description":"Ось: строки или столбцы.","enum":["columns","rows"],"type":"string"},"cell":{"description":"Ячейка в нотации A1.","type":"string"},"count":{"description":"Сколько вставить.","type":"integer"},"index":{"description":"Позиция внутри таблицы, отсчёт с нуля.","type":"integer"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["cell","axis","index"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Вставить строки таблицы","tags":["Структура"]}},"/v1/files/{file_uuid}/tables/sort":{"put":{"description":"Сортирует таблицу по одному или нескольким столбцам; пустой список снимает сортировку.","operationId":"put_files_file_uuid_tables_sort","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cell":{"description":"Ячейка в нотации A1.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"sort":{"description":"Ключи сортировки по приоритету; пустой список снимает сортировку.","items":{"properties":{"column":{"description":"0-based column index within the table.","type":"integer"},"direction":{"enum":["asc","desc"],"type":"string"}},"required":["column","direction"],"type":"object"},"type":"array"}},"required":["cell","sort"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Сортировка таблицы","tags":["Структура"]}},"/v1/files/{file_uuid}/validations":{"delete":{"description":"Снимает правила проверки с указанного диапазона.","operationId":"delete_files_file_uuid_validations","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"Идентификатор.","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Удалить правило проверки","tags":["Правила"]},"get":{"description":"Правила проверки данных в файле или на одном листе: тип, диапазон и параметры каждого правила.","operationId":"get_files_file_uuid_validations","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}},{"description":"Имя листа; по умолчанию — первый лист.","in":"query","name":"sheet","required":false,"schema":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Список правил проверки","tags":["Правила"]}},"/v1/files/{file_uuid}/validations/datetime":{"post":{"description":"Проверка даты и времени: границы, точные значения, запрет даты или времени.","operationId":"post_files_file_uuid_validations_datetime","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"date_after":{"description":"Дата строго позже указанной («ГГГГ-ММ-ДД»).","type":"string"},"date_before":{"description":"Дата строго раньше указанной («ГГГГ-ММ-ДД»).","type":"string"},"date_equals":{"description":"Дата совпадает с одной из перечисленных («ГГГГ-ММ-ДД»).","items":{"type":"string"},"type":"array"},"date_max":{"description":"Верхняя граница даты включительно («ГГГГ-ММ-ДД»).","type":"string"},"date_min":{"description":"Нижняя граница даты включительно («ГГГГ-ММ-ДД»).","type":"string"},"date_not_equals":{"description":"Дата не совпадает ни с одной из перечисленных; с другими условиями не сочетается.","items":{"type":"string"},"type":"array"},"id":{"description":"Идентификатор.","type":"string"},"prohibit_date":{"description":"Запретить ввод даты.","type":"boolean"},"prohibit_time":{"description":"Запретить ввод времени.","type":"boolean"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"require_date":{"description":"Требовать дату.","type":"boolean"},"require_time":{"description":"Требовать время.","type":"boolean"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"strict":{"description":"Отклонять недопустимый ввод; иначе выдаётся предупреждение.","type":"boolean"},"time_equals":{"description":"Время совпадает с одним из перечисленных («ЧЧ:ММ» или «ЧЧ:ММ:СС»).","items":{"type":"string"},"type":"array"},"time_max":{"description":"Верхняя граница времени включительно.","type":"string"},"time_min":{"description":"Нижняя граница времени включительно.","type":"string"},"time_not_equals":{"description":"Время отличается от всех перечисленных; с другими условиями не сочетается.","items":{"type":"string"},"type":"array"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверка: дата и время","tags":["Правила"]}},"/v1/files/{file_uuid}/validations/list":{"post":{"description":"Ставит проверку «список значений»: ячейка получает выпадающий список из заданных вариантов или из диапазона.","operationId":"post_files_file_uuid_validations_list","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"Идентификатор.","type":"string"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"source_range":{"description":"Диапазон A1, значения которого станут вариантами списка.","type":"string"},"strict":{"description":"Отклонять недопустимый ввод; иначе выдаётся предупреждение.","type":"boolean"},"values":{"description":"Варианты списка.","items":{"type":"string"},"type":"array"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверка: список значений","tags":["Правила"]}},"/v1/files/{file_uuid}/validations/logical":{"post":{"description":"Ставит в ячейки флажок — значение «истина» или «ложь».","operationId":"post_files_file_uuid_validations_logical","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"id":{"description":"Идентификатор.","type":"string"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверка: флажок","tags":["Правила"]}},"/v1/files/{file_uuid}/validations/number":{"post":{"description":"Проверка числа: диапазон значений, строгие сравнения, перечисление допустимых.","operationId":"post_files_file_uuid_validations_number","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"equals":{"description":"Значение равно одному из перечисленных.","items":{"type":"number"},"type":"array"},"greater_than":{"description":"Значение строго больше указанного.","type":"number"},"id":{"description":"Идентификатор.","type":"string"},"less_than":{"description":"Значение строго меньше указанного.","type":"number"},"max":{"description":"Наибольшее допустимое значение включительно.","type":"number"},"min":{"description":"Наименьшее допустимое значение включительно.","type":"number"},"not_equals":{"description":"Значение отличается от всех перечисленных; с другими условиями не сочетается.","items":{"type":"number"},"type":"array"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"require_integer":{"description":"Only whole numbers pass; a fractional value fails regardless of the bounds.","type":"boolean"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"strict":{"description":"Отклонять недопустимый ввод; иначе выдаётся предупреждение.","type":"boolean"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверка: число","tags":["Правила"]}},"/v1/files/{file_uuid}/validations/text":{"post":{"description":"Проверка текста: длина, точное совпадение, вхождение подстроки.","operationId":"post_files_file_uuid_validations_text","parameters":[{"description":"Uuid файла.","in":"path","name":"file_uuid","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"contains":{"description":"Значение должно содержать одну из этих подстрок.","items":{"type":"string"},"type":"array"},"exactly":{"description":"Значение равно одному из перечисленных.","items":{"type":"string"},"type":"array"},"id":{"description":"Идентификатор.","type":"string"},"max_length":{"description":"Наибольшая длина текста включительно.","type":"integer"},"min_length":{"description":"Наименьшая длина текста включительно.","type":"integer"},"not_contains":{"description":"Значение не содержит ни одной из этих подстрок.","items":{"type":"string"},"type":"array"},"range":{"description":"Диапазон в нотации A1, например «A1:C10».","type":"string"},"sheet":{"description":"Имя листа; по умолчанию — первый лист.","type":"string"},"strict":{"description":"Отклонять недопустимый ввод; иначе выдаётся предупреждение.","type":"boolean"}},"required":["range"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Проверка: текст","tags":["Правила"]}},"/v1/rest-api-connections":{"get":{"description":"Подключения пространства к произвольным REST API — интеграции, которые собрал ассистент.","operationId":"get_rest_api_connections","parameters":[{"description":"Uuid пространства; можно не передавать, если пространство одно.","in":"query","name":"space_uuid","required":false,"schema":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Подключения к произвольному REST API","tags":["Подключения"]}},"/v1/rest-api-connections/{connection_uuid}":{"get":{"description":"Одно подключение к произвольному REST API: план запросов, схема API, имена привязанных секретов (без значений) и результат последней проверки.","operationId":"get_rest_api_connections_connection_uuid","parameters":[{"description":"Uuid подключения.","in":"path","name":"connection_uuid","required":true,"schema":{"type":"string"}},{"description":"Uuid пространства; можно не передавать, если пространство одно.","in":"query","name":"space_uuid","required":false,"schema":{"description":"Uuid пространства; можно не передавать, если пространство одно.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Успешный вызов"},"400":{"description":"Некорректные аргументы"},"401":{"description":"Токен отсутствует, отозван или истёк"},"403":{"description":"Нет прав на файл или пространство"},"429":{"description":"Превышен лимит запросов или одновременных вызовов","headers":{"Retry-After":{"description":"Через сколько секунд повторять запрос","schema":{"type":"integer"}}}}},"summary":"Подключение к произвольному REST API","tags":["Подключения"]}}},"security":[{"apiToken":[]}],"servers":[{"url":"/"}]}