{
  "components": {
    "responses": {
      "Error": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Error"
      }
    },
    "schemas": {
      "Error": {
        "properties": {
          "error": {
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "chai_ API key",
        "description": "Create keys at /account. Scopes: read, write, billing.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "description": "Agent quickstart",
    "url": "https://cloudhostai.eliteaiempire.com/docs/agents"
  },
  "info": {
    "description": "Deploy Git repositories to your own Hetzner Cloud account. Per-customer API keys with read/write/billing scopes. Destructive or billed actions need confirm=true.",
    "license": {
      "identifier": "LicenseRef-Proprietary",
      "name": "Proprietary"
    },
    "title": "CloudHostAI API",
    "version": "1.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/mcp": {
      "post": {
        "description": "initialize and tools/list are open; tools/call needs the scope of the tool.",
        "operationId": "mcp_streamable_http",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "JSON-RPC response"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "description": "Rate limited; see Retry-After."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "MCP JSON-RPC 2.0 endpoint (initialize, tools/list, tools/call).",
        "tags": [
          "mcp"
        ],
        "x-pricing": {
          "free_quota": 5000,
          "note": "Each tools/call counts as one api_call. Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        }
      }
    },
    "/v1/account": {
      "get": {
        "operationId": "cloudhosting_get_account",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "billing"
            ]
          }
        ],
        "summary": "Plan, project limit and usage of the account.",
        "tags": [
          "billing"
        ],
        "x-mcp-tool": "cloudhosting_get_account",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "billing"
      }
    },
    "/v1/deploy/preview": {
      "post": {
        "operationId": "cloudhosting_preview_deploy",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "branch": {
                    "description": "Defaults to the repo default branch.",
                    "type": "string"
                  },
                  "location": {
                    "default": "fsn1",
                    "type": "string"
                  },
                  "repo_url": {
                    "description": "https://github.com/owner/repo (also gitlab.com, bitbucket.org)",
                    "type": "string"
                  },
                  "server_type": {
                    "default": "cpx11",
                    "type": "string"
                  }
                },
                "required": [
                  "repo_url"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [],
        "summary": "Dry run: check a public repo + branch and show what a deploy would create. Public, no key, creates nothing.",
        "tags": [
          "public"
        ],
        "x-mcp-tool": "cloudhosting_preview_deploy"
      }
    },
    "/v1/export": {
      "get": {
        "operationId": "cloudhosting_export",
        "parameters": [
          {
            "in": "query",
            "name": "format",
            "required": false,
            "schema": {
              "default": "json",
              "enum": [
                "json",
                "csv"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Export all your objects (json, or csv of projects).",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_export",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/hetzner": {
      "get": {
        "operationId": "cloudhosting_get_hetzner_status",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Whether your Hetzner token is connected (never returns it).",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_get_hetzner_status",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/pricing": {
      "get": {
        "operationId": "cloudhosting_get_pricing",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [],
        "summary": "Public plan prices and the agent API quota.",
        "tags": [
          "public"
        ],
        "x-mcp-tool": "cloudhosting_get_pricing"
      }
    },
    "/v1/projects": {
      "get": {
        "operationId": "cloudhosting_list_projects",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "List your projects.",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_list_projects",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      },
      "post": {
        "operationId": "cloudhosting_create_project",
        "parameters": [
          {
            "description": "Replays return the first result.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "branch": {
                    "default": "main",
                    "type": "string"
                  },
                  "custom_domain": {
                    "type": "string"
                  },
                  "location": {
                    "default": "fsn1",
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "repo_url": {
                    "description": "Public Git https URL with a Dockerfile.",
                    "type": "string"
                  },
                  "server_type": {
                    "default": "cpx11",
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "repo_url"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "write"
            ]
          }
        ],
        "summary": "Register a project (repo + server size). Creates no server.",
        "tags": [
          "write"
        ],
        "x-mcp-tool": "cloudhosting_create_project",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "write"
      }
    },
    "/v1/projects/{project_id}": {
      "delete": {
        "operationId": "cloudhosting_delete_project",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "confirm": {
                    "description": "Must be true. Acknowledges the action.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "confirm"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "write"
            ]
          }
        ],
        "summary": "DESTRUCTIVE: delete a project record (server must be destroyed first). Requires confirm=true.",
        "tags": [
          "write"
        ],
        "x-mcp-tool": "cloudhosting_delete_project",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "write",
        "x-requires-confirm": true
      },
      "get": {
        "operationId": "cloudhosting_get_project",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Get one project.",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_get_project",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/projects/{project_id}/deploy": {
      "post": {
        "operationId": "cloudhosting_deploy_project",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          },
          {
            "description": "Replays return the first result.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "confirm": {
                    "description": "Must be true. Acknowledges the action.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "confirm"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "write"
            ]
          }
        ],
        "summary": "Deploy (creates or redeploys the server in YOUR Hetzner account; Hetzner bills you). Requires confirm=true.",
        "tags": [
          "write"
        ],
        "x-mcp-tool": "cloudhosting_deploy_project",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly. Deploy creates a server in your own Hetzner account; Hetzner bills that.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "write",
        "x-requires-confirm": true
      }
    },
    "/v1/projects/{project_id}/deploys": {
      "get": {
        "operationId": "cloudhosting_list_deploys",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Deploy history for a project (last 20).",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_list_deploys",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/projects/{project_id}/destroy": {
      "post": {
        "operationId": "cloudhosting_destroy_server",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "confirm": {
                    "description": "Must be true. Acknowledges the action.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "confirm"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "write"
            ]
          }
        ],
        "summary": "DESTRUCTIVE: delete the project server from your Hetzner account. Requires confirm=true.",
        "tags": [
          "write"
        ],
        "x-mcp-tool": "cloudhosting_destroy_server",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "write",
        "x-requires-confirm": true
      }
    },
    "/v1/projects/{project_id}/logs": {
      "get": {
        "operationId": "cloudhosting_get_logs",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Fetch container logs over SSH from the project server.",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_get_logs",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/projects/{project_id}/status": {
      "get": {
        "operationId": "cloudhosting_get_project_status",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "description": "Project id from cloudhosting_list_projects.",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "Refresh and return the server status from Hetzner.",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_get_project_status",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    },
    "/v1/usage": {
      "get": {
        "operationId": "cloudhosting_get_usage",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Rate limited; see Retry-After.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": [
              "read"
            ]
          }
        ],
        "summary": "API/MCP calls this month against the free quota.",
        "tags": [
          "read"
        ],
        "x-mcp-tool": "cloudhosting_get_usage",
        "x-pricing": {
          "free_quota": 5000,
          "note": "Metering only: calls are counted against a monthly quota and no per-call charge is made. Hetzner compute is billed by Hetzner directly.",
          "period": "month",
          "price_usd": 0,
          "unit": "api_call"
        },
        "x-required-scope": "read"
      }
    }
  },
  "servers": [
    {
      "url": "https://cloudhostai.eliteaiempire.com"
    }
  ]
}
