Skip to content

Update a task

PUT
/api/v3/organizations/{organisation}/ai/tasks/{taskId}
curl --request PUT \
--url https://dashboard.quantcdn.io/api/v3/organizations/example/ai/tasks/550e8400-e29b-41d4-a716-446655440000 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "title": "Updated task title", "description": "Updated description with more details", "taskListId": "world-2", "status": "pending", "assignedAgentId": "agent-specialist", "dependsOn": [ "550e8400-e29b-41d4-a716-446655440000" ], "metadata": { "priority": "urgent" }, "progress": 0.75, "progressMessage": "Processing document 3 of 4...", "result": { "summary": "Document processed successfully", "wordCount": 1500 }, "error": "Failed to connect to external API", "retryCount": 1, "maxRetries": 5, "blockedReason": "Waiting for external approval", "blockedByTaskIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

Updates an existing task. All fields are optional - only provided fields will be updated. * * Status Transitions: * - Changing from pending to in_progress automatically sets startedAt timestamp * - Changing to completed, failed, or cancelled automatically sets completedAt timestamp * - Changing to blocked automatically sets blockedAt timestamp * - Changing from blocked to in_progress or pending clears blocked fields * - Completed tasks get a 30-day TTL for automatic cleanup * * Progress Updates: * - Update progress (0.0 to 1.0) to track completion percentage * - Update progressMessage for human-readable status updates * - Set result object when task completes successfully * - Set error string when task fails * - Set blockedReason and blockedByTaskIds when blocking a task

organisation
required
string

The organisation ID

taskId
required
string format: uuid

The task UUID

Example
550e8400-e29b-41d4-a716-446655440000
Media typeapplication/json
object
title
string
Example
Updated task title
description
string
Example
Updated description with more details
taskListId

Move task to different list or remove from list (set null)

string
nullable
Example
world-2
status

Task status (triggers automatic timestamp updates)

string
Allowed values: pending in_progress completed failed cancelled blocked
Example
in_progress
assignedAgentId

Reassign task to different agent

string
nullable
Example
agent-specialist
dependsOn

Update task dependencies

Array<string>
Example
[
"550e8400-e29b-41d4-a716-446655440000"
]
metadata

Update task metadata (replaces entire metadata object)

object
Example
{
"priority": "urgent"
}
progress

Progress from 0.0 to 1.0

number format: float
<= 1
Example
0.75
progressMessage

Human-readable progress message

string
Example
Processing document 3 of 4...
result

Task result data (set when completing task)

object
Example
{
"summary": "Document processed successfully",
"wordCount": 1500
}
error

Error message (set when task fails)

string
nullable
Example
Failed to connect to external API
retryCount

Update retry count

integer
Example
1
maxRetries

Update maximum retry attempts

integer
<= 10
Example
5
blockedReason

Reason task is blocked (set when status is blocked)

string
nullable
Example
Waiting for external approval
blockedByTaskIds

Task IDs that are blocking this task

Array<string>
nullable

Task updated successfully

Media typeapplication/json
object
taskId
string format: uuid
status
string
updatedAt
integer
Examplegenerated
{
"taskId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"status": "example",
"updatedAt": 1
}

Invalid request

Task not found

Failed to update task