ТTessora Docs

API Reference

Все HTTP endpoints — Route Handlers в src/app/api

Все endpoints — Next.js Route Handlers в src/app/api/. Каждый (кроме публичных) обёрнут в withPermission(). Ответы — JSON через хелперы jsonOk / jsonError, валидация тела и query — Zod (src/lib/api/http.ts).

Auth и приглашения

МетодПутьПравоНазначение
*/api/auth/[...all]Better Auth: вход, сессия, выход
GET/api/invitations/[token]Данные приглашения (email, роль, компания)
POST/api/invitations/[token]/acceptПринять приглашение, создать аккаунт
POST/api/admin/invitationsuser.inviteСоздать приглашение

Задачи

МетодПутьПравоНазначение
GET/api/taskstask.viewСписок задач: пагинация, фильтры (status, assignee, search, isTarget)
POST/api/taskstask.createСоздать задачу (selectedItems, styles, interiorTypes, материалы)
GET/api/tasks/[id]task.viewОдна задача
PATCH/api/tasks/[id]task.updateОбновить задачу
DELETE/api/tasks/[id]task.deleteSoft delete
POST/api/tasks/[id]/ai-promptai.generate_promptСгенерировать AI-промпт
DELETE/api/tasks/[id]/materials/[mid]file.deleteУдалить материал
GET/api/tasks/statstask.viewСтатистика по задачам

Готовый контент и ревизии

МетодПутьПравоНазначение
GET/api/ready-contentcontent.view_readyСписок готового контента
POST/api/ready-contentcontent.upload_readyЗагрузить контент
GET / PATCH / DELETE/api/ready-content/[id]view / upload / delete_readyОдна запись: чтение, метаданные, удаление
POST/api/ready-content/[id]/approvecontent.approveУтвердить (APPROVED)
POST/api/ready-content/[id]/return-to-reviewcontent.request_revisionВернуть на проверку
POST/api/ready-content/[id]/new-versioncontent.upload_readyНовая версия после правок
POST/api/ready-content/[id]/update-filescontent.upload_readyОбновить набор файлов
POST/api/ready-content/[id]/download-allfile.downloadСкачать ZIP всех файлов
GET / DELETE/api/ready-content/[id]/files/[fileId]download / deleteОтдельные файлы
GET / POST/api/ready-content/[id]/revisionsrevision.view / createПравки: список, создание
PATCH/api/ready-content/[id]/revisions/[revisionId]revision.resolveЗакрыть правку

Референсы и категории

МетодПутьПравоНазначение
GET / POST/api/referencestask.view / file.uploadСписок, загрузка референса
GET / DELETE/api/references/[id]task.view / file.deleteОдин референс
GET/api/references/[id]/linked-taskstask.viewЗадачи, использующие референс
GET / POST/api/reference-categoriestask.view / reference_category.createКатегории: список, создание
GET/api/reference-categories/statstask.viewСтатистика категорий (для UI /new-task)
GET / PATCH / DELETE/api/reference-categories/[id]view / update / deleteОдна категория
GET/api/reference-categories/[id]/referencestask.viewРеференсы категории

Календарь

МетодПутьПравоНазначение
GET / POST/api/calendar/itemscalendar.view / calendar.assign_dateСобытия: список, назначение даты
PATCH/api/calendar/items/[id]/movecalendar.move_itemПеренос (dnd: дата, lane, порядок)

AI

МетодПутьПравоНазначение
POST/api/ai/generateai.generate_promptГенерация: SCENARIO, SHORT_TZ, REVISION_PARSE, COMPLETENESS_CHECK, CONTENT_MAKER
POST/api/ai/content-makerai.generate_copyСтруктура контент-конструктора
GET/api/ai/configadmin.manage_ai_budgetСистемный конфиг (бюджет, статус)
GET / POST/api/ai/providersadmin.manage_ai_budgetПровайдеры: список, создание
PATCH / DELETE/api/ai/providers/[id]admin.manage_ai_budgetОбновить/удалить провайдер
POST/api/ai/providers/[id]/testadmin.manage_ai_budgetТест соединения
GET/api/ai/usageai.view_usageЛоги использования
POST/api/ai/usage/chartai.view_usageДанные графика затрат

Уведомления и Push

МетодПутьПравоНазначение
GET/api/notificationstask.viewСписок уведомлений
POST/api/notifications/[id]/readtask.viewПрочитано
POST/api/notifications/read-alltask.viewВсё прочитано
GET/api/push/vapid-keyПубличный VAPID-ключ
POST/api/push/subscribeПодписать браузер на push
POST/api/push/unsubscribeОтписать

Safebot

МетодПутьПравоНазначение
GET / POST/api/safebot/itemssafebot.view / safebot.createСписок, создание (Instagram URL → очередь)
GET / DELETE/api/safebot/items/[id]safebot.view / safebot.deleteОдин item, удаление
POST/api/safebot/items/[id]/retrysafebot.editПовторить скачивание
POST/api/safebot/items/[id]/promotesafebot.promoteСоздать задачу из видео
POST/api/safebot/items/[id]/quick-promotesafebot.promoteБыстрый promote
POST/api/safebot/items/[id]/downloadfile.downloadСкачать mp4
POST/api/safebot/items/[id]/worker-updateSAFEBOT_WORKER_SECRETInternal: воркер обновляет статус

Администрирование

МетодПутьПравоНазначение
GET / POST/api/admin/companiescompany.view / company.createКомпании
GET / PATCH/api/admin/companies/[id]company.view / company.editОдна компания
GET / PATCH/api/admin/users/[id]user.view / user.change_roleПользователь: профиль, роль
GET / POST / PATCH / DELETE/api/admin/users/[id]/permissionsuser.change_rolePermission overrides
GET/api/admin/audit-logaudit.viewАудит-лог
GET/api/admin/audit-log/actorsaudit.viewСписок акторов для фильтра
POST/api/admin/migrate-calendaradmin.manage_clientsВнутренняя миграция календаря

Файлы, каталог, сервис

МетодПутьПравоНазначение
POST/api/uploads/presignfile.uploadPresigned PUT URL для S3
POST/api/uploads/confirm/[fileId]file.uploadПодтверждение загрузки → FileObject
GET/api/catalog/searchtask.viewПоиск по каталогу Smart Selector
GET/api/catalog/t40-hometask.viewНабор для главной каталога
GET/api/healthHealth check (Railway)

Как добавить endpoint

  1. Создать src/app/api/<route>/route.ts, экспортировать GET / POST / PATCH / DELETE.
  2. Обернуть в withPermission("permission.key", handler).
  3. Права нет? Добавить в src/lib/auth/permissions.ts.
  4. Валидация — Zod через parseJson / parseQuery из lib/api/http.ts.
  5. Мутация — записать в auditLog() и, если нужно, разослать уведомления.

On this page