---
title: "Create External IP"
method: POST
path: "/compute/v2/thr4/workspaces/{workspaceUUID}/external-ips"
tags: ["Compute"]
---

# Create External IP

`POST /compute/v2/thr4/workspaces/{workspaceUUID}/external-ips`

Allocates a new external IP address that can be attached to a link or load balancer. This enables your resources 
to be accessible from the internet with a dedicated public IP address.

## Path parameters

- `workspaceUUID` string, required

## Request body

- EngineExternalIP
  - `apiVersion` 'compute/v2', required — Version identifier of the API schema
  - `kind` 'ExternalIP', required — The string value 'ExternalIP' that identifies the schema
  - `metadata` EngineObjectMeta, required — Standard resource metadata fields
    - `annotations` object, required — Annotations are key-value pairs storing additional metadata about resources
    - `creationTimestamp` string, date-time, required
    - `deletionTimestamp` string, date-time, required
    - `labels` object, required — Labels are key-value pairs attached to resources for organization and categorization
    - `name` string, required — User-provided name that uniquely identifies the resource within its workspace and type
    - `ownerReferences` V1OwnerReference[], required — References to other resources that own or manage the resource
      - `apiVersion` string, required
      - `blockOwnerDeletion` boolean, nullable
      - `controller` boolean, nullable
      - `kind` string, required
      - `name` string, required
      - `uid` string, required
    - `resourceVersion` string — An opaque value representing the internal version of this object that can be used for optimistic concurrency and change detection
    - `uid` string, required — System-generated unique identifier for the resource
    - `workspace` string, required — Unique identifier of the workspace where the resource belongs
  - `spec` V1alpha2ExternalIPSpec, required — Desired configuration and characteristics for the external ip
    - `boundTo` V1ObjectReference, nullable — Reference to the instance that this link is connected to.
      - `apiVersion` string
      - `fieldPath` string
      - `kind` string
      - `name` string
      - `namespace` string
      - `resourceVersion` string
      - `uid` string
    - `ip` string — The allocated external IPv4 address.
    - `poolName` string
    - `reserved` boolean — When set to true, prevents the external IP from being garbage collected even if the target object is removed.
  - `status` V1alpha2ExternalIPStatus, required — Current observed state and conditions of the external ip
    - `gateway` string — The IPv4 gateway address used for routing outgoing traffic from this external IP.
    - `operational` boolean — Indicates whether the bound target is running and able to receive traffic.
    - `ready` boolean — Indicates whether the external IP is fully configured and ready to use.

## Response `201`

The external IP was successfully created and is being provisioned. 
The response contains the complete external IP details including the assigned unique identifier and IP address.

- EngineExternalIP
  - `apiVersion` 'compute/v2', required — Version identifier of the API schema
  - `kind` 'ExternalIP', required — The string value 'ExternalIP' that identifies the schema
  - `metadata` EngineObjectMeta, required — Standard resource metadata fields
    - `annotations` object, required — Annotations are key-value pairs storing additional metadata about resources
    - `creationTimestamp` string, date-time, required
    - `deletionTimestamp` string, date-time, required
    - `labels` object, required — Labels are key-value pairs attached to resources for organization and categorization
    - `name` string, required — User-provided name that uniquely identifies the resource within its workspace and type
    - `ownerReferences` V1OwnerReference[], required — References to other resources that own or manage the resource
      - `apiVersion` string, required
      - `blockOwnerDeletion` boolean, nullable
      - `controller` boolean, nullable
      - `kind` string, required
      - `name` string, required
      - `uid` string, required
    - `resourceVersion` string — An opaque value representing the internal version of this object that can be used for optimistic concurrency and change detection
    - `uid` string, required — System-generated unique identifier for the resource
    - `workspace` string, required — Unique identifier of the workspace where the resource belongs
  - `spec` V1alpha2ExternalIPSpec, required — Desired configuration and characteristics for the external ip
    - `boundTo` V1ObjectReference, nullable — Reference to the instance that this link is connected to.
      - `apiVersion` string
      - `fieldPath` string
      - `kind` string
      - `name` string
      - `namespace` string
      - `resourceVersion` string
      - `uid` string
    - `ip` string — The allocated external IPv4 address.
    - `poolName` string
    - `reserved` boolean — When set to true, prevents the external IP from being garbage collected even if the target object is removed.
  - `status` V1alpha2ExternalIPStatus, required — Current observed state and conditions of the external ip
    - `gateway` string — The IPv4 gateway address used for routing outgoing traffic from this external IP.
    - `operational` boolean — Indicates whether the bound target is running and able to receive traffic.
    - `ready` boolean — Indicates whether the external IP is fully configured and ready to use.

## Other responses

- `400` — Bad request - invalid configuration provided
- `403` — Forbidden - insufficient permissions
- `409` — Conflict - resource with the same name already exists

---

[API](https://skmtc.dev/sotoon/apis/sotoon-api.md) · [All operations](https://skmtc.dev/sotoon/apis/sotoon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sotoon/sotoon-api/revisions/c937cd9861c5/schema)
