openapi: 3.1.0 info: title: LaunchDarkly Relay Proxy Access Tokens Approvals API description: The LaunchDarkly Relay Proxy is a small Go application that connects to the LaunchDarkly streaming API and proxies that connection to SDK clients within an organization's network. It exposes endpoints for status monitoring, flag evaluation, and SDK streaming that mirror the LaunchDarkly service endpoints. Instead of each server making outbound connections to LaunchDarkly's streaming service, multiple servers connect to the local Relay Proxy which maintains a single upstream connection. version: '8.0' contact: name: LaunchDarkly Support url: https://support.launchdarkly.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://localhost:8030 description: Default Relay Proxy instance tags: - name: Approvals description: Manage approval requests and workflows for flag changes that require review before deployment. paths: /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. components: parameters: 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-])*$ 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-])*$ schemas: 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' 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. 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' 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. securitySchemes: sdkKeyAuth: type: apiKey in: header name: Authorization description: Server-side SDK key for authenticating with the Relay Proxy. mobileKeyAuth: type: apiKey in: header name: Authorization description: Mobile SDK key for authenticating with the Relay Proxy. externalDocs: description: Relay Proxy Documentation url: https://launchdarkly.com/docs/sdk/relay-proxy