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.
GET | |
POST | |
GET | |
PATCH | |
DELETE | |
GET | |
POST | |
POST | |
GET | |
POST | |
GET | |
GET | |
POST | |
GET | |
GET | |
POST | |
POST | |
POST | |
GET |
Also available via the PostHog MCP server:
feature-flag-get-all— Get all feature flags
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.
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.
feature_flag:read"STALE""false""true" "both""client""server" "false""true" "boolean""experiment""multivariant""remote_config" 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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"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": {},"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": {},"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": {},"role_at_organization": "engineering"},"ensure_experience_continuity": true,"experiment_set": [0],"experiment_set_metadata": [{}],"surveys": {},"features": {},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_contexts": [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","bucketing_identifier": "distinct_id","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true,"is_used_in_replay_settings": true}]}
Also available via the PostHog MCP server:
create-feature-flag— Create feature flag
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.
feature_flag:writePOST /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"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},data={"key": "string"}).json()
{"id": 0,"name": "string","key": "string","filters": {},"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": {},"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": {},"role_at_organization": "engineering"},"ensure_experience_continuity": true,"experiment_set": [0],"experiment_set_metadata": [{}],"surveys": {},"features": {},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_contexts": [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","bucketing_identifier": "distinct_id","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true,"is_used_in_replay_settings": true}
Also available via the PostHog MCP server:
feature-flag-get-definition— Get feature flag definition
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.
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.
feature_flag:readGET /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"id": 0,"name": "string","key": "string","filters": {},"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": {},"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": {},"role_at_organization": "engineering"},"ensure_experience_continuity": true,"experiment_set": [0],"experiment_set_metadata": [{}],"surveys": {},"features": {},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_contexts": [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","bucketing_identifier": "distinct_id","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true,"is_used_in_replay_settings": true}
Also available via the PostHog MCP server:
update-feature-flag— Update feature flag
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.
feature_flag:writePATCH /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 key="string"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.patch("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},data={"key": "string"}).json()
{"id": 0,"name": "string","key": "string","filters": {},"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": {},"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": {},"role_at_organization": "engineering"},"ensure_experience_continuity": true,"experiment_set": [0],"experiment_set_metadata": [{}],"surveys": {},"features": {},"rollback_conditions": null,"performed_rollback": true,"can_edit": true,"tags": [null],"evaluation_contexts": [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","bucketing_identifier": "distinct_id","last_called_at": "2019-08-24T14:15:22Z","_create_in_folder": "string","_should_create_usage_dashboard": true,"is_used_in_replay_settings": true}
Also available via the PostHog MCP server:
delete-feature-flag— Delete feature flag
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
feature_flag:writeDELETE /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.delete("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},)
Also available via the PostHog MCP server:
feature-flags-activity-retrieve— Get feature flag activity log
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.
activity_log:read101GET /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/activity/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"results": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","user": {},"activity": "string","scope": "string","item_id": "string","detail": {"id": "string","changes": [{"type": "string","action": "string","field": "string","before": null,"after": null}],"merge": {"type": "string","source": null,"target": null},"trigger": {"job_type": "string","job_id": "string","payload": null},"name": "string","short_id": "string","type": "string"},"created_at": "2019-08-24T14:15:22Z"}],"next": "http://example.com","previous": "http://example.com","total_count": 0}
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.
0truePOST /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"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/create_static_cohort_for_flag/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},data={"key": "string"}).json()
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.
0truePOST /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"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/dashboard/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},data={"key": "string"}).json()
Get other active flags that depend on this flag.
feature_flag:readGET /api /projects /:project_id /feature_flags /:id /dependent_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/:id/dependent_flags/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/dependent_flags/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"id": 0,"key": "string","name": "string"}
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.
0truePOST /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"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/enrich_usage_dashboard/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},data={"key": "string"}).json()
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.
feature_flag:readGET /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/remote_config/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
Also available via the PostHog MCP server:
feature-flags-status-retrieve— Get feature flag status
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.
feature_flag:readGET /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/status/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"status": "string","reason": "string"}
Also available via the PostHog MCP server:
feature-flags-test-evaluation-create— Test feature flag evaluation
Test feature flag evaluation against a specific user at an optional point in time.
This endpoint allows testing how a feature flag would evaluate for a specific user, optionally at a historical timestamp. When a timestamp is provided, both the flag conditions and person properties are evaluated as they existed at that time.
feature_flag:readPOST /api /projects /:project_id /feature_flags /:id /test_evaluationexport 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/test_evaluation/\-d distinct_id="string"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/test_evaluation/".format(project_id=project_id,feature_flag_id="<the feature flag id>"),headers={"Authorization": "Bearer {}".format(api_key)},data={"distinct_id": "string"}).json()
{"flag_key": "string","result": null,"reason": "string","condition_index": 0,"payload": null,"person_properties": {},"evaluation_distinct_id": "string","conditions": [{"index": 0,"matched": true,"properties_matched": true,"explanation": "string","rollout_percentage": 0.1,"rollout_excluded": true,"variant": "string","properties": [{"key": "string","operator": "string","value": null,"type": "string","actual_value": null,"matched": true,"explanation": "string"}]}]}
{"error": "string"}
{"error": "string"}
{"error": "string"}
{"error": "string"}
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.
feature_flag:readGET /api /projects /:project_id /feature_flags /:id /versions /:version_numberexport 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/versions/:version_number/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/{feature_flag_id}/versions/{version_number}/".format(project_id=project_id,feature_flag_id="<the feature flag id>",version_number="<the version number>"),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"id": 0,"key": "string","name": "string","filters": {},"active": true,"deleted": true,"version": -2147483648,"rollback_conditions": null,"performed_rollback": true,"ensure_experience_continuity": true,"has_enriched_analytics": true,"is_remote_configuration": true,"has_encrypted_payloads": true,"evaluation_runtime": "server","bucketing_identifier": "distinct_id","last_called_at": "2019-08-24T14:15:22Z","created_at": "2019-08-24T14:15:22Z","created_by": 0,"is_historical": true,"version_timestamp": "2019-08-24T14:15:22Z","modified_by": 0}
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.
activity_log:read101GET /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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/activity/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},).json()
{"results": [{"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08","user": {},"activity": "string","scope": "string","item_id": "string","detail": {"id": "string","changes": [{"type": "string","action": "string","field": "string","before": null,"after": null}],"merge": {"type": "string","source": null,"target": null},"trigger": {"job_type": "string","job_id": "string","payload": null},"name": "string","short_id": "string","type": "string"},"created_at": "2019-08-24T14:15:22Z"}],"next": "http://example.com","previous": "http://example.com","total_count": 0}
Bulk delete feature flags by filter criteria or explicit IDs.
Accepts either:
Returns same format as bulk_delete for UI compatibility.
Uses bulk operations for efficiency: database updates are batched and cache invalidation happens once at the end rather than per-flag.
feature_flag:writePOST /api /projects /:project_id /feature_flags /bulk_deleteexport 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_delete/\-d filters=undefined
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/bulk_delete/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},data={}).json()
{"deleted": [{"id": 0,"key": "string","rollout_state": "fully_rolled_out","active_variant": "string"}],"errors": [{"id": null,"key": "string","reason": "string"}]}
{"error": "string"}
Get feature flag keys by IDs. Accepts a list of feature flag IDs and returns a mapping of ID to key.
feature_flag:readPOST /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 ids="array"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/bulk_keys/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},data={"ids": "array"}).json()
{"keys": {"property1": "string","property2": "string"},"warning": "string"}
{"error": "string"}
Bulk update tags on multiple objects.
PAT access: this action has no required_scopes= on the decorator —
inheriting viewsets must add "bulk_update_tags" to their
scope_object_write_actions list to accept personal API keys.
Without that opt-in, APIScopePermission rejects PAT requests with
"This action does not support personal API key access". Done per-viewset
so granting <scope>:write for one resource doesn't leak access to
sibling resources that share this mixin.
Accepts:
Actions:
feature_flag:writePOST /api /projects /:project_id /feature_flags /bulk_update_tagsexport 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_update_tags/\-d ids="array",\-d action=undefined,\-d tags="array"
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.post("<ph_app_host>/api/projects/{project_id}/feature_flags/bulk_update_tags/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},data={"ids": "array","tags": "array"}).json()
{"updated": [{"id": 0,"tags": ["string"]}],"skipped": [{"id": 0,"reason": "string"}]}
Also available via the PostHog MCP server:
feature-flags-evaluation-reasons-retrieve— Get feature flag evaluation reasons
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.
feature_flag:read{}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/
api_key = "[your personal api key]"project_id = "[your project id]"response = requests.get("<ph_app_host>/api/projects/{project_id}/feature_flags/evaluation_reasons/".format(project_id=project_id),headers={"Authorization": "Bearer {}".format(api_key)},).json()
Questions about this page? or post a community question.