- Route changes through internal approval systems
- Run automated tests before changes go live
- Enforce custom business logic or compliance checks
- Integrate with CI/CD pipelines
How It Works
When a Statsig user submits a change for review and it’s approved by a reviewer, clicking “Commit Changes” triggers your configured webhook. Statsig sends the change details to your endpoint, which then validates the change (e.g., runs tests, checks policies). Your system responds to Statsig with either an approval or rejection, determining if the user can finally commit the change or if it remains blocked.Setup Instructions
Step 1: Configure Your Webhook Endpoint
Your webhook endpoint should:- Accept POST requests from Statsig
- Process the change payload (see format below)
- Call the Change Validation API to approve or reject
Step 2: Configure Statsig Console Settings
Navigate to Settings → Product Configuration → General:- Webhook URL: The endpoint where Statsig will send change notifications
- Webhook Key: A secret key sent in the
x-statsig-webhook-keyheader for authentication - Initial Message: A message shown to users while validation is in progress
- Example: “Your change is being validated by our CI/CD system. This may take up to 2 minutes…”


Usage Instructions
Step 3: Send a Webhook payload
Every payload will have these fields at a minimum:rules: Updating rules (for gates, dynamic configs, segments)- will contain payloads
old_configandnew_configwith the same format returned by the console API for the entity type (e.g. https://docs.statsig.com/api-reference/gates/read-gate for gates)
- will contain payloads
update_target_apps: Updating target applicationsupdate_allocation: Changing the pass percentage of an ongoing experimentstart_experimentship_experimentabandon_experimentupdate_experiment_settings: Changing settings of an ongoing experiment- will contain payloads
old_experimentandnew_experimentwith the same format returned by the console API (https://docs.statsig.com/api-reference/experiments/get-experiment)
- will contain payloads
Step 4: Respond to Webhooks
Your system must call the Change Validation API to approve or reject the change: Endpoint:POST https://statsigapi.net/console/v1/change_validation
When you respond to validation, you can also set the message field to provide a message to the user. You can set the message after the validation is done or provide progressive updates while the validation is running.
- Title: “Changes to this config have been reviewed and are pending validation”
- Description:
- The company-level
precommit_webhook_message(if set in console settings) - The review-specific
precommit_message(if your webhook has set it)
- The company-level
Bypassing Validation
Project Admins can grant the “Bypass Pre-commit Webhook” permission to specific roles. Users with this permission will see a “Commit Changes (Bypass Validation)” option, allowing them to skip the webhook validation process entirely.Best Practices
- Respond quickly: You have 2 minutes before the request times out
- Include debug links: Help users troubleshoot failures quickly
- Use progressive updates: Keep users informed during long validations
- Set a helpful initial message: Explain what’s happening and expected wait time
- Handle errors gracefully: If your validation system is down, consider auto-approving or notifying users