{"openapi":"3.1.0","info":{"title":"Linode Databases (BYOK) API","version":"0.1.0","description":"Linode Databases (BYOK) lets an AI assistant read your own Linode Databases data through the Linode Databases API with a key you supply (personal access token (read-only scopes are enough)). Read-only: 9 tools (list_database_instances, list_mysql_instances, get_mysql_instance, list_postgresql_instances, get_postgresql_instance, get_valkey_instance, list_database_engines, list_database_types,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-linode-databases.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-linode-databases/docs"},"termsOfService":"https://connectorbay.com/byok-linode-databases/terms"},"servers":[{"url":"https://byok-linode-databases.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-linode-databases/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_database_instances":{"post":{"operationId":"list_database_instances","summary":"List all Managed Databases of every engine with label, engine, version, region, status, cluster size and hosts. Use for ","description":"List all Managed Databases of every engine with label, engine, version, region, status, cluster size and hosts. Use for \"Which managed databases do I run on Linode and are they all active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":500,"minimum":25,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (25 to 500).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1; 'pages' in the answer is the total number of pages.","title":"Page"}},"title":"list_database_instancesArguments","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_mysql_instances":{"post":{"operationId":"list_mysql_instances","summary":"List Managed MySQL databases with version, region, status, cluster size and primary host. Use for \"Which MySQL managed d","description":"List Managed MySQL databases with version, region, status, cluster size and primary host. Use for \"Which MySQL managed databases do I have on Linode\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":500,"minimum":25,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (25 to 500).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1; 'pages' in the answer is the total number of pages.","title":"Page"}},"title":"list_mysql_instancesArguments","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_mysql_instance":{"post":{"operationId":"get_mysql_instance","summary":"Get one Managed MySQL database by id with status, version, cluster size, hosts, backup and maintenance window. Use for \"","description":"Get one Managed MySQL database by id with status, version, cluster size, hosts, backup and maintenance window. Use for \"What is the status and version of MySQL database 777\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance_id":{"description":"Numeric id of the MySQL database, as shown by list_mysql_instances.","minimum":1,"title":"Instance Id","type":"integer"}},"required":["instance_id"],"title":"get_mysql_instanceArguments","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_postgresql_instances":{"post":{"operationId":"list_postgresql_instances","summary":"List Managed PostgreSQL databases with version, region, status, cluster size and primary host. Use for \"Which PostgreSQL","description":"List Managed PostgreSQL databases with version, region, status, cluster size and primary host. Use for \"Which PostgreSQL managed databases do I have on Linode\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":500,"minimum":25,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (25 to 500).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1; 'pages' in the answer is the total number of pages.","title":"Page"}},"title":"list_postgresql_instancesArguments","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_postgresql_instance":{"post":{"operationId":"get_postgresql_instance","summary":"Get one Managed PostgreSQL database by id with status, version, cluster size, hosts and connection pool port. Use for \"W","description":"Get one Managed PostgreSQL database by id with status, version, cluster size, hosts and connection pool port. Use for \"What is the status of PostgreSQL database 888\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance_id":{"description":"Numeric id of the PostgreSQL database, as shown by list_postgresql_instances.","minimum":1,"title":"Instance Id","type":"integer"}},"required":["instance_id"],"title":"get_postgresql_instanceArguments","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_valkey_instance":{"post":{"operationId":"get_valkey_instance","summary":"Get one Managed Valkey database by id with status, version, cluster size, hosts and region. Use for \"What is the status ","description":"Get one Managed Valkey database by id with status, version, cluster size, hosts and region. Use for \"What is the status of Valkey database 999\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instance_id":{"description":"Numeric id of the Valkey database.","minimum":1,"title":"Instance Id","type":"integer"}},"required":["instance_id"],"title":"get_valkey_instanceArguments","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_database_engines":{"post":{"operationId":"list_database_engines","summary":"List the database engines and versions Linode can deploy, such as mysql/8 or postgresql/16. Use for \"Which database engi","description":"List the database engines and versions Linode can deploy, such as mysql/8 or postgresql/16. Use for \"Which database engine versions can I deploy on Linode\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":500,"minimum":25,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (25 to 500).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1; 'pages' in the answer is the total number of pages.","title":"Page"}},"title":"list_database_enginesArguments","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_database_types":{"post":{"operationId":"list_database_types","summary":"List Managed Database plans with class, vCPUs, memory, disk and per-engine hourly and monthly prices. Use for \"What do L","description":"List Managed Database plans with class, vCPUs, memory, disk and per-engine hourly and monthly prices. Use for \"What do Linode managed database plans cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":500,"minimum":25,"type":"integer"},{"type":"null"}],"default":100,"description":"How many results to return (25 to 500).","title":"Page Size"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1; 'pages' in the answer is the total number of pages.","title":"Page"}},"title":"list_database_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/get_database_type":{"post":{"operationId":"get_database_type","summary":"Get one Managed Database plan by id with its resources and per-engine prices. Use for \"How much does the g6-dedicated-4 ","description":"Get one Managed Database plan by id with its resources and per-engine prices. Use for \"How much does the g6-dedicated-4 managed database plan cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type_id":{"description":"Plan id, for example 'g6-standard-2', as shown by list_database_types.","maxLength":200,"title":"Type Id","type":"string"}},"required":["type_id"],"title":"get_database_typeArguments","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}}}}