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 decide 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.
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 decide 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/.
"false""true" The User ID which initially created the feature flag.
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.
"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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": 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)
POST /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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true}
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/.
Number of results to return per page.
The initial index from which to return the results.
GET /api /projects /:project_id /feature_flags /:feature_flag_id /role_accessexport 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/:feature_flag_id/role_access/
{"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,"feature_flag": {"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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true},"role": {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","feature_flags_access_level": 21,"created_at": "2019-08-24T14:15:22Z","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}},"members": "string","associated_flags": "string"},"role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9","added_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}]}
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/.
POST /api /projects /:project_id /feature_flags /:feature_flag_id /role_accessexport 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/:feature_flag_id/role_access/\-d role_id="string"
{"id": 0,"feature_flag": {"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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true},"role": {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","feature_flags_access_level": 21,"created_at": "2019-08-24T14:15:22Z","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}},"members": "string","associated_flags": "string"},"role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9","added_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
feature_flag:readA unique integer value identifying this feature flag role access.
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 /:feature_flag_id /role_access /:id{"id": 0,"feature_flag": {"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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": true},"role": {"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","name": "string","feature_flags_access_level": 21,"created_at": "2019-08-24T14:15:22Z","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}},"members": "string","associated_flags": "string"},"role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9","added_at": "2019-08-24T14:15:22Z","updated_at": "2019-08-24T14:15:22Z"}
feature_flag:writeA unique integer value identifying this feature flag role access.
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 /:feature_flag_id /role_access /: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/:feature_flag_id/role_access/:id/
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 decide 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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": 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)
PATCH /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}},"created_at": "2019-08-24T14:15:22Z","is_simple_flag": true,"rollout_percentage": 0,"ensure_experience_continuity": true,"experiment_set": [0],"surveys": {"property1": null,"property2": null},"features": {"property1": null,"property2": null},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"usage_dashboard": 0,"analytics_dashboards": [0],"has_enriched_analytics": 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)
POST /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)
POST /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)
POST /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"
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/
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)
POST /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"