{"openapi":"3.1.0","info":{"title":"Qovery (BYOK) API","version":"0.1.0","description":"Qovery (BYOK) lets an AI assistant read your own Qovery data through the Qovery API with a key you supply (API token). Read-only: 12 tools (list_organizations, list_projects, list_clusters, list_cluster_statuses, list_environments, get_environment, get_environment_status, list_applications, list_containers, list_databases, list_jobs, list_environment_deployments). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-qovery.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-qovery/docs"},"termsOfService":"https://connectorbay.com/byok-qovery/terms"},"servers":[{"url":"https://byok-qovery.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-qovery/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_organizations":{"post":{"operationId":"list_organizations","summary":"List the Qovery organizations the token can access with name, plan and website. Admin emails are not returned. Use for \"","description":"List the Qovery organizations the token can access with name, plan and website. Admin emails are not returned. Use for \"Which Qovery organizations do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_organizationsArguments","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 projects of a Qovery organization with name, description and environment count. Use for \"What projects are in m","description":"List the projects of a Qovery organization with name, description and environment count. Use for \"What projects are in my Qovery organization\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Qovery organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Organization Id","type":"string"}},"required":["organization_id"],"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/list_clusters":{"post":{"operationId":"list_clusters","summary":"List the Kubernetes clusters of a Qovery organization with cloud provider, region, node range, version and status. Use f","description":"List the Kubernetes clusters of a Qovery organization with cloud provider, region, node range, version and status. Use for \"What clusters does my Qovery organization run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Qovery organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Organization Id","type":"string"}},"required":["organization_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/list_cluster_statuses":{"post":{"operationId":"list_cluster_statuses","summary":"List the deployment status of every cluster in a Qovery organization with last deployment date and Kubernetes upgrade av","description":"List the deployment status of every cluster in a Qovery organization with last deployment date and Kubernetes upgrade availability. Use for \"Are my Qovery clusters deployed and healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Qovery organization id (UUID), as returned by list_organizations.","maxLength":60,"title":"Organization Id","type":"string"}},"required":["organization_id"],"title":"list_cluster_statusesArguments","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_environments":{"post":{"operationId":"list_environments","summary":"List the environments of a Qovery project with mode, cluster, cloud provider and last update. Use for \"What environments","description":"List the environments of a Qovery project with mode, cluster, cloud provider and last update. Use for \"What environments does this Qovery project have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Qovery project id (UUID), as returned by list_projects.","maxLength":60,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"list_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/get_environment":{"post":{"operationId":"get_environment","summary":"Get one Qovery environment by id: mode, cluster, cloud provider and expiry. Use for \"Show details of this Qovery environ","description":"Get one Qovery environment by id: mode, cluster, cloud provider and expiry. Use for \"Show details of this Qovery environment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_id"],"title":"get_environmentArguments","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_environment_status":{"post":{"operationId":"get_environment_status","summary":"Get the current status of a Qovery environment: state, last deployment date and state, and duration. Use for \"Is my Qove","description":"Get the current status of a Qovery environment: state, last deployment date and state, and duration. Use for \"Is my Qovery environment running, and when did it last deploy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_id"],"title":"get_environment_statusArguments","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_applications":{"post":{"operationId":"list_applications","summary":"List the applications of a Qovery environment with build mode, CPU, memory, instance range, repository and deployed comm","description":"List the applications of a Qovery environment with build mode, CPU, memory, instance range, repository and deployed commit. Use for \"What applications run in this Qovery environment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_id"],"title":"list_applicationsArguments","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_containers":{"post":{"operationId":"list_containers","summary":"List the container services of a Qovery environment with image, tag, CPU, memory and instance range. Use for \"What conta","description":"List the container services of a Qovery environment with image, tag, CPU, memory and instance range. Use for \"What containers run in this Qovery environment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_id"],"title":"list_containersArguments","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_databases":{"post":{"operationId":"list_databases","summary":"List the databases of a Qovery environment with type, version, mode, accessibility and sizing. Host and credentials are ","description":"List the databases of a Qovery environment with type, version, mode, accessibility and sizing. Host and credentials are not returned. Use for \"What databases are in this Qovery environment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_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/list_jobs":{"post":{"operationId":"list_jobs","summary":"List the jobs (cron and lifecycle) of a Qovery environment with type, CPU, memory and limits. Use for \"What jobs are in ","description":"List the jobs (cron and lifecycle) of a Qovery environment with type, CPU, memory and limits. Use for \"What jobs are in this Qovery environment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"}},"required":["environment_id"],"title":"list_jobsArguments","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_environment_deployments":{"post":{"operationId":"list_environment_deployments","summary":"List recent deployments of a Qovery environment with status, trigger action, duration and timestamps. Who triggered them","description":"List recent deployments of a Qovery environment with status, trigger action, duration and timestamps. Who triggered them is not returned. Use for \"How did the latest Qovery deployments go\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"environment_id":{"description":"Qovery environment id (UUID), as returned by list_environments.","maxLength":60,"title":"Environment Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Deployments per page (1 to 100, default 20).","title":"Page Size"}},"required":["environment_id"],"title":"list_environment_deploymentsArguments","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}}}}