Flagsmith · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Flagsmith Features API

42 actions 42 updates phrasing extends openapi/flagsmith-features-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Flagsmith's API. It is a proposal applied on top of the contract, not a document Flagsmith publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 42 · first 16 shown; the file carries all of them

$.info
$.paths['/projects/{project_id}/features/'].get
$.paths['/projects/{project_id}/features/'].post
$.paths['/projects/{project_id}/features/{feature_id}/'].get
$.paths['/projects/{project_id}/features/{feature_id}/'].put
$.paths['/projects/{project_id}/features/{feature_id}/'].delete
$.paths['/environments/{environment_api_key}/featurestates/'].get
$.paths['/environments/{environment_api_key}/featurestates/{feature_state_id}/'].patch
$.paths['/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{id}/'].delete
$.paths['/api/v1/features/create-feature-export/'].post
$.paths['/api/v1/features/download-feature-export/{feature_export_id}/'].get
$.paths['/api/v1/features/download-flagsmith-on-flagsmith/'].get
$.paths['/api/v1/features/feature-import/{environment_id}'].post
$.paths['/api/v1/features/feature-segments/'].post
$.paths['/api/v1/features/feature-segments/{id}/'].get
$.paths['/api/v1/features/feature-segments/{id}/'].put

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Flagsmith Features API
  version: 1.0.0
