{
    "name": "Garage Management API",
    "version": "2.0.0",
    "apiVersion": "v2",
    "documentation": "https:\/\/garagehq.deuxfleurs.fr\/api\/garage-admin-v2.html",
    "endpoints": {
        "Keys (Users)": {
            "GET \/keys": "List all keys",
            "POST \/keys": "Create key",
            "GET \/keys\/{id}": "Get key info",
            "DELETE \/keys\/{id}": "Delete key",
            "PUT \/keys\/{id}": "Update key"
        },
        "Buckets": {
            "GET \/buckets": "List all buckets",
            "POST \/buckets": "Create bucket",
            "GET \/buckets\/{id}": "Get bucket info",
            "DELETE \/buckets\/{id}": "Delete bucket",
            "PUT \/buckets\/{id}": "Update bucket",
            "POST \/buckets\/{id}\/permissions": "Set bucket permissions (allow\/deny)",
            "GET \/buckets\/{id}\/inspect?key={key}": "Inspect object in bucket",
            "POST \/buckets\/{id}\/cleanup": "Cleanup incomplete uploads"
        },
        "Cluster": {
            "GET \/cluster\/status": "Get cluster status",
            "GET \/cluster\/health": "Get cluster health",
            "GET \/cluster\/statistics": "Get cluster statistics",
            "GET \/cluster\/layout": "Get cluster layout",
            "POST \/cluster\/layout": "Update cluster layout",
            "POST \/cluster\/layout\/apply": "Apply cluster layout",
            "POST \/cluster\/layout\/revert": "Revert cluster layout changes",
            "POST \/cluster\/layout\/preview": "Preview cluster layout changes",
            "GET \/cluster\/layout\/history": "Get cluster layout history"
        },
        "Nodes": {
            "GET \/nodes\/{node}\/info": "Get node info (node = node_id, *, or self)",
            "GET \/nodes\/{node}\/statistics": "Get node statistics",
            "POST \/nodes\/{node}\/repair": "Launch repair operation",
            "POST \/nodes\/{node}\/snapshot": "Create metadata snapshot"
        },
        "Special": {
            "GET \/health": "Health check (no auth required)",
            "GET \/metrics": "Prometheus metrics"
        }
    }
}