Description
n8n-nodes-ovhcloud


n8n-nodes-ovhcloud is a community node for n8n that enables seamless integration with OVHcloud APIs. It provides 62 dedicated nodes to manage your entire OVH Cloud infrastructure — from web hosting and virtual private servers, public cloud projects with Kubernetes and AI services, domain management, dedicated hardware, billing, SMS, telephony, CDN, storage, and more — all orchestrated directly inside your n8n workflows.
> Note: n8n is a workflow automation platform released under the FairCode license.
—
📚 Documentation
| Resource | Link |
| —————————- | ————————————————————————– |
| Getting Started | docs/guides/getting-started.md |
| Authentication Guide | docs/guides/authentication-guide.md |
| Workflow Examples | docs/guides/examples.md |
| Troubleshooting | docs/guides/troubleshooting.md |
| API Reference (V1) | index.md”>docs/api-reference/v2/index.md |
| Full Documentation Index | docs/README.md |
—
Features
API Coverage
All nodes share common features across every OVH Cloud endpoint:
- Multi-endpoint support: OVH Europe, Canada, USA, SoYouStart, Kimsufi
- SHA1 signature authentication for secure API requests (via
OvhCloudApiClient) - Dynamic list selection — auto-populate dropdowns with live data via a shared
resourceLocatorfactory (e.g.shared/nodes/locators.ts) and paginatedsearchListMethod(built onshared/methods/listSearch.ts) - Credential memoization — API credentials are fetched once per node execution and reused across all HTTP calls (
ApiClient.clearCredentialsCache()to force refresh) - Automatic retry & backoff — GET requests automatically retry on transient errors (429, 5xx, timeouts) with jitter; POST/PUT/DELETE retries require explicit
*WithRetryconfiguration. - Destructive operation warnings — destructive or irreversible operations (terminate, reinstall, reboot) display a yellow warning notice in the node UI via the shared
destructiveActionNotice()helper. - Correct multi-items support — parameters are resolved per item (
getNodeParameter(name, itemIndex ?? 0)) across all nodes, so workflows with multiple input items use the right parameters for each. - Advanced pagination —
paginate()fetches pages in parallel batches (configurableconcurrency, default 1 for backward compatibility);paginateResources()fetches detail objects in parallel (max 5 concurrent requests) with anonSkippedcallback for per-resource error tracking;paginatesupportsmaxItems(default 1000),querymerging, and automatic mapping to full objects for ID arrays. - Multi-items concurrency — 14 high-volume nodes use a bounded worker pool (
executeTemplatewithconcurrency: 5) to process workflow items in parallel while preserving output order. - Return Full Objects / Max Items — list operations (VPS, Dedicated Server) expose a toggle to fetch full resource objects in parallel, with a configurable max item count and a visible warning when some resources could not be fetched.
- Build Status: ✅ Passing (stable)
Status
Available Nodes
The plugin provides 62 nodes organized by category:
#### 🖥️ Compute & Infrastructure
| Node | Description | Sub-README |
| ———————————– | ———————————————————————————————————— | ———————————————— |
| OVH Cloud Dedicated Server | Manage dedicated servers (BIOS, backups, firewall, Ceph, cluster, housing, etc.) | → |
| OVH Cloud Dedicated Cloud | Manage dedicated cloud services | → |
| OVH Cloud VPS | Manage virtual private servers (get, reboot, install OS, snapshots, disks, netboot) | → |
| OVH Cloud Public Cloud | Manage public cloud projects, Kubernetes, instances, regions, databases (14 engines), block storage, Rancher | → |
| OVH Cloud Public Cloud AI | Manage AI services — apps, jobs, notebooks, registries, data stores, alerting | → |
| OVH Cloud VMware Cloud Director | Manage VMware Cloud Director services | → |
| OVH Cloud Cluster | Manage cluster services | → |
#### 🌐 Networking & Storage
| Node | Description | Sub-README |
| ——————————- | ——————————————– | ——————————————– |
| OVH Cloud vRack | Manage vRack networks | → |
| OVH Cloud vRack Services | Manage vRack services (V2) | → |
| OVH Cloud IP | Manage IP addresses, equilibriums, failovers | → |
| OVH Cloud IP Load Balancing | Manage IP load balancing services | → |
| OVH Cloud CDN | Manage CDN services | → |
| OVH Cloud Storage | Manage object storage services | → |
| OVH Cloud Network Defense | Manage network defense services | → |
#### 🌍 Domains & Hosting
| Node | Description | Sub-README |
| ———————————- | ————————————————————————————————– | ———————————————– |
| OVH Cloud Domain | Manage domains — listing, contacts, DNS zones, records, wildcards, pools, redirects, WHOIS privacy | → |
| OVH Cloud Domain (V2) | Manage domains via API v2 | → |
| OVH Cloud Hosting Web | Manage web hosting services (databases, crons, FTP, mail, PHP, statistics, users, SSL) | → |
| OVH Cloud Hosting Web Resource | Manage web hosting resources (attached domains, SSL, users, websites) | → |
| OVH Cloud Web Hosting (V2) | Manage web hosting services via API v2 | → |
| OVH Cloud Managed CMS | Manage managed CMS services | → |
#### 📧 Email & Messaging
| Node | Description | Sub-README |
| ———————– | ——————————————- | ————————————- |
| OVH Cloud Email Pro | Manage email professional services | → |
| OVH Cloud MX Plan | Manage MX plan configurations | → |
| OVH Cloud Zimbra | Manage Zimbra email services | → |
| OVH Cloud SMS | Manage SMS services — send, list, blacklist | → |
| OVH Cloud SSL | Manage SSL certificates | → |
#### 💰 Billing & Orders
| Node | Description | Sub-README |
| ———————- | ————————————————————————————– | ————————————- |
| OVH Cloud Me | Manage your OVHcloud account details, billing, and subscriptions | → |
| OVH Cloud Service | Manage OVHcloud services (get, list, renews, reopen, suspend, terminate) | → |
| OVH Cloud Services | Manage generic services | → |
| OVH Cloud Order | Manage orders — carts, catalogs, upgrades, dedicated, telephony, licenses, emails, VPS | → |
| OVH Cloud Price | Consult prices for all OVH Cloud products | → |
| OVH Cloud Pack | Manage pack services | → |
#### 📞 Telephony & Microsoft
| Node | Description | Sub-README |
| ———————————– | ———————————————————————————— | ———————————————— |
| OVH Cloud Telephony | Manage telephony — aliases, lines, trunks, numbers, accessories, offers, directories | → |
| OVH Cloud Microsoft Services | Manage Microsoft services (Exchange, Office 365) | → |
| OVH Cloud Veeam Enterprise Plus | Manage Veeam Enterprise Plus services | → |
#### 🔐 Security & Identity
| Node | Description | Sub-README |
| ————————– | —————————————————————– | —————————————– |
| OVH Cloud IAM | Manage identity and access management resources | → |
| OVH Cloud OKMS | Manage key management services | → |
| OVH Cloud Support | Manage support tickets — create, get, reply, score, close, reopen | → |
| OVH Cloud Notification | Manage notification services | → |
#### 💾 Database & Catalog
| Node | Description | Sub-README |
| ———————————– | ————————————— | ———————————————- |
| OVH Cloud Database as a Service | Manage database services | → |
| OVH Cloud Backup Services | Manage backup services | → |
| OVH Cloud Commercial Catalog | Browse commercial catalog | → |
| OVH Cloud Location | Browse location data | → |
| OVH Cloud Public Cloud (V2) | Manage public cloud projects via API v2 | → |
—
Web Hosting Operations
| Category | Operations |
| ——————– | —————————————— |
| General | Get, List, Find by Domain |
| Attached Domains | List attached domains, Get attached domain |
| Databases | List databases, Get database |
| Crons | List crons, Get cron |
| Users | List users, Get user |
| Tasks | List tasks |
| Modules | List modules, Get module |
| Runtimes | List runtimes |
| Emails | Get email |
| Env Vars | List env vars, Get env var |
| SSL | Get SSL |
| Service Infos | Get service infos |
Service Operations
| Operation | Description |
| ————— | ———————————- |
| Get | Get service details |
| List | List all services |
| List Renews | List possible renews for a service |
| Reopen | Reopen a terminated service |
| Suspend | Suspend a service |
| Terminate | Terminate a service |
| Update | Update service configuration |
Domain Operations (OvhCloudDomain)
The OVH Cloud Domain node covers the entire GET scope of /domain API v1, organized by sub-resource:
#### Root & Extensions
| Operation | Endpoint | Description |
| ————————- | ———————————– | ———————————————————- |
| List Domains | GET /domain | List all managed domains (auto-paginated) |
| Get Domain Details | GET /domain/{serviceName} | Get full domain info via resourceLocator |
| Extension List | GET /domain/extensions | List available extensions |
| Get Extension | GET /domain/extensions/{name} | Get details of a specific extension |
| Extension By Category | GET /domain/extensions/byCategory | Extensions grouped by category (thematic, geolocalization) |
#### Contacts & Claim Notices
| Operation | Endpoint | Description |
| ———————– | ———————————- | ———————————————- |
| List Contacts | GET /domain/contact | List all contacts associated with the account |
| Get Contact Details | GET /domain/contact/{contactId} | Get a specific contact by ID (resourceLocator) |
| Claim Notice | GET /data/claimNotice?domain=... | Retrieve claim notices for a domain name |
#### Domain Sub-Resources ({serviceName}/)
| Operation | Endpoint | Description |
| ——————– | ——————————— | ——————————————————————- |
| Auth Info Get | GET .../authInfo | Return auth info password if the domain is unlocked |
| DS Record List | GET .../dsRecord?flags=&status= | List DS records with optional DNSSEC filter (auto-paginated) |
| Name Server List | GET .../nameServer | List all name servers for a domain (auto-paginated to full objects) |
#### Configuration Rules & Zone DNS ({zoneName}/)
| Operation | Endpoint | Description |
| ————————— | —————————————- | —————————————————————————————— |
| Configuration Rule | GET /configurationRule?action=&domain= | Get configuration rule applied for a domain in a given action (validation before API call) |
| Zone List | GET /domain/zone | List all DNS zones (auto-paginated to full objects) |
| Service Info Get (zone) | GET .../serviceInfos | Get service information for a zone |
| SOA Get | GET .../soa | Retrieve SOA record of a zone |
| Status Get | GET .../status | Check current status of a DNS zone |
| Task List Get (zone) | GET .../task?function=&status= | List all tasks for a zone with optional filters (auto-paginated) |
| Task Get (zone) | GET .../task/{id} | Retrieve full details of a specific task by ID |
VPS Operations
| Operation | Description |
| ——————– | ——————————————– |
| Get | Get VPS server properties |
| List | List all VPS servers |
| Reboot | Reboot a running or stopped VPS |
| Install OS Image | Install an operating system image on the VPS |
Dedicated Server Operations
| Operation | Description |
| —————————– | ————————————————— |
| Get | Get dedicated server properties |
| List | List all dedicated servers |
| BIOS Settings | Retrieve BIOS settings and SGX parameters |
| Backup Cloud / FTP Access | Manage cloud/FTP backup access control lists (ACLs) |
Public Cloud Operations (OvhCloudPublicCloud)
The OVH Cloud Public Cloud node covers the full scope of /publicCloud API v2, organized by sub-resource categories:
#### Projects (project/) — GET only
| Operation | Endpoint | Description |
| ———————– | ————————————– | —————————————————– |
| List Projects | GET /publicCloud/project | List all Public Cloud projects (with IAM tags filter) |
| Get Project Details | GET /publicCloud/project/{projectId} | Get full project info including IAM metadata |
#### Rancher Services (rancher/) — GET only
| Operation | Endpoint | Description |
| —————————– | ———————————————- | ———————————————– |
| List Rancher Services | GET /publicCloud/project/{projectId}/rancher | List all managed Rancher services for a project |
| Get Rancher Service | GET .../rancher/{rancherId} | Get details of a specific Rancher service |
| List Plan Capabilities | GET .../capabilities/plan | List available plans for a Rancher service |
| List Version Capabilities | GET .../capabilities/version | List available versions for a Rancher service |
#### Block Storage (blockstorage/) — Full CRUD (GET / POST / PUT / DELETE)
##### Volumes
| Operation | Endpoint | Description |
| ———————- | —————————— | ——————————————- |
| List Volumes | GET .../blockStorage/volume | List all block storage volumes in a project |
| Get Volume Details | GET .../volume/{volumeId} | Get details of a specific volume |
| Create Volume | POST .../blockStorage/volume | Create a new block storage volume |
| Update Volume | PUT .../volume/{volumeId} | Update an existing volume (with checksum) |
| Delete Volume | DELETE .../volume/{volumeId} | Delete a specific volume |
##### Backups
| Operation | Endpoint | Description |
| ———————- | —————————— | ——————————————- |
| List Backups | GET .../blockStorage/backup | List all block storage backups in a project |
| Get Backup Details | GET .../backup/{backupId} | Get details of a specific backup |
| Create Backup | POST .../blockStorage/backup | Create a new block storage backup |
| Update Backup | PUT .../backup/{backupId} | Update an existing backup (with checksum) |
| Delete Backup | DELETE .../backup/{backupId} | Delete a specific backup |
##### Snapshots
| Operation | Endpoint | Description |
| ———————— | ———————————- | ——————————————— |
| List Snapshots | GET .../blockStorage/snapshot | List all block storage snapshots in a project |
| Get Snapshot Details | GET .../snapshot/{snapshotId} | Get details of a specific snapshot |
| Create Snapshot | POST .../blockStorage/snapshot | Create a new block storage snapshot |
| Update Snapshot | PUT .../snapshot/{snapshotId} | Update an existing snapshot (with checksum) |
| Delete Snapshot | DELETE .../snapshot/{snapshotId} | Delete a specific snapshot |
—
Quick Start
1. Install
Via n8n UI: Settings > Community Nodes > Install > n8n-nodes-ovhcloud
Or manually:
npm install n8n-nodes-ovhcloud
2. Configure
1. Create API credentials at auth.eu.ovhcloud.com/api/createToken
2. Add OVH API credentials in n8n (Application Key, Application Secret, Consumer Key)
3. Choose your endpoint (Europe, Canada, USA, SoYouStart, Kimsufi)
See the full authentication guide for detailed steps.
3. Use
Add any of the 62 available OVH Cloud nodes to your workflow — select a resource, pick an operation from the dropdown, fill in parameters (resourceLocator for services with IDs), and execute.
See workflow examples for common use cases.
—
Development
git clone https://github.com/ziouf/n8n-nodes-ovhcloud.git
cd n8n-nodes-ovhcloud
npm install
npm run build
npm run dev # Development mode with hot reload
npm run lint # Check code quality
npm run lint:fix # Auto-fix linting issues
Testing
npm test
The test suite covers API spec compliance, pagination, retry logic, credential handling, and concurrency. Key test files:
tests/multi-item.test.ts — per-item parameter resolution, order preservation with concurrency, and a static guardrail that fails if any .operation.ts uses a hardcoded getNodeParameter('x', 0) index.tests/paginate-concurrency.test.ts — verifies that parallel page fetching produces identical results to sequential pagination, respects maxItems, and honors the concurrency option.tests/base-node.test.ts — runItems() worker pool, error handling, and ordered output with concurrency > 1.Project Structure
n8n-nodes-ovhcloud/
├── credentials/
│ └── OvhCloudApi.credentials.ts # OVH API credential type (SHA1 signing)
├── nodes/
│ ├── OvhCloudBackupServices/ # Backup services node
│ ├── OvhCloudCdn/ # CDN services node
│ ├── OvhCloudCluster/ # Cluster services node
│ ├── OvhCloudCommercialCatalog/ # Commercial catalog node
│ ├── OvhCloudDbaas/ # Database as a Service node
│ ├── OvhCloudDedicated/ # Dedicated servers node (67 operations)
│ │ ├── OvhCloudDedicated.node.ts # n8n node class
│ │ ├── index.ts # description() + execute() router
│ │ ├── README.md # Node documentation
│ │ └── resources/
│ │ ├── ceph/ # Ceph/NAS operations
│ │ ├── cluster/ # Cluster operations
│ │ ├── housing/ # Housing operations
│ │ ├── installation/ # Installation template operations
│ │ ├── monitoring/ # Monitoring operations
│ │ └── option/ # Option operations
│ ├── OvhCloudDedicatedCloud/ # Dedicated cloud node
│ ├── OvhCloudDomain/ # Domain management node (110 operations)
│ ├── OvhCloudDomainV2/ # Domain V2 node
│ ├── OvhCloudEmailPro/ # Email Pro node
│ ├── OvhCloudHosting/ # Web hosting node (233 operations)
│ ├── OvhCloudHostingWebResource/ # Web hosting resource node
│ ├── OvhCloudIam/ # IAM node (V2)
│ ├── OvhCloudIp/ # IP management node
│ ├── OvhCloudIPLoadbalancing/ # IP Load Balancing node
│ ├── OvhCloudLocation/ # Location node (V2)
│ ├── OvhCloudManagedCms/ # Managed CMS node (V2)
│ ├── OvhCloudMe/ # Account management node (12 operations)
│ ├── OvhCloudMsServices/ # Microsoft Services node
│ ├── OvhCloudMxPlan/ # MX Plan node
│ ├── OvhCloudNetworkDefense/ # Network Defense node (V2)
│ ├── OvhCloudNotification/ # Notification node (V2)
│ ├── OvhCloudOkms/ # OKMS node (V2)
│ ├── OvhCloudOrder/ # Order management node
│ ├── OvhCloudPack/ # Pack services node
│ ├── OvhCloudPrice/ # Price consultation node
│ ├── OvhCloudPublicCloud/ # Public Cloud node (675 operations)
│ │ ├── OvhCloudPublicCloud.node.ts # n8n node class
│ │ ├── index.ts # description() + execute() router
│ │ ├── README.md # Node documentation
│ │ ├── blockstorage/ # Block Storage CRUD (volumes, backups, snapshots)
│ │ ├── project/ # Project GET operations
│ │ ├── rancher/ # Rancher Services GET operations
│ │ ├── kube/ # Kubernetes operations
│ │ ├── instance/ # Instance operations
│ │ ├── region/ # Region operations
│ │ └── database/ # Database engines (cassandra, clickhouse, grafana, kafka, etc.)
│ ├── OvhCloudPublicCloudAi/ # Public Cloud AI node
│ ├── OvhCloudPublicCloudV2/ # Public Cloud V2 node
│ ├── OvhCloudService/ # Service management node (8 operations)
│ ├── OvhCloudServices/ # Generic services node
│ ├── OvhCloudSms/ # SMS node
│ ├── OvhCloudSsl/ # SSL certificates node
│ ├── OvhCloudStorage/ # Object storage node
│ ├── OvhCloudSupport/ # Support tickets node
│ ├── OvhCloudTelephony/ # Telephony node
│ ├── OvhCloudVeeamEnterprisePlus/ # Veeam Enterprise Plus node
│ ├── OvhCloudVmwareCloudDirector/ # VMware Cloud Director node (V2)
│ ├── OvhCloudVps/ # VPS management node (61 operations)
│ ├── OvhCloudVrack/ # vRack network node
│ ├── OvhCloudVrackServices/ # vRack Services node (V2)
│ ├── OvhCloudWebhostingV2/ # Web Hosting V2 node
│ ├── OvhCloudZimbra/ # Zimbra email node (V2)
│ └── shared/
│ ├── constants.ts # Shared constants (icon path, credential name)
│ ├── nodes/
│ │ ├── BaseNode.ts # Abstract base class for all OVH Cloud nodes; executeTemplate with bounded worker pool (concurrency: 5 on 14 high-volume nodes)
│ │ ├── itemParameter.ts # getItemParameter() helper — resolves node parameters per item index
│ │ ├── listOptions.ts # "Return Full Objects / Max Items" list options helper
│ │ ├── notices.ts # Destructive action warning notices
│ ├── methods/ # Search list methods for dynamic dropdowns
│ │ └── listSearch.ts # createServiceListSearch() factory (deduplicated loaders)
│ └── transport/ # API client & authentication
│ ├── ApiClient.ts # abstract interface
│ ├── ApiClientImpl.ts # HTTP implementation (credential memoization + retry + batch-parallel pagination)
│ └── CredentialHolder.ts # OVH SHA1 signature helper
├── scripts/
│ ├── generate-nodes-manifest.js # Regenerate nodes list in package.json after build
│ ├── gen-api-docs.sh # Generate API documentation from specs
│ └── get-api-description.sh # Fetch OVH API JSON specifications
├── tests/ # Jest unit & non-regression tests (150+ tests)
│ ├── base-node.test.ts # runItems() worker pool, error handling, ordered output with concurrency
│ ├── CredentialHolder.test.ts # OVH SHA1 signature generation and auth headers
│ ├── dedicated.operation.test.ts # Non-regression tests for Dedicated operations
│ ├── domain-lot1.test.ts # Tests for all OvhCloudDomain GET operations
│ ├── helpers.ts # Shared test utilities (createMockCtx, invokeOperation)
│ ├── hosting.operation.test.ts # Non-regression tests for Hosting operations
│ ├── list-search.test.ts # Dynamic dropdown loaders (createServiceListSearch)
│ ├── multi-item.test.ts # Per-item parameter resolution + static guardrail for hardcoded indices
│ ├── paginate-concurrency.test.ts # Parallel page fetching correctness and maxItems compliance
│ ├── publicCloud.operation.test.ts # Non-regression tests for Public Cloud backup & snapshot CRUD ops
│ ├── vps-list.test.ts # Return Full Objects / Max Items feature tests
│ ├── vps.operation.test.ts # Non-regression tests for VPS operations
│ └── *.test.ts # Additional API client, pagination, retry, and spec-coverage tests
├── docs/
│ ├── README.md # Documentation index & structure overview
│ ├── guides/ # User-facing getting-started guides
│ ├── api-reference/ # Categorized API documentation (v1 + v2)
│ │ └── v2/reference/domain.md # Full Domain API reference for OvhCloudDomain node
│ ├── _shared/ # Reusable markdown includes (auth, errors, security...)
│ └── api-specs/ # Raw OVH API JSON specifications (v1 + v2)
├── icons/ # Node icons (ovh_vertical.svg)
└── package.json # Manifest auto-generated by generate-nodes-manifest.js
Each node follows the same three-export pattern: description(), optional methodsListSearch() for dynamic dropdowns, and a single async execute() function that switches on an operation parameter. All HTTP calls go through OvhCloudApiClient which handles SHA1 signing automatically.
—
Contributing
Contributions welcome! See our development guidelines and follow Conventional Commits for commit messages.
1. Fork the repository
2. Create a feature branch: git checkout -b feature/your-feature
3. Make your changes, run npm run lint:fix && npm test
4. Commit and push: git commit -m "feat: add your feature"
5. Open a Pull Request
—
License
MIT — Copyright (c) 2026 Cyril MARIN
—
Resources
—
Found this node useful? 🌟 Star the repository on GitHub!