Skip to content
Leadtime
English
Esc
navigateopen⌘Jpreview

Get project component item details

Returns complete details of a component item from a project component tree including all test cases, todos, questions, conditions, and nested children.

What are Component Items? Items are the building blocks within components that structure the project work. Each item can be one of four types:

  • Epic: Major sections or phases that group related work packages around a common theme (e.g., “Technical Implementation”, “Design & Development”). Epics help track project progress at a strategic level.
  • Work Package: Self-contained, clearly defined tasks that deliver tangible results (e.g., “Set up hosting”, “Design homepage”). Work packages can have timeframes, questions, todos, and test cases attached.
  • Todo List: Checklists of sub-steps or checkpoints perfect for recurring processes, quality control, or project preparation (e.g., “Kickoff Checklist”, “Quality Control”). Each todo item can be checked off individually.
  • Test Suite: Formal acceptance tests for project results (e.g., “Contact Form Tests”, “SEO Review”). Contains multiple test cases with steps and expected results. The project is considered finished when all test cases pass.

Attached Resources: Each item can have various resources attached:

  • Questions: Capture customer-specific requirements or project details in a structured way (e.g., “Do you need e-commerce functionality?”). Answers can automatically affect effort calculation and pricing.
  • Todos: Checklist items within a Work Package or Todo List. Each todo can be checked off individually, supports comments, and tracks completion status with timestamps.
  • Test Cases: Individual test steps within a Test Suite. Each test case has steps, expected results, and can be evaluated as Passed, Failed, or PassedWithReservations.
  • Conditions: Rules that control when items are visible or active based on answers, todo completion, or test case status.

Response Format: All ProseMirror editor content (description, internalNote, question descriptions, test case steps, etc.) is automatically converted to HTML format. The response includes the complete item structure with all nested children, making it easy to display the full item hierarchy.

Access Control: Only project component items that belong to components in the specified project (component.projectId equals projectId) are accessible through this endpoint.

