---
title: "Update a flag"
method: PATCH
path: "/apps/{appId}/flags/{flagId}"
---

# Update a flag

`PATCH /apps/{appId}/flags/{flagId}`

Update an existing flag

## Path parameters

- `appId` string, required — App identifier
- `flagId` string, required — Flag ID

## Request body

- object
  - `name` string — Name of the flag
  - `description` string, nullable — Description of the flag
  - `ownerUserId` string, nullable
  - `permanent` boolean
  - `secret` boolean — Whether the flag is secret
  - `isArchived` boolean
  - `stageId` string — Stage ID of the flag

## Response `200`

Requested resource retrieved successfully

- object
  - `flag` object, required
    - `id` string, required — Flag ID
    - `key` string, required — Unique flag key
    - `name` string, required — Flag name
    - `description` string — Flag description
    - `stage` StageHeader — Stage's basic information
      - `id` string, required — Stage identifier
      - `name` string, required — Stage name
      - `color` string, required — Stage color (HTML color name or hex code)
      - `order` integer, required — Stage order
    - `owner` ReflagUserHeader — Reflag user's basic information
      - `id` string, required — Reflag user identifier
      - `name` string, required — User's name
      - `email` string, email, required — User's email
      - `avatarUrl` string, uri — User's avatar URL
    - `archived` boolean, required — Whether the flag is archived
    - `stale` boolean, required — Whether the flag is stale
    - `permanent` boolean, required — Whether the flag is permanent
    - `createdAt` string — Timestamp when the flag was created
    - `rolledOutToEveryoneAt` string — Timestamp when the flag was rolled out to everyone
    - `codeRefsCleanedUp` boolean, required — Whether code references for this flag have been cleaned up
    - `codeRefsMarkedCleanUserName` string — Name of the user who marked code references as cleaned up
    - `codeRefsMarkedCleanAt` string — Timestamp when code references were marked as cleaned up
    - `lastCheckAt` string — Timestamp when the flag was last checked
    - `noRecentChecks` boolean, required — Whether the flag has no recent access checks
    - `lastTrackAt` string — Timestamp when the flag was last tracked
    - `parentFlagId` string — Parent flag ID

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Requested resource, or its parent, not found

---

[API](https://skmtc.net/reflag/apis/reflag-management-api.md) · [All operations](https://skmtc.net/reflag/apis/reflag-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reflag/reflag-management-api/versions/9063276689b5/schema)
