Environments-21

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

Endpoints

GET
GET
POST
POST
GET
POST
POST
GET
POST
GET
POST

Retrieve environments integrations twilio phone numbers

Path parameters

  • id
    integer

    A unique integer value identifying this integration.

  • project_id
    string

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


Example request

GET /api/environments/:project_id/integrations/:id/twilio_phone_numbers
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/integrations/:id/twilio_phone_numbers/

Example response

Status 200 No response body

Retrieve environments integrations twilio phone numbers

Path parameters

  • id
    integer

    A unique integer value identifying this integration.

  • project_id
    string

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


Example request

GET /api/environments/:project_id/integrations/:id/twilio_phone_numbers
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/integrations/:id/twilio_phone_numbers/

Example response

Status 200 No response body

Retrieve environments integrations authorize

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/integrations/authorize
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/integrations/authorize/

Example response

Status 200 No response body

Retrieve environments integrations authorize

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/integrations/authorize
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/integrations/authorize/

Example response

Status 200 No response body

Create environments llm analytics summarization

Generate an AI-powered summary of an LLM trace or event.

This endpoint analyzes the provided trace/event, generates a line-numbered text representation, and uses an LLM to create a concise summary with line references.

Summary Format:

  • 5-10 bullet points covering main flow and key decisions
  • "Interesting Notes" section for failures, successes, or unusual patterns
  • Line references in [L45] or [L45-52] format pointing to relevant sections

Feature Flag:

  • Requires llm-analytics-summarization feature flag enabled at team level

Use Cases:

  • Quick understanding of complex traces
  • Identifying key events and patterns
  • Debugging with AI-assisted analysis
  • Documentation and reporting

The response includes the summary text and optional metadata.

Required API key scopes

llm_analytics:write

Path parameters

  • project_id
    string

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


Request parameters

  • summarize_type

    Type of entity to summarize

    • trace - trace
    • event - event
  • mode
    Default: minimal

    Summary detail level: 'minimal' for 3-5 points, 'detailed' for 5-10 points

    • minimal - minimal
    • detailed - detailed
  • data

    Data to summarize. For traces: {trace, hierarchy}. For events: {event}.

  • force_refresh
    boolean
    Default: false

    Force regenerate summary, bypassing cache


Response


Example request

POST /api/environments/:project_id/llm_analytics/summarization
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/environments/:project_id/llm_analytics/summarization/\
-d summarize_type=undefined,\
-d data=undefined

Example response

Status 200
RESPONSE
{
"summary": "## Summary\n- User initiated conversation with greeting [L5-8]\n- Assistant responded with friendly message [L12-15]\n\n## Interesting Notes\n- Standard greeting pattern with no errors",
"metadata": {
"text_repr_length": 450,
"model": "gpt-4.1"
}
}
Status 400
Status 403
Status 500

Create environments llm analytics text repr

Generate a human-readable text representation of an LLM trace event.

This endpoint converts LLM analytics events ($ai_generation, $ai_span, $ai_embedding, or $ai_trace) into formatted text representations suitable for display, logging, or analysis.

Supported Event Types:

  • $ai_generation: Individual LLM API calls with input/output messages
  • $ai_span: Logical spans with state transitions
  • $ai_embedding: Embedding generation events (text input → vector)
  • $ai_trace: Full traces with hierarchical structure

Options:

  • max_length: Maximum character count (default: 4000000)
  • truncated: Enable middle-content truncation within events (default: true)
  • truncate_buffer: Characters at start/end when truncating (default: 1000)
  • include_markers: Use interactive markers vs plain text indicators (default: true)
    • Frontend: set true for <<<TRUNCATED|base64|...>>> markers
    • Backend/LLM: set false for ... (X chars truncated) ... text
  • collapsed: Show summary vs full trace tree (default: false)
  • include_hierarchy: Include tree structure for traces (default: true)
  • max_depth: Maximum depth for hierarchical rendering (default: unlimited)
  • tools_collapse_threshold: Number of tools before auto-collapsing list (default: 5)
    • Tool lists >5 items show <<<TOOLS_EXPANDABLE|...>>> marker for frontend
    • Or [+] AVAILABLE TOOLS: N for backend when include_markers: false
  • include_line_numbers: Prefix each line with line number like L001:, L010: (default: false)

