Hetzner website screenshot

Hetzner

Hetzner Online is a German hosting provider offering cloud servers, dedicated servers, and domain services. Hetzner provides a Cloud API for programmatic management of cloud resources, as well as a DNS API for managing DNS zones and records.

2 APIs 0 Features
Cloud HostingDNSInfrastructureServers

APIs

Hetzner Cloud API

The Hetzner Cloud API allows managing cloud servers, load balancers, networks, firewalls, volumes, and other cloud resources programmatically.

Hetzner DNS API

The Hetzner DNS API provides programmatic access to manage DNS zones, records, and configurations for domains hosted with Hetzner's DNS service.

Collections

Pricing Plans

Hetzner Plans Pricing

3 plans

PLANS

Rate Limits

Hetzner Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
📝
Signup
Signup
🔗
Login
Login
🟢
StatusPage
StatusPage
💬
Support
Support
💰
Pricing
Pricing
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Hetzner Cloud API
  version: 1.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Actions
    type: folder
  items:
  - info:
      name: Get multiple Actions
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/actions
      params:
      - name: id
        value: ''
        type: query
        description: 'Filter the actions by ID. May be used multiple times.


          The response will only contain actions matching the specified IDs.

          '
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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

      '
  - info:
      name: Get an Action
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/actions/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a specific Action object.

      '
