Tasks API — Agentuity Documentation

Tasks API

Full-featured task management with epics, features, bugs, comments, tags, attachments, and activity tracking

Full-featured task management with epics, features, bugs, comments, tags, attachments, and activity tracking.

https://catalyst-usw.agentuity.cloud

Authentication

All requests require a Bearer token. Pass your SDK key in the Authorization header.

HeaderValue
AuthorizationBearer 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.

POST/task
https://catalyst-usw.agentuity.cloud/task

Request Body

Task creation payload.

FieldTypeDescription
titlestringThe task title (required).
descriptionstringDetailed description of the task. (optional)
metadataobjectArbitrary key-value metadata. (optional)
prioritystringPriority level. Defaults to `'none'` if not provided. (optional)
parent_idstringID of the parent task for hierarchical organization. (optional)
typestringThe task classification (required).
statusstringInitial status. Defaults to `'open'` if not provided. (optional)
created_idstringID of the creator.
assigned_idstringID of the assigned user. (optional)
creatorobjectReference to the user creating the task (id, name, and optional type). (optional)
creator.idstringUnique identifier of the referenced entity.
creator.namestringHuman-readable display name of the entity.
creator.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
assigneeobjectReference to the user being assigned the task. (optional)
assignee.idstringUnique identifier of the referenced entity.
assignee.namestringHuman-readable display name of the entity.
assignee.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
projectobjectReference to the project this task belongs to. (optional)
project.idstringUnique identifier of the referenced entity.
project.namestringHuman-readable display name of the entity.
tag_idsstring[]Array of tag IDs to associate with the task at creation. (optional)

Response

Returns the created task.

StatusDescription
201Task created
401Unauthorized — 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.

GET/task/{id}
https://catalyst-usw.agentuity.cloud/task/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesTask ID

Response

Returns the task object.

StatusDescription
200Task returned
401Unauthorized — invalid or missing API key
404Task 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.

GET/task
https://catalyst-usw.agentuity.cloud/task

Parameters

query
NameTypeRequiredDescription
statusstringNoFilter by status
typestringNoFilter by type
prioritystringNoFilter by priority
assigned_idstringNoFilter by assigned user
created_idstringNoFilter by creator
parent_idstringNoFilter by parent task
project_idstringNoFilter by project
tag_idstringNoFilter by tag
deletedbooleanNoInclude soft-deleted tasks
sortstringNoField to sort by — prefix with '-' for descending
orderstringNo'asc' or 'desc'
limitnumberNoMaximum results to return
offsetnumberNoPagination offset

Response

Returns paginated list of tasks.

StatusDescription
200Tasks returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
tasksobject[]Array of tasks matching the query.
tasks[].idstringUnique identifier for the task.
tasks[].created_atstringISO 8601 timestamp when the task was created.
tasks[].updated_atstringISO 8601 timestamp when the task was last modified.
tasks[].titlestringThe task title.
tasks[].descriptionstringDetailed description of the task. (optional)
tasks[].metadataobjectArbitrary key-value metadata attached to the task. (optional)
tasks[].prioritystringThe priority level of the task.
tasks[].parent_idstringID of the parent task, enabling hierarchical task organization (optional)
tasks[].typestringThe classification of this task.
tasks[].statusstringThe current lifecycle status of the task.
tasks[].open_datestringISO 8601 timestamp when the task was moved to `'open'` status. (optional)
tasks[].in_progress_datestringISO 8601 timestamp when the task was moved to `'in_progress'` status. (optional)
tasks[].closed_datestringISO 8601 timestamp when the task was closed. (optional)
tasks[].created_idstringID of the user who created the task.
tasks[].assigned_idstringID of the user the task is assigned to. (optional)
tasks[].closed_idstringID of the user who closed the task. (optional)
tasks[].creatorobjectReference to the user who created the task. (optional)
tasks[].creator.idstringUnique identifier of the referenced entity.
tasks[].creator.namestringHuman-readable display name of the entity.
tasks[].creator.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
tasks[].assigneeobjectReference to the user the task is assigned to. (optional)
tasks[].assignee.idstringUnique identifier of the referenced entity.
tasks[].assignee.namestringHuman-readable display name of the entity.
tasks[].assignee.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
tasks[].closerobjectReference to the user who closed the task. (optional)
tasks[].closer.idstringUnique identifier of the referenced entity.
tasks[].closer.namestringHuman-readable display name of the entity.
tasks[].closer.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
tasks[].projectobjectReference to the project this task belongs to. (optional)
tasks[].project.idstringUnique identifier of the referenced entity.
tasks[].project.namestringHuman-readable display name of the entity.
tasks[].cancelled_datestringISO 8601 timestamp when the task was cancelled. (optional)
tasks[].tagsobject[]Array of tags associated with this task. (optional)
tasks[].tags[].idstringUnique identifier for the tag.
tasks[].tags[].created_atstringISO 8601 timestamp when the tag was created.
tasks[].tags[].namestringDisplay name of the tag.
tasks[].tags[].colorstringOptional hex color code for the tag. (optional)
tasks[].commentsobject[]Array of comments on this task. (optional)
tasks[].comments[].idstringUnique identifier for the comment.
tasks[].comments[].created_atstringISO 8601 timestamp when the comment was created.
tasks[].comments[].updated_atstringISO 8601 timestamp when the comment was last edited.
tasks[].comments[].task_idstringID of the task this comment belongs to.
tasks[].comments[].user_idstringID of the user who authored the comment.
tasks[].comments[].authorobjectReference to the comment author with display name. (optional)
tasks[].comments[].author.idstringUnique identifier of the referenced entity.
tasks[].comments[].author.namestringHuman-readable display name of the entity.
tasks[].comments[].author.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
tasks[].comments[].bodystringThe comment text content.
tasks[].subtask_countnumberNumber of direct child tasks (subtasks). Only included in list responses. (optional)
totalnumberTotal number of tasks matching the filters (before pagination).
limitnumberThe limit that was applied.
offsetnumberThe 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.

