---
title: "Get a Feature Flag by ID"
method: GET
path: "/rest/featureflags/0.1/flag/{featureFlagId}"
tags: ["Feature Flags"]
---

# Get a Feature Flag by ID

`GET /rest/featureflags/0.1/flag/{featureFlagId}`

Retrieve the currently stored Feature Flag data for the given ID.

The result will be what is currently stored, ignoring any pending updates or deletes.

## Path parameters

- `featureFlagId` string, required

## Response `200`

The Feature Flag data currently stored for the given ID.

- object — Data related to a single Feature Flag, across any Environment that the flag is present in.
  - `schemaVersion` '1.0' — The FeatureFlagData schema version used for this flag data. Placeholder to support potential schema changes in the future.
  - `id` string, required — The identifier for the Feature Flag. Must be unique for a given Provider.
  - `key` string, required — The identifier that users would use to reference the Feature Flag in their source code etc. Will be made available via the UI for users to copy into their source code etc.
  - `updateSequenceId` integer, required — An ID used to apply an ordering to updates for this Feature Flag in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Feature Flag and increment that on each update to Jira). Updates for a Feature Flag that are received with an updateSqeuenceId lower than what is currently stored will be ignored.
  - `displayName` string — The human-readable name for the Feature Flag. Will be shown in the UI. If not provided, will use the ID for display.
  - `issueKeys` string[] — The Jira issue keys to associate the Feature Flag information with.
  - `associations` IssueIdOrKeysAssociation[] — The Jira issue keys or IDs to associate the feature flag with.
    - `associationType` 'issueKeys' | 'issueIdOrKeys', required — Defines the association type.
    - `values` string[], required — The Jira issue keys or IDs to associate the entity with. The number of values counted across all associationTypes must not exceed a limit of 500.
  - `summary` object, required — Summary information for a single Feature Flag. Providers may elect to provide information from a specific environment, or they may choose to 'roll up' information from across multiple environments - whatever makes most sense in the Provider system. This is the summary information that will be presented to the user on e.g. the Jira issue screen.
    - `url` string, uri — A URL users can use to link to a summary view of this flag, if appropriate. This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a specific environment, it might make sense to link the user to the flag in that environment).
    - `status` object, required — Status information about a single Feature Flag.
      - `enabled` boolean, required — Whether the Feature Flag is enabled in the given environment (or in summary). Enabled may imply a partial rollout, which can be described using the 'rollout' field.
      - `defaultValue` string — The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate. This value may be presented to the user in the UI.
      - `rollout` object — Information about the rollout of a Feature Flag in an environment (or in summary). Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present. This information may be presented to the user in the UI.
        - `percentage` number — If the Feature Flag rollout is a simple percentage rollout
        - `text` string — A text status to display that represents the rollout. This could be e.g. a named cohort.
        - `rules` integer — A count of the number of rules active for this Feature Flag in an environment.
    - `lastUpdated` string, date-time, required — The last-updated timestamp to present to the user as a summary of the state of the Feature Flag. Providers may choose to supply the last-updated timestamp from a specific environment, or the 'most recent' last-updated timestamp across all environments - whatever makes sense in the Provider system. Expected format is an RFC3339 formatted string.
  - `details` object[], required — Detail information for this Feature Flag. This may be information for each environment the Feature Flag is defined in or a selection of environments made by the user, as appropriate.
    - `url` string, uri, required — A URL users can use to link to this Feature Flag, in this environment.
    - `lastUpdated` string, date-time, required — The last-updated timestamp for this Feature Flag, in this environment. Expected format is an RFC3339 formatted string.
    - `environment` object, required — Details of a single environment. At the simplest this must be the name of the environment. Ideally there is also type information which may be used to group data from multiple Feature Flags and other entities for visualisation in the UI.
      - `name` string, required — The name of the environment.
      - `type` 'development' | 'testing' | 'staging' | 'production' — The 'type' or 'category' of environment this environment belongs to.
    - `status` object, required — Status information about a single Feature Flag.
      - `enabled` boolean, required — Whether the Feature Flag is enabled in the given environment (or in summary). Enabled may imply a partial rollout, which can be described using the 'rollout' field.
      - `defaultValue` string — The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as appropriate. This value may be presented to the user in the UI.
      - `rollout` object — Information about the rollout of a Feature Flag in an environment (or in summary). Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple are present. This information may be presented to the user in the UI.
        - `percentage` number — If the Feature Flag rollout is a simple percentage rollout
        - `text` string — A text status to display that represents the rollout. This could be e.g. a named cohort.
        - `rules` integer — A count of the number of rules active for this Feature Flag in an environment.

## Other responses

- `401` — Missing a JWT token, or token is invalid.
- `403` — The JWT token used does not correspond to an app that defines the Feature Flags module, or the app does not define the 'READ' scope.
- `404` — No data found for the given Feature Flag ID.
- `429` — API rate limit has been exceeded.
- `503` — Service is unavailable due to maintenance or other reasons.
- `default` — An unknown error has occurred.

---

[API](https://skmtc.net/atlassian/apis/jira-software-cloud-api.md) · [All operations](https://skmtc.net/atlassian/apis/jira-software-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/jira-software-cloud-api/revisions/4e108d54b990/schema)
