{"openapi":"3.1.0","info":{"title":"GrowthBook Targeting and SDKs (BYOK) API","version":"0.1.0","description":"GrowthBook Targeting and SDKs (BYOK) lets an AI assistant read your own GrowthBook Targeting and SDKs data through the GrowthBook Targeting and SDKs API with a key you supply (API secret key (starts with secret_; a read-only role is enough)). Read-only: 9 tools (list_saved_groups, get_saved_group, get_saved_group_references, list_sdk_connections, list_namespaces, get_namespace, list_holdouts,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-growthbook-targeting.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-growthbook-targeting/docs"},"termsOfService":"https://connectorbay.com/byok-growthbook-targeting/terms"},"servers":[{"url":"https://byok-growthbook-targeting.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-growthbook-targeting/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_saved_groups":{"post":{"operationId":"list_saved_groups","summary":"List saved groups (reusable targeting groups defined by a condition or a list of ids) with name, type, attribute, condit","description":"List saved groups (reusable targeting groups defined by a condition or a list of ids) with name, type, attribute, condition and projects. The list members themselves are not returned. Use for \"Which saved groups does GrowthBook have for targeting\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100, API default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip; use nextOffset from the previous answer for the next page.","title":"Offset"}},"title":"list_saved_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/get_saved_group":{"post":{"operationId":"get_saved_group","summary":"Get one saved group with its type, attribute key, condition, description and projects. List members are not returned. Us","description":"Get one saved group with its type, attribute key, condition, description and projects. List members are not returned. Use for \"Show the GrowthBook saved group grp_1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"saved_group_id":{"description":"Saved group id from list_saved_groups, for example 'grp_1'.","maxLength":100,"title":"Saved Group Id","type":"string"}},"required":["saved_group_id"],"title":"get_saved_groupArguments","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_saved_group_references":{"post":{"operationId":"get_saved_group_references","summary":"Show which features, experiments, bandits and other saved groups use a saved group (id, name, project). Use for \"What us","description":"Show which features, experiments, bandits and other saved groups use a saved group (id, name, project). Use for \"What uses the GrowthBook saved group grp_1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"saved_group_id":{"description":"Saved group id from list_saved_groups.","maxLength":100,"title":"Saved Group Id","type":"string"}},"required":["saved_group_id"],"title":"get_saved_group_referencesArguments","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_sdk_connections":{"post":{"operationId":"list_sdk_connections","summary":"List SDK connections (one per app and environment) with name, languages, SDK version, environment, projects and options ","description":"List SDK connections (one per app and environment) with name, languages, SDK version, environment, projects and options such as payload encryption and remote evaluation. Client keys, encryption keys and signing keys are not returned. Use for \"Which SDK connections are configured in GrowthBook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items of this project id (from the GrowthBook connector list_projects).","title":"Project Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100, API default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip; use nextOffset from the previous answer for the next page.","title":"Offset"}},"title":"list_sdk_connectionsArguments","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_namespaces":{"post":{"operationId":"list_namespaces","summary":"List namespaces (groups of mutually exclusive experiments sharing a hash attribute) with status, format and hash attribu","description":"List namespaces (groups of mutually exclusive experiments sharing a hash attribute) with status, format and hash attribute. Use for \"Which experiment namespaces exist in GrowthBook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100, API default 10).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip; use nextOffset from the previous answer for the next page.","title":"Offset"}},"title":"list_namespacesArguments","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_namespace":{"post":{"operationId":"get_namespace","summary":"Get one namespace with its display name, status, format, hash attribute and seed. Use for \"Show GrowthBook namespace ns_","description":"Get one namespace with its display name, status, format, hash attribute and seed. Use for \"Show GrowthBook namespace ns_1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"namespace_id":{"description":"Namespace id from list_namespaces, for example 'ns_1'.","maxLength":100,"title":"Namespace Id","type":"string"}},"required":["namespace_id"],"title":"get_namespaceArguments","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_holdouts":{"post":{"operationId":"list_holdouts","summary":"List holdouts (user groups withheld from experiments to measure cumulative impact) with name, stage, size, tracking key ","description":"List holdouts (user groups withheld from experiments to measure cumulative impact) with name, stage, size, tracking key and dates. Targeting rules and metric lists are left out. Use for \"Which holdouts are running in GrowthBook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items of this project id (from the GrowthBook connector list_projects).","title":"Project Id"},"stage":{"anyOf":[{"enum":["draft","running","analysis-period","stopped"],"type":"string"},{"type":"null"}],"default":null,"description":"Only holdouts in this stage.","title":"Stage"}},"title":"list_holdoutsArguments","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_metric_groups":{"post":{"operationId":"list_metric_groups","summary":"List metric groups (named sets of metrics reused in experiments) with name, description, tags, projects, data source and","description":"List metric groups (named sets of metrics reused in experiments) with name, description, tags, projects, data source and member metric ids. Use for \"Which metric groups are defined in GrowthBook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_metric_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_experiment_templates":{"post":{"operationId":"list_experiment_templates","summary":"List experiment templates (reusable experiment settings) with hypothesis, tags, data source, hash attribute, stats engin","description":"List experiment templates (reusable experiment settings) with hypothesis, tags, data source, hash attribute, stats engine and metric ids. Use for \"Which experiment templates can I start from in GrowthBook\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items of this project id (from the GrowthBook connector list_projects).","title":"Project Id"}},"title":"list_experiment_templatesArguments","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}}}}