PATCH/task/{id}
https://catalyst-usw.agentuity.cloud/task/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesTask ID

Request Body

Task update payload. All fields are optional.

FieldTypeDescription
titlestringUpdated task title. (optional)
descriptionstringUpdated description. (optional)
metadataobjectUpdated key-value metadata. (optional)
prioritystringUpdated priority level. (optional)
parent_idstringUpdated parent task ID. (optional)
typestringUpdated task classification. (optional)
statusstringUpdated lifecycle status. (optional)
assigned_idstringUpdated assigned user ID. (optional)
closed_idstringID of the user closing the task. (optional)
assigneeobjectReference to the user being assigned the task. (optional)
assignee.idstringUnique identifier of the referenced entity.
assignee.namestringHuman-readable display name of the entity.
assignee.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
closerobjectReference to the user closing the task. (optional)
closer.idstringUnique identifier of the referenced entity.
closer.namestringHuman-readable display name of the entity.
closer.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
projectobjectReference to the project this task belongs to. (optional)
project.idstringUnique identifier of the referenced entity.
project.namestringHuman-readable display name of the entity.

Response

Returns the updated task.

StatusDescription
200Task updated
401Unauthorized — invalid or missing API key
404Task 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.

DELETE/task/{id}
https://catalyst-usw.agentuity.cloud/task/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesTask ID

Response

Sets the task status to 'done' and records the closed date. This does NOT permanently delete the task.

StatusDescription
200Task closed
401Unauthorized — invalid or missing API key
404Task 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.

POST/task/delete/{id}
https://catalyst-usw.agentuity.cloud/task/delete/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesTask ID

Response

Marks the task as deleted without permanent removal.

StatusDescription
200Task soft-deleted
401Unauthorized — invalid or missing API key
404Task 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.

POST/task/delete/batch
https://catalyst-usw.agentuity.cloud/task/delete/batch

Request Body

Batch delete filter payload.

FieldTypeDescription
statusstringFilter by task status. (optional)
typestringFilter by task type. (optional)
prioritystringFilter by priority level. (optional)
parent_idstringFilter by parent task ID (delete subtasks). (optional)
created_idstringFilter by creator ID. (optional)
older_thanstringDelete tasks older than this duration. (optional)
limitnumberMaximum number of tasks to delete. (optional)

Response

Returns the list of deleted tasks and count.

StatusDescription
200Tasks deleted
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
deletedobject[]Array of tasks that were deleted.
deleted[].idstringThe ID of the deleted task.
deleted[].titlestringThe title of the deleted task.
countnumberTotal 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.

