Feature

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.

Endpoints

    GET/api/projects/:project_id/feature_flags/
    POST/api/projects/:project_id/feature_flags/
    GET/api/projects/:project_id/feature_flags/:feature_flag_id/role_access/
    POST/api/projects/:project_id/feature_flags/:feature_flag_id/role_access/
    GET/api/projects/:project_id/feature_flags/:feature_flag_id/role_access/:id/
    DELETE/api/projects/:project_id/feature_flags/:feature_flag_id/role_access/:id/
    GET/api/projects/:project_id/feature_flags/:id/
    PATCH/api/projects/:project_id/feature_flags/:id/
    DELETE/api/projects/:project_id/feature_flags/:id/
    GET/api/projects/:project_id/feature_flags/:id/access_controls/
    GET/api/projects/:project_id/feature_flags/:id/activity/
    POST/api/projects/:project_id/feature_flags/:id/create_static_cohort_for_flag/
    POST/api/projects/:project_id/feature_flags/:id/dashboard/
    POST/api/projects/:project_id/feature_flags/:id/enrich_usage_dashboard/
    GET/api/projects/:project_id/feature_flags/:id/global_access_controls/
    GET/api/projects/:project_id/feature_flags/:id/status/
    GET/api/projects/:project_id/feature_flags/activity/

    List 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 decide endpoint instead.

    Required API key scopes

    feature_flag:read

    Path parameters

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Query parameters

    • active
      string
      One of: "false""true"
    • created_by_id
      string

      The User ID which initially created the feature flag.

    • limit
      integer

      Number of results to return per page.

    • offset
      integer

      The initial index from which to return the results.

    • search
      string

      Search by feature flag key or name. Case insensitive.

    • type
      string
      One of: "boolean""experiment""multivariant"

    Response


    Request

    GET /api/projects/:project_id/feature_flags
    export 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/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }
    ]
    }

    Create feature flags

    Required API key scopes

    feature_flag:write

    Path parameters

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • name
      string

      contains the description for the flag (field name name is kept for backwards-compatibility)

    • key
      string
    • filters
      object
    • deleted
      boolean
    • active
      boolean
    • created_at
      string
    • ensure_experience_continuity
      boolean
    • rollback_conditions
    • performed_rollback
      boolean
    • tags
      array
    • analytics_dashboards
      array
    • has_enriched_analytics
      boolean
    • creation_context

      Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.

      • feature_flags - feature_flags
      • experiments - experiments
      • surveys - surveys
      • early_access_features - early_access_features
      • web_experiments - web_experiments

    Response


    Request

    POST /api/projects/:project_id/feature_flags
    export 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"

    Response

    Status 201
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }

    List all feature flags role access

    Required API key scopes

    feature_flag:read

    Path parameters

    • feature_flag_id
      integer
    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Query parameters

    • limit
      integer

      Number of results to return per page.

    • offset
      integer

      The initial index from which to return the results.

    Response


    Request

    GET /api/projects/:project_id/feature_flags/:feature_flag_id/role_access
    export 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/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    },
    "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"
    },
    "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
    "added_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
    }
    ]
    }

    Create feature flags role access

    Required API key scopes

    feature_flag:write

    Path parameters

    • feature_flag_id
      integer
    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • role_id
      string

    Response


    Request

    POST /api/projects/:project_id/feature_flags/:feature_flag_id/role_access
    export 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"

    Response

    Status 201
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    },
    "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"
    },
    "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
    "added_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
    }

    Retrieve feature flags role access

    Required API key scopes

    feature_flag:read

    Path parameters

    • feature_flag_id
      integer
    • id
      integer

      A unique integer value identifying this feature flag role access.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Response


    Request

    GET /api/projects/:project_id/feature_flags/:feature_flag_id/role_access/:id
    export 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/:id/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    },
    "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"
    },
    "role_id": "ac4e70c8-d5be-48af-93eb-760f58fc91a9",
    "added_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
    }

    Delete feature flags role access

    Required API key scopes

    feature_flag:write

    Path parameters

    • feature_flag_id
      integer
    • id
      integer

      A unique integer value identifying this feature flag role access.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request

    DELETE /api/projects/:project_id/feature_flags/:feature_flag_id/role_access/:id
    export 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/

    Response

    Status 204 No response body

    Retrieve feature flags

    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.

    Required API key scopes

    feature_flag:read

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Response


    Request

    GET /api/projects/:project_id/feature_flags/:id
    export 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/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }

    Update feature flags

    Required API key scopes

    feature_flag:write

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • name
      string

      contains the description for the flag (field name name is kept for backwards-compatibility)

    • key
      string
    • filters
      object
    • deleted
      boolean
    • active
      boolean
    • created_at
      string
    • ensure_experience_continuity
      boolean
    • rollback_conditions
    • performed_rollback
      boolean
    • tags
      array
    • analytics_dashboards
      array
    • has_enriched_analytics
      boolean
    • creation_context

      Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.

      • feature_flags - feature_flags
      • experiments - experiments
      • surveys - surveys
      • early_access_features - early_access_features
      • web_experiments - web_experiments

    Response


    Request

    PATCH /api/projects/:project_id/feature_flags/:id
    export 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"

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }

    Delete feature flags

    Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

    Required API key scopes

    feature_flag:write

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request

    DELETE /api/projects/:project_id/feature_flags/:id
    export 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/

    Response

    Status 405 No response body

    Retrieve feature flags access controls

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Response


    Request

    GET /api/projects/:project_id/feature_flags/:id/access_controls
    export 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/access_controls/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }

    Retrieve feature flags activity retrieve

    Required API key scopes

    activity_log:read

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request

    GET /api/projects/:project_id/feature_flags/:id/activity
    export 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/

    Response

    Status 200 No response body

    Create feature flags create static cohort for flag

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • name
      string

      contains the description for the flag (field name name is kept for backwards-compatibility)

    • key
      string
    • filters
      object
    • deleted
      boolean
    • active
      boolean
    • created_at
      string
    • ensure_experience_continuity
      boolean
    • rollback_conditions
    • performed_rollback
      boolean
    • tags
      array
    • analytics_dashboards
      array
    • has_enriched_analytics
      boolean
    • creation_context

      Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.

      • feature_flags - feature_flags
      • experiments - experiments
      • surveys - surveys
      • early_access_features - early_access_features
      • web_experiments - web_experiments

    Request

    POST /api/projects/:project_id/feature_flags/:id/create_static_cohort_for_flag
    export 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"

    Response

    Status 200 No response body

    Create feature flags dashboard

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • name
      string

      contains the description for the flag (field name name is kept for backwards-compatibility)

    • key
      string
    • filters
      object
    • deleted
      boolean
    • active
      boolean
    • created_at
      string
    • ensure_experience_continuity
      boolean
    • rollback_conditions
    • performed_rollback
      boolean
    • tags
      array
    • analytics_dashboards
      array
    • has_enriched_analytics
      boolean
    • creation_context

      Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.

      • feature_flags - feature_flags
      • experiments - experiments
      • surveys - surveys
      • early_access_features - early_access_features
      • web_experiments - web_experiments

    Request

    POST /api/projects/:project_id/feature_flags/:id/dashboard
    export 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"

    Response

    Status 200 No response body

    Create feature flags enrich usage dashboard

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request parameters

    • name
      string

      contains the description for the flag (field name name is kept for backwards-compatibility)

    • key
      string
    • filters
      object
    • deleted
      boolean
    • active
      boolean
    • created_at
      string
    • ensure_experience_continuity
      boolean
    • rollback_conditions
    • performed_rollback
      boolean
    • tags
      array
    • analytics_dashboards
      array
    • has_enriched_analytics
      boolean
    • creation_context

      Indicates the origin product of the feature flag. Choices: 'feature_flags', 'experiments', 'surveys', 'early_access_features', 'web_experiments'.

      • feature_flags - feature_flags
      • experiments - experiments
      • surveys - surveys
      • early_access_features - early_access_features
      • web_experiments - web_experiments

    Request

    POST /api/projects/:project_id/feature_flags/:id/enrich_usage_dashboard
    export 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"

    Response

    Status 200 No response body

    Retrieve feature flags global access controls

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Response


    Request

    GET /api/projects/:project_id/feature_flags/:id/global_access_controls
    export 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/global_access_controls/

    Response

    Status 200
    RESPONSE
    {
    "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,
    "user_access_level": "string",
    "creation_context": "feature_flags"
    }

    Retrieve feature flags status

    Required API key scopes

    feature_flag:read

    Path parameters

    • id
      integer

      A unique integer value identifying this feature flag.

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request

    GET /api/projects/:project_id/feature_flags/:id/status
    export 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/

    Response

    Status 200 No response body

    Retrieve feature flags activity

    Required API key scopes

    activity_log:read

    Path parameters

    • project_id
      string

      Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

    Request

    GET /api/projects/:project_id/feature_flags/activity
    export 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/

    Response

    Status 200 No response body
    Next page →

    Questions?

    Was this page useful?