API Plano
Читайте и меняйте карточки из своих скриптов и сервисов, получайте события вебхуками и подключайте задачи к календарю.
Доступ
Создайте токен в «Настройки → Интеграции» и передавайте его в заголовке Authorization. Ответы — JSON.
curl https://api.plano.team/users/me \
-H "Authorization: Bearer <token>"- Токен действует с правами того, кто его создал. Если сотрудника отключить, токен перестанет работать.
- Если тариф закончился, пространство доступно только для чтения: запись вернёт 402.
- Ошибки приходят с кодом 4xx и полем message. 401 — токена нет или он отозван, 403 — не хватает прав.
Быстрый старт
Найти проект, колонку и создать карточку:
# 1. список проектов
curl https://api.plano.team/projects -H "Authorization: Bearer <token>"
# 2. доска проекта: колонки и карточки
curl https://api.plano.team/projects/<projectId>/board -H "Authorization: Bearer <token>"
# 3. новая карточка в первой колонке
curl -X POST https://api.plano.team/cards \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"columnId": "<columnId>", "title": "Hello from the API", "priority": "HIGH", "dueDate": "2026-11-10"}'Основные методы
Адрес API: https://api.plano.team. Даты — ISO 8601. Этот набор стабилен; остальные методы интерфейса могут меняться.
| GET | /users/me | Вы: имя, роль, права |
| GET | /users | Сотрудники пространства |
| GET | /projects | Список проектов |
| POST | /projects | Создать проект (title, необязательные templateId, startDate, deadline) |
| GET | /projects/{id}/board | Доска проекта: колонки с карточками |
| GET | /cards/search?q= | Поиск карточек по названию, описанию или ключу |
| GET | /cards/{id} | Карточка целиком: подзадачи, комментарии, история |
| POST | /cards | Создать карточку (columnId и title обязательны) |
| PATCH | /cards/{id} | Изменить поля карточки |
| POST | /cards/{id}/move | Переместить в колонку (columnId, необязательно position) |
| DELETE | /cards/{id} | Удалить карточку (нужно право на удаление) |
| POST | /cards/{id}/comments | Добавить комментарий |
| POST | /cards/{id}/checklist | Добавить подзадачу (text) |
| GET | /labels | Список меток |
| POST | /labels | Создать метку (name, color) |
Поля создания и изменения карточки: title, description, priority (LOW, MEDIUM, HIGH), startDate, dueDate, estimateHours, assigneeIds, labelIds. Комментарий: text и необязательные mentionIds.
Вебхуки
Добавьте адрес в «Настройки → Интеграции», и Plano будет присылать на него POST с JSON при событиях. Адрес должен быть публичным и начинаться с https://. Выбранных событий может быть несколько, без выбора приходят все.
card.createdкарточка созданаcard.updatedполя карточки изменены; в changes — какие именноcard.movedкарточка перешла в другую колонку; from и to — названия колонокcard.deletedкарточка удалена; в card — её последнее состояниеcomment.createdновый комментарий; в comment — текст и автор
Пример тела запроса:
{
"event": "card.moved",
"createdAt": "2026-11-03T09:15:00.000Z",
"actor": { "id": "clx1…", "name": "Anna" },
"card": {
"id": "clx2…",
"key": "TSK-12",
"title": "Prepare the brief",
"priority": "HIGH",
"dueDate": "2026-11-10T00:00:00.000Z",
"project": { "id": "clx3…", "title": "Website" },
"column": { "id": "clx4…", "title": "In progress" },
"assignees": [{ "id": "clx1…", "name": "Anna" }],
"labels": [{ "id": "clx5…", "name": "Feature", "color": "blue" }],
"url": "https://app.example.com/projects/clx3…?card=clx2…"
},
"from": "Backlog",
"to": "In progress"
}Заголовки:
X-Plano-Event: тип событияX-Plano-Timestamp: время отправки в секундахX-Plano-Signature:sha256=<hex>, HMAC-SHA256 от строки «X-Plano-Timestamp.тело» с секретом вебхука. Проверяйте подпись и сверяйте время, чтобы отсеять повторы.
import { createHmac, timingSafeEqual } from "crypto";
function isValid(rawBody, headers, secret) {
const expected = createHmac("sha256", secret)
.update(headers["x-plano-timestamp"] + "." + rawBody)
.digest("hex");
const got = headers["x-plano-signature"].replace("sha256=", "");
return got.length === expected.length && timingSafeEqual(Buffer.from(got), Buffer.from(expected));
}Ответьте кодом 2xx в течение 8 секунд. Иначе Plano повторит отправку ещё два раза (через 5 и 30 секунд). Журнал последних отправок виден в настройках, там же можно отправить тестовое событие и сменить секрет.
Календарь задач
В профиле можно получить личную ссылку на календарь в формате iCal. Добавьте её в Google Календарь, Apple Календарь или Outlook как подписку: в нём будут незавершённые карточки, где вы исполнитель и указан срок. Ссылка секретная, её можно заменить в любой момент.