GET/task/changelog/{id}
https://catalyst-usw.agentuity.cloud/task/changelog/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesTask ID
query
NameTypeRequiredDescription
limitnumberNoMaximum results to return
offsetnumberNoPagination offset

Response

Returns the changelog entries for the task.

StatusDescription
200Changelog returned
401Unauthorized — invalid or missing API key
404Task not found

Response Fields

FieldTypeDescription
changelogobject[]Array of change records.
changelog[].idstringUnique identifier for the changelog entry.
changelog[].created_atstringISO 8601 timestamp when the change occurred.
changelog[].task_idstringID of the task that was changed.
changelog[].fieldstringName of the field that was changed.
changelog[].old_valuestringThe previous value of the field (as a string), or `undefined` if the field was newly set. (optional)
changelog[].new_valuestringThe new value of the field (as a string), or `undefined` if the field was cleared. (optional)
totalnumberTotal number of changelog entries.
limitnumberApplied limit.
offsetnumberApplied 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.

POST/task/comments/create/{taskId}
https://catalyst-usw.agentuity.cloud/task/comments/create/{taskId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID

Request Body

Comment creation payload.

FieldTypeDescription
bodystringComment text
user_idstringAuthor user ID

Response

Returns the created comment.

StatusDescription
201Comment created
401Unauthorized — invalid or missing API key
404Task 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.

GET/task/comments/get/{commentId}
https://catalyst-usw.agentuity.cloud/task/comments/get/{commentId}

Parameters

path
NameTypeRequiredDescription
commentIdstringYesComment ID

Response

Returns the comment object.

StatusDescription
200Comment returned
401Unauthorized — invalid or missing API key
404Comment 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.

PATCH/task/comments/update/{commentId}
https://catalyst-usw.agentuity.cloud/task/comments/update/{commentId}

Parameters

path
NameTypeRequiredDescription
commentIdstringYesComment ID

Request Body

Comment update payload.

FieldTypeDescription
bodystringUpdated comment text

Response

Returns the updated comment.

StatusDescription
200Comment updated
401Unauthorized — invalid or missing API key
404Comment 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.

DELETE/task/comments/delete/{commentId}
https://catalyst-usw.agentuity.cloud/task/comments/delete/{commentId}

Parameters

path
NameTypeRequiredDescription
commentIdstringYesComment ID

Response

Empty response on success.

StatusDescription
204Comment deleted
401Unauthorized — invalid or missing API key
404Comment 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.

GET/task/comments/list/{taskId}
https://catalyst-usw.agentuity.cloud/task/comments/list/{taskId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID
query
NameTypeRequiredDescription
limitnumberNoMaximum results to return
offsetnumberNoPagination offset

Response

Returns paginated list of comments.

StatusDescription
200Comments returned
401Unauthorized — invalid or missing API key
404Task not found

Response Fields

FieldTypeDescription
commentsobject[]Array of comments.
comments[].idstringUnique identifier for the comment.
comments[].created_atstringISO 8601 timestamp when the comment was created.
comments[].updated_atstringISO 8601 timestamp when the comment was last edited.
comments[].task_idstringID of the task this comment belongs to.
comments[].user_idstringID of the user who authored the comment.
comments[].authorobjectReference to the comment author with display name. (optional)
comments[].author.idstringUnique identifier of the referenced entity.
comments[].author.namestringHuman-readable display name of the entity.
comments[].author.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
comments[].bodystringThe comment text content.
totalnumberTotal number of comments.
limitnumberApplied limit.
offsetnumberApplied 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.

POST/task/tags/create
https://catalyst-usw.agentuity.cloud/task/tags/create

Request Body

Tag creation payload.

FieldTypeDescription
namestringTag name
colorstringHex color code (optional)

Response

Returns the created tag.

StatusDescription
201Tag created
401Unauthorized — 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.

GET/task/tags/get/{tagId}
https://catalyst-usw.agentuity.cloud/task/tags/get/{tagId}

Parameters

path
NameTypeRequiredDescription
tagIdstringYesTag ID

Response

Returns the tag object.

StatusDescription
200Tag returned
401Unauthorized — invalid or missing API key
404Tag 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.

PATCH/task/tags/update/{tagId}
https://catalyst-usw.agentuity.cloud/task/tags/update/{tagId}

Parameters

path
NameTypeRequiredDescription
tagIdstringYesTag ID

Request Body

Tag update payload.

FieldTypeDescription
namestringTag name
colorstringHex color code (optional)

