This endpoint returns a list of feature flags and their details like name, key, variants, rollout_percentage, and more.
To evaluate and determine the value of flags for a given user, use the flags endpoint instead.
For instructions on how to authenticate to use this endpoint, see API overview.
Create, read, update and delete feature flags. See docs for more information on feature flags.
If you're looking to use feature flags on your application, you can either use our JavaScript Library or our dedicated endpoint to check if feature flags are enabled for a given user.
GET | |
POST | |
GET | |
PATCH | |
DELETE | |
GET | |
POST | |
POST | |
POST | |
GET | |
GET | |
GET | |
POST | |
GET | |
GET | |
GET | |
POST |
This endpoint returns a list of feature flags and their details like name, key, variants, rollout_percentage, and more.
To evaluate and determine the value of flags for a given user, use the flags endpoint instead.
feature_flag:readProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
"STALE""false""true" The User ID which initially created the feature flag.
"both""client""server" Filter feature flags by their evaluation runtime.
JSON-encoded list of feature flag keys to exclude from the results.
Number of results to return per page.
The initial index from which to return the results.
Search by feature flag key or name. Case insensitive.
JSON-encoded list of tag names to filter feature flags by.
"boolean""experiment""multivariant" GET /api /projects /:project_id /feature_flagsexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/
{"count": 123,"next": "http://api.example.org/accounts/?offset=400&limit=100","previous": "http://api.example.org/accounts/?offset=200&limit=100","results": [{"id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z","version": 0,"last_modified_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": "string","surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true,"user_access_level": "string","creation_context": "feature_flags","is_remote_configuration": true,"has_encrypted_payloads": true,"status": "string","evaluation_runtime": "server","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true}]}
feature_flag:writeProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flagsexport 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/feature_flags/\-d key="string"
{"id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z","version": 0,"last_modified_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": "string","surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true,"user_access_level": "string","creation_context": "feature_flags","is_remote_configuration": true,"has_encrypted_payloads": true,"status": "string","evaluation_runtime": "server","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true}
This endpoint returns a feature flag and its details like name, key, variants, rollout_percentage, and more.
To evaluate and determine the value of a flag for a given user, use the flags endpoint instead.
feature_flag:readA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /:idexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/:id/
{"id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z","version": 0,"last_modified_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": "string","surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true,"user_access_level": "string","creation_context": "feature_flags","is_remote_configuration": true,"has_encrypted_payloads": true,"status": "string","evaluation_runtime": "server","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true}
feature_flag:writeA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePATCH /api /projects /:project_id /feature_flags /:idexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X PATCH \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/:id/\-d name="string"
{"id": 0,"name": "string","key": "string","filters": {"property1": null,"property2": null},"deleted": true,"active": true,"created_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"created_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z","version": 0,"last_modified_by": {"id": 0,"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f","distinct_id": "string","first_name": "string","last_name": "string","email": "user@example.com","is_email_verified": true,"hedgehog_config": {"property1": null,"property2": null},"role_at_organization": "engineering"},"is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": "string","surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true,"user_access_level": "string","creation_context": "feature_flags","is_remote_configuration": true,"has_encrypted_payloads": true,"status": "string","evaluation_runtime": "server","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true}
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
feature_flag:writeA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
DELETE /api /projects /:project_id /feature_flags /:idexport 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/feature_flags/:id/
activity_log:readA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /:id /activityexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/:id/activity/
A unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flags /:id /create_static_cohort_for_flagexport 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/feature_flags/:id/create_static_cohort_for_flag/\-d key="string"
A unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flags /:id /dashboardexport 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/feature_flags/:id/dashboard/\-d key="string"
A unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flags /:id /enrich_usage_dashboardexport 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/feature_flags/:id/enrich_usage_dashboard/\-d key="string"
feature_flag:readA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /:id /remote_configexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/:id/remote_config/
feature_flag:readA unique integer value identifying this feature flag.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /:id /statusexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/:id/status/
activity_log:readProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /activityexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/activity/
Get feature flag keys by IDs. Accepts a list of feature flag IDs and returns a mapping of ID to key.
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flags /bulk_keysexport 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/feature_flags/bulk_keys/\-d key="string"
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /evaluation_reasonsexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/evaluation_reasons/
feature_flag:readProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /local_evaluationexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/local_evaluation/
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
GET /api /projects /:project_id /feature_flags /my_flagsexport POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \<ph_app_host>/api/projects/:project_id/feature_flags/my_flags/
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
contains the description for the flag (field name name is kept for backwards-compatibility)
0Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.
feature_flags - feature_flagsexperiments - experimentssurveys - surveysearly_access_features - early_access_featuresweb_experiments - web_experimentsSpecifies where this feature flag should be evaluated
server - Serverclient - Clientall - AllLast time this feature flag was called (from $feature_flag_called events)
truePOST /api /projects /:project_id /feature_flags /user_blast_radiusexport 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/feature_flags/user_blast_radius/\-d key="string"
Questions about this page? or post a community question.