Full-featured task management with epics, features, bugs, comments, tags, attachments, and activity tracking.
https://catalyst-usw.agentuity.cloudAuthentication
All requests require a Bearer token. Pass your SDK key in the Authorization header.
| Header | Value |
|---|---|
Authorization | Bearer YOUR_SDK_KEY |
You can find your SDK key in the Agentuity Console under your project settings.
Task Management
Create Task
Create a new task within the organization.
/taskhttps://catalyst-usw.agentuity.cloud/taskRequest Body
Task creation payload.
| Field | Type | Description |
|---|---|---|
title | string | The task title (required). |
description | string | Detailed description of the task. (optional) |
metadata | object | Arbitrary key-value metadata. (optional) |
priority | string | Priority level. Defaults to `'none'` if not provided. (optional) |
parent_id | string | ID of the parent task for hierarchical organization. (optional) |
type | string | The task classification (required). |
status | string | Initial status. Defaults to `'open'` if not provided. (optional) |
created_id | string | ID of the creator. |
assigned_id | string | ID of the assigned user. (optional) |
creator | object | Reference to the user creating the task (id, name, and optional type). (optional) |
creator.id | string | Unique identifier of the referenced entity. |
creator.name | string | Human-readable display name of the entity. |
creator.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
assignee | object | Reference to the user being assigned the task. (optional) |
assignee.id | string | Unique identifier of the referenced entity. |
assignee.name | string | Human-readable display name of the entity. |
assignee.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
project | object | Reference to the project this task belongs to. (optional) |
project.id | string | Unique identifier of the referenced entity. |
project.name | string | Human-readable display name of the entity. |
tag_ids | string[] | Array of tag IDs to associate with the task at creation. (optional) |
Response
Returns the created task.
| Status | Description |
|---|---|
| 201 | Task created |
| 401 | Unauthorized — invalid or missing API key |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"title": "Implement auth flow",
"type": "feature",
"created_id": "usr_abc123",
"priority": "high"
}'Get Task
Retrieve a specific task by ID.
/task/{id}https://catalyst-usw.agentuity.cloud/task/{id}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID |
Response
Returns the task object.
| Status | Description |
|---|---|
| 200 | Task returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Tasks
List tasks with optional filtering, sorting, and pagination.
/taskhttps://catalyst-usw.agentuity.cloud/taskParameters
| Name | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status |
type | string | No | Filter by type |
priority | string | No | Filter by priority |
assigned_id | string | No | Filter by assigned user |
created_id | string | No | Filter by creator |
parent_id | string | No | Filter by parent task |
project_id | string | No | Filter by project |
tag_id | string | No | Filter by tag |
deleted | boolean | No | Include soft-deleted tasks |
sort | string | No | Field to sort by — prefix with '-' for descending |
order | string | No | 'asc' or 'desc' |
limit | number | No | Maximum results to return |
offset | number | No | Pagination offset |
Response
Returns paginated list of tasks.
| Status | Description |
|---|---|
| 200 | Tasks returned |
| 401 | Unauthorized — invalid or missing API key |
Response Fields
| Field | Type | Description |
|---|---|---|
tasks | object[] | Array of tasks matching the query. |
tasks[].id | string | Unique identifier for the task. |
tasks[].created_at | string | ISO 8601 timestamp when the task was created. |
tasks[].updated_at | string | ISO 8601 timestamp when the task was last modified. |
tasks[].title | string | The task title. |
tasks[].description | string | Detailed description of the task. (optional) |
tasks[].metadata | object | Arbitrary key-value metadata attached to the task. (optional) |
tasks[].priority | string | The priority level of the task. |
tasks[].parent_id | string | ID of the parent task, enabling hierarchical task organization (optional) |
tasks[].type | string | The classification of this task. |
tasks[].status | string | The current lifecycle status of the task. |
tasks[].open_date | string | ISO 8601 timestamp when the task was moved to `'open'` status. (optional) |
tasks[].in_progress_date | string | ISO 8601 timestamp when the task was moved to `'in_progress'` status. (optional) |
tasks[].closed_date | string | ISO 8601 timestamp when the task was closed. (optional) |
tasks[].created_id | string | ID of the user who created the task. |
tasks[].assigned_id | string | ID of the user the task is assigned to. (optional) |
tasks[].closed_id | string | ID of the user who closed the task. (optional) |
tasks[].creator | object | Reference to the user who created the task. (optional) |
tasks[].creator.id | string | Unique identifier of the referenced entity. |
tasks[].creator.name | string | Human-readable display name of the entity. |
tasks[].creator.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
tasks[].assignee | object | Reference to the user the task is assigned to. (optional) |
tasks[].assignee.id | string | Unique identifier of the referenced entity. |
tasks[].assignee.name | string | Human-readable display name of the entity. |
tasks[].assignee.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
tasks[].closer | object | Reference to the user who closed the task. (optional) |
tasks[].closer.id | string | Unique identifier of the referenced entity. |
tasks[].closer.name | string | Human-readable display name of the entity. |
tasks[].closer.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
tasks[].project | object | Reference to the project this task belongs to. (optional) |
tasks[].project.id | string | Unique identifier of the referenced entity. |
tasks[].project.name | string | Human-readable display name of the entity. |
tasks[].cancelled_date | string | ISO 8601 timestamp when the task was cancelled. (optional) |
tasks[].tags | object[] | Array of tags associated with this task. (optional) |
tasks[].tags[].id | string | Unique identifier for the tag. |
tasks[].tags[].created_at | string | ISO 8601 timestamp when the tag was created. |
tasks[].tags[].name | string | Display name of the tag. |
tasks[].tags[].color | string | Optional hex color code for the tag. (optional) |
tasks[].comments | object[] | Array of comments on this task. (optional) |
tasks[].comments[].id | string | Unique identifier for the comment. |
tasks[].comments[].created_at | string | ISO 8601 timestamp when the comment was created. |
tasks[].comments[].updated_at | string | ISO 8601 timestamp when the comment was last edited. |
tasks[].comments[].task_id | string | ID of the task this comment belongs to. |
tasks[].comments[].user_id | string | ID of the user who authored the comment. |
tasks[].comments[].author | object | Reference to the comment author with display name. (optional) |
tasks[].comments[].author.id | string | Unique identifier of the referenced entity. |
tasks[].comments[].author.name | string | Human-readable display name of the entity. |
tasks[].comments[].author.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
tasks[].comments[].body | string | The comment text content. |
tasks[].subtask_count | number | Number of direct child tasks (subtasks). Only included in list responses. (optional) |
total | number | Total number of tasks matching the filters (before pagination). |
limit | number | The limit that was applied. |
offset | number | The offset that was applied. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Update Task
Update one or more fields on an existing task.
/task/{id}https://catalyst-usw.agentuity.cloud/task/{id}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID |
Request Body
Task update payload. All fields are optional.
| Field | Type | Description |
|---|---|---|
title | string | Updated task title. (optional) |
description | string | Updated description. (optional) |
metadata | object | Updated key-value metadata. (optional) |
priority | string | Updated priority level. (optional) |
parent_id | string | Updated parent task ID. (optional) |
type | string | Updated task classification. (optional) |
status | string | Updated lifecycle status. (optional) |
assigned_id | string | Updated assigned user ID. (optional) |
closed_id | string | ID of the user closing the task. (optional) |
assignee | object | Reference to the user being assigned the task. (optional) |
assignee.id | string | Unique identifier of the referenced entity. |
assignee.name | string | Human-readable display name of the entity. |
assignee.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
closer | object | Reference to the user closing the task. (optional) |
closer.id | string | Unique identifier of the referenced entity. |
closer.name | string | Human-readable display name of the entity. |
closer.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
project | object | Reference to the project this task belongs to. (optional) |
project.id | string | Unique identifier of the referenced entity. |
project.name | string | Human-readable display name of the entity. |
Response
Returns the updated task.
| Status | Description |
|---|---|
| 200 | Task updated |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X PATCH 'https://catalyst-usw.agentuity.cloud/task/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"status": "in_progress",
"priority": "high"
}'Close Task
Sets the task status to 'done' and records the closed date. This does NOT permanently delete the task.
/task/{id}https://catalyst-usw.agentuity.cloud/task/{id}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID |
Response
Sets the task status to 'done' and records the closed date. This does NOT permanently delete the task.
| Status | Description |
|---|---|
| 200 | Task closed |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Soft Delete Task
Marks the task as deleted without permanent removal.
/task/delete/{id}https://catalyst-usw.agentuity.cloud/task/delete/{id}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID |
Response
Marks the task as deleted without permanent removal.
| Status | Description |
|---|---|
| 200 | Task soft-deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/delete/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Batch Delete Tasks
Soft-delete multiple tasks matching filter criteria.
/task/delete/batchhttps://catalyst-usw.agentuity.cloud/task/delete/batchRequest Body
Batch delete filter payload.
| Field | Type | Description |
|---|---|---|
status | string | Filter by task status. (optional) |
type | string | Filter by task type. (optional) |
priority | string | Filter by priority level. (optional) |
parent_id | string | Filter by parent task ID (delete subtasks). (optional) |
created_id | string | Filter by creator ID. (optional) |
older_than | string | Delete tasks older than this duration. (optional) |
limit | number | Maximum number of tasks to delete. (optional) |
Response
Returns the list of deleted tasks and count.
| Status | Description |
|---|---|
| 200 | Tasks deleted |
| 401 | Unauthorized — invalid or missing API key |
Response Fields
| Field | Type | Description |
|---|---|---|
deleted | object[] | Array of tasks that were deleted. |
deleted[].id | string | The ID of the deleted task. |
deleted[].title | string | The title of the deleted task. |
count | number | Total number of tasks deleted. |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/delete/batch' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"status": "cancelled",
"older_than": "30d",
"limit": 50
}'Get Changelog
Get the change history for a specific task.
/task/changelog/{id}https://catalyst-usw.agentuity.cloud/task/changelog/{id}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Task ID |
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum results to return |
offset | number | No | Pagination offset |
Response
Returns the changelog entries for the task.
| Status | Description |
|---|---|
| 200 | Changelog returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Response Fields
| Field | Type | Description |
|---|---|---|
changelog | object[] | Array of change records. |
changelog[].id | string | Unique identifier for the changelog entry. |
changelog[].created_at | string | ISO 8601 timestamp when the change occurred. |
changelog[].task_id | string | ID of the task that was changed. |
changelog[].field | string | Name of the field that was changed. |
changelog[].old_value | string | The previous value of the field (as a string), or `undefined` if the field was newly set. (optional) |
changelog[].new_value | string | The new value of the field (as a string), or `undefined` if the field was cleared. (optional) |
total | number | Total number of changelog entries. |
limit | number | Applied limit. |
offset | number | Applied offset. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/changelog/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Comments
Create Comment
Add a comment to a task.
/task/comments/create/{taskId}https://catalyst-usw.agentuity.cloud/task/comments/create/{taskId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
Request Body
Comment creation payload.
| Field | Type | Description |
|---|---|---|
body | string | Comment text |
user_id | string | Author user ID |
Response
Returns the created comment.
| Status | Description |
|---|---|
| 201 | Comment created |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/comments/create/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"body": "Looks good, ready for review",
"user_id": "usr_abc123"
}'Get Comment
Retrieve a specific comment by ID.
/task/comments/get/{commentId}https://catalyst-usw.agentuity.cloud/task/comments/get/{commentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
commentId | string | Yes | Comment ID |
Response
Returns the comment object.
| Status | Description |
|---|---|
| 200 | Comment returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Comment not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/comments/get/cmt_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Update Comment
Update the body of an existing comment.
/task/comments/update/{commentId}https://catalyst-usw.agentuity.cloud/task/comments/update/{commentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
commentId | string | Yes | Comment ID |
Request Body
Comment update payload.
| Field | Type | Description |
|---|---|---|
body | string | Updated comment text |
Response
Returns the updated comment.
| Status | Description |
|---|---|
| 200 | Comment updated |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Comment not found |
Example
curl -X PATCH 'https://catalyst-usw.agentuity.cloud/task/comments/update/cmt_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"body": "Updated comment text"
}'Delete Comment
Delete a comment.
/task/comments/delete/{commentId}https://catalyst-usw.agentuity.cloud/task/comments/delete/{commentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
commentId | string | Yes | Comment ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | Comment deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Comment not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/comments/delete/cmt_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Comments
List all comments on a task.
/task/comments/list/{taskId}https://catalyst-usw.agentuity.cloud/task/comments/list/{taskId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum results to return |
offset | number | No | Pagination offset |
Response
Returns paginated list of comments.
| Status | Description |
|---|---|
| 200 | Comments returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Response Fields
| Field | Type | Description |
|---|---|---|
comments | object[] | Array of comments. |
comments[].id | string | Unique identifier for the comment. |
comments[].created_at | string | ISO 8601 timestamp when the comment was created. |
comments[].updated_at | string | ISO 8601 timestamp when the comment was last edited. |
comments[].task_id | string | ID of the task this comment belongs to. |
comments[].user_id | string | ID of the user who authored the comment. |
comments[].author | object | Reference to the comment author with display name. (optional) |
comments[].author.id | string | Unique identifier of the referenced entity. |
comments[].author.name | string | Human-readable display name of the entity. |
comments[].author.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
comments[].body | string | The comment text content. |
total | number | Total number of comments. |
limit | number | Applied limit. |
offset | number | Applied offset. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/comments/list/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Tags
Create Tag
Create a new tag for organizing tasks.
/task/tags/createhttps://catalyst-usw.agentuity.cloud/task/tags/createRequest Body
Tag creation payload.
| Field | Type | Description |
|---|---|---|
name | string | Tag name |
color | string | Hex color code (optional) |
Response
Returns the created tag.
| Status | Description |
|---|---|
| 201 | Tag created |
| 401 | Unauthorized — invalid or missing API key |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/tags/create' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "urgent",
"color": "#ff0000"
}'Get Tag
Retrieve a specific tag by ID.
/task/tags/get/{tagId}https://catalyst-usw.agentuity.cloud/task/tags/get/{tagId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tagId | string | Yes | Tag ID |
Response
Returns the tag object.
| Status | Description |
|---|---|
| 200 | Tag returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Tag not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/tags/get/tag_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Update Tag
Update a tag's name or color.
/task/tags/update/{tagId}https://catalyst-usw.agentuity.cloud/task/tags/update/{tagId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tagId | string | Yes | Tag ID |
Request Body
Tag update payload.
| Field | Type | Description |
|---|---|---|
name | string | Tag name |
color | string | Hex color code (optional) |
Response
Returns the updated tag.
| Status | Description |
|---|---|
| 200 | Tag updated |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Tag not found |
Example
curl -X PATCH 'https://catalyst-usw.agentuity.cloud/task/tags/update/tag_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "critical",
"color": "#cc0000"
}'Delete Tag
Delete a tag.
/task/tags/delete/{tagId}https://catalyst-usw.agentuity.cloud/task/tags/delete/{tagId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
tagId | string | Yes | Tag ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | Tag deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Tag not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/tags/delete/tag_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Tags
List all tags in the organization.
/task/tags/listhttps://catalyst-usw.agentuity.cloud/task/tags/listResponse
Returns list of tags.
| Status | Description |
|---|---|
| 200 | Tags returned |
| 401 | Unauthorized — invalid or missing API key |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/tags/list' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Add Tag to Task
Associate a tag with a task.
/task/tags/add/{taskId}/{tagId}https://catalyst-usw.agentuity.cloud/task/tags/add/{taskId}/{tagId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
tagId | string | Yes | Tag ID |
Response
Returns confirmation of the association.
| Status | Description |
|---|---|
| 200 | Tag added to task |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task or tag not found |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/tags/add/tsk_abc123/tag_def456' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Remove Tag from Task
Remove a tag association from a task.
/task/tags/remove/{taskId}/{tagId}https://catalyst-usw.agentuity.cloud/task/tags/remove/{taskId}/{tagId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
tagId | string | Yes | Tag ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | Tag removed from task |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task or tag not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/tags/remove/tsk_abc123/tag_def456' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Task Tags
List all tags associated with a specific task.
/task/tags/task/{taskId}https://catalyst-usw.agentuity.cloud/task/tags/task/{taskId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
Response
Returns list of tags for the task.
| Status | Description |
|---|---|
| 200 | Tags returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/tags/task/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Attachments
Request Upload URL
Request a presigned URL for uploading an attachment to a task.
/task/attachments/presign-upload/{taskId}https://catalyst-usw.agentuity.cloud/task/attachments/presign-upload/{taskId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
Request Body
Upload request payload.
| Field | Type | Description |
|---|---|---|
filename | string | The filename for the attachment (required). |
content_type | string | MIME type of the file. (optional) |
size | number | File size in bytes. (optional) |
Response
Returns a presigned upload URL. Upload the file via PUT to the URL, then call confirm.
| Status | Description |
|---|---|
| 200 | Presigned URL returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Response Fields
| Field | Type | Description |
|---|---|---|
attachment | object | The created attachment record. |
attachment.id | string | Unique identifier for the attachment. |
attachment.created_at | string | ISO 8601 timestamp when the attachment was uploaded. |
attachment.task_id | string | ID of the task this attachment belongs to. |
attachment.user_id | string | ID of the user who uploaded the attachment. |
attachment.author | object | Reference to the uploader with display name. (optional) |
attachment.author.id | string | Unique identifier of the referenced entity. |
attachment.author.name | string | Human-readable display name of the entity. |
attachment.author.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
attachment.filename | string | Original filename of the uploaded file. |
attachment.content_type | string | MIME type of the file. (optional) |
attachment.size | number | File size in bytes. (optional) |
presigned_url | string | A presigned S3 URL to upload the file content via HTTP PUT. |
expiry_seconds | number | Number of seconds until the presigned URL expires. |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/attachments/presign-upload/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"filename": "screenshot.png",
"content_type": "image/png"
}'Confirm Upload
Confirm that a file was uploaded successfully to the presigned URL.
/task/attachments/confirm/{attachmentId}https://catalyst-usw.agentuity.cloud/task/attachments/confirm/{attachmentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | Attachment ID |
Response
Confirms the file was uploaded successfully.
| Status | Description |
|---|---|
| 200 | Upload confirmed |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Attachment not found |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/attachments/confirm/att_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Request Download URL
Request a presigned URL for downloading an attachment.
/task/attachments/presign-download/{attachmentId}https://catalyst-usw.agentuity.cloud/task/attachments/presign-download/{attachmentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | Attachment ID |
Response
Returns a presigned download URL.
| Status | Description |
|---|---|
| 200 | Presigned URL returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Attachment not found |
Response Fields
| Field | Type | Description |
|---|---|---|
presigned_url | string | A presigned S3 URL to download the file via HTTP GET. |
expiry_seconds | number | Number of seconds until the presigned URL expires. |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/attachments/presign-download/att_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Attachments
List all attachments on a task.
/task/attachments/list/{taskId}https://catalyst-usw.agentuity.cloud/task/attachments/list/{taskId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID |
Response
Returns list of attachments.
| Status | Description |
|---|---|
| 200 | Attachments returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Task not found |
Response Fields
| Field | Type | Description |
|---|---|---|
attachments | object[] | Array of attachment records. |
attachments[].id | string | Unique identifier for the attachment. |
attachments[].created_at | string | ISO 8601 timestamp when the attachment was uploaded. |
attachments[].task_id | string | ID of the task this attachment belongs to. |
attachments[].user_id | string | ID of the user who uploaded the attachment. |
attachments[].author | object | Reference to the uploader with display name. (optional) |
attachments[].author.id | string | Unique identifier of the referenced entity. |
attachments[].author.name | string | Human-readable display name of the entity. |
attachments[].author.type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
attachments[].filename | string | Original filename of the uploaded file. |
attachments[].content_type | string | MIME type of the file. (optional) |
attachments[].size | number | File size in bytes. (optional) |
total | number | Total number of attachments. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/attachments/list/tsk_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Delete Attachment
Delete an attachment.
/task/attachments/delete/{attachmentId}https://catalyst-usw.agentuity.cloud/task/attachments/delete/{attachmentId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | Attachment ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | Attachment deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Attachment not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/attachments/delete/att_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Users & Projects
List Task Users
List all user entities available for task assignment.
/task/usershttps://catalyst-usw.agentuity.cloud/task/usersResponse
Returns list of user entities.
| Status | Description |
|---|---|
| 200 | Users returned |
| 401 | Unauthorized — invalid or missing API key |
Response Fields
| Field | Type | Description |
|---|---|---|
users | object[] | Array of user entity references with type information. |
users[].id | string | Unique identifier of the referenced entity. |
users[].name | string | Human-readable display name of the entity. |
users[].type | string | The type of user. Defaults to `'human'` if not specified. (optional) |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/users' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Create User Entity
Create a new user entity for task assignment.
/task/users/createhttps://catalyst-usw.agentuity.cloud/task/users/createRequest Body
User entity creation payload.
| Field | Type | Description |
|---|---|---|
name | string | User name |
type | string | 'human' or 'agent' (optional) |
Response
Returns the created user entity.
| Status | Description |
|---|---|
| 201 | User entity created |
| 401 | Unauthorized — invalid or missing API key |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/users/create' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Alice",
"type": "human"
}'Get User Entity
Retrieve a specific user entity by ID.
/task/users/get/{userId}https://catalyst-usw.agentuity.cloud/task/users/get/{userId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | User entity ID |
Response
Returns the user entity object.
| Status | Description |
|---|---|
| 200 | User entity returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | User entity not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/users/get/usr_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Delete User Entity
Delete a user entity.
/task/users/delete/{userId}https://catalyst-usw.agentuity.cloud/task/users/delete/{userId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | User entity ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | User entity deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | User entity not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/users/delete/usr_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'List Task Projects
List all project entities available for task organization.
/task/projectshttps://catalyst-usw.agentuity.cloud/task/projectsResponse
Returns list of project entities.
| Status | Description |
|---|---|
| 200 | Projects returned |
| 401 | Unauthorized — invalid or missing API key |
Response Fields
| Field | Type | Description |
|---|---|---|
projects | object[] | Array of project entity references. |
projects[].id | string | Unique identifier of the referenced entity. |
projects[].name | string | Human-readable display name of the entity. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/projects' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Create Project Entity
Create a new project entity for task organization.
/task/projects/createhttps://catalyst-usw.agentuity.cloud/task/projects/createRequest Body
Project entity creation payload.
| Field | Type | Description |
|---|---|---|
name | string | Project name |
Response
Returns the created project entity.
| Status | Description |
|---|---|
| 201 | Project entity created |
| 401 | Unauthorized — invalid or missing API key |
Example
curl -X POST 'https://catalyst-usw.agentuity.cloud/task/projects/create' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Backend Rewrite"
}'Get Project Entity
Retrieve a specific project entity by ID.
/task/projects/get/{projectId}https://catalyst-usw.agentuity.cloud/task/projects/get/{projectId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project entity ID |
Response
Returns the project entity object.
| Status | Description |
|---|---|
| 200 | Project entity returned |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Project entity not found |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/projects/get/tprj_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Delete Project Entity
Delete a project entity.
/task/projects/delete/{projectId}https://catalyst-usw.agentuity.cloud/task/projects/delete/{projectId}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project entity ID |
Response
Empty response on success.
| Status | Description |
|---|---|
| 204 | Project entity deleted |
| 401 | Unauthorized — invalid or missing API key |
| 404 | Project entity not found |
Example
curl -X DELETE 'https://catalyst-usw.agentuity.cloud/task/projects/delete/tprj_abc123' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'Activity
Get Activity Timeline
Get daily activity counts grouped by status over a configurable time range.
/task/activity/{date}https://catalyst-usw.agentuity.cloud/task/activity/{date}Parameters
| Name | Type | Required | Description |
|---|---|---|---|
date | string | Yes | Date for activity lookup (YYYY-MM-DD format) |
| Name | Type | Required | Description |
|---|---|---|---|
days | number | No | Number of days (min 7, max 365, default 90) |
Response
Returns daily activity counts grouped by status.
| Status | Description |
|---|---|
| 200 | Activity timeline returned |
| 401 | Unauthorized — invalid or missing API key |
Response Fields
| Field | Type | Description |
|---|---|---|
activity | object[] | Array of daily activity snapshots, ordered chronologically. |
activity[].date | string | The date in `YYYY-MM-DD` format. |
activity[].open | number | Number of tasks in `'open'` status on this date. |
activity[].inProgress | number | Number of tasks in `'in_progress'` status on this date. |
activity[].done | number | Number of tasks in `'done'` status on this date. |
activity[].cancelled | number | Number of tasks in `'cancelled'` status on this date. |
days | number | The number of days of data returned. |
Example
curl -X GET 'https://catalyst-usw.agentuity.cloud/task/activity/2026-02-28' \
-H 'Authorization: Bearer $AGENTUITY_SDK_KEY'