Response

Returns the updated tag.

StatusDescription
200Tag updated
401Unauthorized — invalid or missing API key
404Tag 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.

DELETE/task/tags/delete/{tagId}
https://catalyst-usw.agentuity.cloud/task/tags/delete/{tagId}

Parameters

path
NameTypeRequiredDescription
tagIdstringYesTag ID

Response

Empty response on success.

StatusDescription
204Tag deleted
401Unauthorized — invalid or missing API key
404Tag 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.

GET/task/tags/list
https://catalyst-usw.agentuity.cloud/task/tags/list

Response

Returns list of tags.

StatusDescription
200Tags returned
401Unauthorized — 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.

POST/task/tags/add/{taskId}/{tagId}
https://catalyst-usw.agentuity.cloud/task/tags/add/{taskId}/{tagId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID
tagIdstringYesTag ID

Response

Returns confirmation of the association.

StatusDescription
200Tag added to task
401Unauthorized — invalid or missing API key
404Task 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.

DELETE/task/tags/remove/{taskId}/{tagId}
https://catalyst-usw.agentuity.cloud/task/tags/remove/{taskId}/{tagId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID
tagIdstringYesTag ID

Response

Empty response on success.

StatusDescription
204Tag removed from task
401Unauthorized — invalid or missing API key
404Task 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.

GET/task/tags/task/{taskId}
https://catalyst-usw.agentuity.cloud/task/tags/task/{taskId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID

Response

Returns list of tags for the task.

StatusDescription
200Tags returned
401Unauthorized — invalid or missing API key
404Task 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.

POST/task/attachments/presign-upload/{taskId}
https://catalyst-usw.agentuity.cloud/task/attachments/presign-upload/{taskId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID

Request Body

Upload request payload.

FieldTypeDescription
filenamestringThe filename for the attachment (required).
content_typestringMIME type of the file. (optional)
sizenumberFile size in bytes. (optional)

Response

Returns a presigned upload URL. Upload the file via PUT to the URL, then call confirm.

StatusDescription
200Presigned URL returned
401Unauthorized — invalid or missing API key
404Task not found

Response Fields

FieldTypeDescription
attachmentobjectThe created attachment record.
attachment.idstringUnique identifier for the attachment.
attachment.created_atstringISO 8601 timestamp when the attachment was uploaded.
attachment.task_idstringID of the task this attachment belongs to.
attachment.user_idstringID of the user who uploaded the attachment.
attachment.authorobjectReference to the uploader with display name. (optional)
attachment.author.idstringUnique identifier of the referenced entity.
attachment.author.namestringHuman-readable display name of the entity.
attachment.author.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
attachment.filenamestringOriginal filename of the uploaded file.
attachment.content_typestringMIME type of the file. (optional)
attachment.sizenumberFile size in bytes. (optional)
presigned_urlstringA presigned S3 URL to upload the file content via HTTP PUT.
expiry_secondsnumberNumber 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.

POST/task/attachments/confirm/{attachmentId}
https://catalyst-usw.agentuity.cloud/task/attachments/confirm/{attachmentId}

Parameters

path
NameTypeRequiredDescription
attachmentIdstringYesAttachment ID

Response

Confirms the file was uploaded successfully.

StatusDescription
200Upload confirmed
401Unauthorized — invalid or missing API key
404Attachment 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.

POST/task/attachments/presign-download/{attachmentId}
https://catalyst-usw.agentuity.cloud/task/attachments/presign-download/{attachmentId}

Parameters

path
NameTypeRequiredDescription
attachmentIdstringYesAttachment ID

Response

Returns a presigned download URL.

StatusDescription
200Presigned URL returned
401Unauthorized — invalid or missing API key
404Attachment not found

Response Fields

FieldTypeDescription
presigned_urlstringA presigned S3 URL to download the file via HTTP GET.
expiry_secondsnumberNumber 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.

GET/task/attachments/list/{taskId}
https://catalyst-usw.agentuity.cloud/task/attachments/list/{taskId}

Parameters

path
NameTypeRequiredDescription
taskIdstringYesTask ID

Response

Returns list of attachments.

StatusDescription
200Attachments returned
401Unauthorized — invalid or missing API key
404Task not found

Response Fields

