Ticket statuses
A ticket status is a step in a team's workflow, such as In Planning or In Build, in one of six fixed categories, the stages every ticket moves through: backlog, planning, build, review, shipped and canceled. Each team has its own statuses, copied from the workspace's template when the team is created. A status can hold a checklist template, which a ticket copies into its own checklist when it first enters the status. Owners and admins change statuses and their templates.
The TicketStatus object
A step in a team's workflow, such as In Planning or In Build.
Attributes
idstringRequiredUnique ID of the ticket status.
namestringRequiredThe status's name, unique within its team, such as In Build.
categorystringRequiredThe fixed stage the status belongs to: backlog, planning, build, review, shipped or canceled. It cannot change.
backlogplanningbuildreviewshippedcanceledpositionnumberRequiredOrders the status within its category; lower comes first.
isDefaultbooleanRequiredWhether new tickets get this status when none is named.
{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false}List ticket statuses
GET/Returns a team's statuses or, without team, the workspace's template that new teams copy, with each status's checklist template.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
Query parameters
teamstringA team's key, such as WEB. Leave it out for the workspace's template.
Returns
Returns an object with these fields. Status 200.
statusesarray of objectsRequiredThe statuses in board order: by category, then by position, each with its checklist template.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "statuses": [ { "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false, "checklist": [ { "id": "Ct1ImP4dNq8R", "title": "Implementation done", "position": 0 }, { "id": "Ct2SpG7nKw3V", "title": "Specs generated", "position": 1 }, { "id": "Ct3CkP2sLx6T", "title": "Checks pass", "position": 2 } ] } ]}Create a ticket status
POST/Owners and admins add statuses. The new status goes last in its category. A status added to the template reaches only teams created afterwards.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
Body parameters
teamnullable stringThe key of the team to add the status to, such as WEB. Leave it out to add it to the workspace's template.
namestringRequiredThe status's name, up to 40 characters, unique within the team.
categorystringRequiredThe status's category. It cannot change later.
backlogplanningbuildreviewshippedcanceledReturns
Returns the TicketStatus object. Status 201.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X POST https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "team": "WEB", "name": "In QA", "category": "review" }'{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false}Update a ticket status
PATCH/Owners and admins rename a status or make it the default. Saved view filters follow a new name.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
Body parameters
namestringThe status's name, up to 40 characters, unique within the team.
isDefaultbooleantrue makes this the status new tickets get when none is named. Only a backlog status can be the default.
trueReturns
Returns the TicketStatus object. Status 200.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X PATCH https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status} \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "In development" }'{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false}Delete a ticket status
DELETE/Owners and admins delete statuses. Every category keeps at least one status, and the default status cannot be deleted. Tickets that use the status move to moveTo, and tickets' checklists for the status join their checklists for moveTo.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
Query parameters
moveTostringThe ID of another status of the same team that takes this status's tickets. Required when tickets use the status.
Returns
Returns no content. Status 204.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X DELETE https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status} \ -H "Authorization: Bearer $CLANKER_API_KEY"Reorder a ticket status
POST/Moves a status right before or after another status of its category. Send before or after, not both. Owners and admins reorder statuses.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
Body parameters
beforestringThe ID of a status of the same category to go right before.
afterstringThe ID of a status of the same category to go right after.
Returns
Returns an object with these fields. Status 200.
Every status of the same team, or of the template, in board order: by category, then by position.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X POST https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status}/reorder \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "after": "St4IrG2wZf5M" }'{ "statuses": [ { "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false } ]}Add a checklist template item
POST/Owners and admins add an item to the end of a status's checklist template, which holds up to 30 items. Tickets that enter the status afterwards get it; tickets that already have the status's checklist keep theirs.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
Body parameters
titlestringRequiredWhat has to be done, up to 120 characters, unique within the template.
Returns
Returns an object with these fields. Status 201.
A ticket status with its checklist template.
idstringRequiredUnique ID of the ticket status.
namestringRequiredThe status's name, unique within its team, such as In Build.
categorystringRequiredThe fixed stage the status belongs to: backlog, planning, build, review, shipped or canceled. It cannot change.
backlogplanningbuildreviewshippedcanceledpositionnumberRequiredOrders the status within its category; lower comes first.
isDefaultbooleanRequiredWhether new tickets get this status when none is named.
checklistarray of objectsRequiredThe status's checklist template, in order: the items a ticket's checklist starts with when the ticket first enters the status. Empty when the status has none.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X POST https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status}/checklist \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Docs updated" }'{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false, "checklist": [ { "id": "Ct1ImP4dNq8R", "title": "Implementation done", "position": 0 }, { "id": "Ct2SpG7nKw3V", "title": "Specs generated", "position": 1 }, { "id": "Ct3CkP2sLx6T", "title": "Checks pass", "position": 2 } ]}Rename a checklist template item
PATCH/Owners and admins rename an item of a status's checklist template.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
itemstringRequiredThe template item's ID, or its title.
Body parameters
titlestringRequiredThe item's new title, up to 120 characters.
Returns
Returns an object with these fields. Status 200.
A ticket status with its checklist template.
idstringRequiredUnique ID of the ticket status.
namestringRequiredThe status's name, unique within its team, such as In Build.
categorystringRequiredThe fixed stage the status belongs to: backlog, planning, build, review, shipped or canceled. It cannot change.
backlogplanningbuildreviewshippedcanceledpositionnumberRequiredOrders the status within its category; lower comes first.
isDefaultbooleanRequiredWhether new tickets get this status when none is named.
checklistarray of objectsRequiredThe status's checklist template, in order: the items a ticket's checklist starts with when the ticket first enters the status. Empty when the status has none.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X PATCH https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status}/checklist/{item} \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Specs generated and passing" }'{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false, "checklist": [ { "id": "Ct1ImP4dNq8R", "title": "Implementation done", "position": 0 }, { "id": "Ct2SpG7nKw3V", "title": "Specs generated", "position": 1 }, { "id": "Ct3CkP2sLx6T", "title": "Checks pass", "position": 2 } ]}Delete a checklist template item
DELETE/Owners and admins delete an item from a status's checklist template. Tickets keep the copies they have.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
itemstringRequiredThe template item's ID, or its title.
Returns
Returns no content. Status 204.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X DELETE https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status}/checklist/{item} \ -H "Authorization: Bearer $CLANKER_API_KEY"Reorder a checklist template item
POST/Owners and admins move a template item right before or after another. Send before or after, not both.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
statusstringRequiredThe ticket status's ID.
itemstringRequiredThe template item's ID, or its title.
Body parameters
beforestringThe ID or title of a template item to go right before.
afterstringThe ID or title of a template item to go right after.
Returns
Returns an object with these fields. Status 200.
A ticket status with its checklist template.
idstringRequiredUnique ID of the ticket status.
namestringRequiredThe status's name, unique within its team, such as In Build.
categorystringRequiredThe fixed stage the status belongs to: backlog, planning, build, review, shipped or canceled. It cannot change.
backlogplanningbuildreviewshippedcanceledpositionnumberRequiredOrders the status within its category; lower comes first.
isDefaultbooleanRequiredWhether new tickets get this status when none is named.
checklistarray of objectsRequiredThe status's checklist template, in order: the items a ticket's checklist starts with when the ticket first enters the status. Empty when the status has none.
Errors
- 400
InvalidInputThe request is malformed, or a value is not allowed.- 401
UnauthorizedThe request has no valid API key.- 403
ForbiddenThe key's user or role may not do this.- 404
NotFoundThe workspace or object does not exist, or the caller cannot see it.- 409
ConflictThe change conflicts with current data, such as a slug that is already in use.- 500
InternalClanker Ship failed to handle the request. Retry, or report the response's x-request-id.
curl -X POST https://api.qa.clankership.net/v1/workspaces/acme/ticket-statuses/{status}/checklist/{item}/reorder \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "after": "Ct3CkP2sLx6T" }'{ "id": "St3BdV6nHs9D", "name": "In Build", "category": "build", "position": 2, "isDefault": false, "checklist": [ { "id": "Ct1ImP4dNq8R", "title": "Implementation done", "position": 0 }, { "id": "Ct2SpG7nKw3V", "title": "Specs generated", "position": 1 }, { "id": "Ct3CkP2sLx6T", "title": "Checks pass", "position": 2 } ]}