{"openapi":"3.1.0","info":{"title":"Elastic Cloud Hosted (BYOK) API","version":"0.1.0","description":"Elastic Cloud Hosted (BYOK) lets an AI assistant read your own Elastic Cloud Hosted data through the Elastic Cloud Hosted API with a key you supply (Elastic Cloud API key (encoded value)). Read-only: 8 tools (list_traffic_filter_rulesets, get_traffic_filter_ruleset, list_extensions, get_extension, get_trusted_environments, list_snapshot_repositories, get_elasticsearch_tiers,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-elastic-cloud-hosted-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-elastic-cloud-hosted-config/docs"},"termsOfService":"https://connectorbay.com/byok-elastic-cloud-hosted-config/terms"},"servers":[{"url":"https://byok-elastic-cloud-hosted-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-elastic-cloud-hosted-config/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_traffic_filter_rulesets":{"post":{"operationId":"list_traffic_filter_rulesets","summary":"List traffic filter rulesets (allowed IPs or private endpoints) with type, region, default flag and how many deployments","description":"List traffic filter rulesets (allowed IPs or private endpoints) with type, region, default flag and how many deployments use each. Use for \"Which traffic filter rulesets protect my Elastic Cloud deployments\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only rulesets of this region, for example aws-eu-west-1.","title":"Region"}},"title":"list_traffic_filter_rulesetsArguments","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_traffic_filter_ruleset":{"post":{"operationId":"get_traffic_filter_ruleset","summary":"Get one traffic filter ruleset by id: name, type, region, default flag and association count. Use for \"Show one Elastic ","description":"Get one traffic filter ruleset by id: name, type, region, default flag and association count. Use for \"Show one Elastic Cloud traffic filter ruleset\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ruleset_id":{"description":"Ruleset id from list_traffic_filter_rulesets.","maxLength":200,"title":"Ruleset Id","type":"string"}},"required":["ruleset_id"],"title":"get_traffic_filter_rulesetArguments","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_extensions":{"post":{"operationId":"list_extensions","summary":"List custom Elasticsearch extensions (plugins and bundles) uploaded to the account with name, type, version and descript","description":"List custom Elasticsearch extensions (plugins and bundles) uploaded to the account with name, type, version and description. Use for \"Which custom extensions are uploaded to my Elastic Cloud account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_extensionsArguments","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_extension":{"post":{"operationId":"get_extension","summary":"Get one extension by id: name, type, version and description. Use for \"Show one Elastic Cloud extension\".","description":"Get one extension by id: name, type, version and description. Use for \"Show one Elastic Cloud extension\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"extension_id":{"description":"Extension id from list_extensions.","maxLength":200,"title":"Extension Id","type":"string"}},"required":["extension_id"],"title":"get_extensionArguments","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_trusted_environments":{"post":{"operationId":"get_trusted_environments","summary":"Show which accounts and external environments the organization trusts for cross-cluster access: names, ids and whether a","description":"Show which accounts and external environments the organization trusts for cross-cluster access: names, ids and whether all deployments are trusted. Use for \"Which environments does my Elastic Cloud organization trust\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_trusted_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/list_snapshot_repositories":{"post":{"operationId":"list_snapshot_repositories","summary":"List the snapshot repositories attached to a deployment's Elasticsearch resource. Use for \"Which snapshot repositories d","description":"List the snapshot repositories attached to a deployment's Elasticsearch resource. Use for \"Which snapshot repositories does my Elastic Cloud deployment have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"Id of the hosted deployment (a 32 character id from the deployment list), for example 'a1b2c3d4e5f60718293a4b5c6d7e8f90'.","maxLength":200,"title":"Deployment Id","type":"string"},"ref_id":{"description":"Resource ref id of the Elasticsearch resource; '_main' for a deployment with one.","maxLength":200,"title":"Ref Id","type":"string"}},"required":["deployment_id","ref_id"],"title":"list_snapshot_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_elasticsearch_tiers":{"post":{"operationId":"get_elasticsearch_tiers","summary":"Show the data tiers of a deployment (hot, warm, cold, frozen, master, coordinating, ml): memory size and zone count of e","description":"Show the data tiers of a deployment (hot, warm, cold, frozen, master, coordinating, ml): memory size and zone count of each. Use for \"How are the tiers of my Elastic Cloud deployment sized\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"Id of the hosted deployment (a 32 character id from the deployment list), for example 'a1b2c3d4e5f60718293a4b5c6d7e8f90'.","maxLength":200,"title":"Deployment Id","type":"string"},"ref_id":{"description":"Resource ref id of the Elasticsearch resource; '_main' for a deployment with one.","maxLength":200,"title":"Ref Id","type":"string"}},"required":["deployment_id","ref_id"],"title":"get_elasticsearch_tiersArguments","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_remote_clusters":{"post":{"operationId":"list_remote_clusters","summary":"List the remote clusters a deployment's Elasticsearch resource is linked to (certificate based) with alias and skip-unav","description":"List the remote clusters a deployment's Elasticsearch resource is linked to (certificate based) with alias and skip-unavailable flag. Use for \"Which remote clusters is my Elastic Cloud deployment connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"Id of the hosted deployment (a 32 character id from the deployment list), for example 'a1b2c3d4e5f60718293a4b5c6d7e8f90'.","maxLength":200,"title":"Deployment Id","type":"string"},"ref_id":{"description":"Resource ref id of the Elasticsearch resource; '_main' for a deployment with one.","maxLength":200,"title":"Ref Id","type":"string"}},"required":["deployment_id","ref_id"],"title":"list_remote_clustersArguments","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}}}}