FieldTypeDescription
attachmentsobject[]Array of attachment records.
attachments[].idstringUnique identifier for the attachment.
attachments[].created_atstringISO 8601 timestamp when the attachment was uploaded.
attachments[].task_idstringID of the task this attachment belongs to.
attachments[].user_idstringID of the user who uploaded the attachment.
attachments[].authorobjectReference to the uploader with display name. (optional)
attachments[].author.idstringUnique identifier of the referenced entity.
attachments[].author.namestringHuman-readable display name of the entity.
attachments[].author.typestringThe type of user. Defaults to `'human'` if not specified. (optional)
attachments[].filenamestringOriginal filename of the uploaded file.
attachments[].content_typestringMIME type of the file. (optional)
attachments[].sizenumberFile size in bytes. (optional)
totalnumberTotal 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.

DELETE/task/attachments/delete/{attachmentId}
https://catalyst-usw.agentuity.cloud/task/attachments/delete/{attachmentId}

Parameters

path
NameTypeRequiredDescription
attachmentIdstringYesAttachment ID

Response

Empty response on success.

StatusDescription
204Attachment deleted
401Unauthorized — invalid or missing API key
404Attachment 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.

GET/task/users
https://catalyst-usw.agentuity.cloud/task/users

Response

Returns list of user entities.

StatusDescription
200Users returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
usersobject[]Array of user entity references with type information.
users[].idstringUnique identifier of the referenced entity.
users[].namestringHuman-readable display name of the entity.
users[].typestringThe 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.

POST/task/users/create
https://catalyst-usw.agentuity.cloud/task/users/create

Request Body

User entity creation payload.

FieldTypeDescription
namestringUser name
typestring'human' or 'agent' (optional)

Response

Returns the created user entity.

StatusDescription
201User entity created
401Unauthorized — 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.

GET/task/users/get/{userId}
https://catalyst-usw.agentuity.cloud/task/users/get/{userId}

Parameters

path
NameTypeRequiredDescription
userIdstringYesUser entity ID

Response

Returns the user entity object.

StatusDescription
200User entity returned
401Unauthorized — invalid or missing API key
404User 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.

DELETE/task/users/delete/{userId}
https://catalyst-usw.agentuity.cloud/task/users/delete/{userId}

Parameters

path
NameTypeRequiredDescription
userIdstringYesUser entity ID

Response

Empty response on success.

StatusDescription
204User entity deleted
401Unauthorized — invalid or missing API key
404User 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.

GET/task/projects
https://catalyst-usw.agentuity.cloud/task/projects

Response

Returns list of project entities.

StatusDescription
200Projects returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
projectsobject[]Array of project entity references.
projects[].idstringUnique identifier of the referenced entity.
projects[].namestringHuman-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.

POST/task/projects/create
https://catalyst-usw.agentuity.cloud/task/projects/create

Request Body

Project entity creation payload.

FieldTypeDescription
namestringProject name

Response

Returns the created project entity.

StatusDescription
201Project entity created
401Unauthorized — 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.

GET/task/projects/get/{projectId}
https://catalyst-usw.agentuity.cloud/task/projects/get/{projectId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject entity ID

Response

Returns the project entity object.

StatusDescription
200Project entity returned
401Unauthorized — invalid or missing API key
404Project 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.

DELETE/task/projects/delete/{projectId}
https://catalyst-usw.agentuity.cloud/task/projects/delete/{projectId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject entity ID

Response

Empty response on success.

StatusDescription
204Project entity deleted
401Unauthorized — invalid or missing API key
404Project 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.

GET/task/activity/{date}
https://catalyst-usw.agentuity.cloud/task/activity/{date}

Parameters

path
NameTypeRequiredDescription
datestringYesDate for activity lookup (YYYY-MM-DD format)
query
NameTypeRequiredDescription
daysnumberNoNumber of days (min 7, max 365, default 90)

Response

Returns daily activity counts grouped by status.

StatusDescription
200Activity timeline returned
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
activityobject[]Array of daily activity snapshots, ordered chronologically.
activity[].datestringThe date in `YYYY-MM-DD` format.
activity[].opennumberNumber of tasks in `'open'` status on this date.
activity[].inProgressnumberNumber of tasks in `'in_progress'` status on this date.
activity[].donenumberNumber of tasks in `'done'` status on this date.
activity[].cancellednumberNumber of tasks in `'cancelled'` status on this date.
daysnumberThe 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'