Get Agenda
const url = 'https://api.cloud.agentums.ru/v1/calendar/agenda?since=&until=&include=events%2Ctasks';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.cloud.agentums.ru/v1/calendar/agenda?since=&until=&include=events%2Ctasks' \ --header 'Authorization: Bearer <token>'Лента вхождений: серия здесь раскрыта, каждая встреча отдельной строкой.
Союз считается на СЕРВЕРЕ (поле kind), а не собирается клиентом: бот и SDK не повторят
ни сортировку, ни раскладку по дням, а API — это и есть продукт.
Границы окна разбирает parse_when, а НЕ pydantic через тип datetime. Причина не в
красоте: pydantic превращает 2026-07-27 в НАИВНЫЙ момент, тот встречается с aware-now
ниже по стеку, и сравнение падает TypeError-ом — весь экран «Месяц» отвечал 500. Даже если
наивность чинить на месте, оставалось бы второе: голая дата — это дата В ПОЯСЕ ВЛАДЕЛЬЦА,
а не в UTC, и приклеенный UTC сдвигал бы окно на смещение зоны, пряча ранние встречи.
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Query Parameters
Заголовок раздела «Query Parameters»ГГГГ-ММ-ДД или ГГГГ-ММ-ДДTЧЧ:ММ — местное время
ГГГГ-ММ-ДД или ГГГГ-ММ-ДДTЧЧ:ММ — местное время
То же; голая дата включает день целиком
То же; голая дата включает день целиком
Responses
Заголовок раздела «Responses»Successful Response
object
Одна строка ленты: событие календаря ИЛИ поручение со сроком.
kind — дискриминатор. Он появился раньше самого наложения намеренно: клиенты писались
против него, и добавление второй ветки стало ровно тем аддитивным изменением, которым и
задумывалось.
object
Поручение, наложенное на ленту. Вложено ЦЕЛИКОМ, а не размазано по полям события.
Так клиент переиспользует свою готовую строку поручения дословно, а не собирает третью
её версию из чужих полей — и «закрыть» из ленты бьёт в тот же PATCH /v1/tasks/{id}.
Example
{ "items": [ { "all_day": false, "conflict": false, "day_label": "", "kind": "event", "location": "", "past": false, "recurrence_label": "", "recurring": false, "task": { "assignee": "", "overdue": false, "status": "open" } } ], "reminder_note": "", "today": 0, "truncated": false, "upcoming": 0}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}