{
  "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.\n\nThe response will only contain actions matching the specified IDs.\n"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns multiple Action objects specified by the `id` parameter.\n\n**Note**: This endpoint previously allowed listing all actions in the project. This functionality was deprecated in July 2023 and removed on 30 January 2025.\n\n- Announcement: https://docs.hetzner.cloud/changelog#2023-07-20-actions-list-endpoint-is-deprecated\n- Removal: https://docs.hetzner.cloud/changelog#2025-01-30-listing-arbitrary-actions-in-the-actions-list-endpoint-is-removed\n"
        },
        {
          "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.\n"
        }
      ]
    },
    {
      "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter resources by type. May be used multiple times.\n\nThe response will only contain the resources with the specified type.\n"
              },
              {
                "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.\n"
        },
        {
          "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.\n\nThe 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.\n\nIn 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.\n\nFor 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.\n"
        },
        {
          "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.\n\nNote: if the Certificate object changes during the request, the response will be a “conflict” error.\n"
        },
        {
          "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.\n"
        }
      ]
    },
    {
      "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.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n"
        },
        {
          "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.\n"
        },
        {
          "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n\nOnly type `managed` Certificates can have Actions. For type `uploaded` Certificates the `actions` key will always contain an empty array.\n"
        },
        {
          "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.\n\nOnly applicable if the type of the Certificate is `managed` and the issuance or renewal status is `failed`.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n|  | `caa_record_does_not_allow_ca` | CAA record does not allow certificate authority |\n|  | `ca_dns_validation_failed` | Certificate Authority: DNS validation failed |\n|  | `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.\n\nReturns a specific Action for a Certificate. Only type `managed` Certificates have Actions.\n"
        }
      ]
    },
    {
      "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.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "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).\n"
        },
        {
          "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).\n"
        }
      ]
    },
    {
      "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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).\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `server_already_added` | The [Server](#tag/servers) was applied more than once. |\n| `422` | `incompatible_network_type` | The resources network type is not supported by [Firewalls](#tag/firewalls). |\n| `422` | `firewall_resource_not_found` | The resource the [Firewall](#tag/firewalls) should be attached to was not found. |\n"
        },
        {
          "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).\n"
        },
        {
          "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).\n\nIn case of a parallel running change on the [Firewall](#tag/firewalls) a `conflict` error will be returned.\n"
        },
        {
          "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).\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `resource_in_use` | [Firewall](#tag/firewalls) still applied to a resource |\n"
        }
      ]
    },
    {
      "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.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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).\n"
        },
        {
          "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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.\n\nSupported resources:\n- [Servers](#tag/servers) (with a public network interface)\n- [Label Selectors](#description/label-selector)\n\nA [Server](#tag/servers) can be applied to [a maximum of 5 Firewalls](https://docs.hetzner.com/cloud/firewalls/overview#limits). This limit\napplies to [Servers](#tag/servers) applied via a matching [Label Selector](#description/label-selector) as well.\n\nUpdates 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.\n\nSupported resources:\n- [Servers](#tag/servers) (with a public network interface)\n\nA [Firewall](#tag/firewalls) is removed from a resource once the related [Action](#tag/actions) with command `remove_firewall` successfully finished.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `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).\n\nOverwrites the existing rules with the given ones. Pass an empty array to remove all rules.\n\nRules are limited to 50 entries per [Firewall](#tag/firewalls) and [500 effective rules](https://docs.hetzner.com/cloud/firewalls/overview#limits).\n"
        },
        {
          "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.\n\nReturns a specific [Action](#tag/actions) for a [Firewall](#tag/firewalls).\n"
        }
      ]
    },
    {
      "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.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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).\n\nProvide 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.\n"
        },
        {
          "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).\n"
        },
        {
          "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).\n"
        },
        {
          "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).\n\nIf 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.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `must_be_unassigned` | Error when IP is still assigned to a Resource. This error will appear as of 1 May 2026. |\n"
        }
      ]
    },
    {
      "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.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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).\n"
        },
        {
          "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "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).\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `floating_ip_assigned` | The [Floating IP](#tag/floating-ips) is already assigned |\n"
        },
        {
          "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).\n\nAllows to modify the PTR records set for the IP address.\n"
        },
        {
          "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).\n"
        },
        {
          "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).\n\nResults in the IP being unreachable. Can be assigned to another resource again.\n"
        },
        {
          "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.\n\nReturns a specific [Action](#tag/actions) for a [Floating IP](#tag/floating-ips).\n"
        }
      ]
    },
    {
      "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.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter resources by type. May be used multiple times.\n\nThe response will only contain the resources with the specified type.\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter resources by status. May be used multiple times.\n\nThe response will only contain the resources with the specified status.\n"
              },
              {
                "name": "bound_to",
                "value": "",
                "type": "query",
                "description": "Filter Images by their linked Server ID. May be used multiple times.\n\nOnly available for Images of type `backup`.\n"
              },
              {
                "name": "include_deprecated",
                "value": "",
                "type": "query",
                "description": "Include deprecated Images."
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "architecture",
                "value": "",
                "type": "query",
                "description": "Filter resources by cpu architecture.\n\nThe response will only contain the resources with the specified cpu architecture.\n"
              },
              {
                "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 Image objects. You can select specific Image types only and sort the results by using URI parameters.\n"
        },
        {
          "info": {
            "name": "Get an Image",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/images/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Image object.\n"
        },
        {
          "info": {
            "name": "Update an Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/images/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Delete an Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/images/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes an Image. Only Images of type `snapshot` and `backup` can be deleted.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Image Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/images/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/images/actions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Action."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Action object.\n"
        },
        {
          "info": {
            "name": "List Actions for an Image",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/images/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 an Image. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.\n"
        },
        {
          "info": {
            "name": "Change Image Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/images/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of the Image. Can only be used on snapshots.\n"
        },
        {
          "info": {
            "name": "Get an Action for an Image",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/images/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Image."
              },
              {
                "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.\n\nReturns a specific Action for an Image.\n"
        }
      ]
    },
    {
      "info": {
        "name": "ISOs",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List ISOs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/isos",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "architecture",
                "value": "",
                "type": "query",
                "description": "Filter resources by cpu architecture.\n\nThe response will only contain the resources with the specified cpu architecture.\n"
              },
              {
                "name": "include_architecture_wildcard",
                "value": "",
                "type": "query",
                "description": "Include Images with wildcard architecture (architecture is null). Architecture filter must be specified."
              },
              {
                "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 available ISO objects.\n"
        },
        {
          "info": {
            "name": "Get an ISO",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/isos/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the ISO."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific ISO object.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Load Balancer Types",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Load Balancer Types",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancer_types",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "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": "Gets all Load Balancer type objects.\n"
        },
        {
          "info": {
            "name": "Get a Load Balancer Type",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancer_types/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer Type."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets a specific Load Balancer type object.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Load Balancers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Load Balancers",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers",
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "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": "Gets all existing Load Balancers that you have available.\n"
        },
        {
          "info": {
            "name": "Create a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `412` | `source_port_already_used` | The source port you are trying to add is already in use |\n| `422` | `ip_not_owned` | The IP is not owned by the owner of the project of the Load Balancer |\n| `422` | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network |\n| `422` | `resolve_cloud_private_targets_error` | The server you are trying to add as a target"
        },
        {
          "info": {
            "name": "Get a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets a specific Load Balancer object.\n"
        },
        {
          "info": {
            "name": "Update a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates a Load Balancer. You can update a Load Balancer’s name and a Load Balancer’s labels.\n\nNote: if the Load Balancer object changes during the request, the response will be a “conflict” error.\n"
        },
        {
          "info": {
            "name": "Delete a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a Load Balancer.\n"
        },
        {
          "info": {
            "name": "Get Metrics for a LoadBalancer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/metrics",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Type of metrics to get."
              },
              {
                "name": "start",
                "value": "",
                "type": "query",
                "description": "Start of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format)."
              },
              {
                "name": "end",
                "value": "",
                "type": "query",
                "description": "End of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format)."
              },
              {
                "name": "step",
                "value": "",
                "type": "query",
                "description": "Resolution of results in seconds."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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`.\n\nDepending on the type you will get different time series data:\n\n|Type | Timeseries | Unit | Description |\n|---- |------------|------|-------------|\n| open_connections | open_connections | number | Open connections |\n| connections_per_second | connections_per_second | conn"
        }
      ]
    },
    {
      "info": {
        "name": "Load Balancer Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/actions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Action."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Action object.\n"
        },
        {
          "info": {
            "name": "List Actions for a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 Load Balancer. You can sort the results by using the `sort` URI parameter, and filter them with the `status` parameter.\n"
        },
        {
          "info": {
            "name": "Add Service",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/add_service",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds a service to a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `412` | `source_port_already_used` | The source port you are trying to add is already in use |\n"
        },
        {
          "info": {
            "name": "Add Target",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/add_target",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds a target to a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `ip_not_in_vswitch_subnet` | The IP you are trying to add does not belong to the vswitch subnet of the attached network |\n| `422` | `ip_not_owned` | The IP you are trying to add as a target is not owned by the Project owner |\n| `422` | `load_balancer_public_interface_disabled` | The Load Balancer's public network interface is disabled |\n| `422` | `load_balancer_not_att"
        },
        {
          "info": {
            "name": "Attach a Load Balancer to a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/attach_to_network",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Attach a Load Balancer to a Network.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `load_balancer_already_attached` | The Load Balancer is already attached to a network |\n| `422` | `ip_not_available` | The provided Network IP is not available |\n| `422` | `no_subnet_available` | No Subnet or IP is available for the Load Balancer within the network |\n"
        },
        {
          "info": {
            "name": "Change Algorithm",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/change_algorithm",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Change the algorithm that determines to which target new requests are sent.\n"
        },
        {
          "info": {
            "name": "Change reverse DNS entry for this Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/change_dns_ptr",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the hostname that will appear when getting the hostname belonging to the public IPs (IPv4 and IPv6) of this Load Balancer.\n\nFloating IPs assigned to the Server are not affected by this.\n"
        },
        {
          "info": {
            "name": "Change Load Balancer Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of a Load Balancer.\n"
        },
        {
          "info": {
            "name": "Change the Type of a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/change_type",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the type (Max Services, Max Targets and Max Connections) of a Load Balancer.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `invalid_load_balancer_type` | The Load Balancer type does not fit for the given Load Balancer |\n"
        },
        {
          "info": {
            "name": "Delete Service",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/delete_service",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Delete a service of a Load Balancer.\n"
        },
        {
          "info": {
            "name": "Detach a Load Balancer from a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/detach_from_network",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Detaches a Load Balancer from a network.\n"
        },
        {
          "info": {
            "name": "Disable the public interface of a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/disable_public_interface",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Disable the public interface of a Load Balancer. The Load Balancer will be not accessible from the internet via its public IPs.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `load_balancer_not_attached_to_network` | The Load Balancer is not attached to a network |\n| `422` | `targets_without_use_private_ip` | The Load Balancer has targets that use the public IP instead of the private IP |\n"
        },
        {
          "info": {
            "name": "Enable the public interface of a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/enable_public_interface",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Enable the public interface of a Load Balancer. The Load Balancer will be accessible from the internet via its public IPs.\n"
        },
        {
          "info": {
            "name": "Remove Target",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/remove_target",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Removes a target from a Load Balancer.\n"
        },
        {
          "info": {
            "name": "Update Service",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/update_service",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates a Load Balancer Service.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `source_port_already_used` | The source port you are trying to add is already in use |\n"
        },
        {
          "info": {
            "name": "Get an Action for a Load Balancer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/load_balancers/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Load Balancer."
              },
              {
                "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.\n\nReturns a specific Action for a Load Balancer.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Locations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Locations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/locations",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "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 [Locations](#tag/locations).\n"
        },
        {
          "info": {
            "name": "Get a Location",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/locations/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Location."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a [Location](#tag/locations).\n"
        }
      ]
    },
    {
      "info": {
        "name": "Networks",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Networks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks",
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "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 [Networks](#tag/networks).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Create a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a [Network](#tag/networks).\n\nThe provided `ip_range` can only be extended later on, but not reduced.\n\nSubnets 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.\n\nRoutes can be added now or later by using the [add route action](#tag/network-actions/add_network_route).\n"
        },
        {
          "info": {
            "name": "Get a Network",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Get a specific [Network](#tag/networks).\n"
        },
        {
          "info": {
            "name": "Update a Network",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/networks/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Update a [Network](#tag/networks).\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Delete a Network",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/networks/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a [Network](#tag/networks).\n\nAttached resources will be detached automatically.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Network Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks/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).\n"
        },
        {
          "info": {
            "name": "List Actions for a Network",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 [Network](#tag/networks).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Add a route to a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/add_route",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds a route entry to a [Network](#tag/networks).\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Add a subnet to a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/add_subnet",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds a new subnet to the [Network](#tag/networks).\n\nIf the subnet `ip_range` is not provided, the first available `/24` IP range will be used.\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Change IP range of a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/change_ip_range",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the IP range of a [Network](#tag/networks).\n\nThe following restrictions apply to changing the IP range:\n- IP ranges can only be extended and never shrunk.\n- IPs can only be added to the end of the existing range, therefore only the netmask is allowed to be changed.\n\nTo update the routes on the connected [Servers](#tag/servers), they need to be rebooted or the routes to be updated manually.\n\nFor example if the [Network](#tag/networks) has a range of `10.0.0.0/16` to extend it the new rang"
        },
        {
          "info": {
            "name": "Change Network Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection settings of a [Network](#tag/networks).\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Delete a route from a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/delete_route",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Delete a route entry from a [Network](#tag/networks).\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Delete a subnet from a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/delete_subnet",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a single subnet entry from a [Network](#tag/networks).\n\nSubnets containing attached resources can not be deleted, they must be detached beforehand.\n\nIf a change is currently being performed on this [Network](#tag/networks), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Get an Action for a Network",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/networks/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Network."
              },
              {
                "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.\n\nReturns a specific [Action](#tag/actions) for a [Network](#tag/networks).\n"
        }
      ]
    },
    {
      "info": {
        "name": "Placement Groups",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Placement Groups",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/placement_groups",
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter resources by type. May be used multiple times.\n\nThe response will only contain the resources with the specified type.\n"
              },
              {
                "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 Placement Group objects.\n"
        },
        {
          "info": {
            "name": "Create a PlacementGroup",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/placement_groups",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a new Placement Group.\n"
        },
        {
          "info": {
            "name": "Get a PlacementGroup",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/placement_groups/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Placement Group."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets a specific Placement Group object.\n"
        },
        {
          "info": {
            "name": "Update a PlacementGroup",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/placement_groups/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Placement Group."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates the Placement Group properties.\n\nNote: if the Placement Group object changes during the request, the response will be a “conflict” error.\n"
        },
        {
          "info": {
            "name": "Delete a PlacementGroup",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/placement_groups/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Placement Group."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a Placement Group.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Pricing",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all prices",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/pricing",
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns prices for all resources available on the platform. VAT and currency of the Project owner are used for calculations.\n\nBoth net and gross prices are included in the response.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Primary IPs",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Primary IPs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_ips",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "ip",
                "value": "127.0.0.1",
                "type": "query",
                "description": "Filter results by IP address."
              },
              {
                "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)\"."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "List multiple [Primary IPs](#tag/primary-ips).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Create a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/primary_ips",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Create a new [Primary IP](#tag/primary-ips).\n\nCan optionally be assigned to a resource by providing an `assignee_id` and `assignee_type`.\n\nIf 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.\n\nA [Primary IP](#tag/primary-ips) can only be assigned to resource in the same [Location](#tag/locations) later on.\n\nThe `datacenter` key is deprecated in favor "
        },
        {
          "info": {
            "name": "Get a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a [Primary IP](#tag/primary-ips).\n"
        },
        {
          "info": {
            "name": "Update a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Update a [Primary IP](#tag/primary-ips).\n\nIf another change is concurrently performed on this [Primary IP](#tag/primary-ips), a error response with code `conflict` will be returned.\n"
        },
        {
          "info": {
            "name": "Delete a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a [Primary IP](#tag/primary-ips).\n\nThe [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed.\nIf 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.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `must_be_unassigned` | Error when"
        }
      ]
    },
    {
      "info": {
        "name": "Primary IP Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_ips/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_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).\n"
        },
        {
          "info": {
            "name": "List Actions for a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 a [Primary IP](#tag/primary-ips).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Get an Action for a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary 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.\n\nReturns a specific [Action](#tag/actions) for a [Primary IP](#tag/primary-ips).\n"
        },
        {
          "info": {
            "name": "Assign a Primary IP to a resource",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions/assign",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Assign a [Primary IP](#tag/primary-ips) to a resource.\n\nA [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).\n\nA [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `server_not_stopped` | The [Server](#tag/servers) is running, but "
        },
        {
          "info": {
            "name": "Change reverse DNS records for a Primary IP",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions/change_dns_ptr",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Change the reverse DNS records for this [Primary IP](#tag/primary-ips).\n\nAllows to modify the PTR records set for the IP address.\n"
        },
        {
          "info": {
            "name": "Change Primary IP Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of a [Primary IP](#tag/primary-ips).\n\nA [Primary IPs](#tag/primary-ips) deletion protection can only be enabled if its `auto_delete` property is set to `false`.\n"
        },
        {
          "info": {
            "name": "Unassign a Primary IP from a resource",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/primary_ips/:id/actions/unassign",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Primary IP."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Unassign a [Primary IP](#tag/primary-ips) from a resource.\n\nA [Server](#tag/servers) must be powered off (status `off`) in order for this operation to succeed.\n\nA [Server](#tag/servers) requires at least one network interface (public or private) to be powered on.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `server_not_stopped` | The [Server](#tag/servers) is running, but needs to be powered off |\n| `422` | `server_is_load_balancer_target` | The "
        }
      ]
    },
    {
      "info": {
        "name": "Server Types",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Server Types",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/server_types",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "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": "Gets all Server type objects.\n"
        },
        {
          "info": {
            "name": "Get a Server Type",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/server_types/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server Type."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets a specific Server type object.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Servers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Servers",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter resources by status. May be used multiple times.\n\nThe response will only contain the resources with the specified status.\n"
              },
              {
                "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 existing Server objects.\n"
        },
        {
          "info": {
            "name": "Create a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a new Server. Returns preliminary information about the Server as well as an Action that covers progress of creation.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `412` | `primary_ip_version_mismatch` | The specified Primary IP has the wrong IP Version |\n| `422` | `placement_error` | An error during the placement occurred |\n| `422` | `primary_ip_assigned` | The specified Primary IP is already assigned to a server |\n| `422` | `primary_ip_datacente"
        },
        {
          "info": {
            "name": "Get a Server",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Server object. The Server must exist inside the Project.\n"
        },
        {
          "info": {
            "name": "Update a Server",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/servers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates a Server. You can update a Server’s name and a Server’s labels.\n\nPlease 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).\n"
        },
        {
          "info": {
            "name": "Delete a Server",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/servers/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a Server.\n\nThis immediately removes the Server from your account, and it is no longer\naccessible. Any resources attached to the server (like Volumes, Primary IPs,\nFloating IPs, Firewalls, Placement Groups) are detached while the server is deleted.\n"
        },
        {
          "info": {
            "name": "Get Metrics for a Server",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/:id/metrics",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Type of metrics to get."
              },
              {
                "name": "start",
                "value": "",
                "type": "query",
                "description": "Start of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format)."
              },
              {
                "name": "end",
                "value": "",
                "type": "query",
                "description": "End of period to get Metrics for (must be in [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) format)."
              },
              {
                "name": "step",
                "value": "",
                "type": "query",
                "description": "Resolution of results in seconds."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Get Metrics for specified Server.\n\nYou 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.\n\nDepending on the type you will get different time series data\n\n| Type    | Timeseries              | Unit      | Description                                          |\n|---------|-------------------------|-----------|------------------------------------------------------|\n| cpu     | cpu                     | percent   |"
        }
      ]
    },
    {
      "info": {
        "name": "Server Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/actions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Action."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Action object.\n"
        },
        {
          "info": {
            "name": "List Actions for a Server",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 Server. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.\n"
        },
        {
          "info": {
            "name": "Add a Server to a Placement Group",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/add_to_placement_group",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds a Server to a Placement Group.\n\nServer must be powered off for this command to succeed.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `server_not_stopped` | The action requires a stopped server |\n| `422` | `already_in_placement_group` | The server is already part of a placement group |\n"
        },
        {
          "info": {
            "name": "Attach an ISO to a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/attach_iso",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nServers with attached ISOs have a modified boot order: They will try to boot from the ISO first before falling back to hard disk.\n"
        },
        {
          "info": {
            "name": "Attach a Server to a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/attach_to_network",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nThe Server will get an IP auto assigned from a subnet of type `server` in the same `network_zone`.\n\nUsing 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 give"
        },
        {
          "info": {
            "name": "Change alias IPs of a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/change_alias_ips",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Change reverse DNS entry for this Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/change_dns_ptr",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the hostname that will appear when getting the hostname belonging to the primary IPs (IPv4 and IPv6) of this Server.\n\nFloating IPs assigned to the Server are not affected by this.\n"
        },
        {
          "info": {
            "name": "Change Server Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of the Server.\n"
        },
        {
          "info": {
            "name": "Change the Type of a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/change_type",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the type (Cores, RAM and disk sizes) of a Server.\n\nServer must be powered off for this command to succeed.\n\nThis copies the content of its disk, and starts it again.\n\nYou 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.\n\nIf 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`.\n\n#### Operation specific "
        },
        {
          "info": {
            "name": "Create Image from a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/create_image",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nTo make sure disk content is consistent, we recommend to shut down the Server prior to creating an Image.\n\nYou can either create a `backup` Image that is bound to the Server and therefore will"
        },
        {
          "info": {
            "name": "Detach a Server from a Network",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/detach_from_network",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Detaches a Server from a network. The interface for this network will vanish.\n"
        },
        {
          "info": {
            "name": "Detach an ISO from a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/detach_iso",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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`.\n"
        },
        {
          "info": {
            "name": "Disable Backups for a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/disable_backup",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Disables the automatic backup option and deletes all existing Backups for a Server. No more additional charges for backups will be made.\n\nCaution: This immediately removes all existing backups for the Server!\n"
        },
        {
          "info": {
            "name": "Disable Rescue Mode for a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/disable_rescue",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Disables the Hetzner Rescue System for a Server. This makes a Server start from its disks on next reboot.\n\nRescue Mode is automatically disabled when you first boot into it or if you do not use it for 60 minutes.\n\nDisabling rescue mode will not reboot your Server — you will have to do this yourself.\n"
        },
        {
          "info": {
            "name": "Enable and Configure Backups for a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/enable_backup",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nBackups are automatically created daily.\n"
        },
        {
          "info": {
            "name": "Enable Rescue Mode for a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/enable_rescue",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nIn case a Server cannot boot on its own you can use this to access a Server’s disks.\n\nRescue Mode is automatically disabled when you first boot into it or if you do not use it for 60 minutes.\n\nEnabling rescue mode will not [reboot](https://docs.hetzner.cloud/#server-actions-soft-reboot-a-server) your Server "
        },
        {
          "info": {
            "name": "Power off a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/poweroff",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Power on a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/poweron",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Starts a Server by turning its power on.\n"
        },
        {
          "info": {
            "name": "Soft-reboot a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/reboot",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Rebuild a Server from an Image",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/rebuild",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Rebuilds a Server overwriting its disk with the content of an Image, thereby **destroying all data** on the target Server\n\nThe 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`.\n\nYour Server will automatically be powered off before the rebuild command executes.\n"
        },
        {
          "info": {
            "name": "Remove from Placement Group",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/remove_from_placement_group",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Removes a Server from a Placement Group.\n"
        },
        {
          "info": {
            "name": "Request Console for a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/request_console",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Reset a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/reset",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Reset root Password of a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/reset_password",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nThis will generate a new password for this Server and return it.\n\nIf this does not succeed you can use the rescue system to netboot the Server and manually change your Server password by hand.\n"
        },
        {
          "info": {
            "name": "Shutdown a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/shutdown",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Shuts down a Server gracefully by sending an ACPI shutdown request. The Server operating system must support ACPI\nand react to the request, otherwise the Server will not shut down. Please note that the `action` status in this case\nonly reflects whether the action was sent to the server. It does not mean that the server actually shut down\nsuccessfully. If you need to ensure that the server is off, use the `poweroff` action.\n"
        },
        {
          "info": {
            "name": "Get an Action for a Server",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/servers/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Server."
              },
              {
                "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.\n\nReturns a specific Action object for a Server.\n"
        }
      ]
    },
    {
      "info": {
        "name": "SSH Keys",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List SSH keys",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/ssh_keys",
            "params": [
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "fingerprint",
                "value": "",
                "type": "query",
                "description": "May be used to filter SSH keys by their fingerprint. The response will only contain the SSH key matching the specified fingerprint."
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "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 SSH key objects.\n"
        },
        {
          "info": {
            "name": "Create an SSH key",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/ssh_keys",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        },
        {
          "info": {
            "name": "Get a SSH key",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/ssh_keys/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the SSH Key."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific SSH key object.\n"
        },
        {
          "info": {
            "name": "Update an SSH key",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/ssh_keys/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the SSH Key."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates an SSH key. You can update an SSH key name and an SSH key labels.\n"
        },
        {
          "info": {
            "name": "Delete an SSH key",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/ssh_keys/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the SSH Key."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes an SSH key. It cannot be used anymore.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Volumes",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Volumes",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes",
            "params": [
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter resources by status. May be used multiple times.\n\nThe response will only contain the resources with the specified status.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "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": "Gets all existing Volumes that you have available.\n"
        },
        {
          "info": {
            "name": "Create a Volume",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/volumes",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nSpecifying the Server during Volume creation will automatically attach the Volume to that Server after it has been initialized. In that case, the `nex"
        },
        {
          "info": {
            "name": "Get a Volume",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Gets a specific Volume object.\n"
        },
        {
          "info": {
            "name": "Update a Volume",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/volumes/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates the Volume properties.\n"
        },
        {
          "info": {
            "name": "Delete a Volume",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/volumes/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Volume Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes/actions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Action."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific Action object.\n"
        },
        {
          "info": {
            "name": "List Actions for a Volume",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 Volume. You can `sort` the results by using the sort URI parameter, and filter them with the `status` parameter.\n"
        },
        {
          "info": {
            "name": "Attach Volume to a Server",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions/attach",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Attaches a Volume to a Server. Works only if the Server is in the same Location as the Volume.\n"
        },
        {
          "info": {
            "name": "Change Volume Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions/change_protection",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of a Volume.\n"
        },
        {
          "info": {
            "name": "Detach Volume",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions/detach",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Detaches a Volume from the Server it’s attached to. You may attach it to a Server again at a later time.\n"
        },
        {
          "info": {
            "name": "Resize Volume",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions/resize",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the size of a Volume. Note that downsizing a Volume is not possible.\n"
        },
        {
          "info": {
            "name": "Get an Action for a Volume",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/volumes/:id/actions/:action_id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Volume."
              },
              {
                "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.\n\nReturns a specific Action for a Volume.\n"
        }
      ]
    },
    {
      "info": {
        "name": "Zones",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Zones",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "mode",
                "value": "",
                "type": "query",
                "description": "Filter resources by their mode.\n\nThe response will only contain the resources matching exactly the specified mode.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "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 [Zones](#tag/zones).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Create a Zone",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Creates a [Zone](#tag/zones).\n\nA default `SOA` and three `NS` resource records with the assigned Hetzner\nnameservers are created automatically.\n"
        },
        {
          "info": {
            "name": "Get a Zone",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a single [Zone](#tag/zones).\n"
        },
        {
          "info": {
            "name": "Update a Zone",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates a [Zone](#tag/zones).\n\nTo modify resource record sets ([RRSets](#tag/zone-rrsets)), use the [RRSet Actions\nendpoints](#tag/zone-rrset-actions).\n"
        },
        {
          "info": {
            "name": "Delete a Zone",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes a [Zone](#tag/zones).\n"
        },
        {
          "info": {
            "name": "Export a Zone file",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/zonefile",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "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.\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        }
      ]
    },
    {
      "info": {
        "name": "Zone Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List Actions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/actions",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "query",
                "description": "Filter the actions by ID. May be used multiple times.\n\nThe response will only contain actions matching the specified IDs.\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 [Zone](#tag/zones) [Actions](#tag/actions).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Get an Action",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/actions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "ID of the Action."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a specific [Action](#tag/actions).\n"
        },
        {
          "info": {
            "name": "List Actions for a Zone",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort actions by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter the actions by status. May be used multiple times.\n\nThe response will only contain actions matching the specified statuses.\n"
              },
              {
                "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 a [Zone](#tag/zones).\n\nUse the provided URI parameters to modify the result.\n"
        },
        {
          "info": {
            "name": "Get an Action for a Zone",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions/:action_id",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "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.\n\nReturns a specific [Action](#tag/actions) for a [Zone](#tag/zones).\n"
        },
        {
          "info": {
            "name": "Change a Zone's Primary Nameservers",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions/change_primary_nameservers",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Overwrites the primary nameservers of a [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in secondary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Change a Zone's Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions/change_protection",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection configuration of a [Zone](#tag/zones).\n"
        },
        {
          "info": {
            "name": "Change a Zone's Default TTL",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions/change_ttl",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the default Time To Live (TTL) of a [Zone](#tag/zones).\n\nThis TTL is used for [RRSets](#tag/zone-rrsets) that do not explicitly define a TTL.\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Import a Zone file",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/actions/import_zonefile",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Imports a zone file, replacing all resource record sets ([RRSets](#tag/zone-rrsets)).\n\nThe import will fail if existing [RRSet](#tag/zone-rrsets) are `change` protected.\n\nSee [Zone file import](#tag/zones/zone-file-import) for more details.\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        }
      ]
    },
    {
      "info": {
        "name": "Zone RRSets",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List RRSets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Filter resources by their name.\n\nThe response will only contain the resources\nmatching exactly the specified name.\n"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter resources by their type. May be used multiple times.\n\nThe response will only contain resources matching the specified types.\n"
              },
              {
                "name": "label_selector",
                "value": "",
                "type": "query",
                "description": "Filter resources by labels.\n\nThe response will only contain resources matching the label selector.\nFor more information, see \"[Label Selector](#description/label-selector)\".\n"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sort resources by field and direction. May be used multiple times.\n\nFor more information, see \"[Sorting](#description/sorting)\".\n"
              },
              {
                "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 [RRSets](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nUse the provided URI parameters to modify the result.\n\nThe maximum value for `per_page` on this endpoint is `100` instead of `50`.\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Create an RRSet",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Create an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Get an RRSet",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a single [RRSet](#tag/zone-rrsets) from the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Update an RRSet",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Delete an RRSet",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Deletes an [RRSet](#tag/zone-rrsets) from the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        }
      ]
    },
    {
      "info": {
        "name": "Zone RRSet Actions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Change an RRSet's Protection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/change_protection",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the protection of an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Change an RRSet's TTL",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/change_ttl",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Changes the Time To Live (TTL) of an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Set Records of an RRSet",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/set_records",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Overwrites the resource records (RRs) of an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Add Records to an RRSet",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/add_records",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Adds resource records (RRs) to an [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nFor convenience, the [RRSet](#tag/zone-rrsets) will be automatically created if it doesn't exist. Otherwise, the new\nrecords are appended to the existing [RRSet](#tag/zone-rrsets).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`"
        },
        {
          "info": {
            "name": "Remove Records from an RRSet",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/remove_records",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Removes resource records (RRs) from an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nFor convenience, the [RRSet](#tag/zone-rrsets) will be automatically deleted if it doesn't contain any RRs afterwards.\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        },
        {
          "info": {
            "name": "Update Records of an RRSet",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.hetzner.cloud/v1/zones/:id_or_name/rrsets/:rr_name/:rr_type/actions/update_records",
            "params": [
              {
                "name": "id_or_name",
                "value": "",
                "type": "path",
                "description": "ID or Name of the Zone."
              },
              {
                "name": "rr_name",
                "value": "",
                "type": "path"
              },
              {
                "name": "rr_type",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Updates resource records' (RRs) comments of an existing [RRSet](#tag/zone-rrsets) in the [Zone](#tag/zones).\n\nOnly applicable for [Zones](#tag/zones) in primary mode.\n\n#### Operation specific errors\n\n| Status | Code | Description |\n| --- | --- | --- |\n| `422` | `incorrect_zone_mode` | This operation is not supported for this Zone's `mode`. |\n"
        }
      ]
    }
  ],
  "bundled": true
}