### Label Selector Examples Source: https://docs.hetzner.cloud/reference/hetzner Examples of query strings used to filter resources based on label presence and values. ```text env=production,type!=database ``` ```text env in (testing,staging) ``` ```text !type ``` -------------------------------- ### BIND Zone File Format Example Source: https://docs.hetzner.cloud/reference/cloud Example of a BIND-formatted zone file used for importing primary zones. Ensure the $ORIGIN matches the zone name and required NS and SOA records are present. ```text $ORIGIN example.com. $TTL 3600 @ IN SOA hydrogen.ns.hetzner.com. dns.hetzner.com. 2024010100 86400 10800 3600000 3600 @ IN 10800 NS hydrogen.ns.hetzner.com. ; Some comment. @ IN 10800 NS oxygen.ns.hetzner.com. @ IN 10800 NS helium.ns.hetzner.de. ``` -------------------------------- ### Query Parameters for Pagination Source: https://docs.hetzner.cloud/reference/cloud Example of using page and page_size parameters for result pagination. ```text https://api.hetzner.cloud/v1/certificates?page=1&page_size=12 ``` -------------------------------- ### Multiple Parameter Values Source: https://docs.hetzner.cloud/reference/cloud Example of providing multiple values for the same parameter key. ```text https://api.hetzner.cloud/v1/certificates?type=uploaded&type=managed ``` -------------------------------- ### GET / Source: https://docs.hetzner.cloud/reference/cloud Retrieve resource information by ID. ```APIDOC ## GET / ### Description Retrieve resource information using the specified ID. ### Method GET ### Endpoint / ### Parameters #### Query Parameters - **id** (string) - Required - The unique identifier for the resource. ``` -------------------------------- ### GET /hetzner/v1/metadata Source: https://docs.hetzner.cloud/reference/cloud Retrieves a summary of all available metadata for the server. ```APIDOC ## GET /hetzner/v1/metadata ### Description Retrieves a summary of all available metadata for the server in YAML format. ### Method GET ### Endpoint http://169.254.169.254/hetzner/v1/metadata ### Response #### Success Response (200) - **availability-zone** (text) - Name of the availability zone - **hostname** (text) - Name of the server - **instance-id** (number) - ID of the server - **public-ipv4** (text) - Primary public IPv4 address - **region** (text) - Network zone ``` -------------------------------- ### GET /v1/servers Source: https://docs.hetzner.cloud/reference/cloud Retrieves a list of all servers associated with the authenticated project. ```APIDOC ## GET /v1/servers ### Description Retrieves a list of all servers in your Project. ### Method GET ### Endpoint https://api.hetzner.cloud/v1/servers ### Request Example curl -H "Authorization: Bearer " https://api.hetzner.cloud/v1/servers ### Response #### Success Response (200) - **servers** (array) - List of server objects - **meta** (object) - Pagination information #### Response Example { "servers": [], "meta": { "pagination": { "page": 1, "per_page": 25, "previous_page": null, "next_page": null, "last_page": 1, "total_entries": 0 } } } ``` -------------------------------- ### Example API Response Source: https://docs.hetzner.cloud/reference/cloud Shows the structure of a successful API response, including the resource root and pagination metadata. ```json { "servers": [], "meta": { "pagination": { "page": 1, "per_page": 25, "previous_page": null, "next_page": null, "last_page": 1, "total_entries": 0 } } } ``` -------------------------------- ### Resource Limit Exceeded Error Example Source: https://docs.hetzner.cloud/reference/cloud Specific error response when an account resource limit is reached. ```json { "error": { "code": "resource_limit_exceeded", "message": "project limit exceeded", "details": { "limits": [ { "name": "project_limit" } ] } } } ``` -------------------------------- ### GET /hetzner/v1/metadata/{key} Source: https://docs.hetzner.cloud/reference/cloud Retrieves specific metadata fields for the server. ```APIDOC ## GET /hetzner/v1/metadata/{key} ### Description Retrieves a specific piece of metadata information for the server. ### Method GET ### Endpoint http://169.254.169.254/hetzner/v1/metadata/{key} ### Parameters #### Path Parameters - **key** (string) - Required - The metadata key to retrieve (e.g., hostname, instance-id, public-ipv4, private-networks, availability-zone, region) ``` -------------------------------- ### Define Resource Labels Source: https://docs.hetzner.cloud/reference/hetzner Example structure for applying key/value labels to resources, including reserved prefixes and empty values. ```json { "labels": { "environment": "development", "service": "backend", "example.com/my": "label", "just-a-key": "" } } ``` -------------------------------- ### Encoded Query Parameter Source: https://docs.hetzner.cloud/reference/cloud Example of a URI-encoded parameter value. ```text https://api.hetzner.cloud/v1/certificates?label_selector=key%3Dvalue ``` -------------------------------- ### Pagination Link Header Source: https://docs.hetzner.cloud/reference/hetzner Example of the Link header used for navigating paginated API results. ```http Link: ; rel="prev", ; rel="next", ; rel="last" ``` -------------------------------- ### GET /pricing Source: https://docs.hetzner.cloud/reference/cloud Retrieves pricing information for all resources available on the platform. The response includes both net and gross prices, calculated based on the project owner's currency and VAT rate. ```APIDOC ## GET /pricing ### Description Returns prices for all resources available on the platform. VAT and currency of the Project owner are used for calculations. Both net and gross prices are included in the response. ### Method GET ### Endpoint https://api.hetzner.cloud/v1/pricing ### Response #### Success Response (200) - **pricing** (object) - Contains currency, vat_rate, and detailed pricing arrays for primary_ips, floating_ips, image, volume, server_backup, server_types, and load_balancer_types. #### Response Example { "pricing": { "currency": "EUR", "vat_rate": "19.00", "server_types": [ { "id": 104, "name": "cpx22", "prices": [ { "location": "fsn1", "price_hourly": { "net": "1.0000", "gross": "1.1900" } } ] } ] } } ``` -------------------------------- ### Get Multiple Actions with Go Source: https://docs.hetzner.cloud/reference/cloud Retrieve multiple actions by their IDs using the hcloud-go client library. ```go package examples import ( "context" "os" "github.com/hetznercloud/hcloud-go/v2/hcloud" ) func main() { token := os.Getenv("HCLOUD_TOKEN") client := hcloud.NewClient(hcloud.WithToken(token)) ctx := context.TODO() actions, err := client.Action.AllWithOpts(ctx, hcloud.ActionListOpts{ID: []int64{123, 456}}) } ``` -------------------------------- ### GET /actions Source: https://docs.hetzner.cloud/reference/cloud Returns multiple Action objects filtered by the provided ID parameter. ```APIDOC ## GET /actions ### Description Returns multiple Action objects specified by the `id` parameter. Note that listing all actions without filters is no longer supported. ### Method GET ### Endpoint /actions ### Parameters #### Query Parameters - **id** (array integer[]) - Required - Filter the actions by ID. May be used multiple times. ### Response #### Success Response (200) - **actions** (array) - A list of Action objects. #### Response Example { "actions": [ { "id": 42, "command": "start_resource", "status": "running", "started": "2016-01-30T23:55:00Z", "finished": "2016-01-30T23:55:00Z", "progress": 100, "resources": [ { "id": 42, "type": "server" } ], "error": { "code": "action_failed", "message": "Action failed" } } ] } ``` -------------------------------- ### Pricing API response schema Source: https://docs.hetzner.cloud/reference/cloud Example JSON structure returned by the pricing endpoint, including currency, VAT, and resource-specific pricing details. ```json { "pricing": { "currency": "EUR", "vat_rate": "19.00", "primary_ips": [ { "type": "ipv4", "prices": [ { "location": "fsn1", "price_hourly": { "net": "1.0000", "gross": "1.1900" }, "price_monthly": { "net": "1.0000", "gross": "1.1900" } } ] } ], "floating_ips": [ { "type": "ipv4", "prices": [ { "location": "fsn1", "price_monthly": { "net": "1.0000", "gross": "1.1900" } } ] } ], "image": { "price_per_gb_month": { "net": "1.0000", "gross": "1.1900" } }, "volume": { "price_per_gb_month": { "net": "1.0000", "gross": "1.1900" } }, "server_backup": { "percentage": "20.00" }, "server_types": [ { "id": 104, "name": "cpx22", "prices": [ { "location": "fsn1", "price_hourly": { "net": "1.0000", "gross": "1.1900" }, "price_monthly": { "net": "1.0000", "gross": "1.1900" }, "included_traffic": 654321, "price_per_tb_traffic": { "net": "1.0000", "gross": "1.1900" } } ] } ], "load_balancer_types": [ { "id": 1, "name": "lb11", "prices": [ { "location": "fsn1", "price_hourly": { "net": "1.0000", "gross": "1.1900" }, "price_monthly": { "net": "1.0000", "gross": "1.1900" }, "included_traffic": 654321, "price_per_tb_traffic": { "net": "1.0000", "gross": "1.1900" } } ] } ] } } ``` -------------------------------- ### GET /v1/storage_boxes Source: https://docs.hetzner.cloud/reference/hetzner Retrieves a list of all Storage Boxes associated with the project linked to the provided API token. ```APIDOC ## GET /v1/storage_boxes ### Description Retrieves a list of all Storage Boxes in your Project. ### Method GET ### Endpoint https://api.hetzner.com/v1/storage_boxes ### Response #### Success Response (200) - **storage_boxes** (array) - A list of storage box objects. - **meta** (object) - Metadata containing pagination information. #### Response Example { "storage_boxes": [], "meta": { "pagination": { "page": 1, "per_page": 25, "previous_page": null, "next_page": null, "last_page": 1, "total_entries": 0 } } } ``` -------------------------------- ### GET /storage_boxes Source: https://docs.hetzner.cloud/reference/hetzner Returns a paginated list of Storage Boxes. Supports filtering by name, labels, and sorting. ```APIDOC ## GET /storage_boxes ### Description Returns a paginated list of Storage Boxes. ### Method GET ### Endpoint /storage_boxes ### Parameters #### Query Parameters - **name** (string) - Optional - Filter resources by their name. - **label_selector** (string) - Optional - Filter resources by labels. - **sort** (array) - Optional - Sort resources by field and direction. - **page** (integer) - Optional - Page number to return. - **per_page** (integer) - Optional - Maximum number of entries returned per page. ### Response #### Success Response (200) - **storage_boxes** (array) - List of storage boxes. - **meta** (object) - Pagination metadata. #### Response Example { "storage_boxes": [ { "id": 42, "name": "string", "status": "active" } ], "meta": { "pagination": { "page": 3, "per_page": 25, "total_entries": 100 } } } ``` -------------------------------- ### Storage Box List Response Source: https://docs.hetzner.cloud/reference/hetzner Example JSON response returned when listing Storage Boxes, including pagination metadata. ```json { "storage_boxes": [], "meta": { "pagination": { "page": 1, "per_page": 25, "previous_page": null, "next_page": null, "last_page": 1, "total_entries": 0 } } } ``` -------------------------------- ### Pagination JSON Response Structure Source: https://docs.hetzner.cloud/reference/hetzner Example of the pagination metadata object included in JSON API responses. ```json { "storage_boxes": [...], "meta": { "pagination": { "page": 2, "per_page": 25, "previous_page": 1, "next_page": 3, "last_page": 4, "total_entries": 100 } } } ``` -------------------------------- ### Get Single Action with Go Source: https://docs.hetzner.cloud/reference/cloud Retrieve a specific action by its ID using the hcloud-go client library. ```go package examples import ( "context" "os" "github.com/hetznercloud/hcloud-go/v2/hcloud" ) func main() { token := os.Getenv("HCLOUD_TOKEN") client := hcloud.NewClient(hcloud.WithToken(token)) ctx := context.TODO() action, _, err := client.Action.GetByID(ctx, 123) } ``` -------------------------------- ### Sorting API Responses Source: https://docs.hetzner.cloud/reference/hetzner Examples of using the sort query parameter to order collection results by field and direction. ```text https://api.hetzner.com/v1/storage_boxes?sort=status https://api.hetzner.com/v1/storage_boxes?sort=status:asc https://api.hetzner.com/v1/storage_boxes?sort=status:desc https://api.hetzner.com/v1/storage_boxes?sort=status:asc&sort=command:desc ``` -------------------------------- ### Storage Boxes API Response Schema Source: https://docs.hetzner.cloud/reference/hetzner Example JSON response structure returned when successfully listing storage boxes. ```json { "storage_boxes": [ { "id": 42, "name": "string", "storage_box_type": { "id": 42, "name": "bx11", "description": "BX11", "snapshot_limit": 10, "automatic_snapshot_limit": 10, "subaccounts_limit": 200, "size": 1073741824, "prices": [ { "location": "fsn1", "price_hourly": { "net": "1.0000", "gross": "1.1900" }, "price_monthly": { "net": "1.0000", "gross": "1.1900" }, "setup_fee": { "net": "1.0000", "gross": "1.1900" } } ], "deprecation": { "unavailable_after": "2023-09-01T00:00:00Z", "announced": "2023-06-01T00:00:00Z" } }, "location": { "id": 42, "name": "fsn1", "description": "Falkenstein DC Park 1", "country": "DE", "city": "Falkenstein", "latitude": 50.47612, "longitude": 12.370071, "network_zone": "eu-central" }, "access_settings": { "reachable_externally": true, "samba_enabled": true, "ssh_enabled": true, "webdav_enabled": true, "zfs_enabled": true }, "snapshot_plan": { "max_snapshots": 10, "minute": 30, "hour": 3, "day_of_week": 7, "day_of_month": null }, "protection": { "delete": false }, "labels": { "environment": "prod", "example.com/my": "label", "just-a-key": "" }, "status": "active", "username": "u12345", "server": "u1337.your-storagebox.de", "system": "FSN1-BX355", "stats": { "size": 1, "size_data": 1, "size_snapshots": 1 }, "created": "2016-01-30T23:55:00Z" } ], "meta": { "pagination": { "page": 3, "per_page": 25, "previous_page": 2, "next_page": 4, "last_page": 4, "total_entries": 100 } } } ``` -------------------------------- ### GET /storage_boxes Source: https://docs.hetzner.cloud/reference/hetzner Retrieves a list of all Storage Boxes associated with the account. Supports filtering by name or label selector, as well as pagination. ```APIDOC ## GET /storage_boxes ### Description Retrieves a list of all Storage Boxes associated with the account. ### Method GET ### Endpoint https://api.hetzner.com/v1/storage_boxes ### Parameters #### Query Parameters - **name** (string) - Optional - Filter storage boxes by name - **label_selector** (string) - Optional - Filter storage boxes by labels - **sort** (string) - Optional - Sort the results - **page** (integer) - Optional - Page number (default: 1) - **per_page** (integer) - Optional - Number of items per page (default: 25) ``` -------------------------------- ### Create a Storage Box with Go Source: https://docs.hetzner.cloud/reference/hetzner Uses the hcloud-go library to provision a new Storage Box and wait for the creation action to complete. ```go package examples import ( "context" "os" "github.com/hetznercloud/hcloud-go/v2/hcloud" ) func main() { token := os.Getenv("HCLOUD_TOKEN") client := hcloud.NewClient(hcloud.WithToken(token)) ctx := context.TODO() result, _, err := client.StorageBox.Create(ctx, hcloud.StorageBoxCreateOpts{ Name: "string", Location: &hcloud.Location{Name: "fsn1"}, StorageBoxType: &hcloud.StorageBoxType{ Name: "bx11", }, Labels: map[string]string{ "environment": "prod", "example.com/my": "label", "just-a-key": "", }, Password: "my-password", AccessSettings: &hcloud.StorageBoxCreateOptsAccessSettings{ ReachableExternally: hcloud.Ptr(false), SambaEnabled: hcloud.Ptr(false), SSHEnabled: hcloud.Ptr(false), WebDAVEnabled: hcloud.Ptr(false), ZFSEnabled: hcloud.Ptr(false), }, SSHKeys: []*hcloud.SSHKey{ {PublicKey: "ssh-rsa AAAjjk76kgf...Xt"}, }, }) err = client.Action.WaitFor(ctx, result.Action) storageBox := result.StorageBox } ``` -------------------------------- ### Retrieve all resource prices using Go Source: https://docs.hetzner.cloud/reference/cloud Fetches pricing data for all available resources. Requires an HCLOUD_TOKEN environment variable to be set. ```go package examples import ( "context" "os" "github.com/hetznercloud/hcloud-go/v2/hcloud" ) func main() { token := os.Getenv("HCLOUD_TOKEN") client := hcloud.NewClient(hcloud.WithToken(token)) ctx := context.TODO() pricing, _, err := client.Pricing.Get(ctx) } ``` -------------------------------- ### Retrieve Server Metadata Summary Source: https://docs.hetzner.cloud/reference/cloud Fetches all available server metadata in a single request. ```bash $ curl http://169.254.169.254/hetzner/v1/metadata ``` ```yaml availability-zone: hel1-dc2 hostname: my-server instance-id: 42 public-ipv4: 1.2.3.4 region: eu-central ``` -------------------------------- ### GET /actions/{id} Source: https://docs.hetzner.cloud/reference/cloud Returns a specific Action object by its unique identifier. ```APIDOC ## GET /actions/{id} ### Description Returns a specific Action object. ### Method GET ### Endpoint /actions/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - ID of the Action. ### Response #### Success Response (200) - **action** (object) - The requested Action object. #### Response Example { "action": { "id": 42, "command": "start_resource", "status": "running", "started": "2016-01-30T23:55:00Z", "finished": "2016-01-30T23:55:00Z", "progress": 100, "resources": [ { "id": 42, "type": "server" } ], "error": { "code": "action_failed", "message": "Action failed" } } } ``` -------------------------------- ### List Storage Boxes with Go Client Source: https://docs.hetzner.cloud/reference/hetzner Retrieves a list of all storage boxes using the official Hetzner Cloud Go client. Requires the HCLOUD_TOKEN environment variable to be set. ```go package examples import ( "context" "os" "github.com/hetznercloud/hcloud-go/v2/hcloud" ) func main() { token := os.Getenv("HCLOUD_TOKEN") client := hcloud.NewClient(hcloud.WithToken(token)) ctx := context.TODO() storageBoxes, err := client.StorageBox.All(ctx) } ``` -------------------------------- ### Uniqueness Error Example Source: https://docs.hetzner.cloud/reference/cloud Specific error response when a field value must be unique but is not. ```json { "error": { "code": "uniqueness_error", "message": "SSH key with the same fingerprint already exists", "details": { "fields": [ { "name": "public_key" } ] } } } ``` -------------------------------- ### POST /storage_boxes Source: https://docs.hetzner.cloud/reference/hetzner Creates a new Storage Box instance with the specified configuration, including location, type, and access settings. ```APIDOC ## POST /storage_boxes ### Description Creates a new Storage Box resource. ### Method POST ### Endpoint /storage_boxes ### Request Body - **location** (string) - Required - ID or Name of Location. - **name** (string) - Required - Name of the Storage Box. - **password** (string) - Required - Password of the Storage Box. - **storage_box_type** (string) - Required - ID or Name of the Storage Box Type. - **access_settings** (object) - Optional - Access settings of the Storage Box. - **labels** (object) - Optional - User-defined labels (key/value pairs) for the Resource. - **ssh_keys** (array) - Optional - SSH public keys in OpenSSH format to inject into the Storage Box. ### Response #### Success Response (201) - **storage_box** (object) - The created Storage Box object. - **action** (object) - The action object tracking the creation process. ``` -------------------------------- ### List Storage Boxes via cURL Source: https://docs.hetzner.cloud/reference/hetzner Use this command to retrieve a list of all Storage Boxes in your project. Replace the placeholder token with your actual API token. ```bash curl -H "Authorization: Bearer LRK9DAWQ1ZAEFSrCNEEzLCUwhYX1U3g7wMg4dTlkkDC96fyDuyJ39nVbVjCKSDfj" \ https://api.hetzner.com/v1/storage_boxes ``` -------------------------------- ### Deprecated API Endpoint Error Example Source: https://docs.hetzner.cloud/reference/cloud Specific error response when accessing a removed API endpoint. ```json { "error": { "code": "deprecated_api_endpoint", "message": "API functionality was removed", "details": { "announcement": "https://docs.hetzner.cloud/changelog#2023-07-20-foo-endpoint-is-deprecated" } } } ``` -------------------------------- ### Retrieve Private Network Details Source: https://docs.hetzner.cloud/reference/cloud Fetches configuration details for all private networks attached to the server. ```bash $ curl http://169.254.169.254/hetzner/v1/metadata/private-networks ``` ```yaml - ip: 10.0.0.2 alias_ips: [10.0.0.3, 10.0.0.4] interface_num: 1 mac_address: 86:00:00:2a:7d:e0 network_id: 1234 network_name: nw-test1 network: 10.0.0.0/8 subnet: 10.0.0.0/24 gateway: 10.0.0.1 - ip: 192.168.0.2 alias_ips: [] interface_num: 2 mac_address: 86:00:00:2a:7d:e1 network_id: 4321 network_name: nw-test2 network: 192.168.0.0/16 subnet: 192.168.0.0/24 gateway: 192.168.0.1 ``` -------------------------------- ### List Servers via cURL Source: https://docs.hetzner.cloud/reference/cloud Retrieves a list of all servers in the project using the Authorization header. ```bash curl -H "Authorization: Bearer LRK9DAWQ1ZAEFSrCNEEzLCUwhYX1U3g7wMg4dTlkkDC96fyDuyJ39nVbVjCKSDfj" \ https://api.hetzner.cloud/v1/servers ``` -------------------------------- ### Server Operations Source: https://docs.hetzner.cloud/reference/cloud Operations for provisioning and managing virtual machine instances. ```APIDOC ## GET /servers ## POST /servers ## GET /servers/{id} ## PUT /servers/{id} ## DELETE /servers/{id} ## GET /servers/{id}/metrics ``` -------------------------------- ### Use Query Parameters Source: https://docs.hetzner.cloud/reference/hetzner Use URI-encoded parameters for filtering and pagination. Array parameters can be repeated in the query string. ```url https://api.hetzner.com/v1/storage_boxes?page=1&page_size=12 ``` ```url https://api.hetzner.com/v1/storage_boxes?sort=id&sort=name ``` ```url https://api.hetzner.com/v1/storage_boxes?label_selector=key%3Dvalue ``` -------------------------------- ### Floating IPs Source: https://docs.hetzner.cloud/reference/cloud Operations for managing Floating IPs, which allow for highly available network setups by assigning IPs to servers. ```APIDOC ## GET /floating_ips ## POST /floating_ips ## GET /floating_ips/{id} ## PUT /floating_ips/{id} ## DELETE /floating_ips/{id} ``` -------------------------------- ### Retrieve Server Hostname Source: https://docs.hetzner.cloud/reference/cloud Fetches the server hostname as configured in the API. ```bash $ curl http://169.254.169.254/hetzner/v1/metadata/hostname my-server ``` -------------------------------- ### Load Balancer Actions Source: https://docs.hetzner.cloud/reference/cloud Endpoints for performing configuration and management actions on load balancers. ```APIDOC ## GET /load_balancers/actions ## GET /load_balancers/actions/{id} ## GET /load_balancers/{id}/actions ## POST /load_balancers/{id}/actions/add_service ## POST /load_balancers/{id}/actions/add_target ## POST /load_balancers/{id}/actions/attach_to_network ## POST /load_balancers/{id}/actions/change_algorithm ## POST /load_balancers/{id}/actions/change_dns_ptr ## POST /load_balancers/{id}/actions/change_protection ## POST /load_balancers/{id}/actions/change_type ## POST /load_balancers/{id}/actions/delete_service ## POST /load_balancers/{id}/actions/detach_from_network ## POST /load_balancers/{id}/actions/disable_public_interface ## POST /load_balancers/{id}/actions/enable_public_interface ## POST /load_balancers/{id}/actions/remove_target ## POST /load_balancers/{id}/actions/update_service ## GET /load_balancers/{id}/actions/{action_id} ``` -------------------------------- ### Server Actions Source: https://docs.hetzner.cloud/reference/cloud Operations for performing specific actions on virtual servers, such as power management, networking, and backups. ```APIDOC ## GET /servers/actions ## GET /servers/actions/{id} ## GET /servers/{id}/actions ## POST /servers/{id}/actions/add_to_placement_group ## POST /servers/{id}/actions/attach_iso ## POST /servers/{id}/actions/attach_to_network ## POST /servers/{id}/actions/change_alias_ips ## POST /servers/{id}/actions/change_dns_ptr ## POST /servers/{id}/actions/change_protection ## POST /servers/{id}/actions/change_type ## POST /servers/{id}/actions/create_image ## POST /servers/{id}/actions/detach_from_network ## POST /servers/{id}/actions/detach_iso ## POST /servers/{id}/actions/disable_backup ## POST /servers/{id}/actions/disable_rescue ## POST /servers/{id}/actions/enable_backup ## POST /servers/{id}/actions/enable_rescue ## POST /servers/{id}/actions/poweroff ## POST /servers/{id}/actions/poweron ## POST /servers/{id}/actions/reboot ## POST /servers/{id}/actions/rebuild ## POST /servers/{id}/actions/remove_from_placement_group ## POST /servers/{id}/actions/request_console ## POST /servers/{id}/actions/reset ## POST /servers/{id}/actions/reset_password ## POST /servers/{id}/actions/shutdown ## GET /servers/{id}/actions/{action_id} ```