Get task details by UUID or shortNumber
Returns complete task details including all metadata, description, comments, history, time logs, participants, subtasks, and custom fields. The description and comment bodies are returned in HTML format (converted from the internal editor format). Accepts both UUID (id) and numeric shortNumber identifiers. Access is controlled by project permissions and guest access settings. Organization members can only access tasks with guestAccess enabled.
Embedded images and files in HTML: Rich text may contain <div data-type="appImage">, <div data-type="appFile">, or <div data-type="appVideo"> nodes with a fileId attribute (UUID) and filename. Images are not inlined as base64 in this API response.
Downloading embedded binaries for display or AI vision: Use authenticated HTTP GET on the Public API endpoint /workspace/files/{fileId}, sending the same Bearer token. Integrations and agents should parse fileId from the HTML, then fetch it only when they need the binary content. Plain /api/files/public/... is reserved for explicitly public or signed-capability assets.
/tasks/{identifier}AuthorizationOAuth2 access token · headerrequiredapi:readAuthorizationBearer token (JWT) · headerrequiredidentifierstringrequiredaccountableobjectaccountableIdstringassignedToobjectassignedToIdstringbilledbooleanrequiredchildSpentTimenumberrequiredcommentsany[][]requiredcomponentItemIdobjectcreatedAtstring<date-time>requiredcustomFieldsobjectrequireddeadlinestring<date-time>descriptionstringrequiredemailDetailsobjectemailSendErrorstringemailSendErrorCodestringemailSendFailedAtstring<date-time>emailSendFailedToany[][]enableSupportContingentbooleanrequiredestimatedTimenumberguestAccessbooleanrequiredhistoryany[][]requirediconobjecticonIsGeneratingbooleanrequiredidstringrequiredisChangeRequestbooleanrequiredisParticipantbooleanrequirednotificationSettingsobjectrequiredparentTaskIdobjectparticipantsCountnumberrequiredparticipantsListany[][]requiredpriorityobjectrequiredproductsany[][]requiredprojectobjectrequiredprojectIdstringrequiredquotationsany[][]requiredshortNumbernumberrequiredskipFromBillingbooleanspentTimenumberrequiredstatusIdstringrequiredsubTasksIdsany[][]requiredsummarystringsummaryIsGeneratingbooleanrequiredtagsany[][]requiredtitlestringrequiredtitleIsGeneratingbooleanrequiredtypeIdstringrequireduserIdstringrequiredcurl -X GET "https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
){
"accountable": {},
"accountableId": "string",
"assignedTo": {},
"assignedToId": "string",
"billed": true,
"childSpentTime": 0,
"comments": [
[
null
]
],
"componentItemId": {},
"createdAt": "2024-01-01T00:00:00Z",
"customFields": {},
"deadline": "2024-01-01T00:00:00Z",
"description": "string",
"emailDetails": {},
"emailSendError": "string",
"emailSendErrorCode": "string",
"emailSendFailedAt": "2024-01-01T00:00:00Z",
"emailSendFailedTo": [
[
null
]
],
"enableSupportContingent": true,
"estimatedTime": 0,
"guestAccess": true,
"history": [
[
null
]
],
"icon": {},
"iconIsGenerating": true,
"id": "string",
"isChangeRequest": true,
"isParticipant": true,
"notificationSettings": {},
"parentTaskId": {},
"participantsCount": 0,
"participantsList": [
[
null
]
],
"priority": {},
"products": [
[
null
]
],
"project": {},
"projectId": "string",
"quotations": [
[
null
]
],
"shortNumber": 0,
"skipFromBilling": true,
"spentTime": 0,
"statusId": "string",
"subTasksIds": [
[
null
]
],
"summary": "string",
"summaryIsGenerating": true,
"tags": [
[
null
]
],
"title": "string",
"titleIsGenerating": true,
"typeId": "string",
"userId": "string"
}