---
title: "Create approval request to copy flag configurations across environments"
method: POST
path: "/api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests-flag-copy"
tags: ["Approvals"]
---

# Create approval request to copy flag configurations across environments

`POST /api/v2/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests-flag-copy`

Create an approval request to copy a feature flag's configuration across environments.

## Path parameters

- `projectKey` string, string, required — The project key
- `featureFlagKey` string, string, required — The feature flag key
- `environmentKey` string, string, required — The environment key for the target environment

## Request body

- CreateCopyFlagConfigApprovalRequestRequest
  - `comment` string — Optional comment describing the approval request
  - `description` string, required — A brief description of your changes
  - `notifyMemberIds` string[] — An array of member IDs. These members are notified to review the approval request.
  - `notifyTeamKeys` string[] — An array of team keys. The members of these teams are notified to review the approval request.
  - `source` SourceFlag, required
    - `key` string, required — The environment key for the source environment
    - `version` integer — The version of the source flag from which to copy
  - `includedActions` string[] — Optional list of the flag changes to copy from the source environment to the target environment. You may include either <code>includedActions</code> or <code>excludedActions</code>, but not both. If neither are included, then all flag changes will be copied.
  - `excludedActions` string[] — Optional list of the flag changes NOT to copy from the source environment to the target environment. You may include either <code>includedActions</code> or <code>excludedActions</code>, but not both. If neither are included, then all flag changes will be copied.

## Response `201`

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

- `400` — Invalid request
- `401` — Invalid access token
- `403` — Forbidden
- `409` — Status conflict
- `429` — Rate limited

---

[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)
