{"openapi":"3.1.0","info":{"title":"LaunchDarkly Engineering Insights (BYOK) API","version":"0.1.0","description":"LaunchDarkly Engineering Insights (BYOK) lets an AI assistant read your own LaunchDarkly Engineering Insights data through the LaunchDarkly Engineering Insights API with a key you supply (LaunchDarkly API access token (a Reader role token is enough; commercial site, not EU or federal)). Read-only: 6 tools (list_deployments, list_flag_events, get_insight_scores, list_insight_groups,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-launchdarkly-insights.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-launchdarkly-insights/docs"},"termsOfService":"https://connectorbay.com/byok-launchdarkly-insights/terms"},"servers":[{"url":"https://byok-launchdarkly-insights.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-launchdarkly-insights/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_deployments":{"post":{"operationId":"list_deployments","summary":"List deployments reported to engineering insights with application, version, status, kind, duration, contributor and pul","description":"List deployments reported to engineering insights with application, version, status, kind, duration, contributor and pull request counts, lines changed and lead time. Defaults to the last 7 days. Beta endpoint. Use for \"What did we deploy to production in the last week according to LaunchDarkly\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project key.","title":"Project Key"},"environment_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this environment key (use with project_key).","title":"Environment Key"},"application_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated application keys to limit the answer to.","title":"Application Key"},"status":{"anyOf":[{"maxLength":50,"type":"string"},{"type":"null"}],"default":null,"description":"Only deployments with this status, for example started or finished.","title":"Status"},"kind":{"anyOf":[{"maxLength":50,"type":"string"},{"type":"null"}],"default":null,"description":"Only deployments of this kind.","title":"Kind"},"from_time":{"anyOf":[{"maximum":9999999999999,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Start of the window as Unix time in milliseconds (the API default is 7 days ago).","title":"From Time"},"to_time":{"anyOf":[{"maximum":9999999999999,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"End of the window as Unix time in milliseconds (the API default is now).","title":"To Time"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100, the API default is 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination identifier taken from the next link of the previous answer.","title":"After"}},"title":"list_deploymentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_flag_events":{"post":{"operationId":"list_flag_events","summary":"List flag change events from engineering insights (flag, event type, time, description) with optional filters by flag, i","description":"List flag change events from engineering insights (flag, event type, time, description) with optional filters by flag, impact size and experiments. The acting member is left out. Beta endpoint. Use for \"Which flag changes happened in production this week, and how big was the impact\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project key.","title":"Project Key"},"environment_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this environment key (use with project_key).","title":"Environment Key"},"application_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated application keys to limit the answer to.","title":"Application Key"},"flag_query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only events for this flag key.","title":"Flag Query"},"impact_size":{"anyOf":[{"enum":["none","small","medium","large"],"type":"string"},{"type":"null"}],"default":null,"description":"Filter by impact: none, small, medium or large.","title":"Impact Size"},"has_experiments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for events tied to an experiment, false for those without.","title":"Has Experiments"},"from_time":{"anyOf":[{"maximum":9999999999999,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Start of the window as Unix time in milliseconds (the API default is 7 days ago).","title":"From Time"},"to_time":{"anyOf":[{"maximum":9999999999999,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"End of the window as Unix time in milliseconds (the API default is now).","title":"To Time"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100, the API default is 20).","title":"Limit"},"after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination identifier taken from the next link of the previous answer.","title":"After"}},"title":"list_flag_eventsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_insight_scores":{"post":{"operationId":"get_insight_scores","summary":"Show engineering insight scores (overall, deployment frequency, failure rate, lead time, flag health and more) for the c","description":"Show engineering insight scores (overall, deployment frequency, failure rate, lead time, flag health and more) for the current and previous period. Beta endpoint. Use for \"What are our LaunchDarkly engineering insight scores\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project key.","title":"Project Key"},"environment_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this environment key (use with project_key).","title":"Environment Key"},"application_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated application keys to limit the answer to.","title":"Application Key"}},"title":"get_insight_scoresArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_insight_groups":{"post":{"operationId":"list_insight_groups","summary":"List the insight groups (project, environment and application sets you collect insights for) with key, name and creation","description":"List the insight groups (project, environment and application sets you collect insights for) with key, name and creation time; scores can be expanded. Beta endpoint. Use for \"Which engineering insight groups do we have in LaunchDarkly\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name matches this text.","title":"Query"},"expand":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Extra detail to include: scores, environment or metadata (comma-separated).","title":"Expand"},"limit":{"anyOf":[{"maximum":20,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many groups to return (1 to 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many groups to skip, for paging.","title":"Offset"}},"title":"list_insight_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_insight_repositories":{"post":{"operationId":"list_insight_repositories","summary":"List the repositories connected to engineering insights with type, URL and main branch. Beta endpoint. Use for \"Which re","description":"List the repositories connected to engineering insights with type, URL and main branch. Beta endpoint. Use for \"Which repositories feed LaunchDarkly engineering insights\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_insight_repositoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_deployment_frequency_chart":{"post":{"operationId":"get_deployment_frequency_chart","summary":"Get deployment frequency chart data (summary metadata and series of counts per bucket), optionally grouped by applicatio","description":"Get deployment frequency chart data (summary metadata and series of counts per bucket), optionally grouped by application or kind. Beta endpoint. Use for \"How often do we deploy to production per LaunchDarkly insights\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project key.","title":"Project Key"},"environment_key":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this environment key (use with project_key).","title":"Environment Key"},"application_key":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated application keys to limit the answer to.","title":"Application Key"},"from_time":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Start as Unix time in milliseconds (the API default is 7 days ago).","title":"From Time"},"to_time":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"End as Unix time in milliseconds (the API default is now).","title":"To Time"},"bucket_type":{"anyOf":[{"enum":["rolling","hour","day"],"type":"string"},{"type":"null"}],"default":null,"description":"Bucket type: rolling, hour or day (API default rolling).","title":"Bucket Type"},"group_by":{"anyOf":[{"enum":["application","kind"],"type":"string"},{"type":"null"}],"default":null,"description":"Split the series by application or kind.","title":"Group By"}},"title":"get_deployment_frequency_chartArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}