Swagger UI

TaskFlow API 1.4.2

REST API для небольшого сервиса управления задачами и проектами. Документация описывает работу с пользователями, проектами и задачами.
Servers https://api.example.com/v1

Описание

API использует JSON и стандартные HTTP-коды ответа. Для защищённых методов передавайте JWT-токен в заголовке Authorization: Bearer <token>. Ограничение запросов — 120 запросов в минуту на один IP.
Auth Аутентификация пользователя
POST /auth/login Получить access token

Request body

{
  "email": "user@example.com",
  "password": "secret-password"
}

Responses

CodeDescription
200Успешная авторизация
401Неверный email или пароль
{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "expires_in": 3600
}
Projects Управление проектами
GET /projects Список проектов

Parameters

NameInTypeDescription
limitqueryintegerКоличество записей, по умолчанию 20
offsetqueryintegerСмещение выборки

Response 200

{
  "items": [
    {
      "id": "prj_8f39a",
      "name": "Website redesign",
      "status": "active",
      "created_at": "2026-08-12T10:45:00Z"
    }
  ],
  "total": 1
}
POST /projects Создать проект

Request body required

{
  "name": "Mobile application",
  "description": "MVP development"
}

Response 201

{
  "id": "prj_a12bc",
  "name": "Mobile application",
  "description": "MVP development",
  "status": "active"
}
GET /projects/{project_id} Получить проект

Path parameters

NameTypeDescription
project_id requiredstringИдентификатор проекта

Responses

CodeDescription
200Проект найден
404Проект не существует
Tasks Задачи проекта
GET /tasks Список задач

Query parameters

NameTypeDescription
project_idstringФильтр по проекту
statusstringtodo, in_progress, done

Response 200

{
  "items": [
    {
      "id": "tsk_293fd",
      "title": "Create landing page",
      "status": "in_progress",
      "priority": "high",
      "project_id": "prj_8f39a"
    }
  ]
}
POST /tasks Создать задачу

Request body

{
  "project_id": "prj_8f39a",
  "title": "Configure CI/CD",
  "description": "Add build and deployment pipeline",
  "priority": "medium"
}

Responses

CodeDescription
201Задача создана
422Ошибка валидации
PATCH /tasks/{task_id} Обновить задачу

Request body

{
  "status": "done",
  "priority": "low"
}

Response 200

{
  "id": "tsk_293fd",
  "title": "Create landing page",
  "status": "done",
  "priority": "low"
}
DELETE /tasks/{task_id} Удалить задачу

Responses

CodeDescription
204Задача удалена
404Задача не найдена

Schemas

Project object

PropertyTypeExample
idstringprj_8f39a
namestringWebsite redesign
statusstringactive
created_atdatetime2026-08-12T10:45:00Z

Task object

PropertyTypeExample
idstringtsk_293fd
titlestringCreate landing page
statusstringin_progress
prioritystringhigh