Hetzner Cloud API
  1. Firewall Actions
Hetzner Cloud API
  • Actions
    • Get all Actions
      GET
    • Get an Action
      GET
  • Certificates
    • Get all Certificates
      GET
    • Create a Certificate
      POST
    • Delete a Certificate
      DELETE
    • Get a Certificate
      GET
    • Update a Certificate
      PUT
  • Certificate Actions
    • Get all Actions for a Certificate
      GET
    • Retry Issuance or Renewal
      POST
    • Get an Action for a Certificate
      GET
  • Datacenters
    • Get all Datacenters
      GET
    • Get a Datacenter
      GET
  • Firewalls
    • Get all Firewalls
      GET
    • Create a Firewall
      POST
    • Delete a Firewall
      DELETE
    • Get a Firewall
      GET
    • Update a Firewall
      PUT
  • Firewall Actions
    • Get all Actions for a Firewall
      GET
    • Apply to Resources
      POST
    • Remove from Resources
      POST
    • Set Rules
      POST
    • Get an Action for a Firewall
      GET
  • Floating IPs
    • Get all Floating IPs
      GET
    • Create a Floating IP
      POST
    • Delete a Floating IP
      DELETE
    • Get a Floating IP
      GET
    • Update a Floating IP
      PUT
  • Floating IP Actions
    • Get all Actions for a Floating IP
    • Assign a Floating IP to a Server
    • Change reverse DNS entry for a Floating IP
    • Change Floating IP Protection
    • Unassign a Floating IP
    • Get an Action for a Floating IP
  • Images
    • Get all Images
    • Delete an Image
    • Get an Image
    • Update an Image
  • Image Actions
    • Get all Actions for an Image
    • Change Image Protection
    • Get an Action for an Image
  • ISOs
    • Get all ISOs
    • Get an ISO
  • Load Balancer Types
    • Get all Load Balancer Types
    • Get a Load Balancer Type
  • Load Balancers
    • Get all Load Balancers
    • Create a Load Balancer
    • Delete a Load Balancer
    • Get a Load Balancer
    • Update a Load Balancer
    • Get Metrics for a LoadBalancer
  • Load Balancer Actions
    • Get all Actions for a Load Balancer
    • Add Service
    • Add Target
    • Attach a Load Balancer to a Network
    • Change Algorithm
    • Change reverse DNS entry for this Load Balancer
    • Change Load Balancer Protection
    • Change the Type of a Load Balancer
    • Delete Service
    • Detach a Load Balancer from a Network
    • Disable the public interface of a Load Balancer
    • Enable the public interface of a Load Balancer
    • Remove Target
    • Update Service
    • Get an Action for a Load Balancer
  • Locations
    • Get all Locations
    • Get a Location
  • Networks
    • Get all Networks
    • Create a Network
    • Delete a Network
    • Get a Network
    • Update a Network
  • Network Actions
    • Get all Actions for a Network
    • Add a route to a Network
    • Add a subnet to a Network
    • Change IP range of a Network
    • Change Network Protection
    • Delete a route from a Network
    • Delete a subnet from a Network
    • Get an Action for a Network
  • Placement Groups
    • Get all PlacementGroups
    • Create a PlacementGroup
    • Delete a PlacementGroup
    • Get a PlacementGroup
    • Update a PlacementGroup
  • Pricing
    • Get all prices
  • Server Types
    • Get all Server Types
    • Get a Server Type
  • Servers
    • Get all Servers
    • Create a Server
    • Delete a Server
    • Get a Server
    • Update a Server
    • Get Metrics for a Server
  • Server Actions
    • Get all Actions for a Server
    • Add a Server to a Placement Group
    • Attach an ISO to a Server
    • Attach a Server to a Network
    • Change alias IPs of a Network
    • Change reverse DNS entry for this Server
    • Change Server Protection
    • Change the Type of a Server
    • Create Image from a Server
    • Detach a Server from a Network
    • Detach an ISO from a Server
    • Disable Backups for a Server
    • Disable Rescue Mode for a Server
    • Enable and Configure Backups for a Server
    • Enable Rescue Mode for a Server
    • Power off a Server
    • Power on a Server
    • Soft-reboot a Server
    • Rebuild a Server from an Image
    • Remove from Placement Group
    • Request Console for a Server
    • Reset a Server
    • Reset root Password of a Server
    • Shutdown a Server
    • Get an Action for a Server
  • SSH Keys
    • Get all SSH keys
    • Create an SSH key
    • Delete an SSH key
    • Get a SSH key
    • Update an SSH key
  • Volumes
    • Get all Volumes
    • Create a Volume
    • Delete a Volume
    • Get a Volume
    • Update a Volume
  • Volume Actions
    • Get all Actions for a Volume
    • Attach Volume to a Server
    • Change Volume Protection
    • Detach Volume
    • Resize Volume
    • Get an Action for a Volume
  • Primary IPs
    • Get all Primary IPs
    • Create a Primary IP
    • Delete a Primary IP
    • Get a Primary IP
    • Update a Primary IP
  • Primary IP Actions
    • Assign a Primary IP to a resource
    • Change reverse DNS entry for a Primary IP
    • Change Primary IP Protection
    • Unassign a Primary IP from a resource
  1. Firewall Actions

Set Rules

POST
/firewalls/{id}/actions/set_rules
Sets the rules of a Firewall.
All existing rules will be overwritten. Pass an empty rules array to remove all rules.
The maximum amount of rules that can be defined is 50.

Call specific error codes#

CodeDescription
firewall_resource_not_foundThe resource the Firewall should be attached to was not found

Request

Path Params

Body Params application/json

Examples

Responses

🟢201The `action` key contains one `set_firewall_rules` Action plus one `apply_firewall` Action per resource where the Firewall is active
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.hetzner.cloud/v1/firewalls//actions/set_rules' \
--header 'Content-Type: application/json' \
--data-raw '{
    "rules": [
        {
            "description": "Allow port 80",
            "direction": "in",
            "port": "80",
            "protocol": "tcp",
            "source_ips": [
                "28.239.13.1/32",
                "28.239.14.0/24",
                "ff21:1eac:9a3b:ee58:5ca:990c:8bc9:c03b/128"
            ]
        }
    ]
}'
Response Response Example
{
    "actions": [
        {
            "command": "set_firewall_rules",
            "error": {
                "code": "action_failed",
                "message": "Action failed"
            },
            "finished": "2016-01-30T23:56:00.000Z",
            "id": 13,
            "progress": 100,
            "resources": [
                {
                    "id": 38,
                    "type": "firewall"
                }
            ],
            "started": "2016-01-30T23:55:00.000Z",
            "status": "success"
        },
        {
            "command": "apply_firewall",
            "error": {
                "code": "action_failed",
                "message": "Action failed"
            },
            "finished": "2016-01-30T23:56:00.000Z",
            "id": 14,
            "progress": 100,
            "resources": [
                {
                    "id": 38,
                    "type": "firewall"
                },
                {
                    "id": 42,
                    "type": "server"
                }
            ],
            "started": "2016-01-30T23:55:00.000Z",
            "status": "success"
        }
    ]
}
Modified at 2023-08-16 03:09:21
Previous
Remove from Resources
Next
Get an Action for a Firewall
Built with