Public address API
Reserve regional addresses, assign one active target, and release retained allocations.
Public addresses are project resources with a lifecycle independent of their current target. An unattached reservation can still consume quota and incur usage.
/organizations/{organization_id}/projects/{project_id}/public-addressesReserves a regional public address.
region_idstringrequiredaddress_familystringoptionalipv4namestringrequiredReturns 202 with allocation ID and operation. The final address is available
from the resource after allocation. A capacity error does not fall back from
IPv4 to IPv6 or allocate in a different region.
Assign
/organizations/{organization_id}/projects/{project_id}/public-addresses/{address_id}/assignmentsAssigns an address to one eligible target.
Requires networks:write,
If-Match, and a target object containing type and id. Supported types are
droplet, load_balancer, and gateway when offered by the region.
The target must be in the same project and region and support the address family.
A current active assignment returns 409 address_assigned unless the request
uses the explicit reassignment action.
Reassign
/organizations/{organization_id}/projects/{project_id}/public-addresses/{address_id}/actionsRequests reassignment to another target.
Send type=reassign and a new target to preview and apply the handover. It returns 202 with an operation.
The operation identifies previous and requested targets and their routing state.
Existing connections are not transferred to the replacement. DNS records and external allowlists are unchanged because the address remains the same.
Read
/organizations/{organization_id}/projects/{project_id}/public-addresses/{address_id}Returns address, address_family, region_id, state, assignment, and its ETag. Requires networks:read. States include allocating,
reserved, assigned, reassigning, releasing, and error.
A stopped target can retain an assignment. A pending routing operation can show both the desired target and previous observed target. Use the operation result before concluding which endpoint receives new traffic.
Detach or release
/organizations/{organization_id}/projects/{project_id}/public-addresses/{address_id}/assignments/{assignment_id}Removes the assignment while retaining the address reservation.
Deleting the assignment retains the reservation.
/organizations/{organization_id}/projects/{project_id}/public-addresses/{address_id}Releases an unassigned public address.
Deleting the address resource
requires no active assignment and its current ETag; accepted release returns
202. A released address is not guaranteed to be reservable again.
Removing the address does not delete external DNS records. Remove those references before release. See public addressing and DNS API for separate record updates.