Partially update a question for a library component item
Updates specific fields of an existing question. Only provided fields will be updated.
What are Questions? Questions capture customer-specific requirements or project details. They can have different types (ShortText, Editor, Checkbox, Radio, Files, Datepicker, Multiplier, Person) and can affect effort calculation.
For Checkbox/Radio types, if options are provided, at least one option must be included. Description field accepts HTML or Markdown input and returns HTML format. Only library component item questions (component.projectId is null) are accessible through this endpoint.
PATCH
/administration/project-components/item-details/{itemId}/questions/{questionId}Authorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredPath parameters
itemIdstringrequiredComponent item UUID. Items are the building blocks within components (Epics, Work Packages, Todo Lists, Test Suites).
questionIdstringrequiredQuestion UUID
Request body
requiredapplication/jsonconditionsQuestionConditionDto[]Question conditions that control visibility/behavior. Conditions can show/hide questions based on answers to other questions, todo completion, or test case status.
Show propertiesHide properties
Array of
QuestionConditionDtocontainsTypestringContains type
Allowed:
SomeAllidstringCondition ID (for updates)
targetQuestionIdstringTarget question ID
targetTestCaseIdstringTarget test case ID
targetTodoIdstringTarget todo ID
targetValuestringTarget value
typestringrequiredCondition type. Conditions control when items or questions are visible/active:
- **QuestionAnswered/QuestionNotAnswered**: Based on whether a question is answered
- **QuestionAnswerEqual/QuestionAnswerDoesNotEqual**: Based on specific answer value
- **QuestionAnswerContains/QuestionAnswerDoesNotContain**: Based on answer containing values
- **TodoIsDone/TodoIsNotDone**: Based on todo completion status
- **TestCasePassed/TestCaseFailed**: Based on test case evaluation
Allowed:
QuestionAnsweredQuestionNotAnsweredQuestionAnswerContainsQuestionAnswerDoesNotContainQuestionAnswerEqualQuestionAnswerDoesNotEqualTodoIsDoneTodoIsNotDoneTestCasePassedTestCaseFaileddescriptionstringQuestion description (accepts HTML or Markdown, returns HTML)
multiplierValuenumberMultiplier value (for Multiplier type). This is the duration per element (e.g., hours per page). When answered, the system calculates: Answer × multiplierValue = Total additional effort.
optionsQuestionOptionDto[]Question options (required for Checkbox/Radio types)
Show propertiesHide properties
Array of
QuestionOptionDtoextraHoursnumberExtra hours for this option. When this option is selected (for Checkbox/Radio questions), this value is added to the effort calculation.
idstringOption ID (for updates)
titlestringrequiredOption title. For Checkbox questions, users can select multiple options. For Radio questions, users can select only one option.
questionstringThe question text that will be displayed to users.
titlestringQuestion title/heading. Questions capture customer-specific requirements or project details.
typestringQuestion type. Questions can be:
- **ShortText**: Single-line text input
- **Editor**: Formatted multi-line text
- **Checkbox**: Yes/No selection (can impact effort)
- **Radio**: Single choice from options (can impact effort)
- **Files**: Upload files
- **Datepicker**: Select a date
- **Multiplier**: Dynamic calculation (quantity × duration per element)
- **Person**: Select person(s) from team
Allowed:
ShortTextEditorCheckboxRadioFilesDatepickerMultiplierPersonResponses
200Question updated successfully
successboolean401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X PATCH "https://leadtime.app/api/public/administration/project-components/item-details/3047983b-d798-4aff-8dd4-628cf1900703/questions/e57dc37b-7693-4d06-b49c-17084b773aff" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"conditions": [
{
"containsType": "Some",
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetQuestionId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTestCaseId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTodoId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetValue": "Yes",
"type": "QuestionAnswered"
}
],
"description": "<p>This question helps us understand performance requirements.</p>",
"multiplierValue": 1.5,
"options": [
{
"extraHours": 2.5,
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"title": "Option A"
}
],
"question": "Please specify the expected response time",
"title": "What is the expected performance?",
"type": "ShortText"
}'const response = await fetch("https://leadtime.app/api/public/administration/project-components/item-details/3047983b-d798-4aff-8dd4-628cf1900703/questions/e57dc37b-7693-4d06-b49c-17084b773aff", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"conditions": [
{
"containsType": "Some",
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetQuestionId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTestCaseId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTodoId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetValue": "Yes",
"type": "QuestionAnswered"
}
],
"description": "<p>This question helps us understand performance requirements.</p>",
"multiplierValue": 1.5,
"options": [
{
"extraHours": 2.5,
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"title": "Option A"
}
],
"question": "Please specify the expected response time",
"title": "What is the expected performance?",
"type": "ShortText"
})
});import requests
response = requests.patch(
"https://leadtime.app/api/public/administration/project-components/item-details/3047983b-d798-4aff-8dd4-628cf1900703/questions/e57dc37b-7693-4d06-b49c-17084b773aff",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"conditions": [
{
"containsType": "Some",
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetQuestionId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTestCaseId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetTodoId": "e57dc37b-7693-4d06-b49c-17084b773aff",
"targetValue": "Yes",
"type": "QuestionAnswered"
}
],
"description": "<p>This question helps us understand performance requirements.</p>",
"multiplierValue": 1.5,
"options": [
{
"extraHours": 2.5,
"id": "e57dc37b-7693-4d06-b49c-17084b773aff",
"title": "Option A"
}
],
"question": "Please specify the expected response time",
"title": "What is the expected performance?",
"type": "ShortText"
},
)Response
{
"success": true
}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions