Task
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
POST | |
GET | |
POST | |
GET | |
PATCH | |
DELETE | |
GET | |
GET | |
PATCH | |
DELETE | |
GET | |
GET | |
POST | |
POST | |
GET | |
POST |
List all task channels
List channels the requester can access, sorted by name and ID. Includes public channels, their personal #me channel, and private channels they belong to. Call provision_defaults to create missing default channels. Send limit and offset to get a page with count, next, previous, and results. Without limit, the response is an array of all accessible channels.
Required API key scopes
task:readQuery parameters
- limitinteger
- offsetinteger
Response
Example request
GET /api /projects /:project_id /task_channelsExample response
Status 200 List of channels
Create task channels
Create a channel. Public channels use lowercase names with hyphens. If a public channel has that name, return it. The name general returns the project's general space. Private channels always get a new ID, even if another channel has the same name. The requester and users in member_ids with project access become members. New channels are starred for the requester unless star is false. The names "me" and "personal" are reserved.
Required API key scopes
task:writeRequest parameters
- namestring
- channel_typeDefault:
public - member_idsarray
- starbooleanDefault:
true
Response
Example request
POST /api /projects /:project_id /task_channelsExample response
Status 200
List all task channels feed
A channel's system announcements in chronological order.
Required API key scopes
task:readPath parameters
- channel_idstring
Query parameters
- limitinteger
- offsetinteger
Response
Example request
GET /api /projects /:project_id /task_channels /:channel_id /feedExample response
Status 200 Feed messages, chronological
Create task channels feed
API for a channel's system-announcement feed — durable "PostHog agent" rows (context created, CONTEXT.md being built) rendered alongside the channel's task cards. Read by any team member for a public channel; personal channels are owner-only.
Required API key scopes
task:writePath parameters
- channel_idstring
Request parameters
- event
- payload
- created_atstring
Response
Example request
POST /api /projects /:project_id /task_channels /:channel_id /feedExample response
Status 201
Retrieve task channels
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /task_channels /:idExample response
Status 200
Update task channels
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- namestring
- github_integrationinteger | null
- repositoriesarray
- auto_archive_after_daysinteger | null
- channel_type
Response
Example request
PATCH /api /projects /:project_id /task_channels /:idExample response
Status 200
Delete task channels
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /task_channels /:idExample response
Status 204 No response body
Status 409 The space still contains tasks or canvases.
Retrieve task channels context generation
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /task_channels /:id /context_generationExample response
Status 200
Retrieve task channels instructions
The channel's latest CONTEXT.md instructions. A channel with no published instructions reads as a blank version 0 — publish against base_version 0 to create version 1.
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /task_channels /:id /instructionsExample response
Status 200
Update task channels instructions
Publish a new version of the channel's CONTEXT.md instructions. Pass base_version (the version you read) so a concurrent edit is rejected with 409 instead of overwritten.
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- contentstring
- base_versioninteger | null
Response
Example request
PATCH /api /projects /:project_id /task_channels /:id /instructionsExample response
Status 200
Delete task channels instructions
Required API key scopes
task:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /task_channels /:id /instructionsExample response
Status 204 No response body
Retrieve task channels instructions versions
Required API key scopes
task:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /task_channels /:id /instructions /versionsExample response
Status 200
Retrieve task channels members
List the members of a private channel. Return an empty list for public and personal channels. Return 404 if the requester cannot access the channel.
Required API key scopes
task:readPath parameters
- idstring
Example request
GET /api /projects /:project_id /task_channels /:id /membersExample response
Status 200 Channel members
Create task channels setup
Starts one unattended task in the channel that resolves the metric, writes the context page and, for a goal, creates the tracking canvas and the loops. The task becomes the channel's context generation task.
Required API key scopes
task:writecanvas:writehog_flow:writeperson:readgroup:readintegration:readuser:readquery:readaction:readdata_catalog:readinsight:readdashboard:readfeature_flag:readexperiment:readerror_tracking:readsession_recording:readevent_definition:readproperty_definition:readproject:readorganization:readsurvey:readPath parameters
- idstring
Request parameters
- kind
- goal
- feature
- repositorystring | null
Response
Example request
POST /api /projects /:project_id /task_channels /:id /setupExample response
Status 201 The setup task that started
Status 409 Space setup is already running
Status 503 A setup dependency is unavailable
Create task channels star
Required API key scopes
task:writePath parameters
- idstring
Request parameters
- starredboolean
Example request
POST /api /projects /:project_id /task_channels /:id /starExample response
Status 204 No response body
Retrieve task channels contributors
For each channel the requester can access, list the people who own at least one task or canvas in it, most recently active first. Channels with no owners are left out.
Required API key scopes
task:readExample request
GET /api /projects /:project_id /task_channels /contributorsExample response
Status 200 The task and canvas owners of each channel
Create task channels onboarding session
Open the agent session a new user lands in, in the team's #general space. Reads the company's homepage, so it takes a few seconds and is deliberately not part of provisioning, which blocks the app opening. Callers fire it without awaiting it when provision_defaults reports personal_created.
Required API key scopes
task:writeResponse
Example request
POST /api /projects /:project_id /task_channels /onboarding_session




