---
title: "POST /api/v1/projects/{project_pk}/features/"
method: POST
path: "/api/v1/projects/{project_pk}/features/"
tags: ["mcp"]
---

# POST /api/v1/projects/{project_pk}/features/

`POST /api/v1/projects/{project_pk}/features/`

Creates a new feature flag in the specified project with default settings.

## Path parameters

- `project_pk` integer, required — Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined

## Request body

- ListFeature — Functionality for serializers that need to handle metadata
  - `id` integer
  - `name` string, required
  - `type` union
    - 'STANDARD' | 'MULTIVARIATE' — * `STANDARD` - STANDARD * `MULTIVARIATE` - MULTIVARIATE
    - ''
  - `default_enabled` boolean
  - `initial_value` string, nullable
  - `created_date` string, date-time
  - `description` string, nullable
  - `tags` integer[]
  - `multivariate_options` NestedMultivariateFeatureOption[]
    - `id` integer
    - `uuid` string, uuid
    - `type` union
      - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
      - ''
      - unknown
    - `integer_value` integer, nullable
    - `string_value` string, nullable
    - `boolean_value` boolean, nullable
    - `default_percentage_allocation` number, double
    - `key` string, nullable — A stable, human-readable identifier for the variant.
  - `is_archived` boolean
  - `owners` integer[]
  - `group_owners` integer[]
  - `uuid` string, uuid
  - `project` integer — Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined
  - `environment_feature_state` FeatureStateSerializerSmall
    - `id` integer
    - `feature_state_value` union
      - string
      - integer
      - boolean
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `feature_segment` integer, nullable
    - `enabled` boolean
  - `segment_feature_state` FeatureStateSerializerSmall
    - `id` integer
    - `feature_state_value` union
      - string
      - integer
      - boolean
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `feature_segment` integer, nullable
    - `enabled` boolean
  - `num_segment_overrides` integer — Number of segment overrides that exist for the given feature in the environment provided by the `environment` query parameter.
  - `num_identity_overrides` integer, nullable — Number of identity overrides that exist for the given feature in the environment provided by the `environment` query parameter. Note: will return null for Edge enabled projects.
  - `is_num_identity_overrides_complete` boolean
  - `is_server_key_only` boolean
  - `last_modified_in_any_environment` string, date-time, nullable — Datetime representing the last time that the feature was modified in any environment in the given project. Note: requires feature versioning v2 enabled on the environment.
  - `last_modified_in_current_environment` string, date-time, nullable — Datetime representing the last time that the feature was modified in any environment in the current environment. Note: requires that the environment query parameter is passed and feature versioning v2 enabled on the environment.
  - `metadata` Metadata[]
    - `id` integer
    - `model_field` integer, required
    - `field_value` string, required
  - `code_references_counts` FeatureFlagCodeReferencesRepositoryCount[]
    - `repository_url` string, uri, required
    - `count` integer, required
    - `last_successful_repository_scanned_at` string, date-time, required
    - `last_feature_found_at` string, date-time, nullable, required
  - `lifecycle_stage` 'new' | 'live' | 'stale' | 'permanent' | 'needs_monitoring' | 'to_remove' — * `new` - new * `live` - live * `stale` - stale * `permanent` - permanent * `needs_monitoring` - needs_monitoring * `to_remove` - to_remove

## Response `201`

- ListFeature — Functionality for serializers that need to handle metadata
  - `id` integer
  - `name` string, required
  - `type` union
    - 'STANDARD' | 'MULTIVARIATE' — * `STANDARD` - STANDARD * `MULTIVARIATE` - MULTIVARIATE
    - ''
  - `default_enabled` boolean
  - `initial_value` string, nullable
  - `created_date` string, date-time
  - `description` string, nullable
  - `tags` integer[]
  - `multivariate_options` NestedMultivariateFeatureOption[]
    - `id` integer
    - `uuid` string, uuid
    - `type` union
      - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
      - ''
      - unknown
    - `integer_value` integer, nullable
    - `string_value` string, nullable
    - `boolean_value` boolean, nullable
    - `default_percentage_allocation` number, double
    - `key` string, nullable — A stable, human-readable identifier for the variant.
  - `is_archived` boolean
  - `owners` integer[]
  - `group_owners` integer[]
  - `uuid` string, uuid
  - `project` integer — Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined
  - `environment_feature_state` FeatureStateSerializerSmall
    - `id` integer
    - `feature_state_value` union
      - string
      - integer
      - boolean
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `feature_segment` integer, nullable
    - `enabled` boolean
  - `segment_feature_state` FeatureStateSerializerSmall
    - `id` integer
    - `feature_state_value` union
      - string
      - integer
      - boolean
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `feature_segment` integer, nullable
    - `enabled` boolean
  - `num_segment_overrides` integer — Number of segment overrides that exist for the given feature in the environment provided by the `environment` query parameter.
  - `num_identity_overrides` integer, nullable — Number of identity overrides that exist for the given feature in the environment provided by the `environment` query parameter. Note: will return null for Edge enabled projects.
  - `is_num_identity_overrides_complete` boolean
  - `is_server_key_only` boolean
  - `last_modified_in_any_environment` string, date-time, nullable — Datetime representing the last time that the feature was modified in any environment in the given project. Note: requires feature versioning v2 enabled on the environment.
  - `last_modified_in_current_environment` string, date-time, nullable — Datetime representing the last time that the feature was modified in any environment in the current environment. Note: requires that the environment query parameter is passed and feature versioning v2 enabled on the environment.
  - `metadata` Metadata[]
    - `id` integer
    - `model_field` integer, required
    - `field_value` string, required
  - `code_references_counts` FeatureFlagCodeReferencesRepositoryCount[]
    - `repository_url` string, uri, required
    - `count` integer, required
    - `last_successful_repository_scanned_at` string, date-time, required
    - `last_feature_found_at` string, date-time, nullable, required
  - `lifecycle_stage` 'new' | 'live' | 'stale' | 'permanent' | 'needs_monitoring' | 'to_remove' — * `new` - new * `live` - live * `stale` - stale * `permanent` - permanent * `needs_monitoring` - needs_monitoring * `to_remove` - to_remove

---

[API](https://skmtc.dev/flagsmith/apis/flagsmith-api.md) · [All operations](https://skmtc.dev/flagsmith/apis/flagsmith-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flagsmith/flagsmith-api/revisions/5a8154d05269/schema)
