tasks
tasks

List tasks

Get a list of tasks for the current project, with optional filtering by origin product, stage, organization, repository, created_by, and the workflow (hog_flow_id) that created the task. By default, each row includes description. Pass basic=true for a summary row that omits description and includes description_preview, its first 1000 characters. Use the search parameter to match description text server-side.

get/api/projects/{project_id}/tasks/

Request

  • Base URL: https://us.posthog.com
  • URL: https://us.posthog.com/api/projects/{project_id}/tasks/
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Path parameters

project_idstring required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query parameters

all_team_tasksboolean

Local development only. With ph_debug=true, list all project tasks for debugging. Ignored outside local development.

archived'true' | 'false' | 'all'

Filter by archived state. Defaults to excluding archived tasks. Use 'true' to list only archived tasks, 'false' for the default, or 'all' to include both.

  • true - true
  • false - false
  • all - all
basicboolean

With true, return basic list rows for summary surfaces: each row omits the full description and includes description_preview, its first 1000 characters. Defaults to false, which returns full task rows with description. The search parameter still matches description text server-side.

channelstring uuid

Filter tasks to a channel's feed.

ci_status'passing' | 'failing' | 'pending' | 'none'

Filter tasks by the CI check rollup on their most recent run's pull request, as last observed from GitHub. 'none' means the PR has no checks.

  • passing - passing
  • failing - failing
  • pending - pending
  • none - none
client_provenance'posthog_desktop' | 'posthog_mobile' | 'posthog_web'

Filter by the client that created the task

  • posthog_desktop - PostHog Desktop
  • posthog_mobile - PostHog Mobile
  • posthog_web - PostHog Web
commented_byinteger

Filter to tasks carrying a thread comment written by this user ID.

created_byinteger

Filter by creator user ID

exclude_origin_product'onboarding' | 'error_tracking' | 'eval_clusters' | 'user_created' | 'slack' | 'support_queue' | 'session_summaries' | 'posthog_ai' | 'experiments' | 'signal_report' | 'autoresearch' | 'signals_scout' | 'scout_suggestions' | 'support_reply' | 'hogdesk' | 'review_hog' | 'image_builder' | 'loop' | 'mcp_analytics' | 'signals_chat' | 'task_analysis' | 'workflow' | 'space_setup' | 'business_knowledge' | 'metrics_import'

Exclude tasks with this origin product from the results

  • onboarding - Onboarding
  • error_tracking - Error Tracking
  • eval_clusters - Eval Clusters
  • user_created - User Created
  • slack - Slack
  • support_queue - Support Queue
  • session_summaries - Session Summaries
  • posthog_ai - PostHog AI
  • experiments - Experiments
  • signal_report - Signal Report
  • autoresearch - Autoresearch
  • signals_scout - Signals Scout
  • scout_suggestions - Signals Scout Suggestions
  • support_reply - Support Reply
  • hogdesk - HogDesk
  • review_hog - ReviewHog
  • image_builder - Image Builder
  • loop - Loop
  • mcp_analytics - MCP Analytics
  • signals_chat - Signals Chat
  • task_analysis - Task Analysis
  • workflow - Workflow
  • space_setup - Space Setup
  • business_knowledge - Business Knowledge
  • metrics_import - Metrics Import
hog_flow_idstring uuid

Filter tasks to the runs spawned by this workflow's 'Create AI task' action.

internal'true' | 'false' | 'all'

Filter by the internal flag, which controls whether a task is shown by default, not whether it is accessible. Defaults to excluding internal tasks. Use 'all' to include both internal and user-facing tasks, or 'true' to list only internal tasks. All values are available to any team member; access stays governed by task visibility.

  • true - true
  • false - false
  • all - all
limitinteger

Number of results to return per page.

mentionsinteger

Filter to tasks whose thread mentions this user ID.

offsetinteger

The initial index from which to return the results.

ordering'-created_at' | '-last_activity_at'

Sort order. '-last_activity_at' is newest activity first, where activity means a thread message or a run starting, streaming, or finishing. Defaults to '-created_at'.

  • -created_at - -created_at
  • -last_activity_at - -last_activity_at
organizationstring

Filter by repository organization

origin_productstring

Filter by origin product

pinnedboolean

With true, only tasks the requesting user has pinned.

pr_state'open' | 'draft' | 'merged' | 'closed'

Filter tasks by the state of their most recent run's pull request, as last observed from GitHub (webhooks plus the CI follow-up snapshot).

  • open - open
  • draft - draft
  • merged - merged
  • closed - closed
repositorystring

Filter by repository name (can include org/repo format)

searchstring

Case-insensitive substring search over task title and description. A numeric value also matches the task number. An empty value disables the filter.

stagestring

Filter by task run stage

status'not_started' | 'queued' | 'in_progress' | 'completed' | 'failed' | 'cancelled'

Filter tasks by the status of their most recent run.

  • not_started - not_started
  • queued - queued
  • in_progress - in_progress
  • completed - completed
  • failed - failed
  • cancelled - cancelled

Response

List of full task rows by default, or basic rows with description_preview when basic=true.

countinteger required
nextstring uri nullable
previousstring uri nullable

Changes

No recorded changes to this operation across all 1 revision of this API.