{ "opencollection": "1.0.0", "info": { "name": "Hetzner Cloud Actions Server Actions API", "version": "1.0.0" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "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" } ] } ], "bundled": true }