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

MethodPathPurpose
GET/api/v1/issuesList tasks or tickets
POST/api/v1/issuesCreate 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}/commentsList comments
POST/api/v1/issues/{id}/commentsAdd a comment
POST/api/v1/issues/bulk-updateApply one patch to at most 500 issues

List

GET /api/v1/issues?kind=task&page=1&limit=50
ParameterTypeNotes
pageintegerDefault 1
limitintegerDefault 50, maximum 100
project_idUUIDProject filter
statusstringExact status
kindtask or ticketSelects the physical table
searchstringSearches 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/json

Requires 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 characters
  • kind, either task or ticket

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/json

Requires 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.