/{organizationId}/work/todo/items/{itemId}Update todo item
Updates the editable details of a todo item
Required permissions:
todoItem.edit
Path Parameters
organizationIdstringrequired itemIdstringrequired Request Body required
Content-Type: application/json
titlestringrequired minLength: 1
maxLength: 140
descriptionstringrequired minLength: 1
maxLength: 10000
maxItems: 20
dueDatedate-time | nullrequired projectIdstring | nulloptional expectedUpdatedAtdate-time | nullrequired parentItemIdstring | nullrequired maxItems: 10
maxItems: 100
reviewerUserIdstring | nulloptional minLength: 16
maxLength: 64
Authentication: X-API-Key
Request
curl --request POST 'https://cloud.campai.com/api/{organizationId}/work/todo/items/{itemId}' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"title": "string",
"description": "string",
"customFields": {},
"tags": [
"string"
],
"dueDate": "2026-06-15T22:30:00Z",
"expectedUpdatedAt": "2026-06-15T22:30:00Z",
"parentItemId": "string",
"attachments": [
{
"resource": "string"
}
],
"context": {
"type": "team",
"teamId": "string"
}
}'Responses
This endpoint returns different response codes based on the request outcome.
200Successful response
Content-Type: application/json
Valueany Response
"string"400Invalid input data
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}401Authorization not provided
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}403Insufficient access
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}500Internal server error
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}