Hetzner Cloud API
  1. Primary IP 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
    • Create a Floating IP
    • Delete a Floating IP
    • Get a Floating IP
    • Update a Floating IP
  • 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
      POST
    • Change reverse DNS entry for a Primary IP
      POST
    • Change Primary IP Protection
      POST
    • Unassign a Primary IP from a resource
      POST
  1. Primary IP Actions

Assign a Primary IP to a resource

POST
/primary_ips/{id}/actions/assign
Assigns a Primary IP to a Server.
A Server can only have one Primary IP of type ipv4 and one of type ipv6 assigned. If you need more IPs use Floating IPs.
The Server must be powered off (status off) in order for this operation to succeed.

Call specific error codes#

CodeDescription
server_not_stoppedThe server is running, but needs to be powered off
primary_ip_already_assignedPrimary ip is already assigned to a different server
server_has_ipv4The server already has an ipv4 address
server_has_ipv6The server already has an ipv6 address

Request

Path Params

Body Params application/json

Examples

Responses

🟢201The `action` key in the reply contains an Action object with this structure
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.hetzner.cloud/v1/primary_ips//actions/assign' \
--header 'Content-Type: application/json' \
--data-raw '{
    "assignee_id": 4711,
    "assignee_type": "server"
}'
Response Response Example
{
    "action": {
        "command": "assign_primary_ip",
        "error": {
            "code": "action_failed",
            "message": "Action failed"
        },
        "finished": null,
        "id": 13,
        "progress": 0,
        "resources": [
            {
                "id": 42,
                "type": "server"
            },
            {
                "id": 4711,
                "type": "primary_ip"
            }
        ],
        "started": "2016-01-30T23:50:00.000Z",
        "status": "running"
    }
}
Modified at 2023-08-16 03:09:20
Previous
Update a Primary IP
Next
Change reverse DNS entry for a Primary IP
Built with