Skip to main content

ProjectSettings

Resource ProjectSettings in pulumi-posthog.
6 min read

Resource ProjectSettings in pulumi-posthog.

Pulumi type: posthog:index/projectSettings:ProjectSettings.

name is the Pulumi resource name. Nested object fields are documented under that object. They are not arguments of this resource.

Example#

Only required arguments are set. A string in angle brackets stands in for that argument. Any other value is an option or example written in the SDK description.

Arguments#

PropertyTypeRequiredDescription
anonymizeIpsbooleannoWhether to discard the client IP address at ingestion (shown in PostHog as Discard client IP data). Enabling this degrades IP-based event matching for destinations that rely on it (for example Meta Conversions API), since $ip is never stored.
appUrlsstring[]noThe project's authorized domains — shown in PostHog settings as Web analytics domains (and used as the toolbar's Authorized URLs). These are the domains tracked in web analytics and where the toolbar is enabled. Maps to the team appUrls field. Wildcards are not allowed; order is preserved.
autocaptureExceptionsOptInbooleannoWhether exception autocapture is enabled.
autocaptureWebVitalsOptInbooleannoWhether web vitals autocapture is enabled.
capturePerformanceOptInbooleannoWhether network performance capture is enabled for session replay. This must be true for sessionRecordingNetworkPayloadCaptureConfig to have any effect — without it, session replay does not capture network requests at all.
cookielessServerHashModenumbernoThe cookieless server hash mode. Known values: 0 (disabled), 1 (stateless), 2 (stateful) — matching PostHog's CookielessServerHashMode enum. PostHog may add modes over time, so any non-negative value is accepted rather than a fixed set; consult the PostHog docs for the current options.
heatmapsOptInbooleannoWhether heatmaps are enabled for web (the PostHog toolbar heatmap feature).
projectIdstringnoProject ID (environment) for this resource. Overrides the provider-level project_id.
recordingDomainsstring[]noAuthorized domains for session replay. Maps to the team recordingDomains field. Order is preserved.
sessionRecordingNetworkPayloadCaptureConfigProjectSettingsSessionRecordingNetworkPayloadCaptureConfig (input)noControls whether session replay records the headers and bodies of captured network requests. Only takes effect when capturePerformanceOptIn is true. Security: recorded headers and bodies can contain sensitive data such as Authorization tokens, cookies, and PII from request/response payloads — enable these deliberately and review PostHog's network-capture redaction options in your SDK configuration. PostHog replaces this JSON object wholesale on update, so both recordHeaders and recordBody must be set when the block is configured; omitting the whole block leaves the current PostHog value untouched.
sessionRecordingOptInbooleannoWhether session recording (recording user sessions) is enabled.
surveysOptInbooleannoWhether surveys are enabled.
testAccountFiltersstringnoThe internal and test users filter list as a JSON array of filter objects — the definition every managed insight and hog function references through filterTestAccounts. Managing it here makes that shared definition owned by Terraform, so a UI edit surfaces as drift instead of silently changing what all filtered insights measure. Compared semantically, so key ordering and whitespace differences from the PostHog API do not produce a diff. A filter object may reference a cohort ({"key":"id","type":"cohort","value":<cohort_id>,"operator":"in"}); PostHog injects a read-only cohortName into such objects, which this provider strips from state so the filter round-trips without a perpetual diff.
testAccountFiltersDefaultCheckedbooleannoWhether the internal and test users filters (testAccountFilters) are applied by default across the project. PostHog may report this as null until it is first set.

Outputs#

Computed outputs are produced by the provider. They are not constructor arguments.

PropertyTypeComputedDescription
anonymizeIpsbooleannoWhether to discard the client IP address at ingestion (shown in PostHog as Discard client IP data). Enabling this degrades IP-based event matching for destinations that rely on it (for example Meta Conversions API), since $ip is never stored.
appUrlsstring[]noThe project's authorized domains — shown in PostHog settings as Web analytics domains (and used as the toolbar's Authorized URLs). These are the domains tracked in web analytics and where the toolbar is enabled. Maps to the team appUrls field. Wildcards are not allowed; order is preserved.
autocaptureExceptionsOptInbooleannoWhether exception autocapture is enabled.
autocaptureWebVitalsOptInbooleannoWhether web vitals autocapture is enabled.
capturePerformanceOptInbooleannoWhether network performance capture is enabled for session replay. This must be true for sessionRecordingNetworkPayloadCaptureConfig to have any effect — without it, session replay does not capture network requests at all.
cookielessServerHashModenumbernoThe cookieless server hash mode. Known values: 0 (disabled), 1 (stateless), 2 (stateful) — matching PostHog's CookielessServerHashMode enum. PostHog may add modes over time, so any non-negative value is accepted rather than a fixed set; consult the PostHog docs for the current options.
heatmapsOptInbooleannoWhether heatmaps are enabled for web (the PostHog toolbar heatmap feature).
projectIdstringnoProject ID (environment) for this resource. Overrides the provider-level project_id.
recordingDomainsstring[]noAuthorized domains for session replay. Maps to the team recordingDomains field. Order is preserved.
sessionRecordingNetworkPayloadCaptureConfigProjectSettingsSessionRecordingNetworkPayloadCaptureConfig (output)noControls whether session replay records the headers and bodies of captured network requests. Only takes effect when capturePerformanceOptIn is true. Security: recorded headers and bodies can contain sensitive data such as Authorization tokens, cookies, and PII from request/response payloads — enable these deliberately and review PostHog's network-capture redaction options in your SDK configuration. PostHog replaces this JSON object wholesale on update, so both recordHeaders and recordBody must be set when the block is configured; omitting the whole block leaves the current PostHog value untouched.
sessionRecordingOptInbooleannoWhether session recording (recording user sessions) is enabled.
surveysOptInbooleannoWhether surveys are enabled.
testAccountFiltersstringnoThe internal and test users filter list as a JSON array of filter objects — the definition every managed insight and hog function references through filterTestAccounts. Managing it here makes that shared definition owned by Terraform, so a UI edit surfaces as drift instead of silently changing what all filtered insights measure. Compared semantically, so key ordering and whitespace differences from the PostHog API do not produce a diff. A filter object may reference a cohort ({"key":"id","type":"cohort","value":<cohort_id>,"operator":"in"}); PostHog injects a read-only cohortName into such objects, which this provider strips from state so the filter round-trips without a perpetual diff.
testAccountFiltersDefaultCheckedbooleannoWhether the internal and test users filters (testAccountFilters) are applied by default across the project. PostHog may report this as null until it is first set.

ProjectSettingsSessionRecordingNetworkPayloadCaptureConfig (input)#

Input object ProjectSettingsSessionRecordingNetworkPayloadCaptureConfig. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
recordBodybooleanyesWhether to record the bodies of network requests in session replay.
recordHeadersbooleanyesWhether to record the headers of network requests in session replay.

ProjectSettingsSessionRecordingNetworkPayloadCaptureConfig (output)#

Output object ProjectSettingsSessionRecordingNetworkPayloadCaptureConfig. Fields below belong to this object.

PropertyTypeAlways presentDescription
recordBodybooleanyesWhether to record the bodies of network requests in session replay.
recordHeadersbooleanyesWhether to record the headers of network requests in session replay.