Tasks

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
POST
GET
POST
GET
POST
GET
POST
GET
POST
DELETE
POST
GET
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. A run that keeps only a short live tail in Redis is routed to the proxy only when the client sets resync=true, meaning it rebuilds from the durable run log when the proxy reports a trimmed cursor.

Required API key scopes

task:read

Path parameters

  • id
    string
  • task_id
    string

Query parameters

  • resync
    boolean
    Default: false

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:id/stream_token
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/stream_token/

Example response

Status 200 Run-scoped token for reading the live event stream via the agent-proxy
RESPONSE
{
"token": "string",
"stream_base_url": "string"
}
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. A run that keeps only a short live tail in Redis is routed to the proxy only when the client sets resync=true, meaning it rebuilds from the durable run log when the proxy reports a trimmed cursor.

Required API key scopes

task:read

Path parameters

  • id
    string
  • task_id
    string

Query parameters

  • resync
    boolean
    Default: false

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:id/stream_token
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/stream_token/

Example response

Status 200 Run-scoped token for reading the live event stream via the agent-proxy
RESPONSE
{
"token": "string",
"stream_base_url": "string"
}
Status 404 Task run not found

Create tasks runs subscription token

Give the run's agent-server a short-lived ChatGPT access token from the run owner's connected account. Only the run's sandbox may call this, and it must present the run token it received at launch. Send the digest of a token Codex rejected so the server refreshes it early, once.

Required API key scopes

task:write

Path parameters

  • id
    string
  • task_id
    string

Request parameters

  • rejected_access_token_sha256
    string | null

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/runs/:id/subscription_token
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/subscription_token/\
-d rejected_access_token_sha256="string"

Example response

Status 200 Short-lived ChatGPT access token for this run
RESPONSE
{
"access_token": "string",
"account_id": "string",
"plan_type": "string",
"expires_at": "2019-08-24T14:15:22Z"
}
Status 400 Missing required header
Status 403 Caller is not this run's sandbox, or the run token is invalid
Status 404 Task run not found
Status 409 reauth_required: the run owner must reconnect their ChatGPT account
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
Status 502 openai_unavailable: OpenAI did not answer the token refresh
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

Create tasks runs subscription token

Give the run's agent-server a short-lived ChatGPT access token from the run owner's connected account. Only the run's sandbox may call this, and it must present the run token it received at launch. Send the digest of a token Codex rejected so the server refreshes it early, once.

Required API key scopes

task:write

Path parameters

  • id
    string
  • task_id
    string

Request parameters

  • rejected_access_token_sha256
    string | null

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/runs/:id/subscription_token
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/subscription_token/\
-d rejected_access_token_sha256="string"

Example response

Status 200 Short-lived ChatGPT access token for this run
RESPONSE
{
"access_token": "string",
"account_id": "string",
"plan_type": "string",
"expires_at": "2019-08-24T14:15:22Z"
}
Status 400 Missing required header
Status 403 Caller is not this run's sandbox, or the run token is invalid
Status 404 Task run not found
Status 409 reauth_required: the run owner must reconnect their ChatGPT account
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
Status 502 openai_unavailable: OpenAI did not answer the token refresh
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

Retrieve tasks runs task session

API for managing task runs. Each run represents an execution of a task.

Required API key scopes

task:read

Path parameters

  • id
    string
  • task_id
    string

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:id/task_session
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/task_session/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"download_url": "http://example.com",
"content_sha256": "string"
}
Status 404 Task session not found

Retrieve tasks runs task session

API for managing task runs. Each run represents an execution of a task.

Required API key scopes

task:read

Path parameters

  • id
    string
  • task_id
    string

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:id/task_session
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:id/task_session/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"download_url": "http://example.com",
"content_sha256": "string"
}
Status 404 Task session not found

Create tasks runs task session sync

API for managing task runs. Each run represents an execution of a task.

Required API key scopes

task:write

Path parameters

  • id
    string
  • task_id
    string


Response


Example request

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"content_sha256": "string"
}
Status 400 Missing required header
Status 403 Invalid task run token
Status 404 Task session not found
Status 409
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

Create tasks runs task session sync

API for managing task runs. Each run represents an execution of a task.

Required API key scopes

task:write

Path parameters

  • id
    string
  • task_id
    string


Response


Example request

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"content_sha256": "string"
}
Status 400 Missing required header
Status 403 Invalid task run token
Status 404 Task session not found
Status 409
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

