{"openapi":"3.1.0","info":{"title":"Unleash (BYOK) API","version":"0.1.0","description":"Unleash (BYOK) lets an AI assistant read your own Unleash data through the Unleash API with a key you supply (personal access token or service account token). Read-only: 11 tools (list_projects, list_environments, search_features, get_feature_strategies, list_feature_tags, list_events, list_segments, list_strategy_types, list_applications, list_context_fields, list_feature_flag_types). The BYOK...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-unleash.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-unleash/docs"},"termsOfService":"https://connectorbay.com/byok-unleash/terms"},"servers":[{"url":"https://byok-unleash.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-unleash/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_projects":{"post":{"operationId":"list_projects","summary":"List the projects of the Unleash instance with feature and member counts, collaboration mode and last flag usage. Use fo","description":"List the projects of the Unleash instance with feature and member counts, collaboration mode and last flag usage. Use for \"Which projects exist in our Unleash instance\".","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"},"archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list archived projects instead of active ones.","title":"Archived"}},"required":["instance"],"title":"list_projectsArguments","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_environments":{"post":{"operationId":"list_environments","summary":"List all environments of the instance (for example development and production) with type, enabled state and counts. Use ","description":"List all environments of the instance (for example development and production) with type, enabled state and counts. Use for \"Which environments are set up 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"}},"required":["instance"],"title":"list_environmentsArguments","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/search_features":{"post":{"operationId":"search_features","summary":"Search feature flags across the instance by name or tag with optional project, state and lifecycle filters; returns a pa","description":"Search feature flags across the instance by name or tag with optional project, state and lifecycle filters; returns a page of flags with type, project, stale state and lifecycle stage. Use for \"Which feature flags in the default project are stale\".","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"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Text matched against feature name or tag.","title":"Query"},"project":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Project filter with operator, for example 'IS:default' or 'IS_ANY_OF:default,mobile'.","title":"Project"},"state":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Flag state filter with operator, for example 'IS:stale' or 'IS:active'.","title":"State"},"lifecycle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Lifecycle stage filter with operator, for example 'IS:live'.","title":"Lifecycle"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many flags to return per page (1 to 100, default 50).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of flags to skip, for paging.","title":"Offset"},"sort_by":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"createdAt","description":"Field to sort by, for example name or createdAt.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc or desc.","title":"Sort Order"}},"required":["instance"],"title":"search_featuresArguments","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_feature_strategies":{"post":{"operationId":"get_feature_strategies","summary":"List the activation strategies of one feature flag in one environment, with title, disabled flag, segments and parameter","description":"List the activation strategies of one feature flag in one environment, with title, disabled flag, segments and parameters. Use for \"How is the new-checkout flag rolled out in production\".","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":200,"title":"Project Id","type":"string"},"feature_name":{"description":"Exact feature flag name, for example 'new-checkout'.","maxLength":200,"title":"Feature Name","type":"string"},"environment":{"description":"Environment name, for example 'production'.","maxLength":200,"title":"Environment","type":"string"}},"required":["instance","project_id","feature_name","environment"],"title":"get_feature_strategiesArguments","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_feature_tags":{"post":{"operationId":"list_feature_tags","summary":"List the tags attached to one feature flag. Use for \"Which tags does the new-checkout flag have\".","description":"List the tags attached to one feature flag. Use for \"Which tags does the new-checkout flag have\".","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"},"feature_name":{"description":"Exact feature flag name, for example 'new-checkout'.","maxLength":200,"title":"Feature Name","type":"string"}},"required":["instance","feature_name"],"title":"list_feature_tagsArguments","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_events":{"post":{"operationId":"list_events","summary":"List the most recent change events of the instance (last 100), or all events of one project, with type, actor, flag and ","description":"List the most recent change events of the instance (last 100), or all events of one project, with type, actor, flag and environment. Use for \"What changed in our Unleash instance recently\".","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":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Project name to return all events for; leave empty for the latest 100 events instance-wide.","title":"Project"}},"required":["instance"],"title":"list_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/list_segments":{"post":{"operationId":"list_segments","summary":"List the reusable user segments with description, project, creation date and how many flags and projects use each. Use f","description":"List the reusable user segments with description, project, creation date and how many flags and projects use each. Use for \"Which segments are defined and how many flags use 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_segmentsArguments","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_strategy_types":{"post":{"operationId":"list_strategy_types","summary":"List the available activation strategy types (built-in and custom) with display name, description and parameters. Use fo","description":"List the available activation strategy types (built-in and custom) with display name, description and parameters. Use for \"Which activation strategy types can I use 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"}},"required":["instance"],"title":"list_strategy_typesArguments","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_applications":{"post":{"operationId":"list_applications","summary":"List applications that have connected to the instance through an SDK, with SDK version and projects used. Use for \"Which","description":"List applications that have connected to the instance through an SDK, with SDK version and projects used. Use for \"Which applications are connected to Unleash and which SDK versions do they use\".","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"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Text matched against the application name.","title":"Query"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many applications to return (1 to 1000, default 1000).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of applications to skip, for paging.","title":"Offset"}},"required":["instance"],"title":"list_applicationsArguments","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_context_fields":{"post":{"operationId":"list_context_fields","summary":"List the configured Unleash context fields (such as userId) with description, stickiness support and usage counts. Use f","description":"List the configured Unleash context fields (such as userId) with description, stickiness support and usage counts. Use for \"Which context fields are configured 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"}},"required":["instance"],"title":"list_context_fieldsArguments","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_feature_flag_types":{"post":{"operationId":"list_feature_flag_types","summary":"List the feature flag types (release, experiment, operational, kill-switch, permission) with description and days before","description":"List the feature flag types (release, experiment, operational, kill-switch, permission) with description and days before a flag counts as potentially stale. Use for \"What flag types does Unleash have and when do they go stale\".","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_feature_flag_typesArguments","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}}}}