The task management endpoints give you direct REST access to the SAW task store. You can list all tasks (optionally filtered by incident or status), create a new task with a title, description, priority, and owner, and mark any open task as completed. Tasks are also created automatically by the agent pipeline — for example, whenDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/samkit511/SAW---Security-Analyst-Workspace/llms.txt
Use this file to discover all available pages before exploring further.
MitigationAgent responds to a detected threat with an OBSERVE decision — so these endpoints let you query and act on tasks that originate from either source.
Authentication
Include your API key in thex-api-key request header. The default key for local development is demo.
GET /tasks
Returns the list of tasks stored in SAW. You can narrow the results by incident ID, by status, or by both at once. HeadersAPI key for authentication. Requests without a valid key return
401 unauthorized.Filter tasks to those linked to a specific incident. When omitted, tasks from all incidents are returned.
Filter tasks by status. Accepted values:
"OPEN" or "COMPLETED". When omitted, tasks with any status are returned.Array of task objects. Empty array when no tasks match the query.
POST /tasks
Creates a new task in SAW. The task is written to the database immediately and returned in the response body. HeadersAPI key for authentication. Requests without a valid key return
401 unauthorized.Short summary of the action to be taken (e.g.,
"Block 10.0.0.4 at perimeter firewall").Full details of what the analyst needs to do.
Links this task to an existing incident. When omitted, the task is created without an incident association.
Task urgency level. Accepted values:
"LOW", "MEDIUM", "HIGH".The analyst or team responsible for completing the task.
tasks array).
Unique task identifier prefixed with
task_.The incident this task is linked to, or
null when none was provided.The title you submitted.
The description you submitted.
Always
"OPEN" on a newly created task.The priority you submitted, or
"MEDIUM" if you did not provide one.The owner you submitted, or
"analyst" if you did not provide one.Always
"TaskAPI" for tasks created through this endpoint.Unix timestamp (seconds) when the task was created.
Unix timestamp (seconds) of the most recent update. Equal to
created_at on a new task.Always
null on a newly created task.POST /tasks//complete
Marks a task as completed. The server setsstatus to "COMPLETED", records the current time in completed_at, and returns the updated task object.
Headers
API key for authentication. Requests without a valid key return
401 unauthorized.The
id of the task to complete (e.g., "task_abc123def456"). Returns 404 task_not_found if this ID does not exist.Always
"COMPLETED" after a successful call to this endpoint.Unix timestamp (seconds) recorded at the moment you called this endpoint.
Set to the same value as
completed_at.Error codes
| Status | Code | Description |
|---|---|---|
401 | unauthorized | The x-api-key header is missing or incorrect. |
404 | task_not_found | The task_id path parameter does not match any task in the database. Returned only by POST /tasks/{task_id}/complete. |
413 | payload_too_large | The request body exceeds ASA_MAX_REQUEST_BYTES (default: 16 384 bytes). Returned only by POST /tasks. |
422 | invalid_task_payload | The request body is valid JSON but fails TaskCreateRequest schema validation (e.g., missing required title or description). Returned only by POST /tasks. |