GET/projects/{projectId}/components/item-details/{id}
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:read
or
AuthorizationBearer token (JWT) · headerrequired
Path parameters
projectIdstringrequired
Project UUID
idstringrequired
Component item UUID
Responses
200
childrenComponentChildrenShortItemDto[]required
Nested children items
Show properties
Array of ComponentChildrenShortItemDto
childrenComponentChildrenShortItemDto[]required
Nested children items
Show properties
Array of ComponentChildrenShortItemDto
Circular reference to ComponentChildrenShortItemDto.
conditionsValidbooleanrequired
Whether all conditions are valid
entityUniqueIdstringrequired
Entity unique ID
iconobject | nullrequired
Icon identifier in the format `:icon_name:` (e.g., `:rocket:`, `:check:`, `:star:`). Can be null if no icon is set.
idstringrequired
Unique identifier
namestringrequired
Name of the item
questionsCountnumberrequired
Count of questions
taskIdobject | nullrequired
Task ID if linked to a task
taskShortNumberobject | nullrequired
Task short number if linked to a task
testCasesCountnumberrequired
Count of test cases
todosCountnumberrequired
Count of todo items
typestringrequired
Type of the component item. Items are the building blocks within components: - **Epic**: Groups related work packages around a common theme - **WorkPackage**: Self-contained task that delivers a tangible result - **TodoList**: Checklist of sub-steps or checkpoints - **TestSuite**: Formal acceptance tests with test cases
Allowed:EpicWorkPackageTodoListTestSuite
componentIdstringrequired
Parent component ID
conditionsComponentItemConditionDto[]required
Conditions for this item
Show properties
Array of ComponentItemConditionDto
containsTypestringrequired
Contains type
Allowed:SomeAll
idstring | null
Condition ID (optional)
targetQuestionIdstring | null
Target question ID (optional)
targetTestCaseIdstring | null
Target test case ID (optional)
targetTodoIdstring | null
Target todo ID (optional)
targetValuestring | null
Target value (optional)
typestringrequired
Condition type
Allowed:QuestionAnsweredQuestionNotAnsweredQuestionAnswerContainsQuestionAnswerDoesNotContainQuestionAnswerEqualQuestionAnswerDoesNotEqualTodoIsDoneTodoIsNotDoneTestCasePassedTestCaseFailed
conditionsValidbooleanrequired
Whether all conditions are valid
descriptionstringrequired
Item description in HTML format
entityUniqueIdstringrequired
Entity unique ID
failedConditionsIdsstring[]required
Array of failed condition IDs
iconobject | nullrequired
Icon identifier in the format `:icon_name:` (e.g., `:rocket:`, `:check:`, `:star:`). Can be null if no icon is set.
idstringrequired
Item ID
includeInSpecificationbooleanrequired
Whether to include in specification
internalNotestringrequired
Internal note in HTML format
namestringrequired
Item name
parentIdobject | nullrequired
Parent item ID (nullable for top-level items)
questionsComponentQuestionDto[]required
Questions associated with this item. Questions capture customer requirements and can affect effort calculation. In library components, questions are defined but not answered.
Show properties
Array of ComponentQuestionDto
answeredAtstring | null
Date when answered (optional)
answeredBystring | null
User ID who answered (optional)
descriptionstringrequired
Question description in HTML format
editorAnswerstring | null
Editor answer in HTML format (optional)
idstringrequired
Question ID
isAnsweredbooleanrequired
Whether the question has been answered
optionsComponentQuestionOptionDto[]required
Available options
Show properties
Array of ComponentQuestionOptionDto
extraHoursnumber | null
Extra hours for this option (optional)
idstringrequired
Option ID
isSelectedboolean | null
Whether this option is selected (optional)
titlestringrequired
Option title
questionstringrequired
Question text
titlestringrequired
Question title
typestringrequired
Question type
Allowed:ShortTextEditorCheckboxRadioFilesDatepickerMultiplierPerson
tagsstring[]required
Array of tags
taskIdobject | nullrequired
Task ID if linked to a task
taskShortNumberobject | nullrequired
Task short number if linked to a task
testCasesComponentTestCaseDto[]required
Test cases associated with this item. Test cases are individual test steps within a Test Suite that document formal review and approval criteria.
Show properties
Array of ComponentTestCaseDto
descriptionstringrequired
Test case description in HTML format
expectedResultstringrequired
Expected result in HTML format
idstringrequired
Test case ID
stepsstringrequired
Test steps in HTML format
testCommentstring | null
Test comment in HTML format (optional)
testStatusstring | null
Test status (optional)
Allowed:PassedPassedWithReservationsFailed
testedAtstring | null
Date when tested (optional)
testedBystring | null
User ID who tested (optional)
titlestringrequired
Test case title
timeFramenumberrequired
Time frame in hours
todoItemsComponentTodoItemDto[]required
Todo items associated with this item. Todos are checklist items that can be checked off individually and support comments.
Show properties
Array of ComponentTodoItemDto
descriptionstringrequired
Todo item description in HTML format
doneByobject | nullrequired
User ID who marked as done (nullable)
doneUpdatedAtobject | nullrequired
Date when marked as done (nullable)
idstringrequired
Todo item ID
isDonebooleanrequired
Whether the todo is marked as done
titlestringrequired
Todo item title. Todos are checklist items used to track actionable tasks within component items. They are perfect for recurring processes, quality control checkpoints, and project preparation steps.
todoCommentobject | nullrequired
Todo comment in HTML format (nullable)
typestringrequired
Item type
Allowed:EpicWorkPackageTodoListTestSuite
400Invalid projectId or id UUID format
401Unauthorized - Invalid or missing authentication token
403Insufficient permissions to view component item details or access to project denied
404Component item not found, is deleted, or does not belong to the specified project
Request
curl -X GET "https://leadtime.app/api/public/projects/550e8400-e29b-41d4-a716-446655440000/components/item-details/3047983b-d798-4aff-8dd4-628cf1900703" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
  "children": [
    {
      "children": [
        null
      ],
      "conditionsValid": true,
      "entityUniqueId": "unique-id-123",
      "icon": ":check:",
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "name": "Login Feature",
      "questionsCount": 2,
      "taskId": "550e8400-e29b-41d4-a716-446655440002",
      "taskShortNumber": 123,
      "testCasesCount": 3,
      "todosCount": 5,
      "type": "Epic"
    }
  ],
  "componentId": "550e8400-e29b-41d4-a716-446655440000",
  "conditions": [
    {
      "containsType": "Some",
      "id": "550e8400-e29b-41d4-a716-446655440013",
      "targetQuestionId": "550e8400-e29b-41d4-a716-446655440014",
      "targetTestCaseId": "550e8400-e29b-41d4-a716-446655440016",
      "targetTodoId": "550e8400-e29b-41d4-a716-446655440015",
      "targetValue": "option-value",
      "type": "QuestionAnswered"
    }
  ],
  "conditionsValid": true,
  "description": "<p>Feature for user authentication.</p>",
  "entityUniqueId": "unique-id-123",
  "failedConditionsIds": [],
  "icon": ":check:",
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "includeInSpecification": true,
  "internalNote": "<p>Implementation notes.</p>",
  "name": "Login Feature",
  "parentId": null,
  "questions": [
    {
      "answeredAt": "2024-01-01T00:00:00.000Z",
      "answeredBy": "550e8400-e29b-41d4-a716-446655440020",
      "description": "<p>Select all security features that apply.</p>",
      "editorAnswer": "<p>Two-factor authentication is required.</p>",
      "id": "550e8400-e29b-41d4-a716-446655440017",
      "isAnswered": true,
      "options": [
        {
          "extraHours": 8,
          "id": "550e8400-e29b-41d4-a716-446655440012",
          "isSelected": true,
          "title": "Two-factor authentication"
        }
      ],
      "question": "Which security features should be implemented?",
      "title": "Security Features",
      "type": "Checkbox"
    }
  ],
  "tags": [
    "authentication",
    "login"
  ],
  "taskId": "550e8400-e29b-41d4-a716-446655440002",
  "taskShortNumber": 123,
  "testCases": [
    {
      "description": "<p>Verify that users can log in with valid credentials.</p>",
      "expectedResult": "<p>User is successfully logged in and redirected to dashboard.</p>",
      "id": "550e8400-e29b-41d4-a716-446655440010",
      "steps": "<ol><li>Navigate to login page</li><li>Enter credentials</li><li>Click login button</li></ol>",
      "testComment": "<p>Test passed successfully.</p>",
      "testStatus": "Passed",
      "testedAt": "2024-01-01T00:00:00.000Z",
      "testedBy": "550e8400-e29b-41d4-a716-446655440020",
      "title": "Test login with valid credentials"
    }
  ],
  "timeFrame": 40,
  "todoItems": [
    {
      "description": "<p>Add password reset functionality to the authentication module.</p>",
      "doneBy": "550e8400-e29b-41d4-a716-446655440020",
      "doneUpdatedAt": "2024-01-01T00:00:00.000Z",
      "id": "550e8400-e29b-41d4-a716-446655440011",
      "isDone": false,
      "title": "Implement password reset",
      "todoComment": "<p>Completed ahead of schedule.</p>"
    }
  ],
  "type": "Epic"
}