tickets
14 endpoints.
GET /api/tickets returns up to limit tickets in one call and takes the same filters the app's saved views use. Narrow with those rather than paging — filter by list and status and the result is usually a number you can hold. See Pagination for the two endpoints that page with a cursor.
get/api/tickets#
listIdstring · uuidmilestoneIdstring · uuid | stringcycleIdstring · uuid | stringstatusIdstring · uuidsystemicStatestring | string[]assigneeIdstring · uuid | stringtagIdstring · uuid | string | (string · uuid | string)[]tagMatchstringanyallprioritystringnonelowmediumhighurgentdueBeforestring · datearchivedstringonlywithfieldIdstring · uuidfieldValuestringlimitintegerparentIdstring · uuidcurl https://api.shairelabs.com/api/tickets \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*post/api/tickets#
listIdstring · uuid*titlestring*descriptionobject | nulltypestring*doccontentunknown[]statusIdstring · uuidprioritystringnonelowmediumhighurgentmilestoneIdstring · uuid | nullcycleIdstring · uuid | nullstartDatestring · date | nulldueDatestring · date | nullestimatenumber | nullassigneeIds(string · uuid)[]tagIds(string · uuid)[]afterIdstring · uuid | nullparentIdstring · uuid | nulllinkToobjecttypestring*ticketpagemilestoneidstring · uuid*linkTypestringrelates_todocumentsblocksduplicatesreferencescustomFieldsobject[key: string]string | number | boolean | nullcurl https://api.shairelabs.com/api/tickets \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"listId":"00000000-0000-0000-0000-000000000000","title":"example"}'idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*get/api/tickets/{id}#
idstring*curl https://api.shairelabs.com/api/tickets/$TICKET_ID \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*patch/api/tickets/{id}#
idstring*titlestringdescriptionobject | nulltypestring*doccontentunknown[]statusIdstring · uuidprioritystringnonelowmediumhighurgentmilestoneIdstring · uuid | nullcycleIdstring · uuid | nullstartDatestring · date | nulldueDatestring · date | nullestimatenumber | nullassigneeIds(string · uuid)[]tagIds(string · uuid)[]parentIdstring · uuid | nullcustomFieldsobject[key: string]string | number | boolean | nulloverrideWorkflowbooleancurl https://api.shairelabs.com/api/tickets/$TICKET_ID \
-X PATCH \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*delete/api/tickets/{id}#
idstring*curl https://api.shairelabs.com/api/tickets/$TICKET_ID \
-X DELETE \
-H "Authorization: Bearer $SHAIRE_TOKEN"post/api/tickets/{id}/archive#
idstring*curl https://api.shairelabs.com/api/tickets/$TICKET_ID/archive \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*post/api/tickets/{id}/duplicate#
idstring*titlestringincludeSubtasksbooleancurl https://api.shairelabs.com/api/tickets/$TICKET_ID/duplicate \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*post/api/tickets/{id}/move#
idstring*listIdstring · uuid*statusIdstring · uuidafterIdstring · uuid | nullcurl https://api.shairelabs.com/api/tickets/$TICKET_ID/move \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"listId":"00000000-0000-0000-0000-000000000000"}'idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*post/api/tickets/{id}/reorder#
idstring*afterIdstring · uuid | null*curl https://api.shairelabs.com/api/tickets/$TICKET_ID/reorder \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"afterId":"00000000-0000-0000-0000-000000000000"}'idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*post/api/tickets/{id}/unarchive#
idstring*curl https://api.shairelabs.com/api/tickets/$TICKET_ID/unarchive \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN"idstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*descriptionobject | null*typestring*doccontentunknown[]authorIdstring · uuid*post/api/tickets/bulk#
ids(string · uuid)[]*patchobject*statusIdstring · uuidprioritystringnonelowmediumhighurgentmilestoneIdstring · uuid | nullcycleIdstring · uuid | nullstartDatestring · date | nulldueDatestring · date | nullestimatenumber | nullcustomFieldsobject[key: string]string | number | boolean | nullassigneeIdsobjectmodestring*addremovesetids(string · uuid)[]*tagIdsobjectmodestring*addremovesetids(string · uuid)[]*archivedbooleanoverrideWorkflowbooleancurl https://api.shairelabs.com/api/tickets/bulk \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ids":[],"patch":{}}'ticketsobject[]*[item]objectidstring · uuid*workspaceIdstring · uuid*listIdstring · uuid*keystring*titlestring*statusIdstring · uuid*prioritystring*nonelowmediumhighurgentmilestoneIdstring · uuid | null*startDatestring | null*dueDatestring | null*estimatenumber | null*openBlockersinteger*cycleIdstring · uuid | null*parentIdstring · uuid | null*subtasksobject | null*totalinteger*doneinteger*positionstring*assigneeIds(string · uuid)[]*tagIds(string · uuid)[]*customFieldsobject*[key: string]string | number | booleanarchivedAtstring | null*createdAtstring*updatedAtstring*missingIds(string · uuid)[]*post/api/tickets/bulk/delete#
ids(string · uuid)[]*curl https://api.shairelabs.com/api/tickets/bulk/delete \
-X POST \
-H "Authorization: Bearer $SHAIRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ids":[]}'deletedIds(string · uuid)[]*get/api/tickets/counts#
listIdstring · uuidmilestoneIdstring · uuid | stringcycleIdstring · uuid | stringstatusIdstring · uuidsystemicStatestring | string[]assigneeIdstring · uuid | stringtagIdstring · uuid | string | (string · uuid | string)[]tagMatchstringanyallprioritystringnonelowmediumhighurgentdueBeforestring · datearchivedstringonlywithfieldIdstring · uuidfieldValuestringgroupBystring*statusassigneeprioritymilestonecyclecurl https://api.shairelabs.com/api/tickets/counts?groupBy=status \
-H "Authorization: Bearer $SHAIRE_TOKEN"totalinteger*groupsobject[]*[item]objectkeystring | null*countinteger*get/api/tickets/dependencies#
listIdstring · uuidmilestoneIdstring · uuid | stringcycleIdstring · uuid | stringstatusIdstring · uuidsystemicStatestring | string[]assigneeIdstring · uuid | stringtagIdstring · uuid | string | (string · uuid | string)[]tagMatchstringanyallprioritystringnonelowmediumhighurgentdueBeforestring · datearchivedstringonlywithfieldIdstring · uuidfieldValuestringlimitintegerparentIdstring · uuidcurl https://api.shairelabs.com/api/tickets/dependencies \
-H "Authorization: Bearer $SHAIRE_TOKEN"blockerIdstring · uuid*blockedIdstring · uuid*