---
title: "Update approval request"
method: PATCH
path: "/api/v2/approval-requests/{id}"
tags: ["Approvals (beta)"]
---

# Update approval request

`PATCH /api/v2/approval-requests/{id}`

Perform a partial update to an approval request. Updating an approval request uses the semantic patch format. This endpoint works with any approval requests.

To make a semantic patch request, you must append `domain-model=launchdarkly.semanticpatch` to your `Content-Type` header. To learn more, read [Updates using semantic patch](https://launchdarkly.com/docs/api#updates-using-semantic-patch).

### Instructions

Semantic patch requests support the following `kind` instructions for updating an approval request.

#### addReviewers

Adds the specified members and teams to the existing list of reviewers. You must include at least one of `notifyMemberIds` and `notifyTeamKeys`.

##### Parameters

- `notifyMemberIds`: (Optional) List of member IDs.
- `notifyTeamKeys`: (Optional) List of team keys.

Here's an example:

```json
{
  "instructions": [{
    "kind": "addReviewers",
    "notifyMemberIds": [ "user-key-123abc", "user-key-456def" ],
    "notifyTeamKeys": [ "team-key-789abc"]
  }]
}
```

#### updateDescription

Updates the description (title) of the approval request.

##### Parameters

- `value`: (Required) The new description for the approval request. Must be non-empty and no more than 5000 characters.

Here's an example:

```json
{
  "instructions": [{
    "kind": "updateDescription",
    "value": "Updated approval request title"
  }]
}
```

## Path parameters

- `id` string, string, required — The approval ID

## Request body

- ApprovalRequestPatchInput
  - `comment` string — Optional comment describing the update
  - `instructions` Instruction[], required

## Response `200`

Approval request response

- FlagConfigApprovalRequestResponse
  - `_id` string, required — The ID of this approval request
  - `_version` integer, required — Version of the approval request
  - `creationDate` integer, required
  - `serviceKind` string, required
  - `requestorId` string — The ID of the member who requested the approval
  - `description` string — A human-friendly name for the approval request
  - `reviewStatus` 'approved' | 'declined' | 'pending', required — Current status of the review of this approval request
  - `allReviews` ReviewResponse[], required — An array of individual reviews of this approval request
    - `_id` string, required — The approval request ID
    - `kind` 'approve' | 'decline' | 'comment', required — The type of review action to take
    - `creationDate` integer
    - `comment` string — A comment describing the approval response
    - `memberId` string — ID of account member that reviewed request
    - `serviceTokenId` string — ID of account service token that reviewed request
  - `notifyMemberIds` string[], required — An array of member IDs. These members are notified to review the approval request.
  - `appliedDate` integer
  - `appliedByMemberId` string — The member ID of the member who applied the approval request
  - `appliedByServiceTokenId` string — The service token ID of the service token which applied the approval request
  - `status` 'pending' | 'completed' | 'failed' | 'scheduled', required — Current status of the approval request
  - `instructions` Instruction[], required
  - `conflicts` Conflict[], required — Details on any conflicting approval requests
    - `instruction` Instruction
    - `reason` string — Reason why the conflict exists
  - `_links` object, required — The location and content type of related resources
  - `executionDate` integer
  - `operatingOnId` string — ID of scheduled change to edit or delete
  - `integrationMetadata` IntegrationMetadata
    - `externalId` string, required
    - `externalStatus` IntegrationStatus, required
      - `display` string, required
      - `value` string, required
    - `externalUrl` string, required
    - `lastChecked` integer, required
  - `source` CopiedFromEnv
    - `key` string, required — Key of feature flag copied
    - `version` integer — Version of feature flag copied
  - `customWorkflowMetadata` CustomWorkflowMeta
    - `name` string — The name of the workflow stage that required this approval request
    - `stage` CustomWorkflowStageMeta
      - `index` integer — The zero-based index of the workflow stage
      - `name` string — The name of the workflow stage

## Other responses

- `401` — Invalid access token
- `403` — Forbidden
- `404` — Invalid resource identifier
- `429` — Rate limited

## Changes

- **2026-02-28** `69c5c9aafe78` — 1 breaking
  - added required request body

[Change history](https://skmtc.dev/launchdarkly/apis/launchdarkly-rest-api/changes/api/v2/approval-requests/:id/patch.md)

---

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