KosmoKrator

productivity

Hetzner Cloud Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Hetzner Cloud KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.hetzner.*. Use lua_read_doc("integrations.hetzner") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic Hetzner Cloud workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.hetzner.get_multiple_actions({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("hetzner"))' --json
kosmo integrations:lua --eval 'print(docs.read("hetzner.get_multiple_actions"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local hetzner = app.integrations.hetzner
local result = hetzner.get_multiple_actions({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.hetzner, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.hetzner.default.* or app.integrations.hetzner.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Hetzner Cloud, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Hetzner Cloud Lua API Reference

Namespace: hetzner

This integration exposes generated coverage for the official Hetzner Cloud OpenAPI document at https://docs.hetzner.cloud/cloud.spec.json.

Authentication uses a Hetzner Cloud project API token. Read-only tokens can call GET tools. Read-write tokens are required for create, update, delete, and action tools.

Common Tools

  • hetzner_list_servers maps to GET /servers.
  • hetzner_get_server maps to GET /servers/{id}.
  • hetzner_create_server maps to POST /servers.
  • hetzner_list_volumes maps to GET /volumes.
  • hetzner_list_networks maps to GET /networks.
  • hetzner_list_ssh_keys maps to GET /ssh_keys.

The generated catalog also covers actions, certificates, datacenters, firewalls, floating IPs, images, ISOs, load balancers, locations, networks, placement groups, primary IPs, pricing, server types, volumes, DNS zones, DNS record sets, and resource-specific action endpoints.

Arguments

Path and query parameters use names from Hetzner’s OpenAPI document. Snake-case aliases are also accepted.

For example, both per_page and perPage can be supplied when the upstream parameter is represented that way by a tool. Path IDs are URL encoded automatically.

Tools with a JSON request body accept a body table. If you omit body, non-path/query/header arguments are collected into the JSON body.

Examples

local servers = hetzner.hetzner_list_servers({
  per_page = 25,
  page = 1
})
local server = hetzner.hetzner_get_server({
  id = 123456
})
local created = hetzner.hetzner_create_server({
  body = {
    name = "agent-demo",
    server_type = "cx22",
    image = "ubuntu-24.04",
    location = "fsn1",
    ssh_keys = { "agent-key" }
  }
})
local action = hetzner.hetzner_poweron_server({
  id = 123456
})

Return Shapes

Responses are Hetzner Cloud’s parsed JSON responses. Pagination responses usually include a meta.pagination object. Mutating endpoints often return an action, a resource object, or both depending on the endpoint.

Non-JSON responses return:

{
  body = "...",
  content_type = "text/plain"
}

The old hetzner_get_current_user helper is intentionally not part of the generated catalog because the current official Cloud API spec does not expose a /user endpoint. Use a lightweight read tool such as hetzner_list_locations to verify token access.

Raw agent markdown
# Hetzner Cloud Lua API Reference

Namespace: `hetzner`

This integration exposes generated coverage for the official Hetzner Cloud OpenAPI document at `https://docs.hetzner.cloud/cloud.spec.json`.

Authentication uses a Hetzner Cloud project API token. Read-only tokens can call `GET` tools. Read-write tokens are required for create, update, delete, and action tools.

## Common Tools

- `hetzner_list_servers` maps to `GET /servers`.
- `hetzner_get_server` maps to `GET /servers/{id}`.
- `hetzner_create_server` maps to `POST /servers`.
- `hetzner_list_volumes` maps to `GET /volumes`.
- `hetzner_list_networks` maps to `GET /networks`.
- `hetzner_list_ssh_keys` maps to `GET /ssh_keys`.

The generated catalog also covers actions, certificates, datacenters, firewalls, floating IPs, images, ISOs, load balancers, locations, networks, placement groups, primary IPs, pricing, server types, volumes, DNS zones, DNS record sets, and resource-specific action endpoints.

## Arguments

Path and query parameters use names from Hetzner's OpenAPI document. Snake-case aliases are also accepted.

For example, both `per_page` and `perPage` can be supplied when the upstream parameter is represented that way by a tool. Path IDs are URL encoded automatically.

Tools with a JSON request body accept a `body` table. If you omit `body`, non-path/query/header arguments are collected into the JSON body.

## Examples

```lua
local servers = hetzner.hetzner_list_servers({
  per_page = 25,
  page = 1
})
```

```lua
local server = hetzner.hetzner_get_server({
  id = 123456
})
```

```lua
local created = hetzner.hetzner_create_server({
  body = {
    name = "agent-demo",
    server_type = "cx22",
    image = "ubuntu-24.04",
    location = "fsn1",
    ssh_keys = { "agent-key" }
  }
})
```

```lua
local action = hetzner.hetzner_poweron_server({
  id = 123456
})
```

## Return Shapes

Responses are Hetzner Cloud's parsed JSON responses. Pagination responses usually include a `meta.pagination` object. Mutating endpoints often return an `action`, a resource object, or both depending on the endpoint.

Non-JSON responses return:

```lua
{
  body = "...",
  content_type = "text/plain"
}
```

The old `hetzner_get_current_user` helper is intentionally not part of the generated catalog because the current official Cloud API spec does not expose a `/user` endpoint. Use a lightweight read tool such as `hetzner_list_locations` to verify token access.
Metadata-derived Lua example
local result = app.integrations.hetzner.get_multiple_actions({})
print(result)

Functions

get_multiple_actions Read

Returns multiple Action objects specified by the `id` parameter. **Note**: This endpoint previously allowed listing all actions in the project. This functionality was deprecated in July 2023 and removed on 30 January 2025. - Announcement: https://docs.hetzner.cloud/changelog#2023-07-20-actions-list-endpoint-is-deprecated - Removal: https://docs.hetzner.cloud/changelog#2025-01-30-listing-arbitrary-actions-in-the-actions-list-endpoint-is-removed

Lua path
app.integrations.hetzner.get_multiple_actions
Full name
hetzner.hetzner_get_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_action
ParameterTypeRequiredDescription
No parameters.
list_certificates Read

Returns all Certificate objects.

Lua path
app.integrations.hetzner.list_certificates
Full name
hetzner.hetzner_list_certificates
ParameterTypeRequiredDescription
No parameters.
create_certificate Write

Creates a new Certificate. The default type **uploaded** allows for uploading your existing `certificate` and `private_key` in PEM format. You have to monitor its expiration date and handle renewal yourself. In contrast, type **managed** requests a new Certificate from *Let's Encrypt* for the specified `domain_names`. Only domains managed by *Hetzner DNS* are supported. We handle renewal and timely alert the project owner via email if problems occur. For type `managed` Certificates the `action` key of the response contains the Action that allows for tracking the issuance process. For type `uploaded` Certificates the `action` is always null.

Lua path
app.integrations.hetzner.create_certificate
Full name
hetzner.hetzner_create_certificate
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_certificates_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_certificates_action
ParameterTypeRequiredDescription
No parameters.
get_certificate Read

Gets a specific Certificate object.

Lua path
app.integrations.hetzner.get_certificate
Full name
hetzner.hetzner_get_certificate
ParameterTypeRequiredDescription
No parameters.
update_certificate Write

Updates the Certificate properties. Note: if the Certificate object changes during the request, the response will be a "conflict" error.

Lua path
app.integrations.hetzner.update_certificate
Full name
hetzner.hetzner_update_certificate
ParameterTypeRequiredDescription
No parameters.
delete_certificate Write

Deletes a Certificate.

Lua path
app.integrations.hetzner.delete_certificate
Full name
hetzner.hetzner_delete_certificate
ParameterTypeRequiredDescription
No parameters.
list_actions_certificate Read

Returns all Action objects for a Certificate. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter. Only type `managed` Certificates can have Actions. For type `uploaded` Certificates the `actions` key will always contain an empty array.

Lua path
app.integrations.hetzner.list_actions_certificate
Full name
hetzner.hetzner_list_certificate_actions
ParameterTypeRequiredDescription
No parameters.
retry_issuance_or_renewal Write

Retry a failed Certificate issuance or renewal. Only applicable if the type of the Certificate is `managed` and the issuance or renewal status is `failed`. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | | `caa_record_does_not_allow_ca` | CAA record does not allow certificate authority | | | `ca_dns_validation_failed` | Certificate Authority: DNS validation failed | | | `ca_too_many_authorizations_failed_recently` | Certificate Authority: Too many authorizations failed recently | | | `ca_too_many_certificates_issued_for_registered_domain` | Certificate Authority: Too many certificates issued for registered domain | | | `ca_too_many_duplicate_certificates` | Certificate Authority: Too many duplicate certificates | | | `could_not_verify_domain_delegated_to_zone` | Could not verify domain delegated to zone | | | `dns_zone_not_found` | DNS zone not found | | | `dns_zone_is_secondary_zone` | DNS zone is a secondary zone |

Lua path
app.integrations.hetzner.retry_issuance_or_renewal
Full name
hetzner.hetzner_retry_certificate
ParameterTypeRequiredDescription
No parameters.
get_action_certificate Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific Action for a Certificate. Only type `managed` Certificates have Actions.

Lua path
app.integrations.hetzner.get_action_certificate
Full name
hetzner.hetzner_get_certificate_action
ParameterTypeRequiredDescription
No parameters.
list_data_centers Read

Returns all [Data Centers](#tag/data-centers).

Lua path
app.integrations.hetzner.list_data_centers
Full name
hetzner.hetzner_list_datacenters
ParameterTypeRequiredDescription
No parameters.
get_data_center Read

Returns a single [Data Center](#tag/data-centers).

Lua path
app.integrations.hetzner.get_data_center
Full name
hetzner.hetzner_get_datacenter
ParameterTypeRequiredDescription
No parameters.
list_firewalls Read

Returns all [Firewalls](#tag/firewalls). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_firewalls
Full name
hetzner.hetzner_list_firewalls
ParameterTypeRequiredDescription
No parameters.
create_firewall Write

Create a [Firewall](#tag/firewalls). #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_already_added` | The [Server](#tag/servers) was applied more than once. | | `422` | `incompatible_network_type` | The resources network type is not supported by [Firewalls](#tag/firewalls). | | `422` | `firewall_resource_not_found` | The resource the [Firewall](#tag/firewalls) should be attached to was not found. |

Lua path
app.integrations.hetzner.create_firewall
Full name
hetzner.hetzner_create_firewall
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all [Actions](#tag/actions) for [Firewalls](#tag/firewalls). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_firewalls_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns the specific [Action](#tag/actions).

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_firewalls_action
ParameterTypeRequiredDescription
No parameters.
get_firewall Read

Returns a single [Firewall](#tag/firewalls).

Lua path
app.integrations.hetzner.get_firewall
Full name
hetzner.hetzner_get_firewall
ParameterTypeRequiredDescription
No parameters.
update_firewall Write

Update a [Firewall](#tag/firewalls). In case of a parallel running change on the [Firewall](#tag/firewalls) a `conflict` error will be returned.

Lua path
app.integrations.hetzner.update_firewall
Full name
hetzner.hetzner_update_firewall
ParameterTypeRequiredDescription
No parameters.
delete_firewall Write

Deletes the [Firewall](#tag/firewalls). #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `resource_in_use` | [Firewall](#tag/firewalls) still applied to a resource |

Lua path
app.integrations.hetzner.delete_firewall
Full name
hetzner.hetzner_delete_firewall
ParameterTypeRequiredDescription
No parameters.
list_actions_firewall Read

Returns all [Actions](#tag/actions) for the [Firewall](#tag/firewalls). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions_firewall
Full name
hetzner.hetzner_list_firewall_actions
ParameterTypeRequiredDescription
No parameters.
apply_resources Write

Applies a [Firewall](#tag/firewalls) to multiple resources. Supported resources: - [Servers](#tag/servers) (with a public network interface) - [Label Selectors](#description/label-selector) A [Server](#tag/servers) can be applied to [a maximum of 5 Firewalls](https://docs.hetzner.com/cloud/firewalls/overview#limits). This limit applies to [Servers](#tag/servers) applied via a matching [Label Selector](#description/label-selector) as well. Updates to resources matching or no longer matching a [Label Selector](#description/label-selector) can take up to a few seconds to be processed. A [Firewall](#tag/firewalls) is applied to a resource once the related [Action](#tag/actions) with command `apply_firewall` successfully finished. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `404` | `firewall_resource_not_found` | The resource the [Firewall](#tag/firewalls) should be applied to was not found | | `422` | `firewall_already_applied` | [Firewall](#tag/firewalls) is already applied to resource | | `422` | `incompatible_network_type` | The network type of the resource is not supported by [Firewalls](#tag/firewalls) | | `422` | `private_net_only_server` | The [Server](#tag/servers) the [Firewall](#tag/firewalls) should be applied to has no public interface |

Lua path
app.integrations.hetzner.apply_resources
Full name
hetzner.hetzner_apply_firewall_to_resources
ParameterTypeRequiredDescription
No parameters.
remove_from_resources Write

Removes a [Firewall](#tag/firewalls) from multiple resources. Supported resources: - [Servers](#tag/servers) (with a public network interface) A [Firewall](#tag/firewalls) is removed from a resource once the related [Action](#tag/actions) with command `remove_firewall` successfully finished. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `404` | `firewall_resource_not_found` | The resource the [Firewall](#tag/firewalls) should be removed from was not found | | `422` | `firewall_managed_by_label_selector` | [Firewall](#tag/firewall) is applied via a [Label Selector](#description/label-selector) and cannot be removed manually |

Lua path
app.integrations.hetzner.remove_from_resources
Full name
hetzner.hetzner_remove_firewall_from_resources
ParameterTypeRequiredDescription
No parameters.
set_rules Write

Set the rules of a [Firewall](#tag/firewalls). Overwrites the existing rules with the given ones. Pass an empty array to remove all rules. Rules are limited to 50 entries per [Firewall](#tag/firewalls) and [500 effective rules](https://docs.hetzner.com/cloud/firewalls/overview#limits).

Lua path
app.integrations.hetzner.set_rules
Full name
hetzner.hetzner_set_firewall_rules
ParameterTypeRequiredDescription
No parameters.
get_action_firewall Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific [Action](#tag/actions) for a [Firewall](#tag/firewalls).

Lua path
app.integrations.hetzner.get_action_firewall
Full name
hetzner.hetzner_get_firewall_action
ParameterTypeRequiredDescription
No parameters.
list_floating_ips Read

List multiple [Floating IPs](#tag/floating-ips). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_floating_ips
Full name
hetzner.hetzner_list_floating_ips
ParameterTypeRequiredDescription
No parameters.
create_floating_ip Write

Create a [Floating IP](#tag/floating-ips). Provide the `server` attribute to assign the [Floating IP](#tag/floating-ips) to that server or provide a `home_location` to locate the [Floating IP](#tag/floating-ips) at. Note that the [Floating IP](#tag/floating-ips) can be assigned to a [Server](#tag/servers) in any [Location](#tag/locations) later on. For optimal routing it is advised to use the [Floating IP](#tag/floating-ips) in the same [Location](#tag/locations) it was created in.

Lua path
app.integrations.hetzner.create_floating_ip
Full name
hetzner.hetzner_create_floating_ip
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Lists multiple [Actions](#tag/actions). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_floating_ips_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a single [Action](#tag/actions).

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_floating_ips_action
ParameterTypeRequiredDescription
No parameters.
get_floating_ip Read

Returns a single [Floating IP](#tag/floating-ips).

Lua path
app.integrations.hetzner.get_floating_ip
Full name
hetzner.hetzner_get_floating_ip
ParameterTypeRequiredDescription
No parameters.
update_floating_ip Write

Update a [Floating IP](#tag/floating-ips).

Lua path
app.integrations.hetzner.update_floating_ip
Full name
hetzner.hetzner_update_floating_ip
ParameterTypeRequiredDescription
No parameters.
delete_floating_ip Write

Deletes a [Floating IP](#tag/floating-ips). If assigned to a [Server](#tag/servers) the [Floating IP](#tag/floating-ips) will be unassigned automatically until 1 May 2026. After this date, the [Floating IP](#tag/floating-ips) needs to be unassigned before it can be deleted. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `must_be_unassigned` | Error when IP is still assigned to a Resource. This error will appear as of 1 May 2026. |

Lua path
app.integrations.hetzner.delete_floating_ip
Full name
hetzner.hetzner_delete_floating_ip
ParameterTypeRequiredDescription
No parameters.
list_actions_floating_ip Read

Lists [Actions](#tag/actions) for a [Floating IP](#tag/floating-ips). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions_floating_ip
Full name
hetzner.hetzner_list_floating_ip_actions
ParameterTypeRequiredDescription
No parameters.
assign_floating_ip_server Write

Assigns a [Floating IP](#tag/floating-ips) to a [Server](#tag/servers). #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `floating_ip_assigned` | The [Floating IP](#tag/floating-ips) is already assigned |

Lua path
app.integrations.hetzner.assign_floating_ip_server
Full name
hetzner.hetzner_assign_floating_ip
ParameterTypeRequiredDescription
No parameters.
change_reverse_dns_records_floating_ip Write

Change the reverse DNS records for this [Floating IP](#tag/floating-ips). Allows to modify the PTR records set for the IP address.

Lua path
app.integrations.hetzner.change_reverse_dns_records_floating_ip
Full name
hetzner.hetzner_change_floating_ip_dns_ptr
ParameterTypeRequiredDescription
No parameters.
change_floating_ip_protection Write

Changes the protection settings configured for the [Floating IP](#tag/floating-ips).

Lua path
app.integrations.hetzner.change_floating_ip_protection
Full name
hetzner.hetzner_change_floating_ip_protection
ParameterTypeRequiredDescription
No parameters.
unassign_floating_ip Write

Unassigns a [Floating IP](#tag/floating-ips). Results in the IP being unreachable. Can be assigned to another resource again.

Lua path
app.integrations.hetzner.unassign_floating_ip
Full name
hetzner.hetzner_unassign_floating_ip
ParameterTypeRequiredDescription
No parameters.
get_action_floating_ip Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific [Action](#tag/actions) for a [Floating IP](#tag/floating-ips).

Lua path
app.integrations.hetzner.get_action_floating_ip
Full name
hetzner.hetzner_get_floating_ip_action
ParameterTypeRequiredDescription
No parameters.
list_images Read

Returns all Image objects. You can select specific Image types only and sort the results by using URI parameters.

Lua path
app.integrations.hetzner.list_images
Full name
hetzner.hetzner_list_images
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_images_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_images_action
ParameterTypeRequiredDescription
No parameters.
get_image Read

Returns a specific Image object.

Lua path
app.integrations.hetzner.get_image
Full name
hetzner.hetzner_get_image
ParameterTypeRequiredDescription
No parameters.
update_image Write

Updates the Image. You may change the description, convert a Backup Image to a Snapshot Image or change the Image labels. Only Images of type `snapshot` and `backup` can be updated.

Lua path
app.integrations.hetzner.update_image
Full name
hetzner.hetzner_update_image
ParameterTypeRequiredDescription
No parameters.
delete_image Write

Deletes an Image. Only Images of type `snapshot` and `backup` can be deleted.

Lua path
app.integrations.hetzner.delete_image
Full name
hetzner.hetzner_delete_image
ParameterTypeRequiredDescription
No parameters.
list_actions_image Read

Returns all Action objects for an Image. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Lua path
app.integrations.hetzner.list_actions_image
Full name
hetzner.hetzner_list_image_actions
ParameterTypeRequiredDescription
No parameters.
change_image_protection Write

Changes the protection configuration of the Image. Can only be used on snapshots.

Lua path
app.integrations.hetzner.change_image_protection
Full name
hetzner.hetzner_change_image_protection
ParameterTypeRequiredDescription
No parameters.
get_action_image Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific Action for an Image.

Lua path
app.integrations.hetzner.get_action_image
Full name
hetzner.hetzner_get_image_action
ParameterTypeRequiredDescription
No parameters.
list_isos Read

Returns all available ISO objects.

Lua path
app.integrations.hetzner.list_isos
Full name
hetzner.hetzner_list_isos
ParameterTypeRequiredDescription
No parameters.
get_iso Read

Returns a specific ISO object.

Lua path
app.integrations.hetzner.get_iso
Full name
hetzner.hetzner_get_iso
ParameterTypeRequiredDescription
No parameters.
list_load_balancer_types Read

Gets all Load Balancer type objects.

Lua path
app.integrations.hetzner.list_load_balancer_types
Full name
hetzner.hetzner_list_load_balancer_types
ParameterTypeRequiredDescription
No parameters.
get_load_balancer_type Read

Gets a specific Load Balancer type object.

Lua path
app.integrations.hetzner.get_load_balancer_type
Full name
hetzner.hetzner_get_load_balancer_type
ParameterTypeRequiredDescription
No parameters.
list_load_balancers Read

Gets all existing Load Balancers that you have available.

Lua path
app.integrations.hetzner.list_load_balancers
Full name
hetzner.hetzner_list_load_balancers
ParameterTypeRequiredDescription
No parameters.
create_load_balancer Write

Creates a Load Balancer. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `412` | `source_port_already_used` | The source port you are trying to add is already in use | | `422` | `ip_not_owned` | The IP is not owned by the owner of the project of the Load Balancer | | `422` | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `422` | `resolve_cloud_private_targets_error` | The server you are trying to add as a target is not attached to the same network as the Load Balancer | | `422` | `resolve_cloud_public_targets_error` | The server that you are trying to add as a public target does not have a public IPv4 address | | `422` | `target_already_defined` | The Load Balancer target you are trying to define is already defined |

Lua path
app.integrations.hetzner.create_load_balancer
Full name
hetzner.hetzner_create_load_balancer
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_load_balancers_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_load_balancers_action
ParameterTypeRequiredDescription
No parameters.
get_load_balancer Read

Gets a specific Load Balancer object.

Lua path
app.integrations.hetzner.get_load_balancer
Full name
hetzner.hetzner_get_load_balancer
ParameterTypeRequiredDescription
No parameters.
update_load_balancer Write

Updates a Load Balancer. You can update a Load Balancer's name and a Load Balancer's labels. Note: if the Load Balancer object changes during the request, the response will be a "conflict" error.

Lua path
app.integrations.hetzner.update_load_balancer
Full name
hetzner.hetzner_update_load_balancer
ParameterTypeRequiredDescription
No parameters.
delete_load_balancer Write

Deletes a Load Balancer.

Lua path
app.integrations.hetzner.delete_load_balancer
Full name
hetzner.hetzner_delete_load_balancer
ParameterTypeRequiredDescription
No parameters.
list_actions_load_balancer Read

Returns all Action objects for a Load Balancer. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.

Lua path
app.integrations.hetzner.list_actions_load_balancer
Full name
hetzner.hetzner_list_load_balancer_actions
ParameterTypeRequiredDescription
No parameters.
add_service Write

Adds a service to a Load Balancer. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `412` | `source_port_already_used` | The source port you are trying to add is already in use |

Lua path
app.integrations.hetzner.add_service
Full name
hetzner.hetzner_add_load_balancer_service
ParameterTypeRequiredDescription
No parameters.
add_target Write

Adds a target to a Load Balancer. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `ip_not_in_vswitch_subnet` | The IP you are trying to add does not belong to the vswitch subnet of the attached network | | `422` | `ip_not_owned` | The IP you are trying to add as a target is not owned by the Project owner | | `422` | `load_balancer_public_interface_disabled` | The Load Balancer's public network interface is disabled | | `422` | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `422` | `network_has_no_vswitch_subnet` | The given IP is private but attached network does not have a vswitch subnet | | `422` | `resolve_cloud_private_targets_error` | The server you are trying to add as a target is not attached to the same network as the Load Balancer | | `422` | `resolve_cloud_public_targets_error` | The server that you are trying to add as a public target does not have a public IPv4 address | | `422` | `target_already_defined` | The Load Balancer target you are trying to define is already defined |

Lua path
app.integrations.hetzner.add_target
Full name
hetzner.hetzner_add_load_balancer_target
ParameterTypeRequiredDescription
No parameters.
attach_load_balancer_network Write

Attach a Load Balancer to a Network. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `load_balancer_already_attached` | The Load Balancer is already attached to a network | | `422` | `ip_not_available` | The provided Network IP is not available | | `422` | `no_subnet_available` | No Subnet or IP is available for the Load Balancer within the network |

Lua path
app.integrations.hetzner.attach_load_balancer_network
Full name
hetzner.hetzner_attach_load_balancer_to_network
ParameterTypeRequiredDescription
No parameters.
change_algorithm Write

Change the algorithm that determines to which target new requests are sent.

Lua path
app.integrations.hetzner.change_algorithm
Full name
hetzner.hetzner_change_load_balancer_algorithm
ParameterTypeRequiredDescription
No parameters.
change_reverse_dns_entry_this_load_balancer Write

Changes the hostname that will appear when getting the hostname belonging to the public IPs (IPv4 and IPv6) of this Load Balancer. Floating IPs assigned to the Server are not affected by this.

Lua path
app.integrations.hetzner.change_reverse_dns_entry_this_load_balancer
Full name
hetzner.hetzner_change_load_balancer_dns_ptr
ParameterTypeRequiredDescription
No parameters.
change_load_balancer_protection Write

Changes the protection configuration of a Load Balancer.

Lua path
app.integrations.hetzner.change_load_balancer_protection
Full name
hetzner.hetzner_change_load_balancer_protection
ParameterTypeRequiredDescription
No parameters.
change_type_load_balancer Write

Changes the type (Max Services, Max Targets and Max Connections) of a Load Balancer. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `invalid_load_balancer_type` | The Load Balancer type does not fit for the given Load Balancer |

Lua path
app.integrations.hetzner.change_type_load_balancer
Full name
hetzner.hetzner_change_load_balancer_type
ParameterTypeRequiredDescription
No parameters.
delete_service Write

Delete a service of a Load Balancer.

Lua path
app.integrations.hetzner.delete_service
Full name
hetzner.hetzner_delete_load_balancer_service
ParameterTypeRequiredDescription
No parameters.
detach_load_balancer_from_network Write

Detaches a Load Balancer from a network.

Lua path
app.integrations.hetzner.detach_load_balancer_from_network
Full name
hetzner.hetzner_detach_load_balancer_from_network
ParameterTypeRequiredDescription
No parameters.
disable_public_interface_load_balancer Write

Disable the public interface of a Load Balancer. The Load Balancer will be not accessible from the internet via its public IPs. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network | | `422` | `targets_without_use_private_ip` | The Load Balancer has targets that use the public IP instead of the private IP |

Lua path
app.integrations.hetzner.disable_public_interface_load_balancer
Full name
hetzner.hetzner_disable_load_balancer_public_interface
ParameterTypeRequiredDescription
No parameters.
enable_public_interface_load_balancer Write

Enable the public interface of a Load Balancer. The Load Balancer will be accessible from the internet via its public IPs.

Lua path
app.integrations.hetzner.enable_public_interface_load_balancer
Full name
hetzner.hetzner_enable_load_balancer_public_interface
ParameterTypeRequiredDescription
No parameters.
remove_target Write

Removes a target from a Load Balancer.

Lua path
app.integrations.hetzner.remove_target
Full name
hetzner.hetzner_remove_load_balancer_target
ParameterTypeRequiredDescription
No parameters.
update_service Write

Updates a Load Balancer Service. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `source_port_already_used` | The source port you are trying to add is already in use |

Lua path
app.integrations.hetzner.update_service
Full name
hetzner.hetzner_update_load_balancer_service
ParameterTypeRequiredDescription
No parameters.
get_action_load_balancer Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific Action for a Load Balancer.

Lua path
app.integrations.hetzner.get_action_load_balancer
Full name
hetzner.hetzner_get_load_balancer_action
ParameterTypeRequiredDescription
No parameters.
get_metrics_loadbalancer Read

You must specify the type of metric to get: `open_connections`, `connections_per_second`, `requests_per_second` or `bandwidth`. You can also specify more than one type by comma separation, e.g. `requests_per_second,bandwidth`. Depending on the type you will get different time series data: |Type | Timeseries | Unit | Description | |---- |------------|------|-------------| | open_connections | open_connections | number | Open connections | | connections_per_second | connections_per_second | connections/s | Connections per second | | requests_per_second | requests_per_second | requests/s | Requests per second | | bandwidth | bandwidth.in | bytes/s | Ingress bandwidth | || bandwidth.out | bytes/s | Egress bandwidth | Metrics are available for the last 30 days only. If you do not provide the step argument we will automatically adjust it so that 200 samples are returned. We limit the number of samples to a maximum of 500 and will adjust the step parameter accordingly.

Lua path
app.integrations.hetzner.get_metrics_loadbalancer
Full name
hetzner.hetzner_get_load_balancer_metrics
ParameterTypeRequiredDescription
No parameters.
list_locations Read

Returns all [Locations](#tag/locations).

Lua path
app.integrations.hetzner.list_locations
Full name
hetzner.hetzner_list_locations
ParameterTypeRequiredDescription
No parameters.
get_location Read

Returns a [Location](#tag/locations).

Lua path
app.integrations.hetzner.get_location
Full name
hetzner.hetzner_get_location
ParameterTypeRequiredDescription
No parameters.
list_networks Read

List multiple [Networks](#tag/networks). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_networks
Full name
hetzner.hetzner_list_networks
ParameterTypeRequiredDescription
No parameters.
create_network Write

Creates a [Network](#tag/networks). The provided `ip_range` can only be extended later on, but not reduced. Subnets can be added now or later on using the [add subnet action](#tag/network-actions/add_network_subnet). If you do not specify an `ip_range` for the subnet the first available /24 range will be used. Routes can be added now or later by using the [add route action](#tag/network-actions/add_network_route).

Lua path
app.integrations.hetzner.create_network
Full name
hetzner.hetzner_create_network
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Lists multiple [Actions](#tag/actions). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_networks_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a single [Action](#tag/actions).

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_networks_action
ParameterTypeRequiredDescription
No parameters.
get_network Read

Get a specific [Network](#tag/networks).

Lua path
app.integrations.hetzner.get_network
Full name
hetzner.hetzner_get_network
ParameterTypeRequiredDescription
No parameters.
update_network Write

Update a [Network](#tag/networks). If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.update_network
Full name
hetzner.hetzner_update_network
ParameterTypeRequiredDescription
No parameters.
delete_network Write

Deletes a [Network](#tag/networks). Attached resources will be detached automatically.

Lua path
app.integrations.hetzner.delete_network
Full name
hetzner.hetzner_delete_network
ParameterTypeRequiredDescription
No parameters.
list_actions_network Read

Lists [Actions](#tag/actions) for a [Network](#tag/networks). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions_network
Full name
hetzner.hetzner_list_network_actions
ParameterTypeRequiredDescription
No parameters.
add_route_network Write

Adds a route entry to a [Network](#tag/networks). If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.add_route_network
Full name
hetzner.hetzner_add_network_route
ParameterTypeRequiredDescription
No parameters.
add_subnet_network Write

Adds a new subnet to the [Network](#tag/networks). If the subnet `ip_range` is not provided, the first available `/24` IP range will be used. If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.add_subnet_network
Full name
hetzner.hetzner_add_network_subnet
ParameterTypeRequiredDescription
No parameters.
change_ip_range_network Write

Changes the IP range of a [Network](#tag/networks). The following restrictions apply to changing the IP range: - IP ranges can only be extended and never shrunk. - IPs can only be added to the end of the existing range, therefore only the netmask is allowed to be changed. To update the routes on the connected [Servers](#tag/servers), they need to be rebooted or the routes to be updated manually. For example if the [Network](#tag/networks) has a range of `10.0.0.0/16` to extend it the new range has to start with the IP `10.0.0.0` as well. The netmask `/16` can be changed to a smaller one then `16` therefore increasing the IP range. A valid entry would be `10.0.0.0/15`, `10.0.0.0/14` or `10.0.0.0/13` and so on. If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.change_ip_range_network
Full name
hetzner.hetzner_change_network_ip_range
ParameterTypeRequiredDescription
No parameters.
change_network_protection Write

Changes the protection settings of a [Network](#tag/networks). If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.change_network_protection
Full name
hetzner.hetzner_change_network_protection
ParameterTypeRequiredDescription
No parameters.
delete_route_from_network Write

Delete a route entry from a [Network](#tag/networks). If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.delete_route_from_network
Full name
hetzner.hetzner_delete_network_route
ParameterTypeRequiredDescription
No parameters.
delete_subnet_from_network Write

Deletes a single subnet entry from a [Network](#tag/networks). Subnets containing attached resources can not be deleted, they must be detached beforehand. If a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.delete_subnet_from_network
Full name
hetzner.hetzner_delete_network_subnet
ParameterTypeRequiredDescription
No parameters.
get_action_network Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific [Action](#tag/actions) for a [Network](#tag/networks).

Lua path
app.integrations.hetzner.get_action_network
Full name
hetzner.hetzner_get_network_action
ParameterTypeRequiredDescription
No parameters.
list_placement_groups Read

Returns all Placement Group objects.

Lua path
app.integrations.hetzner.list_placement_groups
Full name
hetzner.hetzner_list_placement_groups
ParameterTypeRequiredDescription
No parameters.
create_placementgroup Write

Creates a new Placement Group.

Lua path
app.integrations.hetzner.create_placementgroup
Full name
hetzner.hetzner_create_placement_group
ParameterTypeRequiredDescription
No parameters.
get_placementgroup Read

Gets a specific Placement Group object.

Lua path
app.integrations.hetzner.get_placementgroup
Full name
hetzner.hetzner_get_placement_group
ParameterTypeRequiredDescription
No parameters.
update_placementgroup Write

Updates the Placement Group properties. Note: if the Placement Group object changes during the request, the response will be a "conflict" error.

Lua path
app.integrations.hetzner.update_placementgroup
Full name
hetzner.hetzner_update_placement_group
ParameterTypeRequiredDescription
No parameters.
delete_placementgroup Write

Deletes a Placement Group.

Lua path
app.integrations.hetzner.delete_placementgroup
Full name
hetzner.hetzner_delete_placement_group
ParameterTypeRequiredDescription
No parameters.
get_all_prices Read

Returns prices for all resources available on the platform. VAT and currency of the Project owner are used for calculations. Both net and gross prices are included in the response.

Lua path
app.integrations.hetzner.get_all_prices
Full name
hetzner.hetzner_get_pricing
ParameterTypeRequiredDescription
No parameters.
list_primary_ips Read

List multiple [Primary IPs](#tag/primary-ips). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_primary_ips
Full name
hetzner.hetzner_list_primary_ips
ParameterTypeRequiredDescription
No parameters.
create_primary_ip Write

Create a new [Primary IP](#tag/primary-ips). Can optionally be assigned to a resource by providing an `assignee_id` and `assignee_type`. If not assigned to a resource the `location` key needs to be provided. This can be either the ID or the name of the [Location](#tag/locations) this [Primary IP](#tag/primary-ips) shall be created in. A [Primary IP](#tag/primary-ips) can only be assigned to resource in the same [Location](#tag/locations) later on. The `datacenter` key is deprecated in favor of `location` and will be removed after 01 July 2026. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_not_stopped` | The specified [Server](#tag/servers) is running, but needs to be powered off | | `422` | `server_has_ipv4` | The [Server](#tag/servers) already has an ipv4 address | | `422` | `server_has_ipv6` | The [Server](#tag/servers) already has an ipv6 address |

Lua path
app.integrations.hetzner.create_primary_ip
Full name
hetzner.hetzner_create_primary_ip
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Lists multiple [Actions](#tag/actions). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_primary_ips_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a single [Action](#tag/actions).

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_primary_ips_action
ParameterTypeRequiredDescription
No parameters.
list_actions_primary_ip Read

Returns all [Actions](#tag/actions) for a [Primary IP](#tag/primary-ips). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions_primary_ip
Full name
hetzner.hetzner_list_primary_ip_actions
ParameterTypeRequiredDescription
No parameters.
get_action_primary_ip Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific [Action](#tag/actions) for a [Primary IP](#tag/primary-ips).

Lua path
app.integrations.hetzner.get_action_primary_ip
Full name
hetzner.hetzner_get_primary_ip_action
ParameterTypeRequiredDescription
No parameters.
get_primary_ip Read

Returns a [Primary IP](#tag/primary-ips).

Lua path
app.integrations.hetzner.get_primary_ip
Full name
hetzner.hetzner_get_primary_ip
ParameterTypeRequiredDescription
No parameters.
update_primary_ip Write

Update a [Primary IP](#tag/primary-ips). If another change is concurrently performed on this [Primary IP](#tag/primary-ips), a error response with code `conflict` will be returned.

Lua path
app.integrations.hetzner.update_primary_ip
Full name
hetzner.hetzner_update_primary_ip
ParameterTypeRequiredDescription
No parameters.
delete_primary_ip Write

Deletes a [Primary IP](#tag/primary-ips). The [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed. If assigned to a [Server](#tag/servers) the [Primary IP](#tag/primary-ips) will be unassigned automatically until 1 May 2026. After this date, the [Primary IP](#tag/primary-ips) needs to be unassigned before it can be deleted. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `must_be_unassigned` | Error when IP is still assigned to a Resource. This error will appear as of 1 May 2026. |

Lua path
app.integrations.hetzner.delete_primary_ip
Full name
hetzner.hetzner_delete_primary_ip
ParameterTypeRequiredDescription
No parameters.
assign_primary_ip_resource Write

Assign a [Primary IP](#tag/primary-ips) to a resource. A [Server](#tag/servers) can only have one [Primary IP](#tag/primary-ips) of type `ipv4` and one of type `ipv6` assigned. If you need more IPs use [Floating IPs](#tag/floating-ips). A [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_not_stopped` | The [Server](#tag/servers) is running, but needs to be powered off | | `422` | `primary_ip_already_assigned` | [Primary IP](#tag/primary-ips) is already assigned to a different [Server](#tag/servers) | | `422` | `server_has_ipv4` | The [Server](#tag/servers) already has an IPv4 address | | `422` | `server_has_ipv6` | The [Server](#tag/servers) already has an IPv6 address |

Lua path
app.integrations.hetzner.assign_primary_ip_resource
Full name
hetzner.hetzner_assign_primary_ip
ParameterTypeRequiredDescription
No parameters.
change_reverse_dns_records_primary_ip Write

Change the reverse DNS records for this [Primary IP](#tag/primary-ips). Allows to modify the PTR records set for the IP address.

Lua path
app.integrations.hetzner.change_reverse_dns_records_primary_ip
Full name
hetzner.hetzner_change_primary_ip_dns_ptr
ParameterTypeRequiredDescription
No parameters.
change_primary_ip_protection Write

Changes the protection configuration of a [Primary IP](#tag/primary-ips). A [Primary IPs](#tag/primary-ips) deletion protection can only be enabled if its `auto_delete` property is set to `false`.

Lua path
app.integrations.hetzner.change_primary_ip_protection
Full name
hetzner.hetzner_change_primary_ip_protection
ParameterTypeRequiredDescription
No parameters.
unassign_primary_ip_from_resource Write

Unassign a [Primary IP](#tag/primary-ips) from a resource. A [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed. A [Server](#tag/servers) requires at least one network interface (public or private) to be powered on. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_not_stopped` | The [Server](#tag/servers) is running, but needs to be powered off | | `422` | `server_is_load_balancer_target` | The [Server](#tag/servers) IPv4 address is a loadbalancer target |

Lua path
app.integrations.hetzner.unassign_primary_ip_from_resource
Full name
hetzner.hetzner_unassign_primary_ip
ParameterTypeRequiredDescription
No parameters.
list_server_types Read

Gets all Server type objects.

Lua path
app.integrations.hetzner.list_server_types
Full name
hetzner.hetzner_list_server_types
ParameterTypeRequiredDescription
No parameters.
get_server_type Read

Gets a specific Server type object.

Lua path
app.integrations.hetzner.get_server_type
Full name
hetzner.hetzner_get_server_type
ParameterTypeRequiredDescription
No parameters.
list_servers Read

Returns all existing Server objects.

Lua path
app.integrations.hetzner.list_servers
Full name
hetzner.hetzner_list_servers
ParameterTypeRequiredDescription
No parameters.
create_server Write

Creates a new Server. Returns preliminary information about the Server as well as an Action that covers progress of creation. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `412` | `primary_ip_version_mismatch` | The specified Primary IP has the wrong IP Version | | `422` | `placement_error` | An error during the placement occurred | | `422` | `primary_ip_assigned` | The specified Primary IP is already assigned to a server | | `422` | `primary_ip_datacenter_mismatch` | he specified Primary IP is in a different datacenter |

Lua path
app.integrations.hetzner.create_server
Full name
hetzner.hetzner_create_server
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_servers_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_servers_action
ParameterTypeRequiredDescription
No parameters.
get_server Read

Returns a specific Server object. The Server must exist inside the Project.

Lua path
app.integrations.hetzner.get_server
Full name
hetzner.hetzner_get_server
ParameterTypeRequiredDescription
No parameters.
update_server Write

Updates a Server. You can update a Server's name and a Server's labels. Please note that Server names must be unique per Project and valid hostnames as per RFC 1123 (i.e. may only contain letters, digits, periods, and dashes).

Lua path
app.integrations.hetzner.update_server
Full name
hetzner.hetzner_update_server
ParameterTypeRequiredDescription
No parameters.
delete_server Write

Deletes a Server. This immediately removes the Server from your account, and it is no longer accessible. Any resources attached to the server (like Volumes, Primary IPs, Floating IPs, Firewalls, Placement Groups) are detached while the server is deleted.

Lua path
app.integrations.hetzner.delete_server
Full name
hetzner.hetzner_delete_server
ParameterTypeRequiredDescription
No parameters.
list_actions_server Read

Returns all Action objects for a Server. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.

Lua path
app.integrations.hetzner.list_actions_server
Full name
hetzner.hetzner_list_server_actions
ParameterTypeRequiredDescription
No parameters.
add_server_placement_group Write

Adds a Server to a Placement Group. Server must be powered off for this command to succeed. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_not_stopped` | The action requires a stopped server | | `422` | `already_in_placement_group` | The server is already part of a placement group |

Lua path
app.integrations.hetzner.add_server_placement_group
Full name
hetzner.hetzner_add_server_to_placement_group
ParameterTypeRequiredDescription
No parameters.
attach_iso_server Write

Attaches an ISO to a Server. The Server will immediately see it as a new disk. An already attached ISO will automatically be detached before the new ISO is attached. Servers with attached ISOs have a modified boot order: They will try to boot from the ISO first before falling back to hard disk.

Lua path
app.integrations.hetzner.attach_iso_server
Full name
hetzner.hetzner_attach_server_iso
ParameterTypeRequiredDescription
No parameters.
attach_server_network Write

Attaches a Server to a network. This will complement the fixed public Server interface by adding an additional ethernet interface to the Server which is connected to the specified network. The Server will get an IP auto assigned from a subnet of type `server` in the same `network_zone`. Using the `alias_ips` attribute you can also define one or more additional IPs to the Servers. Please note that you will have to configure these IPs by hand on your Server since only the primary IP will be given out by DHCP. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `server_already_attached` | The server is already attached to the network | | `422` | `ip_not_available` | The provided Network IP is not available | | `422` | `no_subnet_available` | No Subnet or IP is available for the Server within the network | | `422` | `networks_overlap` | The network IP range overlaps with one of the server networks |

Lua path
app.integrations.hetzner.attach_server_network
Full name
hetzner.hetzner_attach_server_to_network
ParameterTypeRequiredDescription
No parameters.
change_alias_ips_network Write

Changes the alias IPs of an already attached Network. Note that the existing aliases for the specified Network will be replaced with these provided in the request body. So if you want to add an alias IP, you have to provide the existing ones from the Network plus the new alias IP in the request body.

Lua path
app.integrations.hetzner.change_alias_ips_network
Full name
hetzner.hetzner_change_server_alias_ips
ParameterTypeRequiredDescription
No parameters.
change_reverse_dns_entry_this_server Write

Changes the hostname that will appear when getting the hostname belonging to the primary IPs (IPv4 and IPv6) of this Server. Floating IPs assigned to the Server are not affected by this.

Lua path
app.integrations.hetzner.change_reverse_dns_entry_this_server
Full name
hetzner.hetzner_change_server_dns_ptr
ParameterTypeRequiredDescription
No parameters.
change_server_protection Write

Changes the protection configuration of the Server.

Lua path
app.integrations.hetzner.change_server_protection
Full name
hetzner.hetzner_change_server_protection
ParameterTypeRequiredDescription
No parameters.
change_type_server Write

Changes the type (Cores, RAM and disk sizes) of a Server. Server must be powered off for this command to succeed. This copies the content of its disk, and starts it again. You can only migrate to Server types with the same `storage_type` and equal or bigger disks. Shrinking disks is not possible as it might destroy data. If the disk gets upgraded, the Server type can not be downgraded any more. If you plan to downgrade the Server type, set `upgrade_disk` to `false`. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `invalid_server_type` | The server type does not fit for the given server or is deprecated | | `422` | `server_not_stopped` | The action requires a stopped server |

Lua path
app.integrations.hetzner.change_type_server
Full name
hetzner.hetzner_change_server_type
ParameterTypeRequiredDescription
No parameters.
create_image_from_server Write

Creates an Image (snapshot) from a Server by copying the contents of its disks. This creates a snapshot of the current state of the disk and copies it into an Image. If the Server is currently running you must make sure that its disk content is consistent. Otherwise, the created Image may not be readable. To make sure disk content is consistent, we recommend to shut down the Server prior to creating an Image. You can either create a `backup` Image that is bound to the Server and therefore will be deleted when the Server is deleted, or you can create a `snapshot` Image which is completely independent of the Server it was created from and will survive Server deletion. Backup Images are only available when the backup option is enabled for the Server. Snapshot Images are billed on a per GB basis.

Lua path
app.integrations.hetzner.create_image_from_server
Full name
hetzner.hetzner_create_server_image
ParameterTypeRequiredDescription
No parameters.
detach_server_from_network Write

Detaches a Server from a network. The interface for this network will vanish.

Lua path
app.integrations.hetzner.detach_server_from_network
Full name
hetzner.hetzner_detach_server_from_network
ParameterTypeRequiredDescription
No parameters.
detach_iso_from_server Write

Detaches an ISO from a Server. In case no ISO Image is attached to the Server, the status of the returned Action is immediately set to `success`.

Lua path
app.integrations.hetzner.detach_iso_from_server
Full name
hetzner.hetzner_detach_server_iso
ParameterTypeRequiredDescription
No parameters.
disable_backups_server Write

Disables the automatic backup option and deletes all existing Backups for a Server. No more additional charges for backups will be made. Caution: This immediately removes all existing backups for the Server!

Lua path
app.integrations.hetzner.disable_backups_server
Full name
hetzner.hetzner_disable_server_backup
ParameterTypeRequiredDescription
No parameters.
disable_rescue_mode_server Write

Disables the Hetzner Rescue System for a Server. This makes a Server start from its disks on next reboot. Rescue Mode is automatically disabled when you first boot into it or if you do not use it for 60 minutes. Disabling rescue mode will not reboot your Server - you will have to do this yourself.

Lua path
app.integrations.hetzner.disable_rescue_mode_server
Full name
hetzner.hetzner_disable_server_rescue
ParameterTypeRequiredDescription
No parameters.
enable_and_configure_backups_server Write

Enables and configures the automatic daily backup option for the Server. Enabling automatic backups will increase the price of the Server by 20%. In return, you will get seven slots where Images of type backup can be stored. Backups are automatically created daily.

Lua path
app.integrations.hetzner.enable_and_configure_backups_server
Full name
hetzner.hetzner_enable_server_backup
ParameterTypeRequiredDescription
No parameters.
enable_rescue_mode_server Write

Enable the Hetzner Rescue System for this Server. The next time a Server with enabled rescue mode boots it will start a special minimal Linux distribution designed for repair and reinstall. In case a Server cannot boot on its own you can use this to access a Server's disks. Rescue Mode is automatically disabled when you first boot into it or if you do not use it for 60 minutes. Enabling rescue mode will not [reboot](https://docs.hetzner.cloud/#server-actions-soft-reboot-a-server) your Server - you will have to do this yourself.

Lua path
app.integrations.hetzner.enable_rescue_mode_server
Full name
hetzner.hetzner_enable_server_rescue
ParameterTypeRequiredDescription
No parameters.
power_off_server Write

Cuts power to the Server. This forcefully stops it without giving the Server operating system time to gracefully stop. May lead to data loss, equivalent to pulling the power cord. Power off should only be used when shutdown does not work.

Lua path
app.integrations.hetzner.power_off_server
Full name
hetzner.hetzner_poweroff_server
ParameterTypeRequiredDescription
No parameters.
power_server Write

Starts a Server by turning its power on.

Lua path
app.integrations.hetzner.power_server
Full name
hetzner.hetzner_poweron_server
ParameterTypeRequiredDescription
No parameters.
soft_reboot_server Write

Reboots a Server gracefully by sending an ACPI request. The Server operating system must support ACPI and react to the request, otherwise the Server will not reboot.

Lua path
app.integrations.hetzner.soft_reboot_server
Full name
hetzner.hetzner_reboot_server
ParameterTypeRequiredDescription
No parameters.
rebuild_server_from_image Write

Rebuilds a Server overwriting its disk with the content of an Image, thereby **destroying all data** on the target Server The Image can either be one you have created earlier (`backup` or `snapshot` Image) or it can be a completely fresh `system` Image provided by us. You can get a list of all available Images with `GET /images`. Your Server will automatically be powered off before the rebuild command executes.

Lua path
app.integrations.hetzner.rebuild_server_from_image
Full name
hetzner.hetzner_rebuild_server
ParameterTypeRequiredDescription
No parameters.
remove_from_placement_group Write

Removes a Server from a Placement Group.

Lua path
app.integrations.hetzner.remove_from_placement_group
Full name
hetzner.hetzner_remove_server_from_placement_group
ParameterTypeRequiredDescription
No parameters.
request_console_server Write

Requests credentials for remote access via VNC over websocket to keyboard, monitor, and mouse for a Server. The provided URL is valid for 1 minute, after this period a new url needs to be created to connect to the Server. How long the connection is open after the initial connect is not subject to this timeout.

Lua path
app.integrations.hetzner.request_console_server
Full name
hetzner.hetzner_request_server_console
ParameterTypeRequiredDescription
No parameters.
reset_server Write

Cuts power to a Server and starts it again. This forcefully stops it without giving the Server operating system time to gracefully stop. This may lead to data loss, it's equivalent to pulling the power cord and plugging it in again. Reset should only be used when reboot does not work.

Lua path
app.integrations.hetzner.reset_server
Full name
hetzner.hetzner_reset_server
ParameterTypeRequiredDescription
No parameters.
reset_root_password_server Write

Resets the root password. Only works for Linux systems that are running the qemu guest agent. Server must be powered on (status `running`) in order for this operation to succeed. This will generate a new password for this Server and return it. If this does not succeed you can use the rescue system to netboot the Server and manually change your Server password by hand.

Lua path
app.integrations.hetzner.reset_root_password_server
Full name
hetzner.hetzner_reset_server_password
ParameterTypeRequiredDescription
No parameters.
shutdown_server Write

Shuts down a Server gracefully by sending an ACPI shutdown request. The Server operating system must support ACPI and react to the request, otherwise the Server will not shut down. Please note that the `action` status in this case only reflects whether the action was sent to the server. It does not mean that the server actually shut down successfully. If you need to ensure that the server is off, use the `poweroff` action.

Lua path
app.integrations.hetzner.shutdown_server
Full name
hetzner.hetzner_shutdown_server
ParameterTypeRequiredDescription
No parameters.
get_action_server Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific Action object for a Server.

Lua path
app.integrations.hetzner.get_action_server
Full name
hetzner.hetzner_get_server_action
ParameterTypeRequiredDescription
No parameters.
get_metrics_server Read

Get Metrics for specified Server. You must specify the type of metric to get: cpu, disk or network. You can also specify more than one type by comma separation, e.g. cpu,disk. Depending on the type you will get different time series data | Type | Timeseries | Unit | Description | |---------|-------------------------|-----------|------------------------------------------------------| | cpu | cpu | percent | Percent CPU usage | | disk | disk.0.iops.read | iop/s | Number of read IO operations per second | | | disk.0.iops.write | iop/s | Number of write IO operations per second | | | disk.0.bandwidth.read | bytes/s | Bytes read per second | | | disk.0.bandwidth.write | bytes/s | Bytes written per second | | network | network.0.pps.in | packets/s | Public Network interface packets per second received | | | network.0.pps.out | packets/s | Public Network interface packets per second sent | | | network.0.bandwidth.in | bytes/s | Public Network interface bytes/s received | | | network.0.bandwidth.out | bytes/s | Public Network interface bytes/s sent | Metrics are available for the last 30 days only. If you do not provide the step argument we will automatically adjust it so that a maximum of 200 samples are returned. We limit the number of samples returned to a maximum of 500 and will adjust the step parameter accordingly.

Lua path
app.integrations.hetzner.get_metrics_server
Full name
hetzner.hetzner_get_server_metrics
ParameterTypeRequiredDescription
No parameters.
list_ssh_keys Read

Returns all SSH key objects.

Lua path
app.integrations.hetzner.list_ssh_keys
Full name
hetzner.hetzner_list_ssh_keys
ParameterTypeRequiredDescription
No parameters.
create_ssh_key Write

Creates a new SSH key with the given `name` and `public_key`. Once an SSH key is created, it can be used in other calls such as creating Servers.

Lua path
app.integrations.hetzner.create_ssh_key
Full name
hetzner.hetzner_create_ssh_key
ParameterTypeRequiredDescription
No parameters.
get_ssh_key Read

Returns a specific SSH key object.

Lua path
app.integrations.hetzner.get_ssh_key
Full name
hetzner.hetzner_get_ssh_key
ParameterTypeRequiredDescription
No parameters.
update_ssh_key Write

Updates an SSH key. You can update an SSH key name and an SSH key labels.

Lua path
app.integrations.hetzner.update_ssh_key
Full name
hetzner.hetzner_update_ssh_key
ParameterTypeRequiredDescription
No parameters.
delete_ssh_key Write

Deletes an SSH key. It cannot be used anymore.

Lua path
app.integrations.hetzner.delete_ssh_key
Full name
hetzner.hetzner_delete_ssh_key
ParameterTypeRequiredDescription
No parameters.
list_volumes Read

Gets all existing Volumes that you have available.

Lua path
app.integrations.hetzner.list_volumes
Full name
hetzner.hetzner_list_volumes
ParameterTypeRequiredDescription
No parameters.
create_volume Write

Creates a new Volume attached to a Server. If you want to create a Volume that is not attached to a Server, you need to provide the `location` key instead of `server`. This can be either the ID or the name of the Location this Volume will be created in. Note that a Volume can be attached to a Server only in the same Location as the Volume itself. Specifying the Server during Volume creation will automatically attach the Volume to that Server after it has been initialized. In that case, the `next_actions` key in the response is an array which contains a single `attach_volume` action. The minimum Volume size is 10GB and the maximum size is 10TB (10240GB). A volume's name can consist of alphanumeric characters, dashes, underscores, and dots, but has to start and end with an alphanumeric character. The total length is limited to 64 characters. Volume names must be unique per Project. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `no_space_left_in_location` | There is no volume space left in the given location |

Lua path
app.integrations.hetzner.create_volume
Full name
hetzner.hetzner_create_volume
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the `status` and `id` parameter.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_volumes_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific Action object.

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_volumes_action
ParameterTypeRequiredDescription
No parameters.
get_volume Read

Gets a specific Volume object.

Lua path
app.integrations.hetzner.get_volume
Full name
hetzner.hetzner_get_volume
ParameterTypeRequiredDescription
No parameters.
update_volume Write

Updates the Volume properties.

Lua path
app.integrations.hetzner.update_volume
Full name
hetzner.hetzner_update_volume
ParameterTypeRequiredDescription
No parameters.
delete_volume Write

Deletes a volume. All Volume data is irreversibly destroyed. The Volume must not be attached to a Server and it must not have delete protection enabled.

Lua path
app.integrations.hetzner.delete_volume
Full name
hetzner.hetzner_delete_volume
ParameterTypeRequiredDescription
No parameters.
list_actions_volume Read

Returns all Action objects for a Volume. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.

Lua path
app.integrations.hetzner.list_actions_volume
Full name
hetzner.hetzner_list_volume_actions
ParameterTypeRequiredDescription
No parameters.
attach_volume_server Write

Attaches a Volume to a Server. Works only if the Server is in the same Location as the Volume.

Lua path
app.integrations.hetzner.attach_volume_server
Full name
hetzner.hetzner_attach_volume
ParameterTypeRequiredDescription
No parameters.
change_volume_protection Write

Changes the protection configuration of a Volume.

Lua path
app.integrations.hetzner.change_volume_protection
Full name
hetzner.hetzner_change_volume_protection
ParameterTypeRequiredDescription
No parameters.
detach_volume Write

Detaches a Volume from the Server it's attached to. You may attach it to a Server again at a later time.

Lua path
app.integrations.hetzner.detach_volume
Full name
hetzner.hetzner_detach_volume
ParameterTypeRequiredDescription
No parameters.
resize_volume Write

Changes the size of a Volume. Note that downsizing a Volume is not possible.

Lua path
app.integrations.hetzner.resize_volume
Full name
hetzner.hetzner_resize_volume
ParameterTypeRequiredDescription
No parameters.
get_action_volume Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific Action for a Volume.

Lua path
app.integrations.hetzner.get_action_volume
Full name
hetzner.hetzner_get_volume_action
ParameterTypeRequiredDescription
No parameters.
list_zones Read

Returns all [Zones](#tag/zones). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_zones
Full name
hetzner.hetzner_list_zones
ParameterTypeRequiredDescription
No parameters.
create_zone Write

Creates a [Zone](#tag/zones). A default `SOA` and three `NS` resource records with the assigned Hetzner nameservers are created automatically.

Lua path
app.integrations.hetzner.create_zone
Full name
hetzner.hetzner_create_zone
ParameterTypeRequiredDescription
No parameters.
get_zone Read

Returns a single [Zone](#tag/zones).

Lua path
app.integrations.hetzner.get_zone
Full name
hetzner.hetzner_get_zone
ParameterTypeRequiredDescription
No parameters.
update_zone Write

Updates a [Zone](#tag/zones). To modify resource record sets ([RRSets](#tag/zone-rrsets)), use the [RRSet Actions endpoints](#tag/zone-rrset-actions).

Lua path
app.integrations.hetzner.update_zone
Full name
hetzner.hetzner_update_zone
ParameterTypeRequiredDescription
No parameters.
delete_zone Write

Deletes a [Zone](#tag/zones).

Lua path
app.integrations.hetzner.delete_zone
Full name
hetzner.hetzner_delete_zone
ParameterTypeRequiredDescription
No parameters.
export_zone_file Read

Returns a generated [Zone](#tag/zones) file in BIND (RFC [1034](https://datatracker.ietf.org/doc/html/rfc1034)/[1035](https://datatracker.ietf.org/doc/html/rfc1035)) format. Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.export_zone_file
Full name
hetzner.hetzner_get_zone_zonefile
ParameterTypeRequiredDescription
No parameters.
list_actions Read

Returns all [Zone](#tag/zones) [Actions](#tag/actions). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions
Full name
hetzner.hetzner_list_zones_actions
ParameterTypeRequiredDescription
No parameters.
get_action Read

Returns a specific [Action](#tag/actions).

Lua path
app.integrations.hetzner.get_action
Full name
hetzner.hetzner_get_zones_action
ParameterTypeRequiredDescription
No parameters.
list_actions_zone Read

Returns all [Actions](#tag/actions) for a [Zone](#tag/zones). Use the provided URI parameters to modify the result.

Lua path
app.integrations.hetzner.list_actions_zone
Full name
hetzner.hetzner_list_zone_actions
ParameterTypeRequiredDescription
No parameters.
get_action_zone Read

**Deprecated**: This operation is deprecated, see our [changelog](https://docs.hetzner.cloud/changelog#2026-04-30-deprecate-get-resource-action-endpoints) for more details. Returns a specific [Action](#tag/actions) for a [Zone](#tag/zones).

Lua path
app.integrations.hetzner.get_action_zone
Full name
hetzner.hetzner_get_zone_action
ParameterTypeRequiredDescription
No parameters.
change_zone_primary_nameservers Write

Overwrites the primary nameservers of a [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in secondary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.change_zone_primary_nameservers
Full name
hetzner.hetzner_change_zone_primary_nameservers
ParameterTypeRequiredDescription
No parameters.
change_zone_protection Write

Changes the protection configuration of a [Zone](#tag/zones).

Lua path
app.integrations.hetzner.change_zone_protection
Full name
hetzner.hetzner_change_zone_protection
ParameterTypeRequiredDescription
No parameters.
change_zone_default_ttl Write

Changes the default Time To Live (TTL) of a [Zone](#tag/zones). This TTL is used for [RRSets](#tag/zone-rrsets) that do not explicitly define a TTL. Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.change_zone_default_ttl
Full name
hetzner.hetzner_change_zone_ttl
ParameterTypeRequiredDescription
No parameters.
import_zone_file Write

Imports a zone file, replacing all resource record sets ([RRSets](#tag/zone-rrsets)). The import will fail if existing [RRSet](#tag/zone-rrsets) are `change` protected. See [Zone file import](#tag/zones/zone-file-import) for more details. Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.import_zone_file
Full name
hetzner.hetzner_import_zone_zonefile
ParameterTypeRequiredDescription
No parameters.
list_rrsets Read

Returns all [RRSets](#tag/zone-rrsets) in the [Zone](#tag/zones). Use the provided URI parameters to modify the result. The maximum value for `per_page` on this endpoint is `100` instead of `50`. Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.list_rrsets
Full name
hetzner.hetzner_list_zone_rrsets
ParameterTypeRequiredDescription
No parameters.
create_rrset Write

Create an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.create_rrset
Full name
hetzner.hetzner_create_zone_rrset
ParameterTypeRequiredDescription
No parameters.
get_rrset Read

Returns a single [RRSet](#tag/zone-rrsets) from the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.get_rrset
Full name
hetzner.hetzner_get_zone_rrset
ParameterTypeRequiredDescription
No parameters.
update_rrset Write

Updates an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.update_rrset
Full name
hetzner.hetzner_update_zone_rrset
ParameterTypeRequiredDescription
No parameters.
delete_rrset Write

Deletes an [RRSet](#tag/zone-rrsets) from the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.delete_rrset
Full name
hetzner.hetzner_delete_zone_rrset
ParameterTypeRequiredDescription
No parameters.
change_rrset_protection Write

Changes the protection of an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.change_rrset_protection
Full name
hetzner.hetzner_change_zone_rrset_protection
ParameterTypeRequiredDescription
No parameters.
change_rrset_ttl Write

Changes the Time To Live (TTL) of an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.change_rrset_ttl
Full name
hetzner.hetzner_change_zone_rrset_ttl
ParameterTypeRequiredDescription
No parameters.
set_records_rrset Write

Overwrites the resource records (RRs) of an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.set_records_rrset
Full name
hetzner.hetzner_set_zone_rrset_records
ParameterTypeRequiredDescription
No parameters.
add_records_rrset Write

Adds resource records (RRs) to an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). For convenience, the [RRSet](#tag/zone-rrsets) will be automatically created if it doesn't exist. Otherwise, the new records are appended to the existing [RRSet](#tag/zone-rrsets). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.add_records_rrset
Full name
hetzner.hetzner_add_zone_rrset_records
ParameterTypeRequiredDescription
No parameters.
remove_records_from_rrset Write

Removes resource records (RRs) from an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). For convenience, the [RRSet](#tag/zone-rrsets) will be automatically deleted if it doesn't contain any RRs afterwards. Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.remove_records_from_rrset
Full name
hetzner.hetzner_remove_zone_rrset_records
ParameterTypeRequiredDescription
No parameters.
update_records_rrset Write

Updates resource records' (RRs) comments of an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones). Only applicable for [Zones](#tag/zones) in primary mode. #### Operation specific errors | Status | Code | Description | | --- | --- | --- | | `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |

Lua path
app.integrations.hetzner.update_records_rrset
Full name
hetzner.hetzner_update_zone_rrset_records
ParameterTypeRequiredDescription
No parameters.