---
title: "POST /api/v1/environments/{environment_pk}/features/{feature_pk}/versions/"
method: POST
path: "/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/"
tags: ["mcp"]
---

# POST /api/v1/environments/{environment_pk}/features/{feature_pk}/versions/

`POST /api/v1/environments/{environment_pk}/features/{feature_pk}/versions/`

Creates a new version for a feature flag in a specific environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).

## Path parameters

- `environment_pk` integer, required
- `feature_pk` integer, required

## Request body

- EnvironmentFeatureVersionCreate
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `published` boolean
  - `live_from` string, date-time, nullable
  - `uuid` string, uuid
  - `is_live` boolean
  - `published_by` integer, nullable
  - `created_by` integer, nullable
  - `description` string, nullable
  - `feature_states_to_create` CustomEnvironmentFeatureVersionFeatureState[], nullable — Array of feature states that will be created in the new version. Note: these can only include segment overrides.
    - `id` integer
    - `feature` integer
    - `enabled` boolean
    - `feature_state_value` FeatureStateValue, required
      - `type` union
        - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
        - ''
        - unknown
      - `string_value` string, nullable
      - `integer_value` integer, nullable
      - `boolean_value` boolean, nullable
    - `feature_segment` CustomCreateSegmentOverrideFeatureSegment
      - `id` integer
      - `segment` integer, required
      - `priority` integer
      - `uuid` string, uuid
    - `deleted_at` string, date-time, nullable
    - `uuid` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `live_from` string, date-time, nullable
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `change_request` integer, nullable
    - `multivariate_feature_state_values` MultivariateFeatureStateValue[]
      - `id` integer
      - `multivariate_feature_option` integer, required
      - `percentage_allocation` number, double, required
  - `feature_states_to_update` CustomEnvironmentFeatureVersionFeatureState[], nullable — Array of feature states to update in the new version.
    - `id` integer
    - `feature` integer
    - `enabled` boolean
    - `feature_state_value` FeatureStateValue, required
      - `type` union
        - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
        - ''
        - unknown
      - `string_value` string, nullable
      - `integer_value` integer, nullable
      - `boolean_value` boolean, nullable
    - `feature_segment` CustomCreateSegmentOverrideFeatureSegment
      - `id` integer
      - `segment` integer, required
      - `priority` integer
      - `uuid` string, uuid
    - `deleted_at` string, date-time, nullable
    - `uuid` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `live_from` string, date-time, nullable
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `change_request` integer, nullable
    - `multivariate_feature_state_values` MultivariateFeatureStateValue[]
      - `id` integer
      - `multivariate_feature_option` integer, required
      - `percentage_allocation` number, double, required
  - `segment_ids_to_delete_overrides` integer[], nullable — List of segment ids for which the segment overrides will be removed in the new version.
  - `publish_immediately` boolean — Boolean to confirm whether the new version should be publish immediately or not.

## Response `201`

- EnvironmentFeatureVersionCreate
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `published` boolean
  - `live_from` string, date-time, nullable
  - `uuid` string, uuid
  - `is_live` boolean
  - `published_by` integer, nullable
  - `created_by` integer, nullable
  - `description` string, nullable
  - `feature_states_to_create` CustomEnvironmentFeatureVersionFeatureState[], nullable — Array of feature states that will be created in the new version. Note: these can only include segment overrides.
    - `id` integer
    - `feature` integer
    - `enabled` boolean
    - `feature_state_value` FeatureStateValue, required
      - `type` union
        - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
        - ''
        - unknown
      - `string_value` string, nullable
      - `integer_value` integer, nullable
      - `boolean_value` boolean, nullable
    - `feature_segment` CustomCreateSegmentOverrideFeatureSegment
      - `id` integer
      - `segment` integer, required
      - `priority` integer
      - `uuid` string, uuid
    - `deleted_at` string, date-time, nullable
    - `uuid` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `live_from` string, date-time, nullable
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `change_request` integer, nullable
    - `multivariate_feature_state_values` MultivariateFeatureStateValue[]
      - `id` integer
      - `multivariate_feature_option` integer, required
      - `percentage_allocation` number, double, required
  - `feature_states_to_update` CustomEnvironmentFeatureVersionFeatureState[], nullable — Array of feature states to update in the new version.
    - `id` integer
    - `feature` integer
    - `enabled` boolean
    - `feature_state_value` FeatureStateValue, required
      - `type` union
        - 'int' | 'unicode' | 'bool' — * `int` - Integer * `unicode` - String * `bool` - Boolean
        - ''
        - unknown
      - `string_value` string, nullable
      - `integer_value` integer, nullable
      - `boolean_value` boolean, nullable
    - `feature_segment` CustomCreateSegmentOverrideFeatureSegment
      - `id` integer
      - `segment` integer, required
      - `priority` integer
      - `uuid` string, uuid
    - `deleted_at` string, date-time, nullable
    - `uuid` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `live_from` string, date-time, nullable
    - `environment` integer, nullable
    - `identity` integer, nullable
    - `change_request` integer, nullable
    - `multivariate_feature_state_values` MultivariateFeatureStateValue[]
      - `id` integer
      - `multivariate_feature_option` integer, required
      - `percentage_allocation` number, double, required
  - `segment_ids_to_delete_overrides` integer[], nullable — List of segment ids for which the segment overrides will be removed in the new version.
  - `publish_immediately` boolean — Boolean to confirm whether the new version should be publish immediately or not.

---

[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)
