veeam-365 is an independent, open-source Python client for the Veeam Backup for Microsoft 365 REST API, built to make real-world automation simpler, safer, and reusable across scripts, services, and integrations.
🚀 Why veeam-365 Exists
If you’ve worked with the VB365 REST API directly, you’ve probably dealt with:
-
repetitive authentication logic
-
manual API version routing
-
boilerplate async code
-
brittle per-script REST calls
veeam-365 wraps all of that behind a clean Python interface so you can focus on what you’re automating — not how to keep the session alive from call-to-call or release-to-release.
⭐ Recommended Usage: The Smart Client
The core of this project is the Smart Client (VeeamClient).
This client handles:
-
API version routing (
v6,v7,v8) -
authentication and token refresh
-
async execution
-
clean lifecycle management (connect / close)
This Smart Client model did not exist when we originally published veeam-br, but I’m happy to report that we have added similar functionality to that package as well!
🧠 Supported Versions
| VB365 Version | API Version | Supported |
|---|---|---|
| 8.0.2.159 | v8 | ✅ |
| 7.0.0.2911 | v7 | ✅ |
| 6.0.0.367 | v6 | ✅ |
| < 6.0.0.367 | < v6 | ❌ |
Each API version is generated from official OpenAPI schemas and mapped explicitly.
🧪 Example Usage
Create and connect a Smart Client
import asyncio
from veeam_365.client import VeeamClient
async def main():
vc = VeeamClient(
host="https://vb365.example.com:4443",
username="administrator",
password="SuperSecretPassword",
verify_ssl=False,
api_version="v8"
)
await vc.connect()
# use the client...
await vc.close()
asyncio.run(main())
Call an API endpoint
repos = await vc.call(
vc.api("backup_repository").backup_repository_get_repositories
)
for repo in repos.data or []:
print(repo.name)
📦 Installation
From PyPI:
pip install veeam-365
Or from source:
git clone https://github.com/Cenvora/veeam-365.git
cd veeam-365
pip install -e .
🛠 Designed For
veeam-365 is intended for:
-
automation and scripting
-
internal tooling and portals
-
reporting pipelines
-
async services and schedulers
-
integrations with other Python-based systems
This is not a one-off script repo — it’s a reusable client library designed to speed up your development cycles after product releases and simplify your codebase.
🤝 Contributing
Contributions are welcome.
If you want to add API versions, improve coverage, or tighten the Smart Client behavior, PRs are encouraged.
🔗 Project Link
👉 https://github.com/Cenvora/veeam-365
If you’ve automated Veeam Backup for Microsoft 365 before and wished the API were easier to work with in Python — this project is for you.