Use Cases:

  • Frontend display: truncated: true, include_markers: true, include_line_numbers: true
  • Backend LLM context (summary): truncated: true, include_markers: false, collapsed: true
  • Backend LLM context (full): truncated: false

The response includes the formatted text and metadata about the rendering.

Required API key scopes

llm_analytics:write

Path parameters

  • project_id
    string

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


Request parameters

  • event_type

    Type of LLM event to stringify

    • $ai_generation - $ai_generation
    • $ai_span - $ai_span
    • $ai_embedding - $ai_embedding
    • $ai_trace - $ai_trace
  • data

    Event data to stringify. For traces, should include 'trace' and 'hierarchy' fields.

  • options

    Optional configuration for text generation


Response


Example request

POST /api/environments/:project_id/llm_analytics/text_repr
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/environments/:project_id/llm_analytics/text_repr/\
-d event_type=undefined,\
-d data=undefined

Example response

Status 200
RESPONSE
{
"text": "INPUT:\n\n[1] USER\n\nWhat is the capital of France?\n\n...",
"metadata": {
"event_type": "$ai_generation",
"event_id": "gen_123",
"rendering": "detailed",
"char_count": 150,
"truncated": false
}
}
Status 400
Status 500
Status 503

Retrieve environments logs attributes

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/logs/attributes
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/logs/attributes/

Example response

Status 200 No response body

Retrieve environments logs attributes

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/logs/attributes
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/logs/attributes/

Example response

Status 200 No response body

Create environments logs query

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/logs/query
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/environments/:project_id/logs/query/

Example response

Status 200 No response body

Create environments logs query

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/logs/query
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/environments/:project_id/logs/query/

Example response

Status 200 No response body

Create environments logs sparkline

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/logs/sparkline
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/environments/:project_id/logs/sparkline/

Example response

Status 200 No response body

Create environments logs sparkline

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/logs/sparkline
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/environments/:project_id/logs/sparkline/

Example response

Status 200 No response body

Retrieve environments logs values

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/logs/values
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/logs/values/

Example response

Status 200 No response body

Retrieve environments logs values

Required API key scopes

logs:read

Path parameters

  • project_id
    string

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


Example request

GET /api/environments/:project_id/logs/values
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:project_id/logs/values/

Example response

Status 200 No response body

Create environments max tools create and query insight

Required API key scopes

insight:readquery:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/max_tools/create_and_query_insight
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/environments/:project_id/max_tools/create_and_query_insight/

Example response

Status 200 No response body

Create environments max tools create and query insight

Required API key scopes

insight:readquery:read

Path parameters

  • project_id
    string

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


Example request

POST /api/environments/:project_id/max_tools/create_and_query_insight
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/environments/:project_id/max_tools/create_and_query_insight/

Example response

Status 200 No response body

List all environments persisted folder

Required API key scopes

persisted_folder:read

Path parameters

  • project_id
    string

    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

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.


Response


Example request

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

Example response

Status 200
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",
"type": "home",
"protocol": "string",
"path": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}

List all environments persisted folder

Required API key scopes

persisted_folder:read

Path parameters

  • project_id
    string

    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

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.


Response


Example request

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

Example response

Status 200
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",
"type": "home",
"protocol": "string",
"path": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
]
}

Create environments persisted folder

Required API key scopes

persisted_folder:write

Path parameters

  • project_id
    string

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


Request parameters

  • type
  • protocol
    string
  • path
    string

Response


Example request

POST /api/environments/:project_id/persisted_folder
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/environments/:project_id/persisted_folder/\
-d type=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "home",
"protocol": "string",
"path": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}

Create environments persisted folder

Required API key scopes

persisted_folder:write

Path parameters

  • project_id
    string

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


Request parameters

  • type
  • protocol
    string
  • path
    string

Response


Example request

POST /api/environments/:project_id/persisted_folder
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/environments/:project_id/persisted_folder/\
-d type=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "home",
"protocol": "string",
"path": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
Next page →

Community questions

Questions about this page? or post a community question.