RoadOpsDeveloper

Task Subtasks

Ask

List task subtasks

GET/v1/teams/{teamId}/days/{dayId}/tasks/{taskId}/subtasks

Lists subtasks for a visible Task.

Required scopes: task:read

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.taskIdrequiredstring:uuid

Task identifier.

query.limitinteger

Maximum number of records to return. Defaults to 50 and is capped at 200.

query.cursorstring

Cursor returned by page.nextCursor from the previous list response.

Response 200

dataobject[]
data[].idstring:uuid

Subtask identifier.

data[].orgIdstring:uuid

Organization identifier.

data[].taskIdstring:uuid

Parent Task identifier.

data[].dayIdstring:uuid

Associated Day identifier used for activity and sync.

data[].titlestring

Subtask title.

data[].isCompletedboolean

Whether the subtask is complete.

data[].orderinteger

Subtask display order.

data[].createdBystring:uuid

RoadOps user ID that created the subtask.

data[].createdAtstring:date-time

UTC subtask creation timestamp.

data[].updatedAtstring:date-time

UTC timestamp of the latest subtask change.

data[].isDeletedboolean

Soft-delete flag.

data[].versioninteger

Current subtasks-item aggregate version.

data[].cursorinteger

Latest cursor projected into this subtask.

pageobject
page.limitinteger

Maximum number of records returned in this page.

page.nextCursorstring | null

Cursor to pass as the next request's cursor query parameter, or null when there are no more results.

Add a subtask

POST/v1/teams/{teamId}/days/{dayId}/tasks/{taskId}/subtasks

Adds a lightweight subtask to a Task.

Required scopes: task:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.taskIdrequiredstring:uuid

Task identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

idstring:uuid
titlerequiredstring

Subtask title.

orderrequiredinteger

Subtask display order.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Update a subtask

PATCH/v1/teams/{teamId}/days/{dayId}/tasks/{taskId}/subtasks/{subtaskId}

Updates subtasks text, order, or completion state.

Required scopes: task:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.taskIdrequiredstring:uuid

Task identifier.

path.subtaskIdrequiredstring:uuid

Subtask identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Request body (application/json)

expectedVersioninteger
updatesrequiredobject
updates.titlestring

Subtask title.

updates.isCompletedboolean

Whether the subtask is complete.

updates.orderinteger

Subtask display order.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.

Delete a subtask

DELETE/v1/teams/{teamId}/days/{dayId}/tasks/{taskId}/subtasks/{subtaskId}

Deletes a Task subtask.

Required scopes: task:write

Parameters

path.teamIdrequiredstring:uuid

Team identifier.

path.dayIdrequiredstring:uuid

Day identifier.

path.taskIdrequiredstring:uuid

Task identifier.

path.subtaskIdrequiredstring:uuid

Subtask identifier.

header.Idempotency-Keystring:uuid

Optional caller-generated UUID used to make mutation retries safe. Reuse the same UUID only when retrying the same request.

Response 202

commandIdstring:uuid

Command identifier accepted into the RoadOps command ledger.

resourceIdstring:uuid

Identifier of the resource targeted by the command.

resourceTypestring

Resource type targeted by the command.

status"applied"

Command dispatch status.

aggregateVersioninteger

Aggregate version produced by the accepted command.

cursorinteger

Cursor for the accepted update. Refetch until returned records reach this cursor.

linksobject
links.refetchstring

Relative URL to refetch the affected resource.