List all tasks runs living artifacts

Returns stable, versioned artifact handles created by the run's task.

Required API key scopes

task:read

Path parameters

  • run_id
    string
  • task_id
    string

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/

Example response

Status 200 Living artifacts registered for this task run
RESPONSE
{
"artifacts": [
{
"id": "string",
"task_id": "string",
"run_id": "string",
"team_id": 0,
"name": "string",
"artifact_type": "slack_message",
"adapter": "slack_message",
"status": "active",
"location": null,
"metadata": null,
"current_version": 0,
"versions": [
{}
],
"created_at": "string",
"updated_at": "string"
}
]
}
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:write

Path parameters

  • run_id
    string
  • task_id
    string

Request parameters

  • name
    string
  • artifact_type
    Default: document
  • adapter
  • content
    string
  • content_base64
    string
  • content_type
    string
  • source_artifact_id
    string
  • source_storage_path
    string
  • metadata
    object

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/\
-d name="string"

Example response

Status 200 Created living artifact
RESPONSE
{
"id": "string",
"task_id": "string",
"run_id": "string",
"team_id": 0,
"name": "string",
"artifact_type": "slack_message",
"adapter": "slack_message",
"status": "active",
"location": null,
"metadata": null,
"current_version": 0,
"versions": [
{}
],
"created_at": "string",
"updated_at": "string"
}
Status 400 Invalid artifact payload
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
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:read

Path parameters

  • id
    string
  • run_id
    string
  • task_id
    string

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id/

Example response

Status 200 Living artifact with current readable content
RESPONSE
{
"id": "string",
"task_id": "string",
"run_id": "string",
"team_id": 0,
"name": "string",
"artifact_type": "slack_message",
"adapter": "slack_message",
"status": "active",
"location": null,
"metadata": null,
"current_version": 0,
"versions": [
{}
],
"created_at": "string",
"updated_at": "string",
"content": "string"
}
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:write

Path parameters

  • id
    string
  • run_id
    string
  • task_id
    string

Request parameters

  • name
    string
  • content
    string
  • content_base64
    string
  • content_type
    string
  • source_artifact_id
    string
  • source_storage_path
    string
  • metadata
    object

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id/edit
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id/edit/\
-d name="string"

Example response

Status 200 Updated living artifact
RESPONSE
{
"id": "string",
"task_id": "string",
"run_id": "string",
"team_id": 0,
"name": "string",
"artifact_type": "slack_message",
"adapter": "slack_message",
"status": "active",
"location": null,
"metadata": null,
"current_version": 0,
"versions": [
{}
],
"created_at": "string",
"updated_at": "string"
}
Status 400 Invalid artifact update
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
Status 404 Living artifact not found

Retrieve tasks runs living artifacts version

Returns the content of one living artifact version. Slack file versions return their stored file, streamed from the app origin for a preview or redirected to a presigned URL with download=true. Slack canvas and message versions return their text.

Required API key scopes

task:read

Path parameters

  • id
    string
  • run_id
    string
  • task_id
    string
  • version
    integer

Query parameters

  • download
    boolean

Example request

GET /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id/versions/:version
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/:id/versions/:version/

Example response

Status 200 Version content, with the content type the version was saved with
Status 302 With download=true, a redirect to a presigned URL for the stored file
Status 400 Unable to read the version
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
Status 404 Living artifact or version not found, or the version keeps no content
Status 413 The stored file is too large to preview. Request it with download=true.
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

Create tasks runs living artifacts

Renders a PostHog insight (ad-hoc query JSON or a saved insight) to a PNG server-side and registers it as a slack_file living artifact in one call. Blocks until the render finishes.

Required API key scopes

task:writequery:read

Path parameters

  • run_id
    string
  • task_id
    string

Request parameters

  • name
    string
  • query
    object
  • insight_id
    integer

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/chart
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/runs/:run_id/living_artifacts/chart/\
-d name="string"

Example response

Status 200 Chart rendered and registered as a living artifact
RESPONSE
{
"artifact": {
"id": "string",
"task_id": "string",
"run_id": "string",
"team_id": 0,
"name": "string",
"artifact_type": "slack_message",
"adapter": "slack_message",
"status": "active",
"location": null,
"metadata": null,
"current_version": 0,
"versions": [
{}
],
"created_at": "string",
"updated_at": "string"
},
"export_asset_id": 0,
"url": "http://example.com"
}
Status 400 Render or delivery failed
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}
Status 403 Caller may not run queries in this project
Status 404 Run not found

