Issues, Tasks, and Tickets API
Current compatibility API for project tasks and support tickets.
The historical /issues API spans two resource types: project tasks and
support tickets.
Use kind=task or kind=ticket explicitly when listing.
Routes
| Method | Path | Purpose |
|---|---|---|
GET | /api/v1/issues | List tasks or tickets |
POST | /api/v1/issues | Create a task or ticket |
GET | /api/v1/issues/{id} | Retrieve a task or ticket |
PATCH | /api/v1/issues/{id} | Update a task or ticket |
DELETE | /api/v1/issues/{id} | Delete a project task; see limitation below |
GET | /api/v1/issues/{id}/comments | List comments |
POST | /api/v1/issues/{id}/comments | Add a comment |
POST | /api/v1/issues/bulk-update | Apply one patch to at most 500 issues |
List
GET /api/v1/issues?kind=task&page=1&limit=50| Parameter | Type | Notes |
|---|---|---|
page | integer | Default 1 |
limit | integer | Default 50, maximum 100 |
project_id | UUID | Project filter |
status | string | Exact status |
kind | task or ticket | Selects the physical table |
search | string | Searches title and description |
If kind is omitted, the current service defaults to project tasks; it does
not merge tasks and tickets into one result.
Create
POST /api/v1/issues
Content-Type: application/jsonRequires issues.write.
{
"title": "Fix login timeout",
"description": "Users are logged out too early",
"kind": "task",
"priority": "high",
"project_id": "00000000-0000-0000-0000-000000000000",
"estimate_hours": 4
}Required fields:
title, maximum 500 characterskind, eithertaskorticket
Optional fields: description, status, priority, project_id,
assignee_id, due_at, parent_id, cycle_id, and estimate_hours.
Update
PATCH /api/v1/issues/{id}
Content-Type: application/jsonRequires issues.write. Supply at least one optional create field other than
kind; the kind cannot be changed.
Bulk update
{
"issueIds": ["00000000-0000-0000-0000-000000000000"],
"patch": {
"status": "done",
"priority": "high",
"add_labels": ["00000000-0000-0000-0000-000000000000"]
}
}issueIds accepts 1–500 UUIDs. Patch fields are status, assignee_id,
cycle_id, priority, due_at, start_date, epic_id, add_labels, and
remove_labels.
Current delete limitation
DELETE /api/v1/issues/{id} currently soft-deletes project tasks only.
Do not use it to delete a support ticket in today's tests; use the Support UI
or an authorized ticket tool until the compatibility route is corrected.

