Tasks
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
GET | |
POST | |
GET | |
POST | |
GET | |
POST | |
DELETE | |
POST | |
GET | |
GET | |
GET | |
POST | |
POST |
Retrieve tasks runs stream token
Generate a run-scoped JWT that authorizes reading this task run's live event stream via the agent-proxy.
Required API key scopes
task:readPath parameters
- idstring
- task_idstring
Response
Example request
GET /api /projects /:project_id /tasks /:task_id /runs /:id /stream_tokenExample response
Status 200 Run-scoped token for reading the live event stream via the agent-proxy
Status 404 Task run not found
Retrieve tasks runs stream token
Generate a run-scoped JWT that authorizes reading this task run's live event stream via the agent-proxy.
Required API key scopes
task:readPath parameters
- idstring
- task_idstring
Response
Example request
GET /api /projects /:project_id /tasks /:task_id /runs /:id /stream_tokenExample response
Status 200 Run-scoped token for reading the live event stream via the agent-proxy
Status 404 Task run not found
List all tasks runs living artifacts
Returns stable, versioned artifact handles created by the run's task.
Required API key scopes
task:readPath parameters
- run_idstring
- task_idstring
Example request
GET /api /projects /:project_id /tasks /:task_id /runs /:run_id /living_artifactsExample response
Status 200 Living artifacts registered for this task run
Status 404 Run not found
Create tasks runs living artifacts
Create a stable, editable artifact handle from direct markdown/text content or an existing run artifact. Slack adapters deliver into the mapped Slack thread; document artifacts use external connector storage when available.
Required API key scopes
task:writePath parameters
- run_idstring
- task_idstring
Request parameters
- namestring
- artifact_typeDefault:
document - adapter
- contentstring
- content_base64string
- content_typestring
- source_artifact_idstring
- source_storage_pathstring
- metadataobject
Response
Example request
POST /api /projects /:project_id /tasks /:task_id /runs /:run_id /living_artifactsExample response
Status 200 Created living artifact
Status 400 Invalid artifact payload
Status 404 Run not found
Retrieve tasks runs living artifacts
Return a stable living artifact handle and the current content when the adapter supports reads.
Required API key scopes
task:readPath parameters
- idstring
- run_idstring
- task_idstring
Response
Example request
GET /api /projects /:project_id /tasks /:task_id /runs /:run_id /living_artifacts /:idExample response
Status 200 Living artifact with current readable content
Status 404 Living artifact not found
Create tasks runs living artifacts
Commit a new version to an existing living artifact handle.
Required API key scopes
task:writePath parameters
- idstring
- run_idstring
- task_idstring
Request parameters
- namestring
- contentstring
- content_base64string
- content_typestring
- source_artifact_idstring
- source_storage_pathstring
- metadataobject
Response
Example request
POST /api /projects /:project_id /tasks /:task_id /runs /:run_id /living_artifacts /:id /editExample response
Status 200 Updated living artifact
Status 400 Invalid artifact update
Status 404 Living artifact not found
List all tasks thread messages
The task's thread in chronological order.
Required API key scopes
task:readPath parameters
- task_idstring
Query parameters
- limitinteger
- offsetinteger
Response
Example request
GET /api /projects /:project_id /tasks /:task_id /thread_messagesExample response
Status 200 Thread messages
Create tasks thread messages
API for a task's thread — the human-only side conversation around a task. Messages reach the agent only via the explicit send_to_agent action, gated to the task author.
Required API key scopes
task:writePath parameters
- task_idstring
Request parameters
- contentstring
Response
Example request
POST /api /projects /:project_id /tasks /:task_id /thread_messagesExample response
Status 201
Delete tasks thread messages
API for a task's thread — the human-only side conversation around a task. Messages reach the agent only via the explicit send_to_agent action, gated to the task author.
Required API key scopes
task:writePath parameters
- idstring
- task_idstring
Example request
DELETE /api /projects /:project_id /tasks /:task_id /thread_messages /:idExample response
Status 204 No response body
Create tasks thread messages send to agent
Task author only: forwards the message into the task's latest live run.
Required API key scopes
task:writePath parameters
- idstring
- task_idstring
Request parameters
- idstring
- taskstring
- contentstring
- created_atstring
- author
- forwarded_to_agent_atstringnull
- forwarded_by
Response
Example request
POST /api /projects /:project_id /tasks /:task_id /thread_messages /:id /send_to_agentExample response
Status 200
Status 400 No signalable run, or message already forwarded
Retrieve tasks repositories
Return the set of repositories referenced by non-deleted, non-internal tasks in the current project. Used to populate repository filter pickers without being constrained by task list pagination.
Required API key scopes
task:readResponse
Example request
GET /api /projects /:project_id /tasks /repositoriesExample response
Status 200 Distinct repositories used by tasks in the current project.
Retrieve tasks repositories
Return the set of repositories referenced by non-deleted, non-internal tasks in the current project. Used to populate repository filter pickers without being constrained by task list pagination.
Required API key scopes
task:readResponse
Example request
GET /api /projects /:project_id /tasks /repositoriesExample response
Status 200 Distinct repositories used by tasks in the current project.
Retrieve tasks repository readiness
Get autonomy readiness details for a specific repository in the current project.
Required API key scopes
task:readQuery parameters
- refreshbooleanDefault:
false - repositorystring
- window_daysintegerDefault:
7
Response
Example request
GET /api /projects /:project_id /tasks /repository_readinessExample response
Status 200 Repository readiness status
Retrieve tasks repository readiness
Get autonomy readiness details for a specific repository in the current project.
Required API key scopes
task:readQuery parameters
- refreshbooleanDefault:
false - repositorystring
- window_daysintegerDefault:
7
Response
Example request
GET /api /projects /:project_id /tasks /repository_readinessExample response
Status 200 Repository readiness status
Retrieve tasks slack thread context
PostHog-internal debug tool. Resolves a Slack permalink to the linked task, its runs, the task-processing and mention-dispatch Temporal workflow ids/URLs, and presigned log URLs.
Required API key scopes
task:readQuery parameters
- urlstring
Response
Example request
GET /api /projects /:project_id /tasks /slack_thread_contextExample response
Status 200 Task, runs, and Temporal workflow handles for the Slack thread.
Status 400 Malformed Slack URL or unparseable thread identifiers.
Status 403 Endpoint is gated to PostHog-internal debugging.
Status 404 No SlackThreadTaskMapping exists for the parsed (channel, thread_ts).
Retrieve tasks slack thread context
PostHog-internal debug tool. Resolves a Slack permalink to the linked task, its runs, the task-processing and mention-dispatch Temporal workflow ids/URLs, and presigned log URLs.
Required API key scopes
task:readQuery parameters
- urlstring
Response
Example request
GET /api /projects /:project_id /tasks /slack_thread_contextExample response
Status 200 Task, runs, and Temporal workflow handles for the Slack thread.
Status 400 Malformed Slack URL or unparseable thread identifiers.
Status 403 Endpoint is gated to PostHog-internal debugging.
Status 404 No SlackThreadTaskMapping exists for the parsed (channel, thread_ts).
Create tasks summaries
Returns summary for the requested tasks: id, title, repository, created_at, updated_at, and the latest run's status and environment.
Required API key scopes
task:readQuery parameters
- limitinteger
- offsetinteger
Request parameters
- idsarray
Response
Example request
POST /api /projects /:project_id /tasks /summariesExample response
Status 200 Summary fields for the requested tasks
Create tasks summaries
Returns summary for the requested tasks: id, title, repository, created_at, updated_at, and the latest run's status and environment.
Required API key scopes
task:readQuery parameters
- limitinteger
- offsetinteger
Request parameters
- idsarray
Response
Example request
POST /api /projects /:project_id /tasks /summariesExample response
Status 200 Summary fields for the requested tasks
Create tasks warm
Warm a full idling Run for a Code-app cloud task while the user composes: boot a sandbox, clone the repo, check out the branch, and start the agent, then idle awaiting the first message. On submit the normal create+run path transparently reuses and activates this Run; abandoned warms are reaped by the Run's inactivity timeout. Best-effort: returns an empty body when the feature flag is off, the warm pool is full, or the GitHub integration doesn't belong to the team.
Required API key scopes
task:writeRequest parameters
- repositorystring
- github_integrationinteger
- branchstringnull
- runtime_adapter
- modelstringnull
- reasoning_effort
Response
Example request
POST /api /projects /:project_id /tasks /warmExample response
Status 200 Warm Run provisioned (`task_id`/`run_id` to activate on submit), or an empty body when the feature is off, capped, or the integration didn't resolve.
Create tasks warm
Warm a full idling Run for a Code-app cloud task while the user composes: boot a sandbox, clone the repo, check out the branch, and start the agent, then idle awaiting the first message. On submit the normal create+run path transparently reuses and activates this Run; abandoned warms are reaped by the Run's inactivity timeout. Best-effort: returns an empty body when the feature flag is off, the warm pool is full, or the GitHub integration doesn't belong to the team.
Required API key scopes
task:writeRequest parameters
- repositorystring
- github_integrationinteger
- branchstringnull
- runtime_adapter
- modelstringnull
- reasoning_effort
Response
Example request
POST /api /projects /:project_id /tasks /warm