curl --request PATCH \
--url https://clientapi.woku.app/v1/action-plans/{id}/tasks/{taskId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Llamar al cliente hoy mismo."
}
'{
"_id": "507f1f77bcf86cd799439041",
"companyId": "<string>",
"groupId": "<string>",
"title": "<string>",
"summary": "<string>",
"objective": "<string>",
"expectedImpact": "<string>",
"theme": "<string>",
"tasks": [
{
"_id": "507f1f77bcf86cd799439051",
"text": "<string>",
"order": 123,
"status": "todo",
"assigneeId": "<string>",
"completedAt": "2023-11-07T05:31:56Z"
}
],
"patterns": [
{
"key": "<string>",
"label": "<string>",
"mentions": 123
}
],
"sources": [
"woku"
],
"status": "draft",
"priority": "high",
"evidence": {
"windowFrom": "2023-11-07T05:31:56Z",
"windowTo": "2023-11-07T05:31:56Z",
"conditionsSnapshot": [
{
"trackerId": "507f1f77bcf86cd799439011",
"relationToPrevious": "AND",
"operator": "equals",
"value": "<string>"
}
],
"negatives": 123,
"positives": 123,
"total": 123,
"quotes": [
{
"text": "<string>",
"source": "woku",
"contextLabel": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"score": 123
}
]
},
"generation": {
"model": "<string>",
"promptVersion": "<string>",
"generatedAt": "2023-11-07T05:31:56Z"
},
"delivery": {
"provider": "internal",
"resourceLabel": "<string>",
"externalUrl": "<string>",
"externalId": "<string>",
"tasksCreated": 123,
"lastError": "<string>",
"sentAt": "2023-11-07T05:31:56Z",
"sentBy": "<string>"
},
"approvedBy": "<string>",
"approvedAt": "2023-11-07T05:31:56Z",
"canceledBy": "<string>",
"canceledAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"aiGenerated": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"statusCode": 400,
"message": "<string>",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "Authentication required",
"error": "Forbidden"
}{
"statusCode": 404,
"message": "External tracker not found",
"error": "Not Found"
}{
"statusCode": 409,
"message": "Cannot approve a plan in status \"approved\"",
"error": "Conflict"
}Edit a task: text on a draft/managed plan, status & assignee on a managed plan
curl --request PATCH \
--url https://clientapi.woku.app/v1/action-plans/{id}/tasks/{taskId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "Llamar al cliente hoy mismo."
}
'{
"_id": "507f1f77bcf86cd799439041",
"companyId": "<string>",
"groupId": "<string>",
"title": "<string>",
"summary": "<string>",
"objective": "<string>",
"expectedImpact": "<string>",
"theme": "<string>",
"tasks": [
{
"_id": "507f1f77bcf86cd799439051",
"text": "<string>",
"order": 123,
"status": "todo",
"assigneeId": "<string>",
"completedAt": "2023-11-07T05:31:56Z"
}
],
"patterns": [
{
"key": "<string>",
"label": "<string>",
"mentions": 123
}
],
"sources": [
"woku"
],
"status": "draft",
"priority": "high",
"evidence": {
"windowFrom": "2023-11-07T05:31:56Z",
"windowTo": "2023-11-07T05:31:56Z",
"conditionsSnapshot": [
{
"trackerId": "507f1f77bcf86cd799439011",
"relationToPrevious": "AND",
"operator": "equals",
"value": "<string>"
}
],
"negatives": 123,
"positives": 123,
"total": 123,
"quotes": [
{
"text": "<string>",
"source": "woku",
"contextLabel": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"score": 123
}
]
},
"generation": {
"model": "<string>",
"promptVersion": "<string>",
"generatedAt": "2023-11-07T05:31:56Z"
},
"delivery": {
"provider": "internal",
"resourceLabel": "<string>",
"externalUrl": "<string>",
"externalId": "<string>",
"tasksCreated": 123,
"lastError": "<string>",
"sentAt": "2023-11-07T05:31:56Z",
"sentBy": "<string>"
},
"approvedBy": "<string>",
"approvedAt": "2023-11-07T05:31:56Z",
"canceledBy": "<string>",
"canceledAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"aiGenerated": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"statusCode": 400,
"message": "<string>",
"error": "Bad Request"
}{
"statusCode": 403,
"message": "Authentication required",
"error": "Forbidden"
}{
"statusCode": 404,
"message": "External tracker not found",
"error": "Not Found"
}{
"statusCode": 409,
"message": "Cannot approve a plan in status \"approved\"",
"error": "Conflict"
}Authorizations
Company API key. Obtain this from your Woku dashboard under Settings > API Keys. The same key used for the v0 endpoints.
Path Parameters
MongoDB ObjectId of the action plan.
^[0-9a-fA-F]{24}$MongoDB ObjectId of the task (subdocument of the plan).
^[0-9a-fA-F]{24}$Body
Partial edit. text applies to a draft or managed plan; status and assigneeId only apply to a managed plan (status in_progress). At least one field is required.
Response
Task updated; returns the full updated plan
"507f1f77bcf86cd799439041"
200What the customers said (narrative synthesis, no invented numbers).
Detected theme the plan addresses (e.g. "Demoras en despacho").
Show child attributes
Show child attributes
Show child attributes
Show child attributes
VoC sources with evidence in the frozen scope.
woku, nps, csat, ces in_progress/completed are the managed (in-house) lifecycle; the rest apply to plans sent to an external tool or awaiting approval.
draft, approved, sent, canceled, delivery_error, in_progress, completed Deterministic (engine-computed) priority; never set by the LLM.
high, medium, low Frozen evidence snapshot: the exact analytical scope at generation time plus deterministic counts. Never recomputed after generation.
Show child attributes
Show child attributes
Traceability of the LLM run that drafted the plan.
Show child attributes
Show child attributes
Delivery state, filled when a plan is managed inside woku. provider is internal.
Show child attributes
Show child attributes
Stamped when a managed plan is closed (status completed).