Subtickets
Break down tickets into smaller tasks with subtickets, and convert between standalone and subticket forms.
Subtickets let you decompose a ticket into smaller, trackable pieces of work. Each subticket has its own status, assignee, and lifecycle, while staying linked to its parent.
List Subtickets
GET /api/v1/boards/{boardId}/tickets/{ticketId}/subticketsReturns all subtickets of a parent ticket with aggregated progress.
Example Response
{
"data": [
{
"id": "tkt_sub123",
"displayId": "WEB-43",
"title": "Update button styles",
"status": {
"id": "sts_abc123",
"name": "In Progress",
"category": "ACTIVE"
},
"assignee": {
"id": "usr_abc123",
"name": "Alex Smith"
}
}
],
"aggregation": {
"total": 3,
"completed": 1,
"inProgress": 1,
"planning": 1
}
}Create Subticket
POST /api/v1/boards/{boardId}/tickets/{ticketId}/subticketsCreates a new subticket under the specified parent ticket.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Subticket title (max 200 characters) |
| description | string | No | Subticket description |
| assigneeId | string | No | Assignee user ID |
Example Request
{
"title": "Update button styles",
"assigneeId": "usr_abc123"
}Update Subticket Status
PATCH /api/v1/boards/{boardId}/tickets/{ticketId}/subtickets/{subticketId}/statusChange the status of a subticket.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| statusId | string | Yes | Target status ID |
Convert to Subticket
POST /api/v1/boards/{boardId}/tickets/{ticketId}/convert-to-subticketConvert an existing standalone ticket into a subticket of another ticket.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| parentTicketId | string | Yes | The ticket that will become the parent |
Promote to Standalone
POST /api/v1/boards/{boardId}/tickets/{ticketId}/promote-to-standalonePromote a subticket back to a standalone ticket, removing its parent relationship.