openapi: 3.1.0 info: title: LaunchDarkly REST API description: >- The LaunchDarkly REST API provides programmatic access to the full LaunchDarkly feature management platform. Developers can create, update, and manage feature flags, targeting rules, user segments, projects, environments, and team members. The API also supports scheduled flag changes, release pipelines, experimentation, approval workflows, and webhook integrations. Authentication is handled via personal or service access tokens, and the API follows a versioned scheme with the current default version being 20240415. version: '20240415' contact: name: LaunchDarkly Support url: https://support.launchdarkly.com termsOfService: https://launchdarkly.com/policies/terms-of-service license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 externalDocs: description: LaunchDarkly API Documentation url: https://apidocs.launchdarkly.com/ servers: - url: https://app.launchdarkly.com/api/v2 description: LaunchDarkly Production API tags: - name: Access Tokens description: >- Create and manage personal and service access tokens used to authenticate API requests. - name: Account Members description: >- Manage team members, invitations, and member roles within a LaunchDarkly account. - name: Approvals description: >- Manage approval requests and workflows for flag changes that require review before deployment. - name: Audit Log description: >- Access the change history of all modifications made to resources in the LaunchDarkly account. - name: Code References description: >- View code references that show where feature flags are used in your codebase. - name: Custom Roles description: >- Define custom roles with fine-grained permissions using resource specifiers and actions. - name: Environments description: >- Manage environments within projects such as production, staging, and development. - name: Experiments description: >- Create and manage experiments to measure the impact of feature flag variations on metrics. - name: Feature Flags description: >- Create, update, and manage feature flags and their targeting rules across projects and environments. - name: Flag Triggers description: >- Create triggers that allow external services to toggle feature flags via unique webhook URLs. - name: Integration Audit Log Subscriptions description: >- Manage integrations that subscribe to audit log events and forward them to external tools. - name: Metrics description: >- Define and manage metrics used to measure experiment outcomes and feature flag impact. - name: Projects description: >- Manage projects that organize feature flags and other resources. - name: Relay Proxy Configurations description: >- Manage automatic configuration entries for LaunchDarkly Relay Proxy instances. - name: Releases description: >- Manage release pipelines for coordinating feature flag rollouts across environments. - name: Segments description: >- Create and manage user segments for targeting groups of contexts with feature flags. - name: Teams description: >- Organize account members into teams for collaborative flag management and permissions. - name: Webhooks description: >- Configure webhooks to receive HTTP POST notifications when changes occur in LaunchDarkly. - name: Workflows description: >- Create and manage automated workflows for scheduling and orchestrating flag changes. security: - bearerAuth: [] paths: /flags/{projectKey}: get: operationId: listFeatureFlags summary: List feature flags description: >- Returns a paginated list of all feature flags in the specified project. Supports filtering by tag, query string, and environment. tags: - Feature Flags parameters: - $ref: '#/components/parameters/ProjectKey' - name: env in: query description: >- Filter configurations by environment key. schema: type: string - name: tag in: query description: >- Filter flags by tag. schema: type: string - name: limit in: query description: >- Maximum number of flags to return. schema: type: integer - name: offset in: query description: >- Number of flags to skip for pagination. schema: type: integer - name: filter in: query description: >- A filter expression to apply to the flag list, supporting query, tags, and other fields. schema: type: string responses: '200': description: Successful response containing a list of feature flags. content: application/json: schema: $ref: '#/components/schemas/FeatureFlags' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. post: operationId: createFeatureFlag summary: Create a feature flag description: >- Creates a new feature flag in the specified project with the provided configuration including key, name, variations, and default targeting rules. tags: - Feature Flags parameters: - $ref: '#/components/parameters/ProjectKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FeatureFlagBody' responses: '201': description: Feature flag created successfully. content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A flag with the given key already exists. /flags/{projectKey}/{flagKey}: get: operationId: getFeatureFlag summary: Get a feature flag description: >- Returns a single feature flag by its key, including all environment-specific configurations and targeting rules. tags: - Feature Flags parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - name: env in: query description: >- Filter configurations by environment key. schema: type: string responses: '200': description: Successful response containing the feature flag. content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or project not found. patch: operationId: patchFeatureFlag summary: Update a feature flag description: >- Updates a feature flag using a JSON Patch or semantic patch representation. Supports modifying targeting rules, variations, prerequisites, and other flag settings. tags: - Feature Flags parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchOperation' responses: '200': description: Feature flag updated successfully. content: application/json: schema: $ref: '#/components/schemas/FeatureFlag' '400': description: Invalid patch request. '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or project not found. '409': description: Conflict due to concurrent modification. delete: operationId: deleteFeatureFlag summary: Delete a feature flag description: >- Permanently deletes a feature flag and all of its associated targeting rules and environment configurations. tags: - Feature Flags parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' responses: '204': description: Feature flag deleted successfully. '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or project not found. /projects: get: operationId: listProjects summary: List projects description: >- Returns a list of all projects in the LaunchDarkly account. tags: - Projects parameters: - name: limit in: query description: >- Maximum number of projects to return. schema: type: integer - name: offset in: query description: >- Number of projects to skip for pagination. schema: type: integer - name: filter in: query description: >- A filter expression to apply to the project list. schema: type: string responses: '200': description: Successful response containing a list of projects. content: application/json: schema: $ref: '#/components/schemas/Projects' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createProject summary: Create a project description: >- Creates a new project with the specified key, name, and default environments. tags: - Projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProjectBody' responses: '201': description: Project created successfully. content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A project with the given key already exists. /projects/{projectKey}: get: operationId: getProject summary: Get a project description: >- Returns a single project by its key, including its environments and configuration. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectKey' responses: '200': description: Successful response containing the project. content: application/json: schema: $ref: '#/components/schemas/Project' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. patch: operationId: patchProject summary: Update a project description: >- Updates a project using a JSON Patch representation. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchOperation' responses: '200': description: Project updated successfully. content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Invalid patch request. '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. delete: operationId: deleteProject summary: Delete a project description: >- Permanently deletes a project and all of its associated feature flags, environments, and other resources. tags: - Projects parameters: - $ref: '#/components/parameters/ProjectKey' responses: '204': description: Project deleted successfully. '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. /projects/{projectKey}/environments: get: operationId: listEnvironments summary: List environments description: >- Returns a list of all environments within the specified project. tags: - Environments parameters: - $ref: '#/components/parameters/ProjectKey' - name: limit in: query description: >- Maximum number of environments to return. schema: type: integer - name: offset in: query description: >- Number of environments to skip for pagination. schema: type: integer responses: '200': description: Successful response containing a list of environments. content: application/json: schema: $ref: '#/components/schemas/Environments' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. post: operationId: createEnvironment summary: Create an environment description: >- Creates a new environment in the specified project. tags: - Environments parameters: - $ref: '#/components/parameters/ProjectKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EnvironmentBody' responses: '201': description: Environment created successfully. content: application/json: schema: $ref: '#/components/schemas/Environment' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: An environment with the given key already exists. /projects/{projectKey}/environments/{environmentKey}: get: operationId: getEnvironment summary: Get an environment description: >- Returns a single environment by its key within the specified project. tags: - Environments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' responses: '200': description: Successful response containing the environment. content: application/json: schema: $ref: '#/components/schemas/Environment' '401': description: Unauthorized. Invalid or missing access token. '404': description: Environment or project not found. patch: operationId: patchEnvironment summary: Update an environment description: >- Updates an environment using a JSON Patch representation. tags: - Environments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchOperation' responses: '200': description: Environment updated successfully. content: application/json: schema: $ref: '#/components/schemas/Environment' '400': description: Invalid patch request. '401': description: Unauthorized. Invalid or missing access token. '404': description: Environment or project not found. delete: operationId: deleteEnvironment summary: Delete an environment description: >- Permanently deletes an environment from the specified project. tags: - Environments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' responses: '204': description: Environment deleted successfully. '401': description: Unauthorized. Invalid or missing access token. '404': description: Environment or project not found. /segments/{projectKey}/{environmentKey}: get: operationId: listSegments summary: List segments description: >- Returns a list of all user segments in the specified project and environment. tags: - Segments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' - name: limit in: query description: >- Maximum number of segments to return. schema: type: integer - name: offset in: query description: >- Number of segments to skip for pagination. schema: type: integer responses: '200': description: Successful response containing a list of segments. content: application/json: schema: $ref: '#/components/schemas/Segments' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project or environment not found. post: operationId: createSegment summary: Create a segment description: >- Creates a new user segment in the specified project and environment. tags: - Segments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SegmentBody' responses: '201': description: Segment created successfully. content: application/json: schema: $ref: '#/components/schemas/Segment' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A segment with the given key already exists. /segments/{projectKey}/{environmentKey}/{segmentKey}: get: operationId: getSegment summary: Get a segment description: >- Returns a single user segment by its key. tags: - Segments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' - $ref: '#/components/parameters/SegmentKey' responses: '200': description: Successful response containing the segment. content: application/json: schema: $ref: '#/components/schemas/Segment' '401': description: Unauthorized. Invalid or missing access token. '404': description: Segment not found. patch: operationId: patchSegment summary: Update a segment description: >- Updates a segment using a JSON Patch or semantic patch representation. tags: - Segments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' - $ref: '#/components/parameters/SegmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchOperation' responses: '200': description: Segment updated successfully. content: application/json: schema: $ref: '#/components/schemas/Segment' '400': description: Invalid patch request. '401': description: Unauthorized. Invalid or missing access token. '404': description: Segment not found. delete: operationId: deleteSegment summary: Delete a segment description: >- Permanently deletes a user segment. tags: - Segments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' - $ref: '#/components/parameters/SegmentKey' responses: '204': description: Segment deleted successfully. '401': description: Unauthorized. Invalid or missing access token. '404': description: Segment not found. /webhooks: get: operationId: listWebhooks summary: List webhooks description: >- Returns a list of all webhooks configured in the LaunchDarkly account. tags: - Webhooks responses: '200': description: Successful response containing a list of webhooks. content: application/json: schema: $ref: '#/components/schemas/Webhooks' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createWebhook summary: Create a webhook description: >- Creates a new webhook subscription that will receive HTTP POST notifications when changes occur in LaunchDarkly. tags: - Webhooks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookBody' responses: '201': description: Webhook created successfully. content: application/json: schema: $ref: '#/components/schemas/Webhook' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /webhooks/{webhookId}: get: operationId: getWebhook summary: Get a webhook description: >- Returns a single webhook by its identifier. tags: - Webhooks parameters: - $ref: '#/components/parameters/WebhookId' responses: '200': description: Successful response containing the webhook. content: application/json: schema: $ref: '#/components/schemas/Webhook' '401': description: Unauthorized. Invalid or missing access token. '404': description: Webhook not found. patch: operationId: patchWebhook summary: Update a webhook description: >- Updates a webhook using a JSON Patch representation. tags: - Webhooks parameters: - $ref: '#/components/parameters/WebhookId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchOperation' responses: '200': description: Webhook updated successfully. content: application/json: schema: $ref: '#/components/schemas/Webhook' '400': description: Invalid patch request. '401': description: Unauthorized. Invalid or missing access token. '404': description: Webhook not found. delete: operationId: deleteWebhook summary: Delete a webhook description: >- Permanently deletes a webhook subscription. tags: - Webhooks parameters: - $ref: '#/components/parameters/WebhookId' responses: '204': description: Webhook deleted successfully. '401': description: Unauthorized. Invalid or missing access token. '404': description: Webhook not found. /auditlog: get: operationId: listAuditLogEntries summary: List audit log entries description: >- Returns a paginated list of audit log entries recording all changes made to resources in the LaunchDarkly account. tags: - Audit Log parameters: - name: before in: query description: >- A timestamp filter returning entries before this time (Unix epoch milliseconds). schema: type: integer format: int64 - name: after in: query description: >- A timestamp filter returning entries after this time (Unix epoch milliseconds). schema: type: integer format: int64 - name: limit in: query description: >- Maximum number of entries to return. schema: type: integer - name: q in: query description: >- A text filter for searching audit log entries. schema: type: string - name: spec in: query description: >- A resource specifier filter for narrowing entries to specific resource types. schema: type: string responses: '200': description: Successful response containing audit log entries. content: application/json: schema: $ref: '#/components/schemas/AuditLogEntries' '401': description: Unauthorized. Invalid or missing access token. /auditlog/{auditLogId}: get: operationId: getAuditLogEntry summary: Get an audit log entry description: >- Returns a single audit log entry by its identifier. tags: - Audit Log parameters: - name: auditLogId in: path required: true description: >- The unique identifier of the audit log entry. schema: type: string responses: '200': description: Successful response containing the audit log entry. content: application/json: schema: $ref: '#/components/schemas/AuditLogEntry' '401': description: Unauthorized. Invalid or missing access token. '404': description: Audit log entry not found. /members: get: operationId: listMembers summary: List account members description: >- Returns a paginated list of all members in the LaunchDarkly account. tags: - Account Members parameters: - name: limit in: query description: >- Maximum number of members to return. schema: type: integer - name: offset in: query description: >- Number of members to skip for pagination. schema: type: integer - name: filter in: query description: >- A filter expression to apply to the member list. schema: type: string responses: '200': description: Successful response containing a list of members. content: application/json: schema: $ref: '#/components/schemas/Members' '401': description: Unauthorized. Invalid or missing access token. post: operationId: inviteMember summary: Invite a new member description: >- Sends an invitation to a new member to join the LaunchDarkly account. tags: - Account Members requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MemberInviteBody' responses: '201': description: Invitation sent successfully. content: application/json: schema: $ref: '#/components/schemas/Members' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A member with this email already exists. /tokens: get: operationId: listAccessTokens summary: List access tokens description: >- Returns a list of all personal and service access tokens in the LaunchDarkly account. tags: - Access Tokens responses: '200': description: Successful response containing a list of access tokens. content: application/json: schema: $ref: '#/components/schemas/AccessTokens' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createAccessToken summary: Create an access token description: >- Creates a new personal or service access token. tags: - Access Tokens requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AccessTokenBody' responses: '201': description: Access token created successfully. content: application/json: schema: $ref: '#/components/schemas/AccessToken' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /roles: get: operationId: listCustomRoles summary: List custom roles description: >- Returns a list of all custom roles defined in the LaunchDarkly account. tags: - Custom Roles responses: '200': description: Successful response containing a list of custom roles. content: application/json: schema: $ref: '#/components/schemas/CustomRoles' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createCustomRole summary: Create a custom role description: >- Creates a new custom role with the specified permissions policy. tags: - Custom Roles requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomRoleBody' responses: '201': description: Custom role created successfully. content: application/json: schema: $ref: '#/components/schemas/CustomRole' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A custom role with the given key already exists. /teams: get: operationId: listTeams summary: List teams description: >- Returns a list of all teams in the LaunchDarkly account. tags: - Teams parameters: - name: limit in: query description: >- Maximum number of teams to return. schema: type: integer - name: offset in: query description: >- Number of teams to skip for pagination. schema: type: integer - name: filter in: query description: >- A filter expression to apply to the team list. schema: type: string responses: '200': description: Successful response containing a list of teams. content: application/json: schema: $ref: '#/components/schemas/Teams' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createTeam summary: Create a team description: >- Creates a new team with the specified name and member list. tags: - Teams requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TeamBody' responses: '201': description: Team created successfully. content: application/json: schema: $ref: '#/components/schemas/Team' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A team with the given key already exists. /metrics/{projectKey}: get: operationId: listMetrics summary: List metrics description: >- Returns a list of all metrics defined in the specified project. tags: - Metrics parameters: - $ref: '#/components/parameters/ProjectKey' responses: '200': description: Successful response containing a list of metrics. content: application/json: schema: $ref: '#/components/schemas/Metrics' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. post: operationId: createMetric summary: Create a metric description: >- Creates a new metric in the specified project for use in experiments and monitoring. tags: - Metrics parameters: - $ref: '#/components/parameters/ProjectKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MetricBody' responses: '201': description: Metric created successfully. content: application/json: schema: $ref: '#/components/schemas/Metric' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. '409': description: A metric with the given key already exists. /projects/{projectKey}/environments/{environmentKey}/experiments: get: operationId: listExperiments summary: List experiments description: >- Returns a list of all experiments in the specified project and environment. tags: - Experiments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' - name: limit in: query description: >- Maximum number of experiments to return. schema: type: integer - name: offset in: query description: >- Number of experiments to skip for pagination. schema: type: integer responses: '200': description: Successful response containing a list of experiments. content: application/json: schema: $ref: '#/components/schemas/Experiments' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project or environment not found. post: operationId: createExperiment summary: Create an experiment description: >- Creates a new experiment in the specified project and environment. tags: - Experiments parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/EnvironmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ExperimentBody' responses: '201': description: Experiment created successfully. content: application/json: schema: $ref: '#/components/schemas/Experiment' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /flags/{projectKey}/{flagKey}/triggers/{environmentKey}: get: operationId: listFlagTriggers summary: List flag triggers description: >- Returns a list of all triggers for the specified feature flag in the given environment. tags: - Flag Triggers parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - $ref: '#/components/parameters/EnvironmentKey' responses: '200': description: Successful response containing a list of flag triggers. content: application/json: schema: $ref: '#/components/schemas/FlagTriggers' '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or environment not found. post: operationId: createFlagTrigger summary: Create a flag trigger description: >- Creates a new trigger for the specified feature flag that generates a unique URL for external services to toggle the flag. tags: - Flag Triggers parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - $ref: '#/components/parameters/EnvironmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FlagTriggerBody' responses: '201': description: Flag trigger created successfully. content: application/json: schema: $ref: '#/components/schemas/FlagTrigger' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /account/relay-auto-configs: get: operationId: listRelayProxyConfigs summary: List Relay Proxy configurations description: >- Returns a list of all Relay Proxy automatic configuration entries. tags: - Relay Proxy Configurations responses: '200': description: >- Successful response containing Relay Proxy configurations. content: application/json: schema: $ref: '#/components/schemas/RelayProxyConfigs' '401': description: Unauthorized. Invalid or missing access token. post: operationId: createRelayProxyConfig summary: Create a Relay Proxy configuration description: >- Creates a new Relay Proxy automatic configuration entry that generates a unique key for Relay Proxy instances. tags: - Relay Proxy Configurations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RelayProxyConfigBody' responses: '201': description: Relay Proxy configuration created successfully. content: application/json: schema: $ref: '#/components/schemas/RelayProxyConfig' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /code-refs/repositories: get: operationId: listCodeReferenceRepositories summary: List code reference repositories description: >- Returns a list of all repositories connected for code reference scanning. tags: - Code References responses: '200': description: >- Successful response containing code reference repositories. content: application/json: schema: $ref: '#/components/schemas/CodeReferenceRepositories' '401': description: Unauthorized. Invalid or missing access token. /integrations/{integrationKey}/subscriptions: get: operationId: listIntegrationSubscriptions summary: List integration audit log subscriptions description: >- Returns a list of all audit log event subscriptions for the specified integration. tags: - Integration Audit Log Subscriptions parameters: - name: integrationKey in: path required: true description: >- The key identifying the integration type. schema: type: string responses: '200': description: >- Successful response containing integration subscriptions. content: application/json: schema: $ref: '#/components/schemas/IntegrationSubscriptions' '401': description: Unauthorized. Invalid or missing access token. '404': description: Integration not found. /tags: get: operationId: listTags summary: List tags description: >- Returns a list of tags used across all resources in the account. tags: [] parameters: - name: kind in: query description: >- Filter tags by resource kind such as flag, project, environment, or segment. schema: type: string enum: - flag - project - environment - segment - metric responses: '200': description: Successful response containing a list of tags. content: application/json: schema: $ref: '#/components/schemas/TagCollection' '401': description: Unauthorized. Invalid or missing access token. /flags/{projectKey}/{flagKey}/approval-requests/{environmentKey}: get: operationId: listApprovalRequests summary: List approval requests for a flag description: >- Returns a list of all approval requests for the specified feature flag in the given environment. tags: - Approvals parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - $ref: '#/components/parameters/EnvironmentKey' responses: '200': description: >- Successful response containing approval requests. content: application/json: schema: $ref: '#/components/schemas/ApprovalRequests' '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or environment not found. post: operationId: createApprovalRequest summary: Create an approval request description: >- Creates a new approval request for a pending change to the specified feature flag. tags: - Approvals parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - $ref: '#/components/parameters/EnvironmentKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApprovalRequestBody' responses: '201': description: Approval request created successfully. content: application/json: schema: $ref: '#/components/schemas/ApprovalRequest' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. /projects/{projectKey}/flags/{flagKey}/environments/{environmentKey}/workflows: get: operationId: listWorkflows summary: List workflows description: >- Returns a list of all workflows for the specified feature flag in the given environment. tags: - Workflows parameters: - $ref: '#/components/parameters/ProjectKey' - $ref: '#/components/parameters/FlagKey' - $ref: '#/components/parameters/EnvironmentKey' responses: '200': description: Successful response containing workflows. content: application/json: schema: $ref: '#/components/schemas/Workflows' '401': description: Unauthorized. Invalid or missing access token. '404': description: Flag or environment not found. /projects/{projectKey}/release-pipelines: get: operationId: listReleasePipelines summary: List release pipelines description: >- Returns a list of all release pipelines in the specified project. tags: - Releases parameters: - $ref: '#/components/parameters/ProjectKey' responses: '200': description: Successful response containing release pipelines. content: application/json: schema: $ref: '#/components/schemas/ReleasePipelines' '401': description: Unauthorized. Invalid or missing access token. '404': description: Project not found. post: operationId: createReleasePipeline summary: Create a release pipeline description: >- Creates a new release pipeline in the specified project for coordinating feature flag rollouts across environments. tags: - Releases parameters: - $ref: '#/components/parameters/ProjectKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ReleasePipelineBody' responses: '201': description: Release pipeline created successfully. content: application/json: schema: $ref: '#/components/schemas/ReleasePipeline' '400': description: Invalid request body. '401': description: Unauthorized. Invalid or missing access token. components: securitySchemes: bearerAuth: type: http scheme: bearer description: >- LaunchDarkly API access token. Create personal or service tokens in the LaunchDarkly dashboard under Account Settings. parameters: ProjectKey: name: projectKey in: path required: true description: >- The project key identifying a LaunchDarkly project. schema: type: string pattern: '^[a-z0-9]([a-z0-9-])*$' FlagKey: name: flagKey in: path required: true description: >- The feature flag key identifying a specific flag. schema: type: string pattern: '^[a-z0-9]([a-z0-9._-])*$' EnvironmentKey: name: environmentKey in: path required: true description: >- The environment key identifying a specific environment. schema: type: string pattern: '^[a-z0-9]([a-z0-9-])*$' SegmentKey: name: segmentKey in: path required: true description: >- The segment key identifying a specific user segment. schema: type: string WebhookId: name: webhookId in: path required: true description: >- The unique identifier of a webhook. schema: type: string schemas: FeatureFlags: type: object description: >- A paginated collection of feature flags. properties: items: type: array description: >- The list of feature flags. items: $ref: '#/components/schemas/FeatureFlag' totalCount: type: integer description: >- The total number of feature flags matching the query. _links: $ref: '#/components/schemas/Links' FeatureFlag: type: object description: >- A feature flag with its configuration across all environments. properties: key: type: string description: >- The unique key identifying this feature flag. name: type: string description: >- The human-readable name of the feature flag. description: type: string description: >- A description of the feature flag purpose and behavior. kind: type: string description: >- The type of flag, such as boolean or multivariate. enum: - boolean - multivariate tags: type: array description: >- Tags applied to this feature flag. items: type: string creationDate: type: integer format: int64 description: >- Unix epoch timestamp in milliseconds when the flag was created. variations: type: array description: >- The possible values this flag can serve. items: $ref: '#/components/schemas/Variation' temporary: type: boolean description: >- Whether this flag is intended to be temporary. archived: type: boolean description: >- Whether this flag has been archived. environments: type: object description: >- A map of environment keys to their flag configurations. additionalProperties: $ref: '#/components/schemas/FlagEnvironment' _links: $ref: '#/components/schemas/Links' _version: type: integer description: >- The current version number of this flag for concurrency control. FeatureFlagBody: type: object description: >- The request body for creating a new feature flag. required: - name - key properties: name: type: string description: >- The human-readable name of the feature flag. key: type: string description: >- The unique key identifying this feature flag. pattern: '^[a-z0-9]([a-z0-9._-])*$' description: type: string description: >- A description of the feature flag purpose. tags: type: array description: >- Tags to apply to the feature flag. items: type: string variations: type: array description: >- The variations this flag can serve. items: $ref: '#/components/schemas/Variation' temporary: type: boolean description: >- Whether this flag is intended to be temporary. clientSideAvailability: type: object description: >- Client-side SDK availability settings. properties: usingEnvironmentId: type: boolean description: >- Whether this flag is available to client-side SDKs using the environment ID. usingMobileKey: type: boolean description: >- Whether this flag is available to mobile SDKs. defaults: type: object description: >- Default variation settings for new environments. properties: onVariation: type: integer description: >- The index of the variation to serve when the flag is on. offVariation: type: integer description: >- The index of the variation to serve when the flag is off. Variation: type: object description: >- A single variation value that a feature flag can serve. properties: _id: type: string description: >- The unique identifier of this variation. value: description: >- The value of this variation. Can be any JSON type. name: type: string description: >- An optional human-readable name for this variation. description: type: string description: >- An optional description of this variation. FlagEnvironment: type: object description: >- The configuration of a feature flag for a specific environment. properties: on: type: boolean description: >- Whether the flag is currently enabled in this environment. archived: type: boolean description: >- Whether the flag is archived in this environment. salt: type: string description: >- The salt used for percentage rollout hashing. sel: type: string description: >- The selection identifier. lastModified: type: integer format: int64 description: >- Unix epoch timestamp of the last modification. version: type: integer description: >- The version number of this flag configuration. targets: type: array description: >- Individual context targets for each variation. items: $ref: '#/components/schemas/Target' rules: type: array description: >- Targeting rules that determine which variation to serve. items: $ref: '#/components/schemas/Rule' fallthrough: type: object description: >- The default rule applied when no other rules match. properties: variation: type: integer description: >- The variation index to serve. rollout: $ref: '#/components/schemas/Rollout' offVariation: type: integer description: >- The variation index to serve when the flag is off. Target: type: object description: >- An individual targeting entry for a specific variation. properties: values: type: array description: >- The list of context keys targeted. items: type: string variation: type: integer description: >- The variation index to serve to these targets. contextKind: type: string description: >- The context kind for this target. Rule: type: object description: >- A targeting rule with clauses and a variation or rollout. properties: _id: type: string description: >- The unique identifier for this rule. clauses: type: array description: >- The conditions that must be met for this rule to apply. items: $ref: '#/components/schemas/Clause' variation: type: integer description: >- The variation index to serve when this rule matches. rollout: $ref: '#/components/schemas/Rollout' trackEvents: type: boolean description: >- Whether to track events for this rule. Clause: type: object description: >- A condition clause used in targeting rules. properties: attribute: type: string description: >- The context attribute to evaluate. op: type: string description: >- The comparison operator. enum: - in - endsWith - startsWith - matches - contains - lessThan - lessThanOrEqual - greaterThan - greaterThanOrEqual - before - after - segmentMatch - semVerEqual - semVerLessThan - semVerGreaterThan values: type: array description: >- The values to compare against. items: {} negate: type: boolean description: >- Whether to negate the clause. contextKind: type: string description: >- The context kind to evaluate. Rollout: type: object description: >- A percentage rollout configuration. properties: variations: type: array description: >- The weighted variations in this rollout. items: type: object properties: variation: type: integer description: >- The variation index. weight: type: integer description: >- The rollout weight in thousandths of a percent (0-100000). bucketBy: type: string description: >- The context attribute used for bucketing. contextKind: type: string description: >- The context kind for rollout bucketing. Projects: type: object description: >- A paginated collection of projects. properties: items: type: array description: >- The list of projects. items: $ref: '#/components/schemas/Project' totalCount: type: integer description: >- The total number of projects. _links: $ref: '#/components/schemas/Links' Project: type: object description: >- A LaunchDarkly project containing feature flags and environments. properties: _id: type: string description: >- The unique identifier of this project. key: type: string description: >- The project key. name: type: string description: >- The human-readable name of the project. tags: type: array description: >- Tags applied to this project. items: type: string environments: $ref: '#/components/schemas/Environments' _links: $ref: '#/components/schemas/Links' ProjectBody: type: object description: >- The request body for creating a new project. required: - name - key properties: name: type: string description: >- The human-readable name of the project. key: type: string description: >- The project key. pattern: '^[a-z0-9]([a-z0-9-])*$' tags: type: array description: >- Tags to apply to the project. items: type: string environments: type: array description: >- Initial environments to create with the project. items: $ref: '#/components/schemas/EnvironmentBody' Environments: type: object description: >- A collection of environments. properties: items: type: array description: >- The list of environments. items: $ref: '#/components/schemas/Environment' totalCount: type: integer description: >- The total number of environments. _links: $ref: '#/components/schemas/Links' Environment: type: object description: >- An environment within a project, such as production or staging. properties: _id: type: string description: >- The unique identifier of this environment. key: type: string description: >- The environment key. name: type: string description: >- The human-readable name of the environment. color: type: string description: >- The color swatch for the environment in the dashboard. pattern: '^[0-9a-fA-F]{6}$' apiKey: type: string description: >- The SDK key for server-side SDKs. mobileKey: type: string description: >- The mobile key for mobile SDKs. defaultTtl: type: integer description: >- The default time-to-live in minutes for flag values. secureMode: type: boolean description: >- Whether secure mode is enabled for this environment. tags: type: array description: >- Tags applied to this environment. items: type: string _links: $ref: '#/components/schemas/Links' EnvironmentBody: type: object description: >- The request body for creating a new environment. required: - name - key - color properties: name: type: string description: >- The human-readable name of the environment. key: type: string description: >- The environment key. pattern: '^[a-z0-9]([a-z0-9-])*$' color: type: string description: >- The color swatch for the environment in the dashboard. pattern: '^[0-9a-fA-F]{6}$' defaultTtl: type: integer description: >- The default time-to-live in minutes. secureMode: type: boolean description: >- Whether to enable secure mode. tags: type: array description: >- Tags to apply to the environment. items: type: string Segments: type: object description: >- A paginated collection of user segments. properties: items: type: array description: >- The list of user segments. items: $ref: '#/components/schemas/Segment' totalCount: type: integer description: >- The total number of segments. _links: $ref: '#/components/schemas/Links' Segment: type: object description: >- A user segment for targeting groups of contexts. properties: key: type: string description: >- The segment key. name: type: string description: >- The human-readable name of the segment. description: type: string description: >- A description of the segment. tags: type: array description: >- Tags applied to this segment. items: type: string creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the segment was created. included: type: array description: >- Context keys explicitly included in this segment. items: type: string excluded: type: array description: >- Context keys explicitly excluded from this segment. items: type: string rules: type: array description: >- Targeting rules for this segment. items: $ref: '#/components/schemas/SegmentRule' version: type: integer description: >- The current version of this segment. _links: $ref: '#/components/schemas/Links' SegmentBody: type: object description: >- The request body for creating a new user segment. required: - name - key properties: name: type: string description: >- The human-readable name of the segment. key: type: string description: >- The segment key. description: type: string description: >- A description of the segment. tags: type: array description: >- Tags to apply to the segment. items: type: string SegmentRule: type: object description: >- A targeting rule within a user segment. properties: _id: type: string description: >- The unique identifier for this rule. clauses: type: array description: >- The conditions for this rule. items: $ref: '#/components/schemas/Clause' weight: type: integer description: >- The percentage of matching contexts to include (0-100000 in thousandths of a percent). bucketBy: type: string description: >- The attribute to bucket by for percentage inclusion. Webhooks: type: object description: >- A collection of webhooks. properties: items: type: array description: >- The list of webhooks. items: $ref: '#/components/schemas/Webhook' _links: $ref: '#/components/schemas/Links' Webhook: type: object description: >- A webhook configuration for receiving change notifications. properties: _id: type: string description: >- The unique identifier of this webhook. url: type: string format: uri description: >- The URL to receive webhook POST requests. secret: type: string description: >- The shared secret used to sign webhook payloads. on: type: boolean description: >- Whether this webhook is currently enabled. name: type: string description: >- The human-readable name of this webhook. tags: type: array description: >- Tags applied to this webhook. items: type: string statements: type: array description: >- Policy statements filtering which events trigger this webhook. items: $ref: '#/components/schemas/Statement' _links: $ref: '#/components/schemas/Links' WebhookBody: type: object description: >- The request body for creating a new webhook. required: - url - on properties: url: type: string format: uri description: >- The URL to receive webhook POST requests. secret: type: string description: >- A shared secret for signing webhook payloads. on: type: boolean description: >- Whether the webhook should be enabled. name: type: string description: >- A human-readable name for the webhook. tags: type: array description: >- Tags to apply to the webhook. items: type: string statements: type: array description: >- Policy statements filtering which events trigger this webhook. items: $ref: '#/components/schemas/Statement' Statement: type: object description: >- A policy statement controlling resource access or event filtering. properties: effect: type: string description: >- Whether this statement allows or denies the action. enum: - allow - deny resources: type: array description: >- Resource specifiers this statement applies to. items: type: string notResources: type: array description: >- Resource specifiers this statement does not apply to. items: type: string actions: type: array description: >- The actions this statement applies to. items: type: string notActions: type: array description: >- The actions this statement does not apply to. items: type: string AuditLogEntries: type: object description: >- A paginated collection of audit log entries. properties: items: type: array description: >- The list of audit log entries. items: $ref: '#/components/schemas/AuditLogEntry' _links: $ref: '#/components/schemas/Links' AuditLogEntry: type: object description: >- A single audit log entry recording a change to a resource. properties: _id: type: string description: >- The unique identifier of this audit log entry. date: type: integer format: int64 description: >- Unix epoch timestamp in milliseconds when the change occurred. kind: type: string description: >- The kind of resource that was changed. name: type: string description: >- The name of the changed resource. description: type: string description: >- A markdown-formatted description of the changes made. shortDescription: type: string description: >- A brief summary of the change. member: $ref: '#/components/schemas/MemberSummary' accesses: type: array description: >- The access details for this change. items: type: object properties: action: type: string description: >- The action performed. resource: type: string description: >- The resource specifier. _links: $ref: '#/components/schemas/Links' Members: type: object description: >- A paginated collection of account members. properties: items: type: array description: >- The list of account members. items: $ref: '#/components/schemas/Member' totalCount: type: integer description: >- The total number of members. _links: $ref: '#/components/schemas/Links' Member: type: object description: >- An account member in the LaunchDarkly organization. properties: _id: type: string description: >- The unique identifier of this member. email: type: string format: email description: >- The email address of the member. firstName: type: string description: >- The first name of the member. lastName: type: string description: >- The last name of the member. role: type: string description: >- The built-in role of the member. enum: - reader - writer - admin - owner customRoles: type: array description: >- Custom role keys assigned to this member. items: type: string _lastSeen: type: integer format: int64 description: >- Unix epoch timestamp of the last activity. _links: $ref: '#/components/schemas/Links' MemberInviteBody: type: object description: >- The request body for inviting a new member. required: - email properties: email: type: string format: email description: >- The email address of the person to invite. role: type: string description: >- The built-in role to assign. enum: - reader - writer - admin customRoles: type: array description: >- Custom role keys to assign to the new member. items: type: string MemberSummary: type: object description: >- A summary of a member who performed an action. properties: _id: type: string description: >- The unique identifier of the member. email: type: string format: email description: >- The email address of the member. firstName: type: string description: >- The first name of the member. lastName: type: string description: >- The last name of the member. _links: $ref: '#/components/schemas/Links' AccessTokens: type: object description: >- A collection of access tokens. properties: items: type: array description: >- The list of access tokens. items: $ref: '#/components/schemas/AccessToken' _links: $ref: '#/components/schemas/Links' AccessToken: type: object description: >- A personal or service access token. properties: _id: type: string description: >- The unique identifier of this token. name: type: string description: >- The human-readable name of this token. role: type: string description: >- The built-in role associated with this token. customRoleIds: type: array description: >- Custom role identifiers assigned to this token. items: type: string token: type: string description: >- The token value. Only returned at creation time. serviceToken: type: boolean description: >- Whether this is a service token. defaultApiVersion: type: integer description: >- The default API version for this token. creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the token was created. lastUsed: type: integer format: int64 description: >- Unix epoch timestamp when the token was last used. _links: $ref: '#/components/schemas/Links' AccessTokenBody: type: object description: >- The request body for creating a new access token. required: - name properties: name: type: string description: >- A human-readable name for the token. role: type: string description: >- The built-in role to assign. enum: - reader - writer - admin customRoleIds: type: array description: >- Custom role identifiers to assign. items: type: string serviceToken: type: boolean description: >- Whether to create a service token. defaultApiVersion: type: integer description: >- The default API version for this token. CustomRoles: type: object description: >- A collection of custom roles. properties: items: type: array description: >- The list of custom roles. items: $ref: '#/components/schemas/CustomRole' _links: $ref: '#/components/schemas/Links' CustomRole: type: object description: >- A custom role with fine-grained permissions. properties: _id: type: string description: >- The unique identifier of this custom role. key: type: string description: >- The custom role key. name: type: string description: >- The human-readable name of this custom role. description: type: string description: >- A description of this custom role. policy: type: array description: >- The policy statements defining permissions. items: $ref: '#/components/schemas/Statement' _links: $ref: '#/components/schemas/Links' CustomRoleBody: type: object description: >- The request body for creating a custom role. required: - name - key - policy properties: name: type: string description: >- The human-readable name of the custom role. key: type: string description: >- The custom role key. description: type: string description: >- A description of the custom role. policy: type: array description: >- The policy statements defining permissions. items: $ref: '#/components/schemas/Statement' Teams: type: object description: >- A paginated collection of teams. properties: items: type: array description: >- The list of teams. items: $ref: '#/components/schemas/Team' totalCount: type: integer description: >- The total number of teams. _links: $ref: '#/components/schemas/Links' Team: type: object description: >- A team of account members. properties: key: type: string description: >- The team key. name: type: string description: >- The human-readable name of the team. description: type: string description: >- A description of the team. members: type: object description: >- Summary of team members. properties: totalCount: type: integer description: >- The total number of members. roles: type: object description: >- Summary of team roles. properties: totalCount: type: integer description: >- The total number of roles assigned. customRoleKeys: type: array description: >- Custom role keys assigned to this team. items: type: string _links: $ref: '#/components/schemas/Links' TeamBody: type: object description: >- The request body for creating a new team. required: - name - key properties: name: type: string description: >- The human-readable name of the team. key: type: string description: >- The team key. description: type: string description: >- A description of the team. memberIDs: type: array description: >- Member identifiers to add to the team. items: type: string customRoleKeys: type: array description: >- Custom role keys to assign to the team. items: type: string Metrics: type: object description: >- A collection of metrics. properties: items: type: array description: >- The list of metrics. items: $ref: '#/components/schemas/Metric' _links: $ref: '#/components/schemas/Links' Metric: type: object description: >- A metric used to measure experiment outcomes. properties: _id: type: string description: >- The unique identifier of this metric. key: type: string description: >- The metric key. name: type: string description: >- The human-readable name of the metric. description: type: string description: >- A description of the metric. kind: type: string description: >- The type of metric. enum: - pageview - click - custom tags: type: array description: >- Tags applied to this metric. items: type: string creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the metric was created. _links: $ref: '#/components/schemas/Links' MetricBody: type: object description: >- The request body for creating a new metric. required: - name - key - kind properties: name: type: string description: >- The human-readable name of the metric. key: type: string description: >- The metric key. kind: type: string description: >- The type of metric. enum: - pageview - click - custom description: type: string description: >- A description of the metric. tags: type: array description: >- Tags to apply to the metric. items: type: string selector: type: string description: >- The CSS selector for click metrics. urls: type: array description: >- URL patterns for pageview and click metrics. items: type: object properties: kind: type: string description: >- The type of URL pattern. enum: - exact - canonical - substring - regex url: type: string description: >- The URL pattern value. Experiments: type: object description: >- A paginated collection of experiments. properties: items: type: array description: >- The list of experiments. items: $ref: '#/components/schemas/Experiment' totalCount: type: integer description: >- The total number of experiments. _links: $ref: '#/components/schemas/Links' Experiment: type: object description: >- An experiment measuring the impact of flag variations on metrics. properties: _id: type: string description: >- The unique identifier of this experiment. key: type: string description: >- The experiment key. name: type: string description: >- The human-readable name of the experiment. description: type: string description: >- A description of the experiment. _creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the experiment was created. currentIteration: type: object description: >- The current iteration of the experiment. properties: _id: type: string description: >- The iteration identifier. status: type: string description: >- The current status of this iteration. startDate: type: integer format: int64 description: >- Unix epoch timestamp when this iteration started. endDate: type: integer format: int64 description: >- Unix epoch timestamp when this iteration ended. _links: $ref: '#/components/schemas/Links' ExperimentBody: type: object description: >- The request body for creating a new experiment. required: - name - key properties: name: type: string description: >- The human-readable name of the experiment. key: type: string description: >- The experiment key. description: type: string description: >- A description of the experiment. maintainerId: type: string description: >- The member ID of the experiment maintainer. FlagTriggers: type: object description: >- A collection of flag triggers. properties: items: type: array description: >- The list of flag triggers. items: $ref: '#/components/schemas/FlagTrigger' _links: $ref: '#/components/schemas/Links' FlagTrigger: type: object description: >- A trigger that provides a unique URL for external services to toggle a feature flag. properties: _id: type: string description: >- The unique identifier of this trigger. _version: type: integer description: >- The version number of this trigger. triggerUrl: type: string format: uri description: >- The unique URL for triggering flag changes. enabled: type: boolean description: >- Whether this trigger is enabled. instructions: type: array description: >- The instructions executed when the trigger fires. items: type: object properties: kind: type: string description: >- The type of instruction to execute. enum: - turnFlagOn - turnFlagOff _links: $ref: '#/components/schemas/Links' FlagTriggerBody: type: object description: >- The request body for creating a new flag trigger. required: - instructions properties: comment: type: string description: >- An optional comment describing the trigger. instructions: type: array description: >- The instructions to execute when the trigger fires. items: type: object properties: kind: type: string description: >- The type of instruction. enum: - turnFlagOn - turnFlagOff RelayProxyConfigs: type: object description: >- A collection of Relay Proxy configurations. properties: items: type: array description: >- The list of Relay Proxy configurations. items: $ref: '#/components/schemas/RelayProxyConfig' RelayProxyConfig: type: object description: >- A Relay Proxy automatic configuration entry. properties: _id: type: string description: >- The unique identifier of this configuration. name: type: string description: >- The human-readable name of this configuration. fullKey: type: string description: >- The full key for authenticating Relay Proxy instances. Only returned at creation time. displayKey: type: string description: >- The last four characters of the full key. creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the configuration was created. lastModified: type: integer format: int64 description: >- Unix epoch timestamp of the last modification. policy: type: array description: >- Policy statements controlling which projects and environments this Relay Proxy can access. items: $ref: '#/components/schemas/Statement' _links: $ref: '#/components/schemas/Links' RelayProxyConfigBody: type: object description: >- The request body for creating a Relay Proxy configuration. required: - name - policy properties: name: type: string description: >- A human-readable name for the configuration. policy: type: array description: >- Policy statements controlling access. items: $ref: '#/components/schemas/Statement' CodeReferenceRepositories: type: object description: >- A collection of code reference repositories. properties: items: type: array description: >- The list of code reference repositories. items: type: object properties: name: type: string description: >- The repository name. sourceLink: type: string description: >- The URL to the repository source. type: type: string description: >- The repository hosting type. _links: $ref: '#/components/schemas/Links' IntegrationSubscriptions: type: object description: >- A collection of integration audit log subscriptions. properties: items: type: array description: >- The list of integration subscriptions. items: type: object properties: _id: type: string description: >- The subscription identifier. name: type: string description: >- The subscription name. _links: $ref: '#/components/schemas/Links' ApprovalRequests: type: object description: >- A collection of approval requests. properties: items: type: array description: >- The list of approval requests. items: $ref: '#/components/schemas/ApprovalRequest' _links: $ref: '#/components/schemas/Links' ApprovalRequest: type: object description: >- An approval request for a pending flag change. properties: _id: type: string description: >- The unique identifier of this approval request. requestorId: type: string description: >- The member ID of the person who requested approval. description: type: string description: >- A description of the proposed change. status: type: string description: >- The current status of the approval request. enum: - pending - approved - declined - completed creationDate: type: integer format: int64 description: >- Unix epoch timestamp when the request was created. _links: $ref: '#/components/schemas/Links' ApprovalRequestBody: type: object description: >- The request body for creating a new approval request. required: - description properties: description: type: string description: >- A description of the proposed change. instructions: type: array description: >- The semantic patch instructions for the proposed change. items: type: object notifyMemberIds: type: array description: >- Member IDs to notify about this approval request. items: type: string comment: type: string description: >- An optional comment on the approval request. Workflows: type: object description: >- A collection of workflows. properties: items: type: array description: >- The list of workflows. items: type: object properties: _id: type: string description: >- The workflow identifier. name: type: string description: >- The workflow name. _links: $ref: '#/components/schemas/Links' ReleasePipelines: type: object description: >- A collection of release pipelines. properties: items: type: array description: >- The list of release pipelines. items: $ref: '#/components/schemas/ReleasePipeline' ReleasePipeline: type: object description: >- A release pipeline for coordinating flag rollouts. properties: key: type: string description: >- The release pipeline key. name: type: string description: >- The human-readable name of the release pipeline. description: type: string description: >- A description of the release pipeline. phases: type: array description: >- The ordered phases of the release pipeline. items: type: object properties: _id: type: string description: >- The phase identifier. name: type: string description: >- The phase name. audiences: type: array description: >- The audiences for this phase. items: type: object properties: environmentKey: type: string description: >- The environment key. name: type: string description: >- The audience name. _links: $ref: '#/components/schemas/Links' ReleasePipelineBody: type: object description: >- The request body for creating a release pipeline. required: - name - key - phases properties: name: type: string description: >- The human-readable name of the release pipeline. key: type: string description: >- The release pipeline key. description: type: string description: >- A description of the release pipeline. phases: type: array description: >- The ordered phases of the release pipeline. items: type: object required: - audiences properties: name: type: string description: >- The phase name. audiences: type: array description: >- The audiences for this phase. items: type: object required: - environmentKey properties: environmentKey: type: string description: >- The environment key. name: type: string description: >- The audience name. TagCollection: type: object description: >- A collection of tags. properties: items: type: array description: >- The list of tags. items: type: string _links: $ref: '#/components/schemas/Links' PatchOperation: type: object description: >- A JSON Patch or semantic patch request. properties: patch: type: array description: >- An array of JSON Patch operations. items: type: object required: - op - path properties: op: type: string description: >- The patch operation type. enum: - add - remove - replace - move - copy - test path: type: string description: >- The JSON Pointer path to the target field. value: description: >- The value to apply for add or replace operations. comment: type: string description: >- An optional comment describing the change. Links: type: object description: >- HATEOAS links for navigating related resources. properties: self: type: object description: >- A link to this resource. properties: href: type: string description: >- The URL of this resource. type: type: string description: >- The media type. additionalProperties: type: object properties: href: type: string description: >- The URL of the linked resource. type: type: string description: >- The media type.