---
title: "Get a flag"
method: GET
path: "/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}"
tags: ["feature-flags"]
---

# Get a flag

`GET /v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}`

Retrieve a specific feature flag by its ID or slug.

## Path parameters

- `projectIdOrName` string, required — The project id or name
- `flagIdOrSlug` string, required — The flag id or name

## Query parameters

- `ifMatch` string — Etag to match, can be used interchangeably with the `if-match` header
- `withMetadata` boolean — Whether to include metadata in the response
- `teamId` string
- `slug` string

## Response `200`

- Flag
  - `description` string
  - `variants` object[], required
  - `id` string, required
  - `environments` object, required
  - `kind` 'boolean' | 'json' | 'number' | 'string', required
  - `revision` number, required
  - `seed` number, required
  - `state` 'active' | 'archived', required
  - `maintainerIds` string[]
  - `permanent` false | true
  - `tags` string[]
  - `slug` string, required
  - `createdAt` number, required
  - `updatedAt` number, required
  - `updatedBy` string
  - `createdBy` string, required
  - `ownerId` string, required
  - `projectId` string, required
  - `typeName` 'flag', required
  - `metadata` object
    - `creator` object
      - `id` string, required
      - `name` string, required

## Other responses

- `304`
- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `402` — The account is missing a payment so payment method must be updated
- `403` — You do not have permission to access this resource.
- `404`
- `410`

## Changes

- **2026-08-22** `3157f7f3ef33` — 2 breaking
  - added `subschema #4` to the `environments/additionalProperties/fallthrough` response property `oneOf` list for the response status `200`
  - added `subschema #4` to the `environments/additionalProperties/rules/items/outcome` response property `oneOf` list for the response status `200`
- **2026-08-20** `b4b4b597ab64` — 2 info
  - removed `subschema #4` from the `environments/additionalProperties/fallthrough` response property `oneOf` list for the response status `200`
  - removed `subschema #4` from the `environments/additionalProperties/rules/items/outcome` response property `oneOf` list for the response status `200`
- **2026-08-19** `6b6e0450635c` — 1 warning
  - removed the optional property `experiment` from the response with the `200` status
- **2026-08-18** `4a14567fe836` — 6 breaking, 16 warning, 7 info
  - the response property `experiment` became nullable for the status `200`
  - added `subschema #4` to the `environments/additionalProperties/fallthrough` response property `oneOf` list for the response status `200`
  - added `subschema #4` to the `environments/additionalProperties/rules/items/outcome` response property `oneOf` list for the response status `200`
  - removed the required property `experiment/allocationUnit` from the response with the `200` status
  - …25 more
- **2026-07-26** `01c71864fa50` — 1 info
  - added the optional property `updatedBy` to the response with the `200` status

[Full history](https://skmtc.dev/vercel/apis/api/changes/v1/projects/:projectIdOrName/feature-flags/flags/:flagIdOrSlug/get.md)

---

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