- info:
    name: Certificates
    type: folder
  items:
  - info:
      name: List Certificates
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates
      params:
      - name: sort
        value: ''
        type: query
        description: 'Sort resources by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: name
        value: ''
        type: query
        description: 'Filter resources by their name.


          The response will only contain the resources

          matching exactly the specified name.

          '
      - name: label_selector
        value: ''
        type: query
        description: 'Filter resources by labels.


          The response will only contain resources matching the label selector.

          For more information, see "[Label Selector](#description/label-selector)".

          '
      - name: type
        value: ''
        type: query
        description: 'Filter resources by type. May be used multiple times.


          The response will only contain the resources with the specified type.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all Certificate objects.

      '
  - info:
      name: Create a Certificate
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/certificates
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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 `actio'
  - info:
      name: Get a Certificate
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Gets a specific Certificate object.

      '
  - info:
      name: Update a Certificate
      type: http
    http:
      method: PUT
      url: https://api.hetzner.cloud/v1/certificates/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Updates the Certificate properties.


      Note: if the Certificate object changes during the request, the response will be a “conflict” error.

      '
  - info:
      name: Delete a Certificate
      type: http
    http:
      method: DELETE
      url: https://api.hetzner.cloud/v1/certificates/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Deletes a Certificate.

      '
- info:
    name: Certificate Actions
    type: folder
  items:
  - info:
      name: List Actions
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates/actions
      params:
      - name: id
        value: ''
        type: query
        description: 'Filter the actions by ID. May be used multiple times.


          The response will only contain actions matching the specified IDs.

          '
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all Action objects. You can `sort` the results by using the sort URI parameter, and filter them with the
      `status` and `id` parameter.

      '
  - info:
      name: Get an Action
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates/actions/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a specific Action object.

      '
  - info:
      name: List Actions for a Certificate
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates/:id/actions
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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.

      '
  - info:
      name: Retry Issuance or Renewal
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/certificates/:id/actions/retry
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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 autho'
  - info:
      name: Get an Action for a Certificate
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/certificates/:id/actions/:action_id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Certificate.
      - name: action_id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '**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.

      '
- info:
    name: Data Centers
    type: folder
  items:
  - info:
      name: List Data Centers
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/datacenters
      params:
      - name: name
        value: ''
        type: query
        description: 'Filter resources by their name.


          The response will only contain the resources

          matching exactly the specified name.

          '
      - name: sort
        value: ''
        type: query
        description: 'Sort resources by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all [Data Centers](#tag/data-centers).

      '
  - info:
      name: Get a Data Center
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/datacenters/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Data Center.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a single [Data Center](#tag/data-centers).

      '
- info:
    name: Firewalls
    type: folder
  items:
  - info:
      name: List Firewalls
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls
      params:
      - name: sort
        value: ''
        type: query
        description: 'Sort resources by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: name
        value: ''
        type: query
        description: 'Filter resources by their name.


          The response will only contain the resources

          matching exactly the specified name.

          '
      - name: label_selector
        value: ''
        type: query
        description: 'Filter resources by labels.


          The response will only contain resources matching the label selector.

          For more information, see "[Label Selector](#description/label-selector)".

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all [Firewalls](#tag/firewalls).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Create a Firewall
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/firewalls
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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. |

      '
  - info:
      name: Get a Firewall
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a single [Firewall](#tag/firewalls).

      '
  - info:
      name: Update a Firewall
      type: http
    http:
      method: PUT
      url: https://api.hetzner.cloud/v1/firewalls/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Update a [Firewall](#tag/firewalls).


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

      '
  - info:
      name: Delete a Firewall
      type: http
    http:
      method: DELETE
      url: https://api.hetzner.cloud/v1/firewalls/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Deletes the [Firewall](#tag/firewalls).


      #### Operation specific errors


      | Status | Code | Description |

      | --- | --- | --- |

      | `422` | `resource_in_use` | [Firewall](#tag/firewalls) still applied to a resource |

      '
- info:
    name: Firewall Actions
    type: folder
  items:
  - info:
      name: List Actions
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls/actions
      params:
      - name: id
        value: ''
        type: query
        description: 'Filter the actions by ID. May be used multiple times.


          The response will only contain actions matching the specified IDs.

          '
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all [Actions](#tag/actions) for [Firewalls](#tag/firewalls).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Get an Action
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls/actions/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns the specific [Action](#tag/actions).

      '
  - info:
      name: List Actions for a Firewall
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls/:id/actions
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns all [Actions](#tag/actions) for the [Firewall](#tag/firewalls).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Apply to Resources
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/firewalls/:id/actions/apply_to_resources
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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 '
  - info:
      name: Remove from Resources
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/firewalls/:id/actions/remove_from_resources
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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
      fou'
  - info:
      name: Set Rules
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/firewalls/:id/actions/set_rules
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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).

      '
  - info:
      name: Get an Action for a Firewall
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/firewalls/:id/actions/:action_id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Firewall.
      - name: action_id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '**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).

      '
- info:
    name: Floating IPs
    type: folder
  items:
  - info:
      name: List Floating IPs
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips
      params:
      - name: name
        value: ''
        type: query
        description: 'Filter resources by their name.


          The response will only contain the resources

          matching exactly the specified name.

          '
      - name: label_selector
        value: ''
        type: query
        description: 'Filter resources by labels.


          The response will only contain resources matching the label selector.

          For more information, see "[Label Selector](#description/label-selector)".

          '
      - name: sort
        value: ''
        type: query
        description: 'Sort resources by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'List multiple [Floating IPs](#tag/floating-ips).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Create a Floating IP
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/floating_ips
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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.

      '
  - info:
      name: Get a Floating IP
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a single [Floating IP](#tag/floating-ips).

      '
  - info:
      name: Update a Floating IP
      type: http
    http:
      method: PUT
      url: https://api.hetzner.cloud/v1/floating_ips/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Update a [Floating IP](#tag/floating-ips).

      '
  - info:
      name: Delete a Floating IP
      type: http
    http:
      method: DELETE
      url: https://api.hetzner.cloud/v1/floating_ips/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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.
      |

      '
- info:
    name: Floating IP Actions
    type: folder
  items:
  - info:
      name: List Actions
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips/actions
      params:
      - name: id
        value: ''
        type: query
        description: 'Filter the actions by ID. May be used multiple times.


          The response will only contain actions matching the specified IDs.

          '
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Lists multiple [Actions](#tag/actions).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Get an Action
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips/actions/:id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Returns a single [Action](#tag/actions).

      '
  - info:
      name: List Actions for a Floating IP
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      - name: sort
        value: ''
        type: query
        description: 'Sort actions by field and direction. May be used multiple times.


          For more information, see "[Sorting](#description/sorting)".

          '
      - name: status
        value: ''
        type: query
        description: 'Filter the actions by status. May be used multiple times.


          The response will only contain actions matching the specified statuses.

          '
      - name: page
        value: ''
        type: query
        description: Page number to return. For more information, see "[Pagination](#description/pagination)".
      - name: per_page
        value: ''
        type: query
        description: Maximum number of entries returned per page. For more information, see "[Pagination](#description/pagination)".
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Lists [Actions](#tag/actions) for a [Floating IP](#tag/floating-ips).


      Use the provided URI parameters to modify the result.

      '
  - info:
      name: Assign a Floating IP to a Server
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions/assign
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '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 |

      '
  - info:
      name: Change reverse DNS records for a Floating IP
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions/change_dns_ptr
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Change the reverse DNS records for this [Floating IP](#tag/floating-ips).


      Allows to modify the PTR records set for the IP address.

      '
  - info:
      name: Change Floating IP Protection
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions/change_protection
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      body:
        type: json
        data: '{}'
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Changes the protection settings configured for the [Floating IP](#tag/floating-ips).

      '
  - info:
      name: Unassign a Floating IP
      type: http
    http:
      method: POST
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions/unassign
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: 'Unassigns a [Floating IP](#tag/floating-ips).


      Results in the IP being unreachable. Can be assigned to another resource again.

      '
  - info:
      name: Get an Action for a Floating IP
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/floating_ips/:id/actions/:action_id
      params:
      - name: id
        value: ''
        type: path
        description: ID of the Floating IP.
      - name: action_id
        value: ''
        type: path
        description: ID of the Action.
      auth:
        type: bearer
        token: '{{bearerToken}}'
    docs: '**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).

      '
- info:
    name: Images
    type: folder
  items:
  - info:
      name: List Images
      type: http
    http:
      method: GET
      url: https://api.hetzner.cloud/v1/images
      params:
      - name: sort
        value: ''
        type: query
        description: 'Sort resources by field and direction. May be used multiple times.


          For more information, see "[Sorting](#descri

# --- truncated at 32 KB (147 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hetzner/refs/heads/main/apis.yml