{"openapi":"3.1.0","info":{"title":"Aiven (BYOK) API","version":"0.1.0","description":"Aiven (BYOK) lets an AI assistant read your own Aiven data through the Aiven API with a key you supply (personal access token). Read-only: 11 tools (get_me, list_projects, get_project, list_services, get_service, list_service_databases, get_service_backups, list_service_alerts, list_project_alerts, list_project_events, list_kafka_topics). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-aiven.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-aiven/docs"},"termsOfService":"https://connectorbay.com/byok-aiven/terms"},"servers":[{"url":"https://byok-aiven.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-aiven/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/get_me":{"post":{"operationId":"get_me","summary":"Show the Aiven user the token belongs to: login, real name, state, creation time and the projects the user can access. U","description":"Show the Aiven user the token belongs to: login, real name, state, creation time and the projects the user can access. Use for \"Which Aiven account is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_meArguments","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_projects":{"post":{"operationId":"list_projects","summary":"List the Aiven projects the token can access with state, default cloud and organization. Billing details are not returne","description":"List the Aiven projects the token can access with state, default cloud and organization. Billing details are not returned. Use for \"What Aiven projects do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"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/get_project":{"post":{"operationId":"get_project","summary":"Get one Aiven project: state, default cloud and organization. Billing details are not returned. Use for \"What is the def","description":"Get one Aiven project: state, default cloud and organization. Billing details are not returned. Use for \"What is the default cloud of my Aiven project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"}},"required":["project"],"title":"get_projectArguments","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_services":{"post":{"operationId":"list_services","summary":"List the managed services (PostgreSQL, Kafka, OpenSearch, etc.) of a project with type, state, plan, cloud, nodes and di","description":"List the managed services (PostgreSQL, Kafka, OpenSearch, etc.) of a project with type, state, plan, cloud, nodes and disk. Connection strings and passwords are not returned. Use for \"Which Aiven services are running in my project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"}},"required":["project"],"title":"list_servicesArguments","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_service":{"post":{"operationId":"get_service","summary":"Get one managed service: type, state, plan, cloud, nodes, memory, disk, maintenance window, databases and tags. Connecti","description":"Get one managed service: type, state, plan, cloud, nodes, memory, disk, maintenance window, databases and tags. Connection strings and passwords are not returned. Use for \"How big is my Aiven PostgreSQL service and when is its maintenance window\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"},"service_name":{"description":"Aiven service name, for example 'pg-main'; get it from list_services.","maxLength":100,"title":"Service Name","type":"string"}},"required":["project","service_name"],"title":"get_serviceArguments","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_service_databases":{"post":{"operationId":"list_service_databases","summary":"List the database names inside a managed service, 250 per page at most. Use for \"Which databases exist in my Aiven servi","description":"List the database names inside a managed service, 250 per page at most. Use for \"Which databases exist in my Aiven service\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"},"service_name":{"description":"Aiven service name, for example 'pg-main'; get it from list_services.","maxLength":100,"title":"Service Name","type":"string"},"max_items":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":250,"description":"How many databases to return per page (1 to 250).","title":"Max Items"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Database name to continue after, from the 'next' value of the previous answer.","title":"After"}},"required":["project","service_name"],"title":"list_service_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_service_backups":{"post":{"operationId":"get_service_backups","summary":"Show the backups of a managed service (name, time, size) with the backup schedule and the point-in-time recovery range. ","description":"Show the backups of a managed service (name, time, size) with the backup schedule and the point-in-time recovery range. Use for \"When was my Aiven service last backed up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"},"service_name":{"description":"Aiven service name, for example 'pg-main'; get it from list_services.","maxLength":100,"title":"Service Name","type":"string"}},"required":["project","service_name"],"title":"get_service_backupsArguments","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_service_alerts":{"post":{"operationId":"list_service_alerts","summary":"List active alerts of one managed service with event, severity and time. Use for \"Does my Aiven service have any active ","description":"List active alerts of one managed service with event, severity and time. Use for \"Does my Aiven service have any active alerts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"},"service_name":{"description":"Aiven service name, for example 'pg-main'; get it from list_services.","maxLength":100,"title":"Service Name","type":"string"}},"required":["project","service_name"],"title":"list_service_alertsArguments","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_project_alerts":{"post":{"operationId":"list_project_alerts","summary":"List active alerts across all services of a project with event, severity and time. Use for \"Are there any active alerts ","description":"List active alerts across all services of a project with event, severity and time. Use for \"Are there any active alerts in my Aiven project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"}},"required":["project"],"title":"list_project_alertsArguments","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_project_events":{"post":{"operationId":"list_project_events","summary":"List recent event log entries of a project (who did what to which service, and when). Use for \"What happened recently in","description":"List recent event log entries of a project (who did what to which service, and when). Use for \"What happened recently in my Aiven project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"}},"required":["project"],"title":"list_project_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_kafka_topics":{"post":{"operationId":"list_kafka_topics","summary":"List the topics of an Aiven for Apache Kafka service with partitions, replication, retention and state. Use for \"Which K","description":"List the topics of an Aiven for Apache Kafka service with partitions, replication, retention and state. Use for \"Which Kafka topics does my Aiven Kafka service have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project":{"description":"Aiven project name, for example 'my-project'; get it from list_projects.","maxLength":100,"title":"Project","type":"string"},"service_name":{"description":"Aiven service name, for example 'pg-main'; get it from list_services.","maxLength":100,"title":"Service Name","type":"string"}},"required":["project","service_name"],"title":"list_kafka_topicsArguments","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}}}}