Create a checklist on a card
POST
/boards/{board}/cards/{card}/checklists
const url = 'https://projects.work.optidata.cloud/api/boards/1/cards/1/checklists';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"title":"Launch checklist"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://projects.work.optidata.cloud/api/boards/1/cards/1/checklists \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "Launch checklist" }'Adds a titled checklist to the card. All checklist endpoints require update permission on the card.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”board
required
integer
Board id.
card
required
integer
Card id (must belong to the board).
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
title
required
string
Example
{ "title": "Launch checklist"}Responses
Section titled “Responses”The created checklist (with empty items).
Media typeapplication/json
object
id
integer
card_id
integer
title
string
items
Array<object>
object
id
integer
checklist_id
integer
title
string
is_completed
boolean
completed_at
string | null format: date-time
due_date
string | null format: date-time
due_date_status
string | null
human_due_date
string | null
short_locale_date
string | null
assignees
Array<object>
object
id
integer
uuid
string format: uuid
name
string
avatar_url
string | null format: uri
created_at
string format: date-time
items_count
integer
items_completed_count
integer
created_at
string format: date-time
Example
{ "id": 120, "card_id": 9001, "title": "Launch checklist", "items": [], "items_count": 0, "items_completed_count": 0, "created_at": "2026-07-20T14:00:00.000000Z"}Missing, invalid or expired bearer passport.
Media typeapplication/json
object
error
string
Example
{ "error": "JWT passport exception: Missing bearer token in request"}The authenticated user lacks the required board permission.
Media typeapplication/json
object
message
string
Example
{ "message": "This action is unauthorized."}Resource not found, or a nested resource does not belong to its parent in the path.
Media typeapplication/json
object
message
string
Example
{ "message": "Not found."}Validation failed.
Media typeapplication/json
object
message
First validation error message.
string
errors
Map of field name → list of error messages.
object
key
additional properties
Array<string>
Example
{ "message": "The name field is required.", "errors": { "name": [ "The name field is required." ] }}