Update an existing todo
Updates title and/or description of an existing todo item within a project component item. Only provided fields are updated (partial update). Description accepts HTML or Markdown format and is converted to IDoc for storage. Only todos belonging to component items in the specified project are accessible.
PATCH
/projects/{projectId}/components/items/{itemId}/todos/{todoId}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
projectIdstringrequiredProject UUID
itemIdstringrequiredComponent item UUID. Items are the building blocks within components (Epics, Work Packages, Todo Lists, Test Suites).
todoIdstringrequiredTodo UUID
Query parameters
fieldsToReturnstringComma-separated list of top-level response fields to return. Overrides the endpoint compact default unless responseShape=full is used.
responseShapestringAdvanced override. Omit for the endpoint compact default. Use full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
compactfullHeader parameters
LT-Response-ShapestringAdvanced override. Set to full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.
Allowed:
fullRequest body
requiredapplication/jsondescriptionstringTodo description in HTML or Markdown format
titlestringTodo title
Responses
200
idstringID of the updated todo
successbooleanrequiredOperation success status
400Invalid request: no fields provided for update or invalid UUID format
401Unauthorized - Invalid or missing authentication token
403Insufficient permissions to manage components
404Todo not found or does not belong to the specified item in the project
Request
curl -X PATCH "https://leadtime.app/api/public/projects/a47dc37b-7693-4d06-b49c-17084b773aff/components/items/3047983b-d798-4aff-8dd4-628cf1900703/todos/550e8400-e29b-41d4-a716-446655440011" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "<p>Add user login with two-factor authentication</p>",
"title": "Implement authentication with 2FA"
}'const response = await fetch("https://leadtime.app/api/public/projects/a47dc37b-7693-4d06-b49c-17084b773aff/components/items/3047983b-d798-4aff-8dd4-628cf1900703/todos/550e8400-e29b-41d4-a716-446655440011", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"description": "<p>Add user login with two-factor authentication</p>",
"title": "Implement authentication with 2FA"
})
});import requests
response = requests.patch(
"https://leadtime.app/api/public/projects/a47dc37b-7693-4d06-b49c-17084b773aff/components/items/3047983b-d798-4aff-8dd4-628cf1900703/todos/550e8400-e29b-41d4-a716-446655440011",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"description": "<p>Add user login with two-factor authentication</p>",
"title": "Implement authentication with 2FA"
},
)Response
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"success": true
}Invalid request: no fields provided for update or invalid UUID format
Unauthorized - Invalid or missing authentication token
Insufficient permissions to manage components
Todo not found or does not belong to the specified item in the project