List all tasks thread messages

The task's thread in chronological order.

Required API key scopes

task:read

Path parameters

  • task_id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/projects/:project_id/tasks/:task_id/thread_messages
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/thread_messages/

Example response

Status 200 Thread messages
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"task": "4879b8a6-fb3e-4a0d-aef8-b0ea469ac85c",
"author_kind": "string",
"event": "string",
"payload": {},
"content": "string",
"created_at": "2019-08-24T14:15:22Z",
"author": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
},
"forwarded_to_agent_at": "2019-08-24T14:15:22Z",
"forwarded_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
}
}
]
}

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:write

Path parameters

  • task_id
    string

Request parameters

  • content
    string

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/thread_messages
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/thread_messages/\
-d content="string"

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"task": "4879b8a6-fb3e-4a0d-aef8-b0ea469ac85c",
"author_kind": "string",
"event": "string",
"payload": {},
"content": "string",
"created_at": "2019-08-24T14:15:22Z",
"author": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
},
"forwarded_to_agent_at": "2019-08-24T14:15:22Z",
"forwarded_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
}
}

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:write

Path parameters

  • id
    string
  • task_id
    string

Example request

DELETE /api/projects/:project_id/tasks/:task_id/thread_messages/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/thread_messages/:id/

Example 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:write

Path parameters

  • id
    string
  • task_id
    string

Request parameters

  • id
    string
  • task
    string
  • author_kind
    string
  • event
    string
  • payload
    object
  • content
    string
  • created_at
    string
  • author
  • forwarded_to_agent_at
    string | null
  • forwarded_by

Response


Example request

POST /api/projects/:project_id/tasks/:task_id/thread_messages/:id/send_to_agent
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/:task_id/thread_messages/:id/send_to_agent/\
-d id="string",\
-d task="string",\
-d author_kind="string",\
-d event="string",\
-d payload="object",\
-d content="string",\
-d created_at="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"task": "4879b8a6-fb3e-4a0d-aef8-b0ea469ac85c",
"author_kind": "string",
"event": "string",
"payload": {},
"content": "string",
"created_at": "2019-08-24T14:15:22Z",
"author": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
},
"forwarded_to_agent_at": "2019-08-24T14:15:22Z",
"forwarded_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "string",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "string"
}
}
Status 400 No signalable run, or message already forwarded
Status 429 Organization reached its PostHog Desktop usage limit
RESPONSE
{
"detail": "string",
"error": "string",
"type": "string",
"code": "string",
"retry_token": "string",
"reason": "startup_plan",
"attr": "string",
"missing_artifact_ids": [
"string"
],
"limit_type": "burst",
"reset_at": "string",
"is_pro": true
}

List all tasks me config

Retrieve your per-project default AI run preferences, plus the resolved defaults a new run will use when no explicit runtime selection is sent (your preference over the project default).

Required API key scopes

task:read

Response


Example request

GET /api/projects/:project_id/tasks/@me/config
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/@me/config/

Example response

Status 200
RESPONSE
{
"ai_run_preferences": {
"runtime": "acp",
"runtime_adapter": "claude",
"model": "string",
"reasoning_effort": "off"
},
"resolved_ai_run_defaults": {
"runtime": "string",
"runtime_adapter": "string",
"model": "string",
"reasoning_effort": "string",
"source": "user"
},
"agent_instructions": "string",
"task_defaults": {
"start_in_plan_mode": true,
"auto_publish_cloud_runs": true
}
}

Create tasks me config

Set your per-project default AI run preferences; they override the project default wholesale. Send all fields as null to clear and inherit the project default.

Required API key scopes

task:write

Request parameters

  • runtime
  • runtime_adapter
  • model
    string | null
  • reasoning_effort

Response


Example request

POST /api/projects/:project_id/tasks/@me/config
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/tasks/@me/config/\
-d runtime=undefined

Example response

Status 200
RESPONSE
{
"ai_run_preferences": {
"runtime": "acp",
"runtime_adapter": "claude",
"model": "string",
"reasoning_effort": "off"
},
"resolved_ai_run_defaults": {
"runtime": "string",
"runtime_adapter": "string",
"model": "string",
"reasoning_effort": "string",
"source": "user"
},
"agent_instructions": "string",
"task_defaults": {
"start_in_plan_mode": true,
"auto_publish_cloud_runs": true
}
}