Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘Jpreview

Remove a subtask from a task

Removes the parent-child relationship between a task and its subtask by setting the subtask parentTaskId to null. The subtask itself is not deleted - it becomes a standalone task again. This is useful when reorganizing task hierarchies or when a subtask needs to be promoted to a main task. The parent task identifier can be either a UUID or a numeric shortNumber. The subtaskId must be a valid UUID. Requires Tasks.editAnyTitleAndDescription permission.

DELETE/tasks/{identifier}/subtasks/{subtaskId}
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:write
or
AuthorizationBearer token (JWT) · headerrequired
Path parameters
identifierstringrequired

Parent task UUID or numeric shortNumber

subtaskIdstringrequired

Subtask UUID to remove

Responses
200

Subtask removed successfully

accountableobject

Accountable user details

accountableIdstring

Accountable user ID

assignedToobject

Assigned user details

assignedToIdstring

Assigned user ID

billedbooleanrequired

Whether task is billed

blockedByIdsstring[]required

Task IDs that currently block this task

blockingIdsstring[]required

Task IDs that this task currently blocks

childSpentTimenumberrequired

Child tasks spent time in minutes

commentsobject[]required

Task comments; each body is HTML and may contain the same embedded appImage / appFile / appVideo divs with fileId as the task description. Fetch binaries via authenticated /api/public/workspace/files/{fileId} with the same Public API Bearer token when needed.

componentItemIdobject

Component item ID

createdAtstring<date-time>required

Task creation timestamp

customFieldsobjectrequired

Custom fields values

deadlinestring<date-time>

Task deadline

descriptionstringrequired

Task description in HTML. May include embedded assets as elements such as <div data-type="appImage" fileId="…" filename="…"> (images), appFile, or appVideo—binary content is not embedded; use authenticated GET {appOrigin}/api/public/workspace/files/{fileId} with the same Public API Bearer token to retrieve it.

emailDetailsobject

Email details

emailSendErrorstring

Email send error message

emailSendErrorCodestring

Email send error code

emailSendFailedAtstring<date-time>

Email send failed timestamp

emailSendFailedTostring[]

Email send failed recipients

enableSupportContingentbooleanrequired

Enable support contingent

estimatedTimenumber

Estimated time in hours

guestAccessbooleanrequired

Guest access enabled for organization members

historyobject[]required

Task history entries

iconobject

Task icon identifier in the format :icon_name: (e.g., :rocket:, :bug:, :memo:). Can be null if no custom icon is set.

iconIsGeneratingbooleanrequired

Whether icon is being generated by AI

idstringrequired

Task ID (UUID)

isBlockedbooleanrequired

True when at least one blocker is still New, In progress, Feedback, or Backlog

isChangeRequestbooleanrequired

Whether task is a change request

isParticipantbooleanrequired

Whether current user is a participant

notificationSettingsobjectrequired

Notification settings

parentTaskIdobject

Parent task ID for subtasks

participantsCountnumberrequired

Number of participants

participantsListstring[]required

List of participant user IDs

priorityobjectrequired

Task priority (TaskPriority enum)

productsobject[]required

Task products

projectobjectrequired

Project information

projectIdstringrequired

Project ID

quotationsobject[]required

Express quotations

shortNumbernumberrequired

Task short number (workspace-scoped)

skipFromBillingboolean

Skip from billing

spentTimenumberrequired

Total spent time in minutes

statusIdstringrequired

Task status ID

subTasksIdsstring[]required

Child task IDs

summarystring

Task summary

summaryIsGeneratingbooleanrequired

Whether summary is being generated by AI

tagsstring[]required

Task tags

titlestringrequired

Task title

titleIsGeneratingbooleanrequired

Whether title is being generated by AI

typeIdstringrequired

Task type ID

userIdstringrequired

Creator user ID

400

Invalid identifier format

401

Unauthorized - Invalid or missing authentication token

403

Access denied: No access to project or task not editable

404

Task not found

Try it
Server
Authorization
Parameters
Request
curl -X DELETE "https://leadtime.app/api/public/tasks/550e8400-e29b-41d4-a716-446655440000%20or%20123/subtasks/550e8400-e29b-41d4-a716-446655440001" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
  "accountable": {},
  "accountableId": "string",
  "assignedTo": {},
  "assignedToId": "string",
  "billed": true,
  "blockedByIds": [
    "string"
  ],
  "blockingIds": [
    "string"
  ],
  "childSpentTime": 0,
  "comments": [
    {}
  ],
  "componentItemId": {},
  "createdAt": "2019-08-24T14:15:22Z",
  "customFields": {},
  "deadline": "2019-08-24T14:15:22Z",
  "description": "string",
  "emailDetails": {},
  "emailSendError": "string",
  "emailSendErrorCode": "string",
  "emailSendFailedAt": "2019-08-24T14:15:22Z",
  "emailSendFailedTo": [
    "string"
  ],
  "enableSupportContingent": true,
  "estimatedTime": 0,
  "guestAccess": true,
  "history": [
    {}
  ],
  "icon": {},
  "iconIsGenerating": true,
  "id": "string",
  "isBlocked": true,
  "isChangeRequest": true,
  "isParticipant": true,
  "notificationSettings": {},
  "parentTaskId": {},
  "participantsCount": 0,
  "participantsList": [
    "string"
  ],
  "priority": {},
  "products": [
    {}
  ],
  "project": {},
  "projectId": "string",
  "quotations": [
    {}
  ],
  "shortNumber": 0,
  "skipFromBilling": true,
  "spentTime": 0,
  "statusId": "string",
  "subTasksIds": [
    "string"
  ],
  "summary": "string",
  "summaryIsGenerating": true,
  "tags": [
    "string"
  ],
  "title": "string",
  "titleIsGenerating": true,
  "typeId": "string",
  "userId": "string"
}