---
title: "Create Hetzner Server"
method: POST
path: "/servers/hetzner"
tags: ["Hetzner"]
---

# Create Hetzner Server

`POST /servers/hetzner`

Create a new server on Hetzner and register it in Coolify.

## Request body

- object
  - `cloud_provider_token_uuid` string — Cloud provider token UUID. Required if cloud_provider_token_id is not provided.
  - `cloud_provider_token_id` string — Deprecated: Use cloud_provider_token_uuid instead. Cloud provider token UUID.
  - `location` string, required — Hetzner location name
  - `server_type` string, required — Hetzner server type name
  - `image` integer, required — Hetzner image ID
  - `name` string — Server name (auto-generated if not provided)
  - `private_key_uuid` string, required — Private key UUID
  - `enable_ipv4` boolean — Enable IPv4 (default: true)
  - `enable_ipv6` boolean — Enable IPv6 (default: true)
  - `enable_backups` boolean — Enable Hetzner server backups after creation (adds 20% to the monthly server fee)
  - `hetzner_ssh_key_ids` integer[] — Additional Hetzner SSH key IDs
  - `hetzner_firewall_ids` integer[] — Existing Hetzner firewall IDs to apply during server creation
  - `hetzner_network_ids` integer[] — Existing Hetzner network IDs to attach during server creation
  - `cloud_init_script` string — Cloud-init YAML script (optional)
  - `instant_validate` boolean — Validate server immediately after creation

## Response `201`

Hetzner server created.

- object
  - `uuid` string — The UUID of the server.
  - `hetzner_server_id` integer — The Hetzner server ID.
  - `ip` string — The server IP address.

## Other responses

- `400` — Invalid token.
- `401` — Unauthenticated.
- `404` — Resource not found.
- `422` — Validation error.
- `429` — Rate limit exceeded.

---

[API](https://skmtc.net/coollabsio/apis/coolify.md) · [All operations](https://skmtc.net/coollabsio/apis/coolify/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coollabsio/coolify/revisions/08be5dc8e729/schema)