extends: openapi/flagsmith-features-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 41
- target: $.paths['/projects/{project_id}/features/'].get
  update:
    x-apievangelist-phrasing:
      intent: List a project's feature flags
      effect: read
      questions:
      - What feature flags are defined in my Flagsmith project?
      - Can I see each flag's type, description and default value across a project?
      instructions:
      - text: List all feature flags in project {project_id}.
        slots:
          project_id: path.project_id
      - text: Show the names and default values of every flag in project {project_id}.
        slots:
          project_id: path.project_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/features/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a feature flag
      effect: write
      questions:
      - How do I add a new feature flag that shows up in every environment?
      - Can a new flag start enabled with an initial value?
      - Is it possible to tag a feature when I create it?
      instructions:
      - text: Create a feature flag named {name} in project {project_id}.
        slots:
          name: requestBody.name
          project_id: path.project_id
      - text: Add flag {name} to project {project_id}, enabled by default {default_enabled}, with initial value {initial_value}.
        slots:
          name: requestBody.name
          project_id: path.project_id
          default_enabled: requestBody.default_enabled
          initial_value: requestBody.initial_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/features/{feature_id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a feature flag's details
      effect: read
      questions:
      - How is a specific feature flag configured, including its multivariate options?
      - Can I look up one flag in a project by its ID?
      instructions:
      - text: Get feature {feature_id} in project {project_id}.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
      - text: Show the configuration and variants of flag {feature_id} from project {project_id}.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/features/{feature_id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a feature flag (unversioned path)
      effect: write
      questions:
      - How do I rename a feature flag or change its type with a full update?
      - Can I archive a flag by sending the whole feature on the unversioned PUT?
      instructions:
      - text: Fully update feature {feature_id} in project {project_id} with name {name}.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
          name: requestBody.name
      - text: Replace flag {feature_id} in {project_id} as {name}, archived {is_archived}.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
          name: requestBody.name
          is_archived: requestBody.is_archived
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/features/{feature_id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a feature flag (unversioned path)
      effect: destructive
      questions:
      - How do I permanently remove a feature flag from all environments using the unversioned route?
      - Can deleting a flag be undone?
      instructions:
      - text: Permanently delete feature {feature_id} from project {project_id} via the unversioned endpoint.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
      - text: Remove flag {feature_id} from every environment in project {project_id}, non-v1 route.
        slots:
          feature_id: path.feature_id
          project_id: path.project_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/environments/{environment_api_key}/featurestates/'].get
  update:
    x-apievangelist-phrasing:
      intent: List feature states in an environment
      effect: read
      questions:
      - Which flags are on or off in my production environment and with what values?
      - Can I see every feature state for one environment?
      instructions:
      - text: List feature states for environment {environment_api_key}.
        slots:
          environment_api_key: path.environment_api_key
      - text: Show which features are enabled in {environment_api_key} and their values.
        slots:
          environment_api_key: path.environment_api_key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/environments/{environment_api_key}/featurestates/{feature_state_id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Toggle a flag or change its value in an environment
      effect: write
      questions:
      - How do I turn a flag on in just one environment?
      - Can I change a feature's value in staging without touching production?
      instructions:
      - text: Set feature state {feature_state_id} in {environment_api_key} to enabled {enabled}.
        slots:
          feature_state_id: path.feature_state_id
          environment_api_key: path.environment_api_key
          enabled: requestBody.enabled
      - text: Change the value of feature state {feature_state_id} in environment {environment_api_key} to {feature_state_value}.
        slots:
          feature_state_id: path.feature_state_id
          environment_api_key: path.environment_api_key
          feature_state_value: requestBody.feature_state_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a feature version in an environment
      effect: destructive
      questions:
      - Can I delete a specific version of a feature's state in an environment?
      - How do I discard a feature version I no longer want?
      instructions:
      - text: Delete version {id} of feature {feature_pk} in environment {environment_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          environment_pk: path.environment_pk
      - text: Discard feature {feature_pk}'s version {id} from environment {environment_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          environment_pk: path.environment_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/create-feature-export/'].post
  update:
    x-apievangelist-phrasing:
      intent: Export features by tag
      effect: write
      questions:
      - How do I export an environment's features so I can import them elsewhere?
      - Can I limit a feature export to certain tags?
      instructions:
      - text: Export features from environment {environment_id} tagged {tag_ids}.
        slots:
          environment_id: requestBody.environment_id
          tag_ids: requestBody.tag_ids
      - text: Start a feature export for environment {environment_id} covering tags {tag_ids}.
        slots:
          environment_id: requestBody.environment_id
          tag_ids: requestBody.tag_ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/download-feature-export/{feature_export_id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a feature export file
      effect: read
      questions:
      - Where do I download the file from a feature export I created?
      - Can I fetch a finished feature export by its ID?
      instructions:
      - text: Download feature export {feature_export_id}.
        slots:
          feature_export_id: path.feature_export_id
      - text: Get the export file for feature export {feature_export_id}.
        slots:
          feature_export_id: path.feature_export_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/download-flagsmith-on-flagsmith/'].get
  update:
    x-apievangelist-phrasing:
      intent: Download the Flagsmith-on-Flagsmith export
      effect: read
      questions:
      - How do I get the feature export that enables Flagsmith on Flagsmith?
      - Is there a ready-made export for running Flagsmith's own flags?
      instructions:
      - text: Download the Flagsmith on Flagsmith feature export.
      - text: Fetch the export file used to set up Flagsmith on Flagsmith.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-import/{environment_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Import features into an environment
      effect: write
      questions:
      - How do I load an exported features file into another environment?
      - Can an import skip existing features, or does it overwrite them?
      instructions:
      - text: Import feature file {file} into environment {environment_id} using strategy {strategy}.
        slots:
          file: requestBody.file
          environment_id: path.environment_id
          strategy: requestBody.strategy
      - text: Upload {file} to environment {environment_id} and skip features that already exist, strategy {strategy}.
        slots:
          file: requestBody.file
          environment_id: path.environment_id
          strategy: requestBody.strategy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a segment override to a feature
      effect: write
      questions:
      - How do I target a segment with its own setting for a feature in one environment?
      - Can I set the priority of a new segment override?
      instructions:
      - text: Create a segment override for feature {feature} and segment {segment} in environment {environment}.
        slots:
          feature: requestBody.feature
          segment: requestBody.segment
          environment: requestBody.environment
      - text: Link segment {segment} to feature {feature} in {environment} at priority {priority}.
        slots:
          segment: requestBody.segment
          feature: requestBody.feature
          environment: requestBody.environment
          priority: requestBody.priority
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a feature segment override
      effect: read
      questions:
      - Which feature, segment and priority does a given segment override have?
      - Can I look up a feature segment by its numeric ID?
      instructions:
      - text: Get feature segment {id}.
        slots:
          id: path.id
      - text: Show the feature, segment and priority for feature segment {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a feature segment override
      effect: write
      questions:
      - How do I fully replace a feature segment with a new feature, segment and environment?
      - Does a full feature segment update need all three of feature, segment and environment?
      instructions:
      - text: Replace feature segment {id} with feature {feature}, segment {segment}, environment {environment}.
        slots:
          id: path.id
          feature: requestBody.feature
          segment: requestBody.segment
          environment: requestBody.environment
      - text: Overwrite feature segment {id} so it targets segment {segment} for feature {feature} in {environment}.
        slots:
          id: path.id
          segment: requestBody.segment
          feature: requestBody.feature
          environment: requestBody.environment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change a single feature segment's priority
      effect: write
      questions:
      - Can I move one segment override up in priority without resending everything?
      - How do I tweak just one field of a feature segment?
      instructions:
      - text: Set feature segment {id} to priority {priority}.
        slots:
          id: path.id
          priority: requestBody.priority
      - text: Partially update feature segment {id}, pointing it at segment {segment}.
        slots:
          id: path.id
          segment: requestBody.segment
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/get-by-uuid/{uuid}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a feature segment by UUID
      effect: read
      questions:
      - Can I find a feature segment override if I only have its UUID?
      - What endpoint resolves a feature segment UUID?
      instructions:
      - text: Get the feature segment with UUID {uuid}.
        slots:
          uuid: path.uuid
      - text: Resolve feature segment UUID {uuid} to its override details.
        slots:
          uuid: path.uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/feature-segments/update-priorities/'].post
  update:
    x-apievangelist-phrasing:
      intent: Reorder segment override priorities
      effect: write
      questions:
      - How do I reorder several segment overrides at once?
      - Can I bulk update the priorities of feature segments?
      instructions:
      - text: Update the priorities of these feature segments in one call.
      - text: Reorder segment overrides so the new priority order applies.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/get-by-uuid/{uuid}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a feature by UUID
      effect: read
      questions:
      - Can I find a feature flag when I only know its UUID?
      - Which endpoint resolves a feature UUID to the feature?
      instructions:
      - text: Get the feature with UUID {uuid}.
        slots:
          uuid: path.uuid
      - text: Resolve feature UUID {uuid} to its flag details.
        slots:
          uuid: path.uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a change request
      effect: read
      questions:
      - What flag changes and approvals are in a specific change request?
      - Can I check whether a change request has been committed yet?
      instructions:
      - text: Get change request {id}.
        slots:
          id: path.id
      - text: Show the approvals and feature states in change request {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a change request
      effect: write
      questions:
      - How do I rewrite a change request's title and proposed feature states entirely?
      - Does a full change request update require the feature states list?
      instructions:
      - text: Replace change request {id} with title {title} and feature states {feature_states}.
        slots:
          id: path.id
          title: requestBody.title
          feature_states: requestBody.feature_states
      - text: Overwrite change request {id} as {title}, ignoring conflicts {ignore_conflicts}, with states {feature_states}.
        slots:
          id: path.id
          title: requestBody.title
          ignore_conflicts: requestBody.ignore_conflicts
          feature_states: requestBody.feature_states
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a change request
      effect: destructive
      questions:
      - How do I throw away a change request that's no longer needed?
      - Can I delete a pending change request?
      instructions:
      - text: Delete change request {id}.
        slots:
          id: path.id
      - text: Discard pending change request {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a change request's details
      effect: write
      questions:
      - Can I just fix the title or description of a change request?
      - Is there a way to update only a change request's description?
      instructions:
      - text: Rename change request {id} to {title}.
        slots:
          id: path.id
          title: requestBody.title
      - text: Set the description of change request {id} to {description}.
        slots:
          id: path.id
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/approve/'].post
  update:
    x-apievangelist-phrasing:
      intent: Approve a change request
      effect: write
      questions:
      - How do I sign off on a flag change request as a reviewer?
      - Can I approve someone else's change request through the API?
      instructions:
      - text: Approve change request {id}.
        slots:
          id: path.id
      - text: Add my approval to change request {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/features/workflows/change-requests/{id}/commit/'].post
  update:
    x-apievangelist-phrasing:
      intent: Commit a change request
      effect: write
      questions:
      - How do I apply an approved change request so the flag changes go live?
      - What makes a change request's feature states take effect?
      instructions:
      - text: Commit change request {id}.
        slots:
          id: path.id
      - text: Apply the approved changes in change request {id} now.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/flags/{feature_id}/multivariate-options/'].get
  update:
    x-apievangelist-phrasing:
      intent: List a feature's multivariate options
      effect: read
      questions:
      - What variants does a multivariate flag have?
      - Can I see all the variant values and allocations for a feature?
      instructions:
      - text: List multivariate options for feature {feature_id}.
        slots:
          feature_id: path.feature_id
      - text: Show every variant of flag {feature_id} with its percentage allocation.
        slots:
          feature_id: path.feature_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/multivariate/options/get-by-uuid/{uuid}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a multivariate option by UUID
      effect: read
      questions:
      - Can I find a flag variant if I only have its UUID?
      - Which endpoint resolves a multivariate option UUID?
      instructions:
      - text: Get the multivariate option with UUID {uuid}.
        slots:
          uuid: path.uuid
      - text: Resolve variant UUID {uuid} to its value.
        slots:
          uuid: path.uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/'].post
  update:
    x-apievangelist-phrasing:
      intent: Link an external resource to a feature
      effect: write
      questions:
      - How do I attach an issue or pull request link to a feature flag?
      - Can a feature flag track external resources like tickets?
      instructions:
      - text: Link {url} of type {type} to feature {feature_pk} in project {project_pk}.
        slots:
          url: requestBody.url
          type: requestBody.type
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      - text: Attach external resource {url} to flag {feature} under feature {feature_pk}, project {project_pk}, as {type}.
        slots:
          url: requestBody.url
          feature: requestBody.feature
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          type: requestBody.type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a feature's external resource link
      effect: read
      questions:
      - What URL and type is stored on a specific external resource of a feature?
      - Can I look up one linked issue on a feature by its ID?
      instructions:
      - text: Get external resource {id} on feature {feature_pk} in project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      - text: Show linked resource {id} for flag {feature_pk}, project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a feature's external resource link
      effect: write
      questions:
      - How do I fully replace an external resource linked to a feature?
      - Does replacing a linked resource need its URL, type and feature again?
      instructions:
      - text: Replace external resource {id} on feature {feature_pk} in {project_pk} with {url} of type {type} for flag {feature}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          url: requestBody.url
          type: requestBody.type
          feature: requestBody.feature
      - text: Overwrite linked resource {id} of flag {feature_pk}, project {project_pk}, with URL {url}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink an external resource from a feature
      effect: destructive
      questions:
      - How do I remove an issue link from a feature flag?
      - Can I delete an external resource attached to a feature?
      instructions:
      - text: Delete external resource {id} from feature {feature_pk} in project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      - text: Unlink resource {id} from flag {feature_pk}, project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a feature's external resource link
      effect: write
      questions:
      - Can I change only the metadata on a feature's linked resource?
      - Is there a way to update just the URL of an external resource on a flag?
      instructions:
      - text: Set the metadata of external resource {id} on feature {feature_pk}, project {project_pk}, to {metadata}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          metadata: requestBody.metadata
      - text: Change only the URL of linked resource {id} on flag {feature_pk} in {project_pk} to {url}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/{id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one multivariate option of a feature
      effect: read
      questions:
      - What value and default allocation does a specific variant of my flag have?
      - Can I fetch one multivariate option by ID within a project feature?
      instructions:
      - text: Get multivariate option {id} of feature {feature_pk} in project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      - text: Show variant {id} for flag {feature_pk}, project {project_pk}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a multivariate option
      effect: write
      questions:
      - How do I change a variant's default percentage allocation?
      - Can I update the string value of one flag variant?
      instructions:
      - text: Set variant {id} of feature {feature_pk} in {project_pk} to {default_percentage_allocation} percent.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          default_percentage_allocation: requestBody.default_percentage_allocation
      - text: Change multivariate option {id} on flag {feature_pk}, project {project_pk}, to string value {string_value}.
        slots:
          id: path.id
          feature_pk: path.feature_pk
          project_pk: path.project_pk
          string_value: requestBody.string_value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a feature flag (v1)
      effect: destructive
      questions:
      - How do I delete a feature from a project using the v1 API?
      - Which v1 endpoint removes a project feature by ID?
      instructions:
      - text: Delete feature {id} from project {project_pk} with the v1 API.
        slots:
          id: path.id
          project_pk: path.project_pk
      - text: Remove v1 project feature {id} in {project_pk}.
        slots:
          id: path.id
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a feature flag's fields (v1)
      effect: write
      questions:
      - Can I change just a flag's description or lifecycle stage without resending the whole feature?
      - How do I mark a feature as server-key-only?
      instructions:
      - text: Update the description of feature {id} in project {project_pk} to {description}.
        slots:
          id: path.id
          project_pk: path.project_pk
          description: requestBody.description
      - text: Set is_server_key_only to {is_server_key_only} on feature {id}, project {project_pk}.
        slots:
          is_server_key_only: requestBody.is_server_key_only
          id: path.id
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/add-group-owners/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add group owners to a feature
      effect: write
      questions:
      - How do I make a team group an owner of a feature flag?
      - Can I assign several groups as owners of a flag at once?
      instructions:
      - text: Add groups {group_ids} as owners of feature {id} in project {project_pk}.
        slots:
          group_ids: requestBody.group_ids
          id: path.id
          project_pk: path.project_pk
      - text: Make groups {group_ids} own flag {id}, project {project_pk}.
        slots:
          group_ids: requestBody.group_ids
          id: path.id
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/add-owners/'].post
  update:
    x-apievangelist-phrasing:
      intent: Add user owners to a feature
      effect: write
      questions:
      - How do I set individual people as owners of a feature flag?
      - Can I add multiple users as flag owners in one request?
      instructions:
      - text: Add users {user_ids} as owners of feature {id} in project {project_pk}.
        slots:
          user_ids: requestBody.user_ids
          id: path.id
          project_pk: path.project_pk
      - text: Make users {user_ids} owners of flag {id}, project {project_pk}.
        slots:
          user_ids: requestBody.user_ids
          id: path.id
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/influx-data/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a feature's evaluation data (deprecated)
      effect: read
      questions:
      - How often was a flag evaluated in an environment over a period, via the older influx-data endpoint?
      - Can I aggregate a feature's evaluation counts by time bucket?
      instructions:
      - text: Get influx evaluation data for feature {id} in project {project_pk} for environment {environment_id}.
        slots:
          id: path.id
          project_pk: path.project_pk
          environment_id: query.environment_id
      - text: Show flag {id} evaluations in env {environment_id}, project {project_pk}, over {period} aggregated every {aggregate_every}.
        slots:
          id: path.id
          environment_id: query.environment_id
          project_pk: path.project_pk
          period: query.period
          aggregate_every: query.aggregate_every
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/projects/{project_pk}/features/{id}/remove-group-owners/'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove group owners from a feature
      effect: write
      questions:
      - How do I take a group off a feature flag's owners?
      - Can I remove several owning groups from a flag at once?
      instructions:
      - text: Remove groups {group_ids} as owners of feature {id} in project {project_pk}.
        slots:
          group_ids: requestBody.group_ids
          id: path.id
          project_pk: path.project_pk
      - text: Stop groups {group_ids} owning flag {id}, project {project_pk}.
        slots:
          group_ids: requestBody.group_ids
          id: path.id
          project_pk: path.project_pk
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/overlays/flagsmith-features-api-phrasing-overlay.yaml

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/flagsmith-features-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.