Views
A view is a saved way to look at a team's or a project's tickets: filters, grouping, order and layout. Each view belongs to one team or one project, and anyone who sees that team or project can read it. Changes to a view apply for everyone.
The View object
A saved way to look at a team's or a project's tickets: filters, grouping, order and layout.
Attributes
idstringRequiredUnique ID of the view.
slugstringRequiredMade from the view's name and unique within its team or project, such as active.
namestringRequiredThe view's name, such as Active.
teamnullable objectRequiredThe team the view belongs to, or null for a project view.
projectnullable objectRequiredThe project the view belongs to, or null for a team view.
filtersobjectRequiredWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringRequiredHow the view groups tickets.
statuscategoryownertagprojectmilestoneteamnoneorderBystringRequiredHow the view orders tickets: manual follows the order people set by hand, created puts the newest first and updated the most recently changed.
manualcreatedupdatedlayoutstringRequiredWhether the view shows a list or a board.
listboardisDefaultbooleanRequiredWhether the team's or project's Tickets page opens this view.
createdAtstringRequiredWhen it was created, as an ISO 8601 timestamp.
updatedAtstringRequiredWhen it last changed, as an ISO 8601 timestamp.
{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z"}List a team's views
GET/Returns the team's saved views. Every team starts with All tickets, Active and Backlog.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
teamstringRequiredThe team's key, such as WEB.
Returns
Returns an object with these fields. Status 200.
The views, the default first, then in the order they were saved.
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/teams/{team}/views \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "views": [ { "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z" } ]}Create a team view
POST/Saves a view of the team's tickets, with a slug made from its name. Team views group by status, category, owner, tag, project or none. Members of the team and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
teamstringRequiredThe team's key, such as WEB.
Body parameters
namestringRequiredThe view's name, up to 60 characters, unique within its team or project.
filtersobjectWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringHow the view groups tickets. Defaults to status.
statuscategoryownertagprojectnoneorderBystringmanual follows the order people set by hand, created puts the newest first and updated the most recently changed. Defaults to manual.
manualcreatedupdatedlayoutstringA list or a board. Defaults to list.
listboardReturns
Returns the View 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/teams/{team}/views \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Search work", "filters": { "categories": [ "unstarted", "started" ], "tags": [ "feature" ] }, "groupBy": "owner", "layout": "board" }'{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z"}Get a team view
GET/Returns the view with the tickets it shows, in its order, and the team's statuses for a status grouping's columns.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
teamstringRequiredThe team's key, such as WEB.
viewstringRequiredThe view's slug, such as active.
Returns
Returns an object with these fields. Status 200.
A view with the tickets it shows.
idstringRequiredUnique ID of the view.
slugstringRequiredMade from the view's name and unique within its team or project, such as active.
namestringRequiredThe view's name, such as Active.
teamnullable objectRequiredThe team the view belongs to, or null for a project view.
projectnullable objectRequiredThe project the view belongs to, or null for a team view.
filtersobjectRequiredWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringRequiredHow the view groups tickets.
statuscategoryownertagprojectmilestoneteamnoneorderBystringRequiredHow the view orders tickets: manual follows the order people set by hand, created puts the newest first and updated the most recently changed.
manualcreatedupdatedlayoutstringRequiredWhether the view shows a list or a board.
listboardisDefaultbooleanRequiredWhether the team's or project's Tickets page opens this view.
createdAtstringRequiredWhen it was created, as an ISO 8601 timestamp.
updatedAtstringRequiredWhen it last changed, as an ISO 8601 timestamp.
ticketsarray of objectsRequiredThe tickets the view shows, in its order.
The columns a status grouping shows: the team's statuses, or the union across a project's teams. Matching names and categories share a column.
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/teams/{team}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z", "tickets": [ { "id": "Tk7BnC5xLp9M", "identifier": "WEB-31", "number": 31, "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web", "visibility": "open" }, "title": "Add docs search", "summary": "Readers cannot find a page without browsing the sidebar. Add a search box to the docs header.", "status": { "id": "St3IpV6nHs9D", "name": "In Progress", "category": "started", "position": 2, "isDefault": false }, "owner": { "id": "Ag5HvB1mZr8K", "name": "Codex", "person": { "id": "Us3NfP8kLq2V", "name": "Maya Patel", "email": "maya@acme.dev" } }, "project": { "id": "Pj2KsV8dRf4N", "slug": "docs-launch", "name": "Docs launch" }, "milestone": { "id": "Ms2SrC9vLm4D", "number": 2, "name": "Search" }, "tags": [ { "id": "Tg3FtR7nWq2K", "name": "feature", "color": "cobalt", "team": null } ], "rank": 31.5, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z" } ], "statuses": [ { "id": "St1BkL4pQx7N", "name": "Backlog", "category": "backlog", "position": 0, "isDefault": true }, { "id": "St2TdW8mRc3K", "name": "Todo", "category": "unstarted", "position": 1, "isDefault": false }, { "id": "St3IpV6nHs9D", "name": "In Progress", "category": "started", "position": 2, "isDefault": false }, { "id": "St4IrG2wZf5M", "name": "In Review", "category": "started", "position": 3, "isDefault": false }, { "id": "St5DnY7kPb1Q", "name": "Done", "category": "completed", "position": 4, "isDefault": false }, { "id": "St6CnJ3xTe8L", "name": "Canceled", "category": "canceled", "position": 5, "isDefault": false }, { "id": "St7DpR9vLw2H", "name": "Duplicate", "category": "canceled", "position": 6, "isDefault": false } ]}Update a team view
PATCH/Changes only the settings sent, for everyone who opens the view; filters replaces the saved filters. Members of the team and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
teamstringRequiredThe team's key, such as WEB.
viewstringRequiredThe view's slug, such as active.
Body parameters
namestringThe view's name, up to 60 characters, unique within its team or project. A new name gives the view a new slug.
filtersobjectWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringHow the view groups tickets.
statuscategoryownertagprojectnoneorderBystringmanual follows the order people set by hand, created puts the newest first and updated the most recently changed.
manualcreatedupdatedlayoutstringA list or a board.
listboardisDefaultbooleantrue makes this the view the Tickets page opens.
trueReturns
Returns the View 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/teams/{team}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "layout": "board", "isDefault": true }'{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z"}Delete a team view
DELETE/Deletes the view. The default view stays until another view is the default. Members of the team and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
teamstringRequiredThe team's key, such as WEB.
viewstringRequiredThe view's slug, such as active.
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/teams/{team}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY"List a project's views
GET/Returns the project's saved views. Every project starts with Board, its default, and All tickets.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
projectstringRequiredThe project's slug, such as docs-launch.
Returns
Returns an object with these fields. Status 200.
The views, the default first, then in the order they were saved.
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/projects/{project}/views \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "views": [ { "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z" } ]}Create a project view
POST/Saves a view of the project's tickets, with a slug made from its name. Project views group by status, category, owner, tag, milestone, team or none. Members of the project's teams and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
projectstringRequiredThe project's slug, such as docs-launch.
Body parameters
namestringRequiredThe view's name, up to 60 characters, unique within its team or project.
filtersobjectWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringHow the view groups tickets. Defaults to status.
statuscategoryownertagmilestoneteamnoneorderBystringmanual follows the order people set by hand, created puts the newest first and updated the most recently changed. Defaults to manual.
manualcreatedupdatedlayoutstringA list or a board. Defaults to list.
listboardReturns
Returns the View 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/projects/{project}/views \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "By milestone", "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "milestone" }'{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z"}Get a project view
GET/Returns the view with the tickets it shows, in its order. A status grouping uses the statuses the project's teams share as columns, or categories when their statuses differ.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
projectstringRequiredThe project's slug, such as docs-launch.
viewstringRequiredThe view's slug, such as active.
Returns
Returns an object with these fields. Status 200.
A view with the tickets it shows.
idstringRequiredUnique ID of the view.
slugstringRequiredMade from the view's name and unique within its team or project, such as active.
namestringRequiredThe view's name, such as Active.
teamnullable objectRequiredThe team the view belongs to, or null for a project view.
projectnullable objectRequiredThe project the view belongs to, or null for a team view.
filtersobjectRequiredWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringRequiredHow the view groups tickets.
statuscategoryownertagprojectmilestoneteamnoneorderBystringRequiredHow the view orders tickets: manual follows the order people set by hand, created puts the newest first and updated the most recently changed.
manualcreatedupdatedlayoutstringRequiredWhether the view shows a list or a board.
listboardisDefaultbooleanRequiredWhether the team's or project's Tickets page opens this view.
createdAtstringRequiredWhen it was created, as an ISO 8601 timestamp.
updatedAtstringRequiredWhen it last changed, as an ISO 8601 timestamp.
ticketsarray of objectsRequiredThe tickets the view shows, in its order.
The columns a status grouping shows: the team's statuses, or the union across a project's teams. Matching names and categories share a column.
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/projects/{project}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY"{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z", "tickets": [ { "id": "Tk7BnC5xLp9M", "identifier": "WEB-31", "number": 31, "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web", "visibility": "open" }, "title": "Add docs search", "summary": "Readers cannot find a page without browsing the sidebar. Add a search box to the docs header.", "status": { "id": "St3IpV6nHs9D", "name": "In Progress", "category": "started", "position": 2, "isDefault": false }, "owner": { "id": "Ag5HvB1mZr8K", "name": "Codex", "person": { "id": "Us3NfP8kLq2V", "name": "Maya Patel", "email": "maya@acme.dev" } }, "project": { "id": "Pj2KsV8dRf4N", "slug": "docs-launch", "name": "Docs launch" }, "milestone": { "id": "Ms2SrC9vLm4D", "number": 2, "name": "Search" }, "tags": [ { "id": "Tg3FtR7nWq2K", "name": "feature", "color": "cobalt", "team": null } ], "rank": 31.5, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z" } ], "statuses": [ { "id": "St1BkL4pQx7N", "name": "Backlog", "category": "backlog", "position": 0, "isDefault": true }, { "id": "St2TdW8mRc3K", "name": "Todo", "category": "unstarted", "position": 1, "isDefault": false }, { "id": "St3IpV6nHs9D", "name": "In Progress", "category": "started", "position": 2, "isDefault": false }, { "id": "St4IrG2wZf5M", "name": "In Review", "category": "started", "position": 3, "isDefault": false }, { "id": "St5DnY7kPb1Q", "name": "Done", "category": "completed", "position": 4, "isDefault": false }, { "id": "St6CnJ3xTe8L", "name": "Canceled", "category": "canceled", "position": 5, "isDefault": false }, { "id": "St7DpR9vLw2H", "name": "Duplicate", "category": "canceled", "position": 6, "isDefault": false } ]}Update a project view
PATCH/Changes only the settings sent, for everyone who opens the view; filters replaces the saved filters. Members of the project's teams and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
projectstringRequiredThe project's slug, such as docs-launch.
viewstringRequiredThe view's slug, such as active.
Body parameters
namestringThe view's name, up to 60 characters, unique within its team or project. A new name gives the view a new slug.
filtersobjectWhich tickets a view shows. Filters combine with and; the values within one filter with or.
groupBystringHow the view groups tickets.
statuscategoryownertagmilestoneteamnoneorderBystringmanual follows the order people set by hand, created puts the newest first and updated the most recently changed.
manualcreatedupdatedlayoutstringA list or a board.
listboardisDefaultbooleantrue makes this the view the Tickets page opens.
trueReturns
Returns the View 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/projects/{project}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "layout": "board", "isDefault": true }'{ "id": "Vw4AcT8nRk2P", "slug": "active", "name": "Active", "team": { "id": "Tm6PzN3kWq1J", "key": "WEB", "name": "Web" }, "project": null, "filters": { "categories": [ "unstarted", "started" ] }, "groupBy": "status", "orderBy": "manual", "layout": "board", "isDefault": false, "createdAt": "2026-10-01T16:20:00.000Z", "updatedAt": "2026-10-14T09:05:12.000Z"}Delete a project view
DELETE/Deletes the view. The default view stays until another view is the default. Members of the project's teams and workspace owners and admins change its views; viewers cannot.
Path parameters
slugstringRequiredThe workspace's slug or ID, such as acme.
projectstringRequiredThe project's slug, such as docs-launch.
viewstringRequiredThe view's slug, such as active.
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/projects/{project}/views/{view} \ -H "Authorization: Bearer $CLANKER_API_KEY"