Skip to content
POST/{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

POST/{organizationId}/work/todo/items/{itemId}
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

200
"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

400
{
  "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

401
{
  "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

403
{
  "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

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}