REST API для интеграции задач, проектов и привычек в ваши сервисы и скрипты автоматизации.
Токен используется для авторизации запросов к API без входа через Telegram.
Примеры работы с API через curl и Python.
# Получить список задач
curl https://tg-task.com/api/tasks \
-H "Authorization: Bearer ВАШ_ТОКЕН"
# Создать задачу
curl -X POST https://tg-task.com/api/tasks \
-H "Authorization: Bearer ВАШ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{"title":"Купить молоко","priority":"low","date":"2026-03-20"}'
import requests
TOKEN = "ВАШ_ТОКЕН"
BASE = "https://tg-task.com/api"
HEADERS = {"Authorization" : f"Bearer {TOKEN}" }
# Список задач
tasks = requests.get(f"{BASE}/tasks" , headers=HEADERS).json()
for t in tasks:
print (f"{'✅' if t['done'] else '○'} {t['title']}" )
# Создать задачу
requests.post(f"{BASE}/tasks" , headers=HEADERS, json={
"title" : "Новая задача" ,
"priority" : "high" ,
"date" : "2026-03-20" ,
})
Все запросы требуют заголовок Authorization.
Authorization: Bearer <ваш_токен>
При неверном или отсутствующем токене сервер вернёт 401 Unauthorized.
Применяются только к запросам через API-токен.
При превышении — 429 Too Many Requests:
{ "error" : "Лимит: 60 запросов в минуту. Попробуй через минуту." }
Создание, чтение, обновление и удаление задач.
[{
"id" : 1 ,
"title" : "Купить молоко" ,
"description" : null ,
"priority" : "low" ,
"category" : null ,
"date" : "2026-03-20" ,
"time" : null ,
"done" : false ,
"project_id" : null ,
"remind" : false ,
"remind_before" : 30 ,
"timer_sessions" : []
}]| Поле | Тип | Описание | |
|---|---|---|---|
| title | string | обязательно | Название задачи |
| description | string | опционально | Описание |
| priority | string | опционально | low / medium / high (по умолч. medium) |
| date | string | опционально | Дата в формате YYYY-MM-DD |
| time | string | опционально | Время в формате HH:MM |
| project_id | integer | опционально | ID проекта |
| remind | boolean | опционально | Включить напоминание |
| remind_before | integer | опционально | Минут до напоминания (по умолч. 30) |
{ "title" : "Купить молоко" , "priority" : "low" , "date" : "2026-03-20" }{ "id" : 42 } // 201 Created Передай только те поля, которые нужно изменить. Доступны все поля из POST.
{ "done" : true }Тело запроса не нужно.
Управление проектами.
[{
"id" : 1 , "name" : "Мой проект" ,
"emoji" : "🚀" , "color" : "#6c63ff" ,
"status" : "active" , "deadline" : null
}]| Поле | Тип | Описание | |
|---|---|---|---|
| name | string | обязательно | Название |
| emoji | string | опционально | Иконка (по умолч. 📁) |
| color | string | опционально | HEX-цвет (по умолч. #6c63ff) |
| status | string | опционально | active / paused / done |
| deadline | string | опционально | Дата YYYY-MM-DD |
Те же поля что в POST, все опциональны.
Тело запроса не нужно.
Трекер привычек — создание и отметка выполнения.
[{
"id" : 1 , "name" : "Пробежка" , "emoji" : "🏃" ,
"type" : "bool" , "streak" : 7 ,
"active_days" : [0 ,1 ,2 ,3 ,4 ],
"logs" : [{ "date" : "2026-03-19" , "value" : 1 }]
}]| Поле | Тип | Описание | |
|---|---|---|---|
| name | string | обязательно | Название |
| emoji | string | опционально | Иконка |
| type | string | опционально | bool (да/нет) или qty (количество) |
| qty_goal | integer | опционально | Цель (только для type=qty) |
| unit | string | опционально | Единица измерения (км, стаканов...) |
| active_days | array | опционально | Дни недели [0-6], 0=пн. По умолч. все дни. |
| Поле | Тип | Описание | |
|---|---|---|---|
| date | string | обязательно | Дата YYYY-MM-DD |
| value | integer | опционально | 1 для bool, количество для qty (по умолч. 1) |
{ "date" : "2026-03-19" , "value" : 1 }Те же поля что в POST, все опциональны.
Тело запроса не нужно.
Информация о текущем пользователе.
{
"id" : 1 ,
"username" : "makar4eg" ,
"avatar_url" : "https://..." ,
"plan" : "free" ,
"oauth_provider" : "telegram" ,
"has_api_token" : true
}