API: tasks
GET /api/v1/tasks
Заголовок раздела «GET /api/v1/tasks»List Tasks Endpoint
The read-only task board — paginated, filterable by assignee / status / area. Team-only (owner + team members); an agent or non-team token gets 403.
Авторизация: нужен Authorization: Bearer <token>
| Параметр | Где | Обязателен | Тип | Описание |
|---|---|---|---|---|
assignee_id | query | нет | integer | null | |
status | query | нет | string | null | |
area | query | нет | string | null | platform|pipelines|instances|other |
limit | query | нет | integer | |
offset | query | нет | integer |
Ответы:
| Код | Смысл | Тело |
|---|---|---|
200 | Successful Response | TaskListResponse |
401 | Missing or invalid authentication credentials | ErrorResponse |
422 | Validation Error | HTTPValidationError |
POST /api/v1/tasks
Заголовок раздела «POST /api/v1/tasks»Create
Create a task (agent needs manage_task; owner/humans no-op the gate).
Авторизация: нужен Authorization: Bearer <token>
| Параметр | Где | Обязателен | Тип | Описание |
|---|---|---|---|---|
Idempotency-Key | header | нет | string | Optional. |
Тело запроса: application/json — схема TaskCreate
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
area | string | null | нет | |
assignee_id | integer | null | нет | |
description | string | null | нет | |
spec_ref | string | null | нет | |
title | string | да |
Пример:
{ "area": "platform", "assignee_id": 2, "description": "Ten key schemas, one example each", "spec_ref": "SPEC-NNN", "title": "Add request examples to the public contract"}Ответы:
| Код | Смысл | Тело |
|---|---|---|
201 | Successful Response | TaskRead |
401 | Missing or invalid authentication credentials | ErrorResponse |
422 | Validation Error | HTTPValidationError |
429 | Task intake rate exceeded; retry after the Retry-After seconds | ErrorResponse |
Пример ответа (201):
{ "area": "platform", "assignee_id": 2, "assignee_name": "Owner", "createtime": "2026-09-03T08:00:00Z", "description": "Ten key schemas, one example each", "guid": 118, "owner": 5, "spec_ref": "SPEC-NNN", "status": "open", "title": "Add request examples to the public contract", "updatetime": "2026-09-03T08:00:00Z"}GET /api/v1/tasks/{guid}
Заголовок раздела «GET /api/v1/tasks/{guid}»Get Task Endpoint
One task + its merged change-log (agent actions and notes, time-ordered). Team-only; 404 if absent.
Авторизация: нужен Authorization: Bearer <token>
| Параметр | Где | Обязателен | Тип | Описание |
|---|---|---|---|---|
guid | path | да | integer |
Ответы:
| Код | Смысл | Тело |
|---|---|---|
200 | Successful Response | TaskDetailRead |
401 | Missing or invalid authentication credentials | ErrorResponse |
422 | Validation Error | HTTPValidationError |
Пример ответа (200):
{ "area": "platform", "assignee_id": 2, "assignee_name": "Owner", "createtime": "2026-09-03T08:00:00Z", "description": "Ten key schemas, one example each", "guid": 118, "owner": 5, "spec_ref": "SPEC-NNN", "status": "open", "title": "Add request examples to the public contract", "updatetime": "2026-09-03T08:00:00Z"}PATCH /api/v1/tasks/{guid}
Заголовок раздела «PATCH /api/v1/tasks/{guid}»Patch
Change status (open↔closed) / reassign / edit; logs each field change.
Авторизация: нужен Authorization: Bearer <token>
| Параметр | Где | Обязателен | Тип | Описание |
|---|---|---|---|---|
guid | path | да | integer | |
Idempotency-Key | header | нет | string | Optional. |
Тело запроса: application/json — схема TaskPatch
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
area | string | null | нет | |
assignee_id | integer | null | нет | |
description | string | null | нет | |
spec_ref | string | null | нет | |
status | "open" | "closed" | null | нет | |
title | string | null | нет |
Пример:
{ "description": "Done: examples added to 17 request schemas", "status": "closed"}Ответы:
| Код | Смысл | Тело |
|---|---|---|
200 | Successful Response | TaskRead |
401 | Missing or invalid authentication credentials | ErrorResponse |
409 | Illegal status transition (e.g. closing an already-closed task) | ErrorResponse |
422 | Validation Error | HTTPValidationError |
Пример ответа (200):
{ "area": "platform", "assignee_id": 2, "assignee_name": "Owner", "createtime": "2026-09-03T08:00:00Z", "description": "Ten key schemas, one example each", "guid": 118, "owner": 5, "spec_ref": "SPEC-NNN", "status": "open", "title": "Add request examples to the public contract", "updatetime": "2026-09-03T08:00:00Z"}POST /api/v1/tasks/{guid}/notes
Заголовок раздела «POST /api/v1/tasks/{guid}/notes»Add Task Note
Append a free-text note to the task’s log (stored as a comment).
Авторизация: нужен Authorization: Bearer <token>
| Параметр | Где | Обязателен | Тип | Описание |
|---|---|---|---|---|
guid | path | да | integer | |
Idempotency-Key | header | нет | string | Optional. |
Тело запроса: application/json — схема TaskNoteIn
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
body_markdown | string | да |
Пример:
{ "body_markdown": "Verified live: `/api/` answers with the machine map."}Ответы:
| Код | Смысл | Тело |
|---|---|---|
201 | Successful Response | object |
401 | Missing or invalid authentication credentials | ErrorResponse |
422 | Validation Error | HTTPValidationError |
429 | Task intake rate exceeded; retry after the Retry-After seconds | ErrorResponse |