Projects

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

Endpoints

GET
GET
PATCH

Retrieve organizations projects settings as of

Return the project settings as of the provided timestamp. Query params:

  • at: ISO8601 datetime (required)
  • scope: optional, one or multiple keys to filter the returned settings

Path parameters

  • id
    integer

Response


Example request

GET /api/organizations/:organization_id/projects/:id/settings_as_of
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/projects/:id/settings_as_of/

Example response

Status 200
RESPONSE
{
"id": 0,
"organization": "452c1a86-a0af-475b-b03f-724878b0f387",
"name": "string",
"product_description": "string",
"tags": [
"string"
],
"created_at": "2019-08-24T14:15:22Z",
"effective_membership_level": 1,
"has_group_types": true,
"group_types": [
{}
],
"live_events_token": "string",
"updated_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"api_token": "string",
"app_urls": [
"string"
],
"anonymize_ips": true,
"completed_snippet_onboarding": true,
"ingested_event": true,
"test_account_filters": null,
"test_account_filters_default_checked": true,
"path_cleaning_filters": null,
"is_demo": true,
"timezone": "Africa/Abidjan",
"data_attributes": null,
"person_display_name_properties": [
"string"
],
"correlation_config": null,
"autocapture_opt_out": true,
"autocapture_exceptions_opt_in": true,
"autocapture_web_vitals_opt_in": true,
"autocapture_web_vitals_allowed_metrics": null,
"autocapture_exceptions_errors_to_ignore": null,
"capture_console_log_opt_in": true,
"capture_performance_opt_in": true,
"session_recording_opt_in": true,
"session_recording_sample_rate": "string",
"session_recording_minimum_duration_milliseconds": 30000,
"session_recording_linked_flag": null,
"session_recording_network_payload_capture_config": null,
"session_recording_masking_config": null,
"session_recording_url_trigger_config": [
null
],
"session_recording_url_blocklist_config": [
null
],
"session_recording_event_trigger_config": [
"string"
],
"session_recording_trigger_match_type_config": "string",
"session_recording_trigger_groups": null,
"session_recording_retention_period": "30d",
"session_replay_config": null,
"survey_config": null,
"access_control": true,
"week_start_day": 0,
"primary_dashboard": 0,
"home_tab_dashboard": 0,
"live_events_columns": [
"string"
],
"recording_domains": [
"string"
],
"person_on_events_querying_enabled": true,
"inject_web_apps": true,
"extra_settings": null,
"modifiers": null,
"default_modifiers": {},
"has_completed_onboarding_for": null,
"surveys_opt_in": true,
"heatmaps_opt_in": true,
"product_intents": [
{
"product_type": "string",
"created_at": "2019-08-24T14:15:22Z",
"onboarding_completed_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"flags_persistence_default": true,
"secret_api_token": "string",
"secret_api_token_backup": "string",
"heatmaps_screenshot_secret": "string",
"receive_org_level_activity_logs": true,
"business_model": "b2b",
"conversations_enabled": true,
"conversations_settings": {},
"logs_settings": null,
"proactive_tasks_enabled": true,
"available_setup_task_ids": [
"ingest_first_event"
],
"is_pending_deletion": true,
"deletion_scheduled_at": "2019-08-24T14:15:22Z",
"project_id": 0,
"user_access_level": "string",
"managed_viewsets": {
"property1": true,
"property2": true
},
"flag_evaluations_mode": 0,
"revenue_analytics_config": {
"base_currency": "AED",
"events": null,
"filter_test_accounts": true
},
"marketing_analytics_config": {
"sources_map": {
"property1": {
"ad_group_id": null,
"ad_group_name": null,
"ad_id": null,
"ad_name": null,
"campaign": null,
"clicks": null,
"cost": null,
"currency": null,
"date": null,
"id": null,
"impressions": null,
"reported_conversion": null,
"reported_conversion_value": null,
"source": null
},
"property2": {
"ad_group_id": null,
"ad_group_name": null,
"ad_id": null,
"ad_name": null,
"campaign": null,
"clicks": null,
"cost": null,
"currency": null,
"date": null,
"id": null,
"impressions": null,
"reported_conversion": null,
"reported_conversion_value": null,
"source": null
}
},
"conversion_goals": [
{
"conversion_goal_id": "string",
"conversion_goal_name": "string",
"counts_as_customer": null,
"counts_as_revenue": null,
"custom_name": null,
"event": null,
"kind": "EventsNode",
"limit": null,
"math": null,
"math_group_type_index": null,
"math_hogql": null,
"math_multiplier": null,
"math_property": null,
"math_property_revenue_currency": null,
"math_property_type": null,
"name": "string",
"optionalInFunnel": null,
"orderBy": null,
"properties": null,
"response": null,
"schema_map": {
"property1": "string",
"property2": "string"
},
"version": null
}
],
"attribution_window_days": 1,
"attribution_mode": "first_touch",
"filter_test_accounts": true,
"campaign_name_mappings": {
"property1": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"property2": {
"property1": [
"string"
],
"property2": [
"string"
]
}
},
"custom_source_mappings": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"campaign_field_preferences": {
"property1": {
"match_field": "campaign_name"
},
"property2": {
"match_field": "campaign_name"
}
}
},
"customer_analytics_config": {
"activity_event": null,
"signup_pageview_event": null,
"signup_event": null,
"subscription_event": null,
"payment_event": null,
"account_group_type_index": 0,
"default_pinned_properties": [
{
"kind": "custom_property",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
]
},
"workflows_config": {
"capture_workflows_engagement_events": true,
"email_tracking_consent_mode": "off",
"workflow_task_rate_limit_per_day": 0,
"workflow_task_team_rate_limit_per_day": 0,
"default_email_integration_id": 0,
"marketing_frequency_cap_max_messages": 1,
"marketing_frequency_cap_window_days": 1
},
"feature_flag_policy_config": {
"require_tags": true
},
"base_currency": "AED",
"capture_dead_clicks": true,
"cookieless_server_hash_mode": 0,
"human_friendly_comparison_periods": true,
"feature_flag_confirmation_enabled": true,
"feature_flag_confirmation_message": "string",
"default_evaluation_contexts_enabled": true,
"require_evaluation_contexts": true,
"default_data_theme": -2147483648,
"onboarding_tasks": null,
"web_analytics_pre_aggregated_tables_enabled": true
}

Retrieve organizations projects tracing config

Manage tracing product configuration for this project's canonical environment. Members can read; writing requires project admin, matching the admin-only settings UI. Mirrors the env-router action so /api/projects/:id/tracing_config/ resolves alongside the legacy /api/environments/:id/tracing_config/ alias.

Path parameters

  • id
    integer

Response


Example request

GET /api/organizations/:organization_id/projects/:id/tracing_config
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/projects/:id/tracing_config/

Example response

Status 200
RESPONSE
{
"tracing_distinct_id_attribute_keys": [
"string"
],
"tracing_session_id_attribute_keys": [
"string"
],
"retention_days": 0,
"retention_last_updated": "2019-08-24T14:15:22Z"
}

Update organizations projects tracing config

Manage tracing product configuration for this project's canonical environment. Members can read; writing requires project admin, matching the admin-only settings UI. Mirrors the env-router action so /api/projects/:id/tracing_config/ resolves alongside the legacy /api/environments/:id/tracing_config/ alias.

Path parameters

  • id
    integer

Request parameters

  • tracing_distinct_id_attribute_keys
    array
  • tracing_session_id_attribute_keys
    array
  • retention_days
    integer

Response


Example request

PATCH /api/organizations/:organization_id/projects/:id/tracing_config
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/organizations/:organization_id/projects/:id/tracing_config/\
-d tracing_distinct_id_attribute_keys="array"

Example response

Status 200
RESPONSE
{
"tracing_distinct_id_attribute_keys": [
"string"
],
"tracing_session_id_attribute_keys": [
"string"
],
"retention_days": 0,
"retention_last_updated": "2019-08-24T14:15:22Z"
}