Tasks
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
POST | |
GET | |
PATCH | |
DELETE | |
POST | |
DELETE | |
POST | |
POST |
List all tasks
Get a list of tasks for the current project, with optional filtering by origin product, stage, organization, repository, and created_by.
Required API key scopes
task:readQuery parameters
- archivedstringOne of:
"true""false""all" - created_byinteger
- internalboolean
- limitinteger
- offsetinteger
- organizationstring
- origin_productstring
- repositorystring
- searchstring
- stagestring
- statusstringOne of:
"not_started""queued""in_progress""completed""failed""cancelled"
Response
Example request
GET /api /projects /:project_id /tasksExample response
Status 200 List of tasks
List all tasks
Get a list of tasks for the current project, with optional filtering by origin product, stage, organization, repository, and created_by.
Required API key scopes
task:readQuery parameters
- archivedstringOne of:
"true""false""all" - created_byinteger
- internalboolean
- limitinteger
- offsetinteger
- organizationstring
- origin_productstring
- repositorystring
- searchstring
- stagestring
- statusstringOne of:
"not_started""queued""in_progress""completed""failed""cancelled"
Response
Example request
GET /api /projects /:project_id /tasksExample response
Status 200 List of tasks
Create tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writeRequest parameters
- titlestring
- title_manually_setboolean
- descriptionstring
- origin_product
- repositorystringnull
- github_integrationintegernull
- github_user_integrationstringnull
- signal_reportstringnull
- signal_report_task_relationship
- json_schema
- internalboolean
- archivedboolean
- ci_promptstringnull
Response
Example request
POST /api /projects /:project_id /tasksExample response
Status 201
Create tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writeRequest parameters
- titlestring
- title_manually_setboolean
- descriptionstring
- origin_product
- repositorystringnull
- github_integrationintegernull
- github_user_integrationstringnull
- signal_reportstringnull
- signal_report_task_relationship
- json_schema
- internalboolean
- archivedboolean
- ci_promptstringnull
Response
Example request
POST /api /projects /:project_id /tasksExample response
Status 201
Retrieve tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /tasks /:idExample response
Status 200
Retrieve tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /tasks /:idExample response
Status 200
Update tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- titlestring
- title_manually_setboolean
- descriptionstring
- origin_product
- repositorystringnull
- github_integrationintegernull
- github_user_integrationstringnull
- signal_reportstringnull
- signal_report_task_relationship
- json_schema
- internalboolean
- archivedboolean
- ci_promptstringnull
Response
Example request
PATCH /api /projects /:project_id /tasks /:idExample response
Status 200
Update tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- titlestring
- title_manually_setboolean
- descriptionstring
- origin_product
- repositorystringnull
- github_integrationintegernull
- github_user_integrationstringnull
- signal_reportstringnull
- signal_report_task_relationship
- json_schema
- internalboolean
- archivedboolean
- ci_promptstringnull
Response
Example request
PATCH /api /projects /:project_id /tasks /:idExample response
Status 200
Delete tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /tasks /:idExample response
Status 204 No response body
Delete tasks
API for managing tasks within a project. Tasks represent units of work to be performed by an agent.
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /tasks /:idExample response
Status 204 No response body
Create tasks presence
Idempotent upsert: marks the calling user + device_id as actively watching this task for the next ~60 seconds. While at least one device for the user has a non-expired presence row for this task, the push fanout will skip ALL of that user's other registered devices for task notifications — the contract is 'if any device is demonstrably watching, suppress the others'. Clients call this every ~30s while the task screen is foregrounded. device_id is the UUID of the caller's UserPushToken row.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- device_idstring
Example request
POST /api /projects /:project_id /tasks /:id /presenceExample response
Status 204 Presence recorded for this device.
Status 404 `device_id` does not match a push token registered by the caller.
Create tasks presence
Idempotent upsert: marks the calling user + device_id as actively watching this task for the next ~60 seconds. While at least one device for the user has a non-expired presence row for this task, the push fanout will skip ALL of that user's other registered devices for task notifications — the contract is 'if any device is demonstrably watching, suppress the others'. Clients call this every ~30s while the task screen is foregrounded. device_id is the UUID of the caller's UserPushToken row.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- device_idstring
Example request
POST /api /projects /:project_id /tasks /:id /presenceExample response
Status 204 Presence recorded for this device.
Status 404 `device_id` does not match a push token registered by the caller.
Delete tasks presence
Idempotent upsert: marks the calling user + device_id as actively watching this task for the next ~60 seconds. While at least one device for the user has a non-expired presence row for this task, the push fanout will skip ALL of that user's other registered devices for task notifications — the contract is 'if any device is demonstrably watching, suppress the others'. Clients call this every ~30s while the task screen is foregrounded. device_id is the UUID of the caller's UserPushToken row.
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /tasks /:id /presenceExample response
Status 204 Presence recorded for this device.
Status 404 `device_id` does not match a push token registered by the caller.
Delete tasks presence
Idempotent upsert: marks the calling user + device_id as actively watching this task for the next ~60 seconds. While at least one device for the user has a non-expired presence row for this task, the push fanout will skip ALL of that user's other registered devices for task notifications — the contract is 'if any device is demonstrably watching, suppress the others'. Clients call this every ~30s while the task screen is foregrounded. device_id is the UUID of the caller's UserPushToken row.
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /tasks /:id /presenceExample response
Status 204 Presence recorded for this device.
Status 404 `device_id` does not match a push token registered by the caller.
Create tasks run
Create a new task run and kick off the workflow.
Required API key scopes
task:writePath parameters
- idstring
Response
Example request
Example response
Status 200 Task with updated latest run
Status 400 Invalid task run payload
Status 404 Task not found
Create tasks run
Create a new task run and kick off the workflow.
Required API key scopes
task:writePath parameters
- idstring
Response
Example request
Example response
Status 200 Task with updated latest run
Status 400 Invalid task run payload
Status 404 Task not found
Create tasks staged artifacts finalize upload
Verify staged S3 uploads and cache their metadata so they can be attached to the next run created for this task.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- artifactsarray
Response
Example request
POST /api /projects /:project_id /tasks /:id /staged_artifacts /finalize_uploadExample response
Status 200 Finalized staged artifacts available for the next task run
Status 400 Invalid artifact payload
Status 404 Task not found
Create tasks staged artifacts finalize upload
Verify staged S3 uploads and cache their metadata so they can be attached to the next run created for this task.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- artifactsarray
Response
Example request
POST /api /projects /:project_id /tasks /:id /staged_artifacts /finalize_upload