{"openapi":"3.1.0","info":{"title":"Exasol Cloud (BYOK) API","version":"0.1.0","description":"Exasol Cloud (BYOK) lets an AI assistant read your own Exasol Cloud data through the Exasol Cloud API with a key you supply (Exasol SaaS personal access token (a read-only scope is enough)). Read-only: 11 tools (list_databases, get_database, get_database_settings, get_database_upgrade_info, list_clusters, get_cluster, list_schedules, list_allowed_ips, list_platforms, list_regions,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-exasol-saas.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-exasol-saas/docs"},"termsOfService":"https://connectorbay.com/byok-exasol-saas/terms"},"servers":[{"url":"https://byok-exasol-saas.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-exasol-saas/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_databases":{"post":{"operationId":"list_databases","summary":"List the databases of the account with status, cloud provider, region and the number of clusters (total and running). Us","description":"List the databases of the account with status, cloud provider, region and the number of clusters (total and running). Use for \"Which Exasol databases are running in my account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_databasesArguments","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_database":{"post":{"operationId":"get_database","summary":"Get one database: status, provider, region, cluster counts and creation time. Use for \"What is the status of Exasol data","description":"Get one database: status, provider, region, cluster counts and creation time. Use for \"What is the status of Exasol database 5df0HVAcTuWY4xkoBvgzcA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"}},"required":["account_id","database_id"],"title":"get_databaseArguments","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_database_settings":{"post":{"operationId":"get_database_settings","summary":"Get a database's settings: offload and automatic update flags, node count and release stream. Use for \"Are automatic upd","description":"Get a database's settings: offload and automatic update flags, node count and release stream. Use for \"Are automatic updates enabled on my Exasol database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"}},"required":["account_id","database_id"],"title":"get_database_settingsArguments","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_database_upgrade_info":{"post":{"operationId":"get_database_upgrade_info","summary":"Show the current database version, the version an upgrade would move to, and whether an upgrade is possible. Use for \"Is","description":"Show the current database version, the version an upgrade would move to, and whether an upgrade is possible. Use for \"Is there a newer version available for my Exasol database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"}},"required":["account_id","database_id"],"title":"get_database_upgrade_infoArguments","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_clusters":{"post":{"operationId":"list_clusters","summary":"List the clusters of a database with status, size, family, main-cluster flag and auto-stop setting. Use for \"Which clust","description":"List the clusters of a database with status, size, family, main-cluster flag and auto-stop setting. Use for \"Which clusters does my Exasol database have and are they running\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"}},"required":["account_id","database_id"],"title":"list_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}},"/v1/tools/get_cluster":{"post":{"operationId":"get_cluster","summary":"Get one cluster: status, size, family, main-cluster flag, auto-stop and offload settings. Use for \"How is Exasol cluster","description":"Get one cluster: status, size, family, main-cluster flag, auto-stop and offload settings. Use for \"How is Exasol cluster cl1AbCdEfGhIjKlMnOpQrS configured\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"},"cluster_id":{"description":"Id of the cluster, from list_clusters.","maxLength":200,"title":"Cluster Id","type":"string"}},"required":["account_id","database_id","cluster_id"],"title":"get_clusterArguments","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_schedules":{"post":{"operationId":"list_schedules","summary":"List the cron schedules that start, stop or scale a database's clusters with their action, cron rule, cluster name and s","description":"List the cron schedules that start, stop or scale a database's clusters with their action, cron rule, cluster name and state. Use for \"What start and stop schedules do my Exasol clusters have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"},"database_id":{"description":"Id of the database, from list_databases.","maxLength":200,"title":"Database Id","type":"string"}},"required":["account_id","database_id"],"title":"list_schedulesArguments","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_allowed_ips":{"post":{"operationId":"list_allowed_ips","summary":"List the IP ranges allowed to connect to the account's databases, with name and CIDR. Use for \"Which IP addresses may co","description":"List the IP ranges allowed to connect to the account's databases, with name and CIDR. Use for \"Which IP addresses may connect to my Exasol databases\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Id of your Exasol SaaS account (the id in the console address and in the API paths).","maxLength":200,"title":"Account Id","type":"string"}},"required":["account_id"],"title":"list_allowed_ipsArguments","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_platforms":{"post":{"operationId":"list_platforms","summary":"List the cloud platforms Exasol SaaS can run on. Use for \"Which clouds does Exasol SaaS support\".","description":"List the cloud platforms Exasol SaaS can run on. Use for \"Which clouds does Exasol SaaS support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_platformsArguments","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_regions":{"post":{"operationId":"list_regions","summary":"List the regions of a cloud platform with price multiplier and storage price. Use for \"Which Exasol SaaS regions are ava","description":"List the regions of a cloud platform with price multiplier and storage price. Use for \"Which Exasol SaaS regions are available on AWS\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"platform":{"description":"Cloud platform id, from list_platforms (for example aws).","maxLength":200,"title":"Platform","type":"string"}},"required":["platform"],"title":"list_regionsArguments","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_cluster_sizes":{"post":{"operationId":"list_cluster_sizes","summary":"List the cluster sizes of a cloud platform with vCPU, RAM, price and default flag. Use for \"What cluster sizes does Exas","description":"List the cluster sizes of a cloud platform with vCPU, RAM, price and default flag. Use for \"What cluster sizes does Exasol SaaS offer on AWS\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"platform":{"description":"Cloud platform id, from list_platforms (for example aws).","maxLength":200,"title":"Platform","type":"string"}},"required":["platform"],"title":"list_cluster_sizesArguments","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}}}}