Skip to main content
Tasks are the core work unit in profClaw. They are created from webhooks, the API, or the UI, queued for agent execution, and tracked through their lifecycle.

Task Status

GET /api/tasks

List tasks with optional status filter and pagination.
Query parameters Response 200

POST /api/tasks

Create a new task.
Request body (validated with CreateTaskSchema) Response 201: { "message": "Task created", "task": {...} }

GET /api/tasks/:id

Fetch a single task by ID.

POST /api/tasks/:id/cancel

Cancel a pending or in-progress task.
Response 200: { "message": "Task cancelled", "task": {...} }

POST /api/tasks/:id/retry

Retry a failed or completed task. Creates a new task with the same parameters.
Response 200: { "message": "Task queued for retry", "task": {...}, "originalTaskId": "task_01" }

GET /api/tasks/:id/events

Retrieve the audit event log for a task (requires storage.getTaskEvents).

Advanced Filtering

Supported params: status, priority, source, agent, labels, createdAfter, createdBefore, completedAfter, completedBefore, repository, q, sortBy, sortOrder

Analytics

Returns aggregated statistics: counts by status, average durations, failure rates, and source breakdown.

Export / Import