Skip to content

Add an item to a checklist

POST
/boards/{board}/cards/{card}/checklists/{checklist}/items
curl --request POST \
--url https://projects.work.optidata.cloud/api/boards/1/cards/1/checklists/1/items \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "title": "Update DNS records", "due_date": "2026-08-01T12:00:00Z", "assignees": { "8": true } }'

Appends an item, optionally with a due date and assignees (map of user id → boolean).

board
required
integer

Board id.

card
required
integer

Card id (must belong to the board).

checklist
required
integer

Checklist id (must belong to the card).

Media typeapplication/json
object
title
required
string
<= 255 characters
due_date
string | null format: date-time
assignees

Map of user id → attach (true) / detach (false).

object | null
Example
{
"title": "Update DNS records",
"due_date": "2026-08-01T12:00:00Z",
"assignees": {
"8": true
}
}

The created item.

Media typeapplication/json
object
id
integer
checklist_id
integer
title
string
<= 255 characters
is_completed
boolean
completed_at
string | null format: date-time
due_date
string | null format: date-time
due_date_status
string | null
Allowed values: OVERDUE NEAR FAR
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
Example
{
"due_date_status": "OVERDUE"
}

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."
]
}
}