> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get approval request

> > For the complete documentation index, see [llms.txt](https://launchdarkly-preview.mintlify.app/llms.txt). For the full documentation snapshot, see [llms-full.txt](https://launchdarkly-preview.mintlify.app/llms-full.txt).

Get an approval request by approval request ID.

### Expanding approval response

LaunchDarkly supports the `expand` query param to include additional fields in the response, with the following fields:

- `environments` includes the environments the approval request relates to
- `flag` includes the flag the approval request belongs to
- `project` includes the project the approval request belongs to
- `resource` includes details on the resource (flag or segment) the approval request relates to

For example, `expand=project,flag` includes the `project` and `flag` fields in the response.




## OpenAPI

````yaml /openapi/launchdarkly-api.json get /api/v2/approval-requests/{id}
openapi: 3.0.3
info:
  title: LaunchDarkly REST API
  description: >
    > For the complete documentation index, see
    https://launchdarkly-preview.mintlify.app/llms.txt.

    > For the full documentation snapshot, see
    https://launchdarkly-preview.mintlify.app/llms-full.txt.


    This is the LaunchDarkly REST API. It lets you build custom integrations,
    automate your workflow, and manage feature flags and other LaunchDarkly
    resources programmatically.


    For authentication, rate limits, pagination, versioning, JSON Patch and
    semantic patches, beta resources, and the full SDK End-of-Life table, read
    the [REST API overview](https://launchdarkly-preview.mintlify.app/api).


    To fetch the complete OpenAPI spec, use [Get OpenAPI
    spec](https://launchdarkly.com/docs/api/other/get-openapi-spec).
  contact:
    name: LaunchDarkly Technical Support Team
    url: https://support.launchdarkly.com
    email: support@launchdarkly.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2.0'
servers:
  - url: https://app.launchdarkly.com
    description: ' Default'
  - url: https://app.launchdarkly.us
    description: ' Federal'
security:
  - ApiKey:
      - read
      - write
tags:
  - name: Access tokens
    description: >-
      The access tokens API allows you to list, create, modify, and delete
      access tokens programmatically.
  - name: Account members
    description: >-
      The account members API allows you to invite new members to an account by
      making a `POST` request to `/api/v2/members`. When you invite a new member
      to an account, an invitation is sent to the email you provided.
  - name: Account usage (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: AI Configs
    description: >-
      The AI Configs API allows you to create, retrieve, and edit AI Configs, AI
      Config variations, and AI model configurations.
  - name: Announcements
    description: >-
      The announcements API lets you create and update a custom announcement
      banner that appears in the LaunchDarkly user interface for everyone in
      your organization.
  - name: Applications (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Approvals
    description: >-
      An account member can request approval on changes to a flag or AI Config's
      targeting or variations, or to a segment's targeting. Members may be
      required to request approval depending on the settings in their
      LaunchDarkly project.
  - name: Approvals (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Audit log
    description: >-
      LaunchDarkly maintains a record of all the changes made to any resource in
      the system. You can access this history using the audit log API, including
      filtering by timestamps, or using a custom policy to select which entries
      to receive.
  - name: Code references
    description: >-
      > ### Code references is an Enterprise feature > > Code references is
      available to customers on an Enterprise plan. To learn more, [read about
      our pricing](https://launchdarkly.com/pricing/).
  - name: Context settings
    description: >-
      You can use the context settings API to assign a context to a specific
      variation for any feature flag. To learn more, read [View and manage
      contexts](https://launchdarkly.com/docs/home/observability/context-attributes#view-and-manage-contexts).
  - name: Contexts
    description: >-
      Contexts are people, services, machines, or other resources that encounter
      feature flags in your product. Contexts are identified by their `kind`,
      which describes the type of resources encountering flags, and by their
      `key`.
  - name: Custom roles
    description: >-
      > ### Custom roles is an Enterprise feature > > Custom roles is available
      to customers on an Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Data Export destinations
    description: >-
      > ### Data Export is an add-on feature > > Data Export is available as an
      add-on for customers on a Foundation or Enterprise plan. To learn more,
      [read about our pricing](https://launchdarkly.com/pricing/).
  - name: Environments
    description: >-
      Environments allow you to maintain separate rollout rules in different
      contexts, from local development to QA, staging, and production. With the
      LaunchDarkly Environments API, you can programmatically list, create, and
      manage environments.
  - name: Experiments
    description: >-
      > ### Available for subscription customers > > Experimentation is
      available to all customers on a Developer, Foundation, or Enterprise
      subscription. If you're on an older Pro or Enterprise plan,
      Experimentation is available as an add-on.
  - name: Feature flags
    description: >-
      The feature flags API allows you to list, create, and modify feature flags
      and their targeting. For example, you can control percentage rollouts,
      target specific contexts, or even toggle off a feature flag
      programmatically.
  - name: Feature flags (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag import configurations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag links (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag triggers
    description: >-
      > ### Flag triggers is an Enterprise feature > > Flag triggers is
      available to customers on an Enterprise plan. To learn more, [read about
      our pricing](https://launchdarkly.com/pricing/).
  - name: Follow flags
    description: >-
      Follow flags to receive email updates about targeting changes to a flag in
      a project and environment.
  - name: Holdouts (beta)
    description: >-
      > ### Available for customers using Experimentation > > Holdouts are
      available to customers using
      [Experimentation](https://launchdarkly.com/docs/api/experiments).
  - name: Insights charts (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights deployments (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights flag events (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights pull requests (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights repositories (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights scores (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Integration audit log subscriptions
    description: >-
      Audit log integration subscriptions allow you to send audit log events
      hooks to one of dozens of external tools. For example, you can send flag
      change event webhooks to external third party software.
  - name: Integration delivery configurations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Integrations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Layers
    description: >-
      > ### Available for customers using Experimentation > > Layers are
      available to customers using
      [Experimentation](https://launchdarkly.com/docs/api/experiments).
  - name: Metrics
    description: >-
      Metrics track flag behavior over time when an experiment is running. The
      data generated from experiments gives you more insight into the impact of
      a particular flag.
  - name: Metrics (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: OAuth2 Clients
    description: >-
      The OAuth2 client API allows you to register a LaunchDarkly OAuth client
      for use in your own custom integrations.
  - name: Persistent store integrations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Projects
    description: >-
      Projects allow you to manage multiple different software projects under
      one LaunchDarkly account. Each project has its own unique set of
      environments and feature flags.
  - name: Relay Proxy configurations
    description: >-
      > ### Relay Proxy automatic configuration is an Enterprise feature > >
      Relay Proxy automatic configuration is available to customers on an
      Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Release pipelines (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Release policies (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Releases (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Scheduled changes
    description: >-
      > ### Scheduled flag changes is an Enterprise feature > > Scheduled flag
      changes is available to customers on an Enterprise plan. To learn more,
      [read about our pricing](https://launchdarkly.com/pricing/).
  - name: Segments
    description: >-
      > ### Synced segments and larger list-based segments are an Enterprise
      feature > > This section documents endpoints for rule-based, list-based,
      and synced segments.
  - name: Tags
    description: >-
      Tags are simple strings that you can attach to most resources in
      LaunchDarkly. Tags are useful for grouping resources into a set that you
      can name in a resource specifier.
  - name: Teams
    description: >-
      > ### Teams is an Enterprise feature > > Teams is available to customers
      on an Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Teams (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: User settings
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of the user
      settings API.
  - name: Users
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of these
      endpoints.
  - name: Users (beta)
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of these
      endpoints.
  - name: Views (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Webhooks
    description: >-
      The webhooks API lets you build your own integrations that subscribe to
      activities in LaunchDarkly. When you generate an activity in LaunchDarkly,
      such as when you change a flag or you create a project, LaunchDarkly sends
      an HTTP POST payload to the...
  - name: Workflow templates
    description: >-
      > ### Workflows are in maintenance mode > > The workflows feature is in
      maintenance mode, and is planned for future deprecation at a date not yet
      specified.
  - name: Workflows
    description: >-
      > ### Workflows are in maintenance mode > > The workflows feature is in
      maintenance mode, and is planned for future deprecation at a date not yet
      specified.
  - name: Other
    description: Other requests available in the LaunchDarkly API.
paths:
  /api/v2/approval-requests/{id}:
    get:
      tags:
        - Approvals
      summary: Get approval request
      description: >
        > For the complete documentation index, see
        [llms.txt](https://launchdarkly-preview.mintlify.app/llms.txt). For the
        full documentation snapshot, see
        [llms-full.txt](https://launchdarkly-preview.mintlify.app/llms-full.txt).


        Get an approval request by approval request ID.


        ### Expanding approval response


        LaunchDarkly supports the `expand` query param to include additional
        fields in the response, with the following fields:


        - `environments` includes the environments the approval request relates
        to

        - `flag` includes the flag the approval request belongs to

        - `project` includes the project the approval request belongs to

        - `resource` includes details on the resource (flag or segment) the
        approval request relates to


        For example, `expand=project,flag` includes the `project` and `flag`
        fields in the response.
      operationId: getApprovalRequest
      parameters:
        - name: id
          in: path
          description: The approval request ID
          required: true
          schema:
            type: string
            format: string
            description: The approval request ID
        - name: expand
          in: query
          description: >-
            A comma-separated list of fields to expand in the response.
            Supported fields are explained above.
          schema:
            type: string
            format: string
            description: >-
              A comma-separated list of fields to expand in the response.
              Supported fields are explained above.
      responses:
        '200':
          description: Approval request response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpandableApprovalRequestResponse'
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestErrorRep'
        '401':
          description: Invalid access token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorRep'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorRep'
        '404':
          description: Unable to find approval request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundErrorRep'
        '429':
          description: Rate limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedErrorRep'
components:
  schemas:
    ExpandableApprovalRequestResponse:
      type: object
      required:
        - _id
        - _version
        - creationDate
        - serviceKind
        - reviewStatus
        - allReviews
        - notifyMemberIds
        - status
        - instructions
        - conflicts
        - _links
      properties:
        _id:
          type: string
          description: The ID of this approval request
          example: 12ab3c45de678910abc12345
        _version:
          type: integer
          description: Version of the approval request
          example: 1
        creationDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of when the approval request was created
          example: '1654104600000'
        serviceKind:
          $ref: '#/components/schemas/ApprovalRequestServiceKind'
          description: >-
            The approval service for this request. May be LaunchDarkly or an
            external approval service, such as ServiceNow or JIRA.
          example: launchdarkly
        requestorId:
          type: string
          description: The ID of the member who requested the approval
          example: 12ab3c45de678910abc12345
        description:
          type: string
          description: A human-friendly name for the approval request
          example: 'example: request approval from someone'
        reviewStatus:
          type: string
          description: Current status of the review of this approval request
          example: pending
          enum:
            - approved
            - declined
            - pending
        allReviews:
          type: array
          description: An array of individual reviews of this approval request
          items:
            $ref: '#/components/schemas/ReviewResponse'
        notifyMemberIds:
          type: array
          description: >-
            An array of member IDs. These members are notified to review the
            approval request.
          items:
            type: string
          example:
            - 1234a56b7c89d012345e678f
        appliedDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of when the approval request was applied
          example: '1654104600000'
        appliedByMemberId:
          type: string
          description: The member ID of the member who applied the approval request
          example: 1234a56b7c89d012345e678f
        appliedByServiceTokenId:
          type: string
          description: >-
            The service token ID of the service token which applied the approval
            request
          example: 1234a56b7c89d012345e678f
        status:
          type: string
          description: Current status of the approval request
          example: pending
          enum:
            - pending
            - completed
            - failed
            - scheduled
        instructions:
          $ref: '#/components/schemas/Instructions'
          description: >-
            List of instructions in semantic patch format to be applied to the
            feature flag
          example: '[{"kind": "turnFlagOn"}]'
        conflicts:
          type: array
          description: Details on any conflicting approval requests
          items:
            $ref: '#/components/schemas/Conflict'
        _links:
          type: object
          additionalProperties: {}
          description: The location and content type of related resources
        executionDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp for when instructions will be executed
          example: '1654104600000'
        operatingOnId:
          type: string
          description: ID of scheduled change to edit or delete
          example: 12ab3c45de678910abc12345
        integrationMetadata:
          $ref: '#/components/schemas/IntegrationMetadata'
          description: >-
            Details about the object in an external service corresponding to
            this approval request, such as a ServiceNow change request or a JIRA
            ticket, if an external approval service is being used
        source:
          $ref: '#/components/schemas/CopiedFromEnv'
          description: Details about the source feature flag, if copied
        customWorkflowMetadata:
          $ref: '#/components/schemas/CustomWorkflowMeta'
          description: >-
            Details about the custom workflow, if this approval request is part
            of a custom workflow
        resourceId:
          type: string
          description: String representation of a resource
        approvalSettings:
          $ref: '#/components/schemas/ApprovalSettings'
          description: The settings for this approval
        project:
          $ref: '#/components/schemas/Project'
          description: Project the approval request belongs to
        environments:
          type: array
          description: List of environments the approval impacts
          items:
            $ref: '#/components/schemas/Environment'
        flag:
          $ref: '#/components/schemas/ExpandedFlagRep'
          description: Flag the approval request belongs to
        resource:
          $ref: '#/components/schemas/ExpandedResourceRep'
          description: Resource the approval request belongs to
    InvalidRequestErrorRep:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Specific error code encountered
          example: invalid_request
        message:
          type: string
          description: Description of the error
          example: Invalid request body
    UnauthorizedErrorRep:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Specific error code encountered
          example: unauthorized
        message:
          type: string
          description: Description of the error
          example: Invalid access token
    ForbiddenErrorRep:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Specific error code encountered
          example: forbidden
        message:
          type: string
          description: Description of the error
          example: Forbidden. Access to the requested resource was denied.
    NotFoundErrorRep:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Specific error code encountered
          example: not_found
        message:
          type: string
          description: Description of the error
          example: Invalid resource identifier
    RateLimitedErrorRep:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Specific error code encountered
          example: rate_limited
        message:
          type: string
          description: Description of the error
          example: You've exceeded the API rate limit. Try again later.
    UnixMillis:
      type: integer
      format: int64
    ApprovalRequestServiceKind:
      type: string
    ReviewResponse:
      type: object
      required:
        - _id
        - kind
      properties:
        _id:
          type: string
          description: The approval request ID
          example: 12ab3c45de678910abc12345
        kind:
          type: string
          description: The type of review action to take
          example: approve
          enum:
            - approve
            - decline
            - comment
        creationDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of when the request was created
          example: '1653606981113'
        comment:
          type: string
          description: A comment describing the approval response
          example: Approved!
        memberId:
          type: string
          description: ID of account member that reviewed request
          example: 12ab3c45de678910abc12345
        serviceTokenId:
          type: string
          description: ID of account service token that reviewed request
          example: 12ab3c45de678910abc12345
    Instructions:
      type: array
      items:
        $ref: '#/components/schemas/Instruction'
    Conflict:
      type: object
      properties:
        instruction:
          $ref: '#/components/schemas/Instruction'
          description: >-
            Instruction in semantic patch format to be applied to the feature
            flag
        reason:
          type: string
          description: Reason why the conflict exists
    IntegrationMetadata:
      type: object
      required:
        - externalId
        - externalStatus
        - externalUrl
        - lastChecked
      properties:
        externalId:
          type: string
        externalStatus:
          $ref: '#/components/schemas/IntegrationStatus'
        externalUrl:
          type: string
        lastChecked:
          $ref: '#/components/schemas/UnixMillis'
    CopiedFromEnv:
      type: object
      required:
        - key
      properties:
        key:
          type: string
          description: Key of feature flag copied
          example: source-flag-key-123abc
        version:
          type: integer
          description: Version of feature flag copied
          example: 1
    CustomWorkflowMeta:
      type: object
      properties:
        name:
          type: string
          description: The name of the workflow stage that required this approval request
          example: Example workflow name
        stage:
          $ref: '#/components/schemas/CustomWorkflowStageMeta'
          description: >-
            Details on the stage of the workflow where this approval request is
            required
    ApprovalSettings:
      type: object
      required:
        - required
        - bypassApprovalsForPendingChanges
        - minNumApprovals
        - canReviewOwnRequest
        - canApplyDeclinedChanges
        - serviceKind
        - serviceConfig
        - requiredApprovalTags
      properties:
        required:
          type: boolean
          description: If approvals are required for this environment
          example: true
        bypassApprovalsForPendingChanges:
          type: boolean
          description: Whether to skip approvals for pending changes
          example: false
        minNumApprovals:
          type: integer
          description: >-
            Sets the amount of approvals required before a member can apply a
            change. The minimum is one and the maximum is five.
          example: 1
        canReviewOwnRequest:
          type: boolean
          description: >-
            Allow someone who makes an approval request to apply their own
            change
          example: false
        canApplyDeclinedChanges:
          type: boolean
          description: >-
            Allow applying the change as long as at least one person has
            approved
          example: true
        autoApplyApprovedChanges:
          type: boolean
          description: >-
            Automatically apply changes that have been approved by all
            reviewers. This field is only applicable for approval services other
            than LaunchDarkly.
          example: true
        serviceKind:
          type: string
          description: Which service to use for managing approvals
          example: launchdarkly
        serviceConfig:
          type: object
          additionalProperties: {}
          example: {}
        requiredApprovalTags:
          type: array
          description: >-
            Require approval only on flags with the provided tags. Otherwise all
            flags will require approval.
          items:
            type: string
          example:
            - require-approval
        serviceKindConfigurationId:
          type: string
          description: >-
            Optional field for integration configuration ID of a custom approval
            integration. This is an Enterprise-only feature.
          example: 1ef45a85-218f-4428-a8b2-a97e5f56c258
    Project:
      type: object
      required:
        - _links
        - _id
        - key
        - includeInSnippetByDefault
        - name
        - tags
      properties:
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
          example:
            environments:
              href: /api/v2/projects/my-project/environments
              type: application/json
            self:
              href: /api/v2/projects/my-project
              type: application/json
        _id:
          type: string
          description: The ID of this project
          example: 57be1db38b75bf0772d11383
        key:
          type: string
          description: The key of this project
          example: project-key-123abc
        includeInSnippetByDefault:
          type: boolean
          description: >-
            Whether or not flags created in this project are made available to
            the client-side JavaScript SDK by default
          example: true
        defaultClientSideAvailability:
          $ref: '#/components/schemas/ClientSideAvailability'
          description: Describes which client-side SDKs can use new flags by default
        name:
          type: string
          description: A human-friendly name for the project
          example: My Project
        _access:
          $ref: '#/components/schemas/Access'
          description: Details on the allowed and denied actions for this project
        tags:
          type: array
          description: A list of tags for the project
          items:
            type: string
          example:
            - ops
        defaultReleasePipelineKey:
          type: string
          description: The key of the default release pipeline for this project
        environments:
          $ref: '#/components/schemas/Environments'
          description: >-
            A paginated list of environments for the project. By default this
            field is omitted unless expanded by the client.
    Environment:
      type: object
      required:
        - _links
        - _id
        - key
        - name
        - apiKey
        - mobileKey
        - color
        - defaultTtl
        - secureMode
        - defaultTrackEvents
        - requireComments
        - confirmChanges
        - tags
        - critical
      properties:
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
          example:
            self:
              href: /api/v2/projects/my-project/environments/my-environment
              type: application/json
        _id:
          type: string
          description: >-
            The ID for the environment. Use this as the client-side ID for
            authorization in some client-side SDKs, and to associate
            LaunchDarkly environments with CDN integrations in edge SDKs.
          example: 57be1db38b75bf0772d11384
        key:
          type: string
          description: A project-unique key for the new environment
          example: environment-key-123abc
        name:
          type: string
          description: A human-friendly name for the new environment
          example: My Environment
        apiKey:
          type: string
          description: >-
            The SDK key for the environment. Use this for authorization in
            server-side SDKs.
          example: sdk-xxx
        mobileKey:
          type: string
          description: >-
            The mobile key for the environment. Use this for authorization in
            mobile SDKs.
          example: mob-xxx
        color:
          type: string
          description: The color used to indicate this environment in the UI
          example: F5A623
        defaultTtl:
          type: integer
          description: >-
            The default time (in minutes) that the PHP SDK can cache feature
            flag rules locally
          example: 5
        secureMode:
          type: boolean
          description: >-
            Ensures that one end user of the client-side SDK cannot inspect the
            variations for another end user
          example: true
        _access:
          $ref: '#/components/schemas/Access'
        defaultTrackEvents:
          type: boolean
          description: Enables tracking detailed information for new flags by default
          example: false
        requireComments:
          type: boolean
          description: >-
            Whether members who modify flags and segments through the
            LaunchDarkly user interface are required to add a comment
          example: true
        confirmChanges:
          type: boolean
          description: >-
            Whether members who modify flags and segments through the
            LaunchDarkly user interface are required to confirm those changes
          example: true
        tags:
          type: array
          description: A list of tags for this environment
          items:
            type: string
          example:
            - ops
        approvalSettings:
          $ref: '#/components/schemas/ApprovalSettings'
          description: Details about the approval settings for flags in this environment
        resourceApprovalSettings:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ApprovalSettings'
          description: >-
            Details about the approval settings for other resources in this
            environment, organized by resource kind (for example, "aiconfig" and
            "segment")
        critical:
          type: boolean
          description: Whether the environment is critical
          example: true
    ExpandedFlagRep:
      type: object
      required:
        - name
        - kind
        - key
        - _version
        - creationDate
        - variations
        - temporary
        - tags
        - _links
        - customProperties
        - archived
      properties:
        name:
          type: string
          description: A human-friendly name for the feature flag
          example: My Flag
        kind:
          type: string
          description: Kind of feature flag
          example: boolean
          enum:
            - boolean
            - multivariate
        description:
          type: string
          description: Description of the feature flag
          example: This flag controls the example widgets
        key:
          type: string
          description: A unique key used to reference the flag in your code
          example: flag-key-123abc
        _version:
          type: integer
          description: Version of the feature flag
          example: 1
        creationDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of flag creation date
          example: '1494437420312'
        includeInSnippet:
          type: boolean
          description: >-
            Deprecated, use <code>clientSideAvailability</code>. Whether this
            flag should be made available to the client-side JavaScript SDK
          example: true
          deprecated: true
        clientSideAvailability:
          $ref: '#/components/schemas/ClientSideAvailability'
          description: Which type of client-side SDKs the feature flag is available to
          example: '{"usingMobileKey":true,"usingEnvironmentId":false}'
        variations:
          type: array
          description: An array of possible variations for the flag
          items:
            $ref: '#/components/schemas/Variation'
          example:
            - _id: e432f62b-55f6-49dd-a02f-eb24acf39d05
              value: true
            - _id: a00bf58d-d252-476c-b915-15a74becacb4
              value: false
        temporary:
          type: boolean
          description: Whether the flag is a temporary flag
          example: true
        tags:
          type: array
          description: Tags for the feature flag
          items:
            type: string
          example:
            - example-tag
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
          example:
            parent:
              href: /api/v2/flags/my-project
              type: application/json
            self:
              href: /api/v2/flags/my-project/my-flag
              type: application/json
        maintainerId:
          type: string
          description: The ID of the member who maintains the flag
          example: 569f183514f4432160000007
        _maintainer:
          $ref: '#/components/schemas/MemberSummary'
          description: Details on the member who maintains this feature flag
        customProperties:
          $ref: '#/components/schemas/CustomProperties'
          description: >-
            Metadata attached to the feature flag, in the form of the property
            key associated with a name and array of values for the metadata to
            associate with this flag. Typically used to store data related to an
            integration.
          example: '{"jira.issues":{"name":"Jira issues","value":["is-123","is-456"]}}'
        archived:
          type: boolean
          description: Boolean indicating if the feature flag is archived
          example: false
        archivedDate:
          $ref: '#/components/schemas/UnixMillis'
          description: If archived is true, date of archive
          example: '1494437420312'
        defaults:
          $ref: '#/components/schemas/Defaults'
          description: >-
            The indices, from the array of variations, for the variations to
            serve by default when targeting is on and when targeting is off.
            These variations will be used for this flag in new environments. If
            omitted, the first and last variation will be used.
          example: '{"onVariation":0,"offVariation":1}'
    ExpandedResourceRep:
      type: object
      required:
        - kind
      properties:
        kind:
          type: string
          description: The type of resource
          example: flag
        aiConfig:
          $ref: '#/components/schemas/AIConfigRep'
        experiment:
          $ref: '#/components/schemas/ExpandedExperimentRep'
        flag:
          $ref: '#/components/schemas/ExpandedFlagRep'
        segment:
          $ref: '#/components/schemas/UserSegment'
    Instruction:
      type: object
      additionalProperties: {}
    IntegrationStatus:
      type: object
      required:
        - display
        - value
      properties:
        display:
          type: string
        value:
          type: string
    CustomWorkflowStageMeta:
      type: object
      properties:
        index:
          type: integer
          description: The zero-based index of the workflow stage
          example: 0
        name:
          type: string
          description: The name of the workflow stage
          example: Stage 1
    Link:
      type: object
      properties:
        href:
          type: string
        type:
          type: string
    ClientSideAvailability:
      type: object
      properties:
        usingMobileKey:
          type: boolean
        usingEnvironmentId:
          type: boolean
    Access:
      type: object
      required:
        - denied
        - allowed
      properties:
        denied:
          type: array
          items:
            $ref: '#/components/schemas/AccessDenied'
        allowed:
          type: array
          items:
            $ref: '#/components/schemas/AccessAllowedRep'
    Environments:
      type: object
      required:
        - items
      properties:
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
        totalCount:
          type: integer
          description: The number of environments returned
          example: 2
        items:
          type: array
          description: An array of environments
          items:
            $ref: '#/components/schemas/Environment'
    Variation:
      type: object
      required:
        - value
      properties:
        _id:
          type: string
          description: The ID of the variation. Leave empty when you are creating a flag.
        value:
          description: >-
            The value of the variation. For boolean flags, this must be
            <code>true</code> or <code>false</code>. For multivariate flags,
            this may be a string, number, or JSON object.
        description:
          type: string
          description: >-
            Description of the variation. Defaults to an empty string, but is
            omitted from the response if not set.
        name:
          type: string
          description: >-
            A human-friendly name for the variation. Defaults to an empty
            string, but is omitted from the response if not set.
    MemberSummary:
      type: object
      required:
        - _links
        - _id
        - role
        - email
      properties:
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
          example:
            self:
              href: /api/v2/members/569f183514f4432160000007
              type: application/json
        _id:
          type: string
          description: The member's ID
          example: 569f183514f4432160000007
        firstName:
          type: string
          description: The member's first name
          example: Ariel
        lastName:
          type: string
          description: The member's last name
          example: Flores
        role:
          type: string
          description: >-
            The member's base role. If the member has no additional roles, this
            role will be in effect.
          example: admin
        email:
          type: string
          description: The member's email address
          example: ariel@acme.com
    CustomProperties:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/customProperty'
    Defaults:
      type: object
      required:
        - onVariation
        - offVariation
      properties:
        onVariation:
          type: integer
          description: >-
            The index, from the array of variations for this flag, of the
            variation to serve by default when targeting is on.
          example: 0
        offVariation:
          type: integer
          description: >-
            The index, from the array of variations for this flag, of the
            variation to serve by default when targeting is off.
          example: 1
    AIConfigRep:
      type: object
      required:
        - key
        - name
      properties:
        key:
          type: string
          description: The key of the AI Config
          example: aiconfig-key-123abc
        name:
          type: string
          description: The name of the AI Config
          example: AI Config 1
    ExpandedExperimentRep:
      type: object
      required:
        - key
        - name
      properties:
        key:
          type: string
          description: The key of the experiment
          example: experiment-key-123abc
        name:
          type: string
          description: The name of the experiment
          example: My Experiment
        _access:
          $ref: '#/components/schemas/Access'
    UserSegment:
      type: object
      required:
        - name
        - tags
        - creationDate
        - lastModifiedDate
        - key
        - _links
        - rules
        - version
        - deleted
        - generation
      properties:
        name:
          type: string
          description: A human-friendly name for the segment.
          example: Example segment
        description:
          type: string
          description: >-
            A description of the segment's purpose. Defaults to
            <code>null</code> and is omitted in the response if not provided.
          example: Bundle our sample customers together
        tags:
          type: array
          description: Tags for the segment. Defaults to an empty array.
          items:
            type: string
          example:
            - testing
        creationDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of when the segment was created
          example: '1654104600000'
        lastModifiedDate:
          $ref: '#/components/schemas/UnixMillis'
          description: Timestamp of when the segment was last modified
          example: '1654104600000'
        key:
          type: string
          description: A unique key used to reference the segment
          example: segment-key-123abc
        included:
          type: array
          description: >-
            An array of keys for included targets. Included individual targets
            are always segment members, regardless of segment rules. For
            list-based segments over 15,000 entries, also called big segments,
            this array is either empty or omitted.
          items:
            type: string
          example:
            - user-key-123abc
        excluded:
          type: array
          description: >-
            An array of keys for excluded targets. Segment rules bypass
            individual excluded targets, so they will never be included based on
            rules. Excluded targets may still be included explicitly. This value
            is omitted for list-based segments over 15,000 entries, also called
            big segments.
          items:
            type: string
          example:
            - user-key-123abc
        includedContexts:
          type: array
          items:
            $ref: '#/components/schemas/SegmentTarget'
        excludedContexts:
          type: array
          items:
            $ref: '#/components/schemas/SegmentTarget'
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
          description: The location and content type of related resources
        rules:
          type: array
          description: An array of the targeting rules for this segment.
          items:
            $ref: '#/components/schemas/UserSegmentRule'
          example:
            - _id: 1234a56b7c89d012345e678f
              clauses:
                - _id: 12ab3c45de678910fab12345
                  attribute: email
                  negate: false
                  op: endsWith
                  values:
                    - .edu
        version:
          type: integer
          description: Version of the segment
          example: 1
        deleted:
          type: boolean
          description: Whether the segment has been deleted
          example: false
        _access:
          $ref: '#/components/schemas/Access'
        _flags:
          type: array
          description: >-
            A list of flags targeting this segment. Only included when getting a
            single segment, using the <code>getSegment</code> endpoint.
          items:
            $ref: '#/components/schemas/FlagListingRep'
        unbounded:
          type: boolean
          description: >-
            Whether this is a standard segment (<code>false</code>) or a big
            segment (<code>true</code>). Standard segments include rule-based
            segments and smaller list-based segments. Big segments include
            larger list-based segments and synced segments. If omitted, the
            segment is a standard segment.
          example: false
        unboundedContextKind:
          type: string
          description: For big segments, the targeted context kind.
        generation:
          type: integer
          description: For big segments, how many times this segment has been created.
        _unboundedMetadata:
          $ref: '#/components/schemas/SegmentMetadata'
          description: >-
            Details on the external data store backing this segment. Only
            applies to big segments.
        _external:
          type: string
          description: >-
            The external data store backing this segment. Only applies to synced
            segments.
          example: amplitude
        _externalLink:
          type: string
          description: >-
            The URL for the external data store backing this segment. Only
            applies to synced segments.
          example: https://analytics.amplitude.com/org/1234/cohort/123abc
        _importInProgress:
          type: boolean
          description: >-
            Whether an import is currently in progress for the specified
            segment. Only applies to big segments.
          example: false
    AccessDenied:
      type: object
      required:
        - action
        - reason
      properties:
        action:
          $ref: '#/components/schemas/ActionIdentifier'
        reason:
          $ref: '#/components/schemas/AccessDeniedReason'
    AccessAllowedRep:
      type: object
      required:
        - action
        - reason
      properties:
        action:
          $ref: '#/components/schemas/ActionIdentifier'
        reason:
          $ref: '#/components/schemas/AccessAllowedReason'
    customProperty:
      type: object
      required:
        - name
        - value
      properties:
        name:
          type: string
          description: The name of the custom property of this type.
          example: Jira issues
        value:
          type: array
          description: >-
            An array of values for the custom property data to associate with
            this flag.
          items:
            type: string
          example:
            - is-123
            - is-456
    SegmentTarget:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
        contextKind:
          type: string
    UserSegmentRule:
      type: object
      required:
        - clauses
      properties:
        _id:
          type: string
        clauses:
          type: array
          items:
            $ref: '#/components/schemas/Clause'
        weight:
          type: integer
        rolloutContextKind:
          type: string
        bucketBy:
          type: string
        description:
          type: string
    FlagListingRep:
      type: object
      required:
        - name
        - key
      properties:
        name:
          type: string
          description: The flag name
          example: Example flag
        key:
          type: string
          description: The flag key
          example: flag-key-123abc
        _links:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Link'
        _site:
          $ref: '#/components/schemas/Link'
    SegmentMetadata:
      type: object
      properties:
        envId:
          type: string
        segmentId:
          $ref: '#/components/schemas/SegmentId'
        version:
          type: integer
        includedCount:
          type: integer
        excludedCount:
          type: integer
        lastModified:
          $ref: '#/components/schemas/UnixMillis'
        deleted:
          type: boolean
    ActionIdentifier:
      type: string
    AccessDeniedReason:
      type: object
      required:
        - effect
      properties:
        resources:
          type: array
          description: Resource specifier strings
          items:
            type: string
          example:
            - proj/*:env/*;qa_*:/flag/*
        notResources:
          type: array
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
          items:
            type: string
        actions:
          type: array
          description: Actions to perform on a resource
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          example:
            - '*'
        notActions:
          type: array
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
          items:
            $ref: '#/components/schemas/ActionSpecifier'
        effect:
          type: string
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
          example: allow
          enum:
            - allow
            - deny
        role_name:
          type: string
    AccessAllowedReason:
      type: object
      required:
        - effect
      properties:
        resources:
          type: array
          description: Resource specifier strings
          items:
            type: string
          example:
            - proj/*:env/*;qa_*:/flag/*
        notResources:
          type: array
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
          items:
            type: string
        actions:
          type: array
          description: Actions to perform on a resource
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          example:
            - '*'
        notActions:
          type: array
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
          items:
            $ref: '#/components/schemas/ActionSpecifier'
        effect:
          type: string
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
          example: allow
          enum:
            - allow
            - deny
        role_name:
          type: string
    Clause:
      type: object
      required:
        - attribute
        - op
        - values
        - negate
      properties:
        _id:
          type: string
        attribute:
          type: string
        op:
          $ref: '#/components/schemas/Operator'
        values:
          type: array
          items: {}
        contextKind:
          type: string
        negate:
          type: boolean
    SegmentId:
      type: string
    ActionSpecifier:
      type: string
    Operator:
      type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: Authorization

````