API
Всё, что можно сделать с таблицей на сайте, можно сделать и запросом: создать таблицу, прочитать диапазон, дописать строки. Ответы — JSON.
Ключ
Создайте ключ в кабинете, в разделе API, и передавайте его в заголовке каждого запроса. Ключ видно только при создании.
curl https://tabulyzer.ru/v1/tables \ -H "Authorization: Bearer tz_…"
Ошибка — HTTP-код 4xx и причина в поле detail: 401 — неверный ключ, 404 — таблицы или листа нет у этого аккаунта, 429 — слишком часто.
Таблицы
/v1/tablesСписок таблиц аккаунта, свежие сверху. Параметр q — поиск по названию.
/v1/tablesНовая таблица с одним пустым листом.
{"name": "Склад"}/v1/tables/{id}Таблица и её листы (номер, название, размер сетки).
/v1/tables/{id}Переименовать.
{"name": "Склад 2026"}/v1/tables/{id}/copyКопия таблицы со всеми листами.
/v1/tables/{id}Удалить таблицу со всеми листами — навсегда.
Листы
/v1/tables/{id}/sheetsНовый лист в конце.
{"name": "Проданные"}/v1/sheets/{id}Лист целиком: размер, раскладка и непустые ячейки списком [строка, колонка, значение], счёт с нуля. Скрытая от читателей ячейка — с четвёртым элементом 1.
{"sheet": {"id": 12, "name": "Лист 1", "rows": 1000, "cols": 26, …}, "cells": [[0, 0, "Логин"], [0, 1, "Пароль"]]}/v1/sheets/{id}Название, место среди листов (position), число строк и колонок, ширины колонок в пикселях.
{"name": "В продаже", "col_widths": {"0": 180}}/v1/sheets/{id}Раскладка: свои id колонок (латиница, цифры, _), скрытие колонок и строк от читателей, группы колонок (stack — столбиком, join — через двоеточие). Передаётся целиком.
{"col_meta": {"0": {"id": "login"}, "1": {"id": "password", "blur": true}}, "groups": [{"c": 0, "n": 2, "mode": "stack"}]}/v1/sheets/{id}/duplicateКопия листа рядом с ним.
/v1/sheets/{id}Удалить лист. Последний лист таблицы удалить нельзя.
Значения
Адреса — как в любой таблице: A1, C12, диапазон A1:C10. Значения передаются строками; число или true тоже можно — сохранятся текстом.
/v1/sheets/{id}/values?range=A1:C10Значения диапазона двумерным списком. Без range — вся заполненная часть листа.
{"range": "A1:C2", "values": [["Логин", "Пароль", "Почта"], ["nord.fox", "Tz4!pw9K", ""]]}/v1/sheets/{id}/valuesЗаписать двумерный список, начиная с ячейки start. Пустая строка очищает ячейку.
{"start": "A2", "values": [["mira_k", "8vQ@s1Lr"]]}/v1/sheets/{id}/appendДописать строки под последней заполненной строкой листа.
{"values": [["hunter_77", "q8#Lm2vX"], ["lynx.o", "Pp3$kd0W"]]}{"written": 4, "version": 18, "range": "A5:B6"}/v1/sheets/{id}/cellsТочечная запись ячеек списком [строка, колонка, значение], до 20 000 за запрос.
{"cells": [[0, 0, "Логин"], [5, 2, ""]]}/v1/sheets/{id}/clearОчистить диапазон.
{"range": "A2:D100"}/v1/sheets/{id}/blurСкрыть ячейки от читателей (on: false — открыть). Читателю значение не отдаётся вовсе: вместо него null.
{"cells": [[1, 1], [2, 1]], "on": true}Строки и колонки
/v1/sheets/{id}/rowsВставить (insert) или удалить (delete) строки, начиная с номера at (с нуля). Данные ниже сдвигаются.
{"op": "insert", "at": 1, "count": 3}/v1/sheets/{id}/rowsПеренести строки: первая из них встанет на номер to.
{"op": "move", "at": 4, "count": 2, "to": 0}/v1/sheets/{id}/colsТо же для колонок — вставка, удаление, перенос.
{"op": "delete", "at": 2, "count": 1}Доступ
Роли: owner — владелец, edit — чтение и редактирование, read — только чтение. В списке таблиц у каждой указана ваша роль. Управлять доступом может только владелец.
/v1/tables/{id}/accessСсылка и люди с доступом.
/v1/tables/{id}/access/linkСсылка: пусто — выключена, read — только чтение, edit — вошедшие по ней ещё и правят. Без аккаунта по ссылке только смотрят.
{"role": "read"}/v1/tables/{id}/access/link/resetНовая ссылка, старая перестаёт открываться.
/v1/tables/{id}/access/membersОткрыть таблицу аккаунту по email.
{"email": "team@example.com", "role": "edit"}/v1/tables/{id}/access/members/{account_id}Закрыть доступ.
/v1/share/{token}Таблица по ссылке без ключа — только чтение; лист — /v1/share/{token}/sheets/{id}.
Ограничения
- Таблиц на аккаунт
- 1 000
- Листов в таблице
- 100
- Строк на листе
- 100 000
- Колонок на листе
- 500
- Заполненных ячеек на листе
- 500 000
- Символов в ячейке
- 32 767
- Запросов с одного ключа
- 600 в минуту
Полная схема запросов и ответов — /v1/docs.