Skip to content

TicketsApi

Access through client.Tickets.

Read

Task<Ticket> GetAsync(string ticketId, ...)

Route: GET /tickets/{ticket}. Scope: tickets:read.

Update

Task<Ticket> UpdateAsync(string ticketId, UpdateTicketRequest request, ...)

Route: PATCH /tickets/{ticket}. Scope: tickets:write.

Updatable fields are title, nullable description HTML, priority, nullable due date, assignee IDs, label IDs, and archive state.

var updated = await client.Tickets.UpdateAsync(ticketId,
    new UpdateTicketRequest
    {
        Priority = TicketPriority.Critical,
        DueAt = null,
        Archived = false
    });

DueAt = null clears the date; omitting DueAt leaves it unchanged.

Soft-delete

Task DeleteAsync(string ticketId, ...)

Route: DELETE /tickets/{ticket}. Scope: tickets:write.

Move

Task<Ticket> MoveAsync(string ticketId, MoveTicketRequest request, ...)

Route: POST /tickets/{ticket}/move. Scope: tickets:write. BoardId is required; optional Position must be at least zero. Server WIP and relationship rules still apply.

Create comment

Task<TicketComment> CreateCommentAsync(
    string ticketId,
    CreateTicketCommentRequest request, ...)

Route: POST /tickets/{ticket}/comments. Scope: comments:write. BodyHtml is limited to 200,000 characters by the contract.