Skip to content

Associate a public IP with an instance

  • Method: POST
  • Path: /v1/orgs/{org}/compute/public-ips/{public_ip_id}/associate
  • Operation ID: associatePublicIp
  • Tag: Compute

Send Authorization: Bearer <credential>. The credential is either an API key (vsk_…) created for an organization, or an OIDC access token obtained by signing in to VirtScale.

Name Type Required Description
public_ip_id string (uuid) Yes VirtScale public IP id
org string (uuid) Yes The organization’s id.

Content type application/json, schema PublicIpAssociateRequest, required.

Field Type Required Enum Description
vm_id string (uuid) Yes
Field Type Required Enum Description
operation OperationRef Yes
operation.attempt integer Yes
operation.created_at string (date-time) Yes
operation.error_class string, nullable No
operation.error_detail string, nullable No
operation.finished_at string (date-time), nullable No When the operation reached a terminal state. Guaranteed non-null whenever state is succeeded, failed or cancelled – including operations that complete synchronously and are returned already succeeded. null means the operation is still in flight.
operation.id string (uuid) Yes
operation.max_attempts integer Yes
operation.resource_id string Yes
operation.resource_type string Yes
operation.state string Yes
operation.type string Yes
public_ip PublicIpOut Yes
public_ip.address string, nullable Yes Null until ip.allocate has actually been applied to the network.
public_ip.created_at string (date-time) Yes
public_ip.error string, nullable Yes
public_ip.id string (uuid) Yes
public_ip.region_id string Yes
public_ip.state string Yes pending | allocated | associating | associated | disassociating | releasing | error.
public_ip.vm_id string (uuid), nullable Yes

Every error response is application/problem+json (schema Problem).

Status Meaning
400 The request is malformed or failed validation.
401 The credential is missing or invalid.
403 The credential does not have permission to perform this operation.
404 The resource does not exist.
default Any other status is possible; the code field identifies the error.
curl -X POST "https://api.virtscale.nl/v1/orgs/$ORG_ID/compute/public-ips/$PUBLIC_IP_ID/associate" \
  -H "Authorization: Bearer $VIRTSCALE_API_KEY" \
  -H "Content-Type: application/json" \
  --data @body.json