{"openapi":"3.1.0","info":{"title":"Unleash Insights (BYOK) API","version":"0.1.0","description":"Unleash Insights (BYOK) lets an AI assistant read your own Unleash Insights data through the Unleash Insights API with a key you supply (personal access token or service account token). Read-only: 11 tools (get_instance_statistics, get_instance_insights, get_flag_lifecycle_counts, get_project_insights, get_project_status, get_project_dora_metrics, get_project_health_report,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-unleash-insights.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-unleash-insights/docs"},"termsOfService":"https://connectorbay.com/byok-unleash-insights/terms"},"servers":[{"url":"https://byok-unleash-insights.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-unleash-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/get_instance_statistics":{"post":{"operationId":"get_instance_statistics","summary":"Show usage statistics of the Unleash instance: versions, user, flag, project, segment and strategy counts, active users ","description":"Show usage statistics of the Unleash instance: versions, user, flag, project, segment and strategy counts, active users over 7 to 90 days, production changes, and API token counts by type. Use for \"How big is our Unleash instance and how many users were active in the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"}},"required":["instance"],"title":"get_instance_statisticsArguments","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_instance_insights":{"post":{"operationId":"get_instance_insights","summary":"Get instance-wide trends over a date range: users (total, active, inactive), flags (total, active, stale, potentially st","description":"Get instance-wide trends over a date range: users (total, active, inactive), flags (total, active, stale, potentially stale) and metrics summaries. Enterprise feature. Use for \"How have our Unleash flag counts and stale flags trended this quarter\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"from_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the range as yyyy-MM-dd.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range as yyyy-MM-dd.","title":"To Date"}},"required":["instance"],"title":"get_instance_insightsArguments","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_flag_lifecycle_counts":{"post":{"operationId":"get_flag_lifecycle_counts","summary":"Count the instance's flags in each lifecycle stage: initial, pre-live, live, completed and archived. Use for \"How many U","description":"Count the instance's flags in each lifecycle stage: initial, pre-live, live, completed and archived. Use for \"How many Unleash flags are live versus completed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"}},"required":["instance"],"title":"get_flag_lifecycle_countsArguments","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_project_insights":{"post":{"operationId":"get_project_insights","summary":"Get a project's insights: activity and creation stats, health and technical debt ratings, lead time for changes, flag ty","description":"Get a project's insights: activity and creation stats, health and technical debt ratings, lead time for changes, flag type counts and member count. Enterprise feature. Use for \"How healthy is the default project in Unleash\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"project_id":{"description":"Project id, for example 'default'.","maxLength":100,"title":"Project Id","type":"string"}},"required":["instance","project_id"],"title":"get_project_insightsArguments","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_project_status":{"post":{"operationId":"get_project_status","summary":"Get a project's status: activity per day, current health and technical debt, resource counts (API tokens, members, segme","description":"Get a project's status: activity per day, current health and technical debt, resource counts (API tokens, members, segments), stale flag total and flag lifecycle summary. Use for \"What is the status of the default Unleash project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"project_id":{"description":"Project id, for example 'default'.","maxLength":100,"title":"Project Id","type":"string"}},"required":["instance","project_id"],"title":"get_project_statusArguments","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_project_dora_metrics":{"post":{"operationId":"get_project_dora_metrics","summary":"Get a project's DORA lead time metric: the average time from flag creation to production plus the time for each flag. Us","description":"Get a project's DORA lead time metric: the average time from flag creation to production plus the time for each flag. Use for \"What is the lead time for changes in the default Unleash project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"project_id":{"description":"Project id, for example 'default'.","maxLength":100,"title":"Project Id","type":"string"}},"required":["instance","project_id"],"title":"get_project_dora_metricsArguments","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_project_health_report":{"post":{"operationId":"get_project_health_report","summary":"Get a project's health report: name, mode, member count, health score, technical debt, counts of active, potentially sta","description":"Get a project's health report: name, mode, member count, health score, technical debt, counts of active, potentially stale and stale flags, and activity stats. The per-flag list is left out. Use for \"Give me the Unleash health report of the default project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"project_id":{"description":"Project id, for example 'default'.","maxLength":100,"title":"Project Id","type":"string"}},"required":["instance","project_id"],"title":"get_project_health_reportArguments","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_application_overview":{"post":{"operationId":"get_application_overview","summary":"Get an overview of one connected application: projects and flag count it uses, and per environment the instance count, S","description":"Get an overview of one connected application: projects and flag count it uses, and per environment the instance count, SDKs, last seen time and issues. Use for \"Which environments is our web-app Unleash client running in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"app_name":{"description":"Application name as registered with Unleash (see the Unleash connector list_applications).","maxLength":200,"title":"App Name","type":"string"}},"required":["instance","app_name"],"title":"get_application_overviewArguments","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_outdated_sdks":{"post":{"operationId":"list_outdated_sdks","summary":"List the SDK versions in use that are outdated, with the applications that use each. Use for \"Which Unleash SDK versions","description":"List the SDK versions in use that are outdated, with the applications that use each. Use for \"Which Unleash SDK versions are outdated and who uses them\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"}},"required":["instance"],"title":"list_outdated_sdksArguments","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_flag_usage_summary":{"post":{"operationId":"get_flag_usage_summary","summary":"Get the usage of one flag: last-hour yes and no counts per application and environment, total counts per environment and","description":"Get the usage of one flag: last-hour yes and no counts per application and environment, total counts per environment and the applications that reported it. Use for \"How often was the new-checkout flag evaluated in the last hour in Unleash\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"},"flag_name":{"description":"Exact feature flag name, for example 'new-checkout'.","maxLength":200,"title":"Flag Name","type":"string"}},"required":["instance","flag_name"],"title":"get_flag_usage_summaryArguments","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_unknown_flags":{"post":{"operationId":"list_unknown_flags","summary":"List flag names that SDKs asked for in the last 24 hours but that do not exist in Unleash (at most 1000), with last seen","description":"List flag names that SDKs asked for in the last 24 hours but that do not exist in Unleash (at most 1000), with last seen time. Use for \"Are any apps asking Unleash for flags that do not exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance":{"description":"Your hosted Unleash instance name, the part before .app.unleash-hosted.com (for example 'acme').","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Instance","type":"string"}},"required":["instance"],"title":"list_unknown_flagsArguments","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}}}}