Skip to content
ShaireDevelopers

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#

Query

listIdstring · uuid
milestoneIdstring · uuid | string
cycleIdstring · uuid | string
statusIdstring · uuid
systemicStatestring | string[]
assigneeIdstring · uuid | string
tagIdstring · uuid | string | (string · uuid | string)[]
tagMatchstring
anyall
prioritystring
nonelowmediumhighurgent
dueBeforestring · date
archivedstring
onlywith
fieldIdstring · uuid
fieldValuestring
limitinteger
default 200 · min 1 · max 500
parentIdstring · uuid
Request
curl https://api.shairelabs.com/api/tickets \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketSummary[]

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*

Also answers 401 and 403. SeeErrors.

post/api/tickets#

Body

listIdstring · uuid*
titlestring*
min length 1 · max length 500
descriptionobject | null
further keys allowed
typestring*
doc
contentunknown[]
statusIdstring · uuid
prioritystring
nonelowmediumhighurgentdefault "none"
milestoneIdstring · uuid | null
cycleIdstring · uuid | null
startDatestring · date | null
dueDatestring · date | null
estimatenumber | null
min 0 · max 9999.99
assigneeIds(string · uuid)[]
default []
tagIds(string · uuid)[]
default []
afterIdstring · uuid | null
parentIdstring · uuid | null
linkToobject
typestring*
ticketpagemilestone
idstring · uuid*
linkTypestring
relates_todocumentsblocksduplicatesreferencesdefault "relates_to"
customFieldsobject
[key: string]string | number | boolean | null
Request
curl 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"}'

Response · 201 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

get/api/tickets/{id}#

Path

idstring*
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

patch/api/tickets/{id}#

Path

idstring*

Body

titlestring
min length 1 · max length 500
descriptionobject | null
further keys allowed
typestring*
doc
contentunknown[]
statusIdstring · uuid
prioritystring
nonelowmediumhighurgent
milestoneIdstring · uuid | null
cycleIdstring · uuid | null
startDatestring · date | null
dueDatestring · date | null
estimatenumber | null
min 0 · max 9999.99
assigneeIds(string · uuid)[]
tagIds(string · uuid)[]
parentIdstring · uuid | null
customFieldsobject
[key: string]string | number | boolean | null
overrideWorkflowboolean
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID \
  -X PATCH \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

delete/api/tickets/{id}#

Path

idstring*
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID \
  -X DELETE \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 204

Also answers 401 and 403. SeeErrors.

post/api/tickets/{id}/archive#

Path

idstring*
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID/archive \
  -X POST \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

post/api/tickets/{id}/duplicate#

Path

idstring*

Body

titlestring
min length 1 · max length 500
includeSubtasksboolean
default false
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID/duplicate \
  -X POST \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 201 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

post/api/tickets/{id}/move#

Path

idstring*

Body

listIdstring · uuid*
statusIdstring · uuid
afterIdstring · uuid | null
Request
curl 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"}'

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

post/api/tickets/{id}/reorder#

Path

idstring*

Body

afterIdstring · uuid | null*
Request
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"}'

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

post/api/tickets/{id}/unarchive#

Path

idstring*
Request
curl https://api.shairelabs.com/api/tickets/$TICKET_ID/unarchive \
  -X POST \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketDetail

idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
descriptionobject | null*
further keys allowed
typestring*
doc
contentunknown[]
authorIdstring · uuid*

Also answers 401 and 403. SeeErrors.

post/api/tickets/bulk#

Body

ids(string · uuid)[]*
patchobject*
statusIdstring · uuid
prioritystring
nonelowmediumhighurgent
milestoneIdstring · uuid | null
cycleIdstring · uuid | null
startDatestring · date | null
dueDatestring · date | null
estimatenumber | null
min 0 · max 9999.99
customFieldsobject
[key: string]string | number | boolean | null
assigneeIdsobject
modestring*
addremoveset
ids(string · uuid)[]*
tagIdsobject
modestring*
addremoveset
ids(string · uuid)[]*
archivedboolean
overrideWorkflowboolean
Request
curl https://api.shairelabs.com/api/tickets/bulk \
  -X POST \
  -H "Authorization: Bearer $SHAIRE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ids":[],"patch":{}}'

Response · 200 · BulkTicketsResult

ticketsobject[]*
[item]object
idstring · uuid*
workspaceIdstring · uuid*
listIdstring · uuid*
keystring*
titlestring*
statusIdstring · uuid*
prioritystring*
nonelowmediumhighurgent
milestoneIdstring · 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 | boolean
archivedAtstring | null*
createdAtstring*
updatedAtstring*
missingIds(string · uuid)[]*

Also answers 401 and 403. SeeErrors.

post/api/tickets/bulk/delete#

Body

ids(string · uuid)[]*
Request
curl https://api.shairelabs.com/api/tickets/bulk/delete \
  -X POST \
  -H "Authorization: Bearer $SHAIRE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ids":[]}'

Response · 200 · BulkDeleteTicketsResult

deletedIds(string · uuid)[]*

Also answers 401 and 403. SeeErrors.

get/api/tickets/counts#

Query

listIdstring · uuid
milestoneIdstring · uuid | string
cycleIdstring · uuid | string
statusIdstring · uuid
systemicStatestring | string[]
assigneeIdstring · uuid | string
tagIdstring · uuid | string | (string · uuid | string)[]
tagMatchstring
anyall
prioritystring
nonelowmediumhighurgent
dueBeforestring · date
archivedstring
onlywith
fieldIdstring · uuid
fieldValuestring
groupBystring*
statusassigneeprioritymilestonecycle
Request
curl https://api.shairelabs.com/api/tickets/counts?groupBy=status \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketCounts

totalinteger*
groupsobject[]*
[item]object
keystring | null*
countinteger*

Also answers 401 and 403. SeeErrors.

get/api/tickets/dependencies#

Query

listIdstring · uuid
milestoneIdstring · uuid | string
cycleIdstring · uuid | string
statusIdstring · uuid
systemicStatestring | string[]
assigneeIdstring · uuid | string
tagIdstring · uuid | string | (string · uuid | string)[]
tagMatchstring
anyall
prioritystring
nonelowmediumhighurgent
dueBeforestring · date
archivedstring
onlywith
fieldIdstring · uuid
fieldValuestring
limitinteger
default 200 · min 1 · max 500
parentIdstring · uuid
Request
curl https://api.shairelabs.com/api/tickets/dependencies \
  -H "Authorization: Bearer $SHAIRE_TOKEN"

Response · 200 · TicketDependency[]

blockerIdstring · uuid*
blockedIdstring · uuid*

Also answers 401 and 403. SeeErrors.