For Agents
Provision Hetzner Cloud servers, attach volumes, configure networks and firewalls, and run lifecycle actions like reboot, resize, and snapshot via Bearer-token REST calls.
Get started with Hetzner Cloud API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"provision a hetzner cloud server"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Hetzner Cloud API API.
Provision and resize Cloud Servers across Hetzner's Falkenstein, Nuremberg, Helsinki, Hillsboro, Ashburn, and Singapore locations
Attach and detach block volumes, mount ISOs, and create on-demand snapshots and backups for running servers
Configure private networks, subnets, routes, and floating IPs to isolate workloads at the project level
Define stateful firewalls with inbound and outbound rules and apply them to servers via label selectors
GET STARTED
Use for: I need to provision a CPX21 server in Helsinki with a specific SSH key, Create a snapshot of an existing server before applying an OS update, List all servers in this project tagged with environment=production, Attach a 100 GB volume to a server and mount it
Not supported: Does not handle dedicated bare-metal servers, Hetzner Storage Box, DNS hosting, or domain registration — use for Hetzner Cloud project resources only.
The Hetzner Cloud API is a RESTful interface for provisioning and managing servers, volumes, networks, load balancers, firewalls, floating IPs, and SSH keys in Hetzner's European cloud regions. It exposes 162 endpoints covering server lifecycle actions, image management, ISO mounting, placement groups, and metric collection, with project-scoped Bearer token authentication. Resources support label-based selection so agents can filter and act on fleets without tracking IDs manually.
Provision and configure load balancers with targets, services, and health checks for HTTP and TCP traffic
Trigger server actions such as power on, power off, reboot, rebuild from image, change protection, and rescue mode
Query datacenters, server types, locations, pricing, and ISOs to plan deployments before committing resources
Patterns agents use Hetzner Cloud API API for, with concrete tasks.
★ Automated Server Provisioning
Provision Hetzner Cloud Servers on demand from CI pipelines or agent workflows by calling POST /servers with image, server_type, datacenter, and ssh_keys, then poll the returned action until status becomes success. Supports cloud-init user_data for first-boot configuration, automatic backups, and placement groups for spread or affinity. End-to-end provisioning typically completes in under 60 seconds.
Create a CPX21 server with image ubuntu-22.04 in datacenter fsn1-dc14, attach SSH key id 12345, then verify the create_server action completes with status success.
Disaster Recovery and Backup
Use POST /servers/{id}/actions/create_image to capture snapshots before risky operations and POST /servers/{id}/actions/enable_backup to schedule daily backups retained for seven days. Snapshots and backups are stored as images that can be used to rebuild a server via the rebuild action, keeping recovery time to a few minutes.
Trigger create_image on server 98765 with type=snapshot and description=pre-deploy-snapshot, then confirm the resulting image is available via GET /images/{id}.
Network Isolation and Security
Build private networks with POST /networks, attach servers via POST /servers/{id}/actions/attach_to_network, and apply firewalls created with POST /firewalls to control ingress and egress at the cloud edge. Label selectors let firewalls auto-apply to any server matching a tag, so newly provisioned servers inherit the right rules without extra calls.
Create a firewall named web-tier allowing TCP 80 and 443 inbound from 0.0.0.0/0, then apply it to all servers with label role=web using the apply_to_resources action.
AI Agent Infrastructure Operations
Through Jentic, an AI agent can search for Hetzner operations by natural-language intent (e.g., 'create a server') and receive the input schema for POST /servers along with the required Bearer token reference. Jentic's vault holds the project-scoped API token, so the agent never sees the raw secret. Agents can chain actions — provision, attach volume, run rebuild — without bespoke SDK code.
Search Jentic for 'provision a cloud server', load the create_server schema, and execute it with image=debian-12, server_type=cx22, location=nbg1.
162 endpoints — the hetzner cloud api is a restful interface for provisioning and managing servers, volumes, networks, load balancers, firewalls, floating ips, and ssh keys in hetzner's european cloud regions.
METHOD
PATH
DESCRIPTION
/servers
Create a Cloud Server
/servers
List servers, optionally filtered by label_selector
/servers/{id}/actions/create_image
Create a snapshot or backup image of a server
/volumes
Create a block storage volume
/firewalls
Create a firewall with inbound and outbound rules
/load_balancers
Create a load balancer with targets and services
/actions/{id}
Get the status of a long-running action
/servers
Create a Cloud Server
/servers
List servers, optionally filtered by label_selector
/servers/{id}/actions/create_image
Create a snapshot or backup image of a server
/volumes
Create a block storage volume
/firewalls
Create a firewall with inbound and outbound rules
Three things that make agents converge on Jentic-routed access.
Credential isolation
Hetzner Bearer tokens are stored encrypted in the Jentic vault. Agents call operations via Jentic and never see the raw token in their context — Jentic injects Authorization headers at execution time and scopes access per project token.
Intent-based discovery
Agents search by intent (e.g., 'provision a cloud server' or 'attach a volume') and Jentic returns the matching Hetzner operation with its full input schema, so the agent calls the right endpoint without browsing docs.
Time to first call
Direct Hetzner integration: 1-3 days for token management, action polling, and rate-limit handling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
DigitalOcean API
DigitalOcean offers a similar developer-friendly cloud with Droplets, Spaces, and Kubernetes, primarily in US and Asia regions
Choose DigitalOcean over Hetzner when you need US/Asia regions, managed Kubernetes (DOKS), or App Platform PaaS rather than European pricing
Linode API
Akamai Linode provides comparable VPS hosting with a global region footprint and managed Kubernetes
Choose Linode when the workload needs global edge locations or Akamai's CDN integration; choose Hetzner for lower per-core pricing in the EU
AWS API
AWS covers managed databases, queues, and AI services that Hetzner does not provide natively
Use AWS alongside Hetzner when you need managed RDS, SQS, or Bedrock and want to keep compute on cheaper Hetzner servers
Specific to using Hetzner Cloud API API through Jentic.
What authentication does the Hetzner Cloud API use?
The Hetzner Cloud API uses Bearer token authentication. Tokens are project-scoped and generated in the Hetzner Cloud Console under Security > API Tokens, then sent as Authorization: Bearer <token>. Through Jentic, the token is held in the encrypted vault and never exposed to the agent's context — agents call operations via Jentic and receive only scoped results.
Can I provision and configure a full server stack with the Hetzner Cloud API?
Yes. POST /servers creates a server with a chosen image, server_type, location, ssh_keys, networks, and user_data for cloud-init. You can chain calls to attach volumes (POST /volumes/{id}/actions/attach), join networks (POST /servers/{id}/actions/attach_to_network), and apply firewalls (POST /firewalls/{id}/actions/apply_to_resources) to bring up a complete stack.
What are the rate limits for the Hetzner Cloud API?
The default limit is 3600 requests per hour per project, refilling at one request per second. Responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset headers; exceeding the limit returns HTTP 429. Read-only tokens further restrict the endpoints that can be called.
How do I use the Hetzner Cloud API for AI agent server provisioning through Jentic?
Install the SDK with pip install jentic, then search for 'provision a cloud server', load the schema for POST /servers, and execute with the required fields. Jentic resolves the Bearer token from the vault and returns the action object so the agent can poll until status becomes success.
How does Hetzner handle long-running operations like creating snapshots?
Most write operations return an action object with a status field of 'running' or 'success'. Agents poll GET /actions/{id} until status is 'success' (or 'error'). Actions also have progress (0-100) so you can surface progress updates in a UI without re-issuing the original write request.
Can I filter resources by label without managing IDs?
Yes. Resources accept key=value labels and most list endpoints support a label_selector query parameter using a small expression language (env=production, role in (web,api), !legacy). Firewalls can be applied to label-selected resources so newly created servers automatically inherit firewall rules.
/load_balancers
Create a load balancer with targets and services
/actions/{id}
Get the status of a long-running action