---
title: "Create Link"
method: POST
path: "/compute/v2/thr4/workspaces/{workspaceUUID}/links"
tags: ["Compute"]
---

# Create Link

`POST /compute/v2/thr4/workspaces/{workspaceUUID}/links`

Creates a new network link to connect a compute instance to a subnet. This enables the instance to communicate 
with other resources within your virtual network infrastructure.

## Path parameters

- `workspaceUUID` string, required

## Request body

- EngineLink
  - `apiVersion` 'compute/v2', required — Version identifier of the API schema
  - `kind` 'Link', required — The string value 'Link' 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` V1alpha2LinkSpec, required — Desired configuration and characteristics for the link
    - `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
    - `externalIPRef` V1LocalObjectReference, nullable — Reference to the external IP resource. If empty, this link does not have an external IP address.
      - `name` string
    - `forwardableAddresses` V1alpha1ForwardableAddress[] — List of addresses that can forward traffic through this link.
      - `cidr` string, required — Specifies the IP range in CIDR notation that can be forwarded through this link
      - `mac` string — The MAC address associated with this forwardable address. If not specified, the link's MAC address will be used.
    - `ip` string — The IP address assigned to this link. If not specified, a unique IP address will be automatically allocated from the subnet CIDR.
    - `subnetName` string — The name of the subnet where this link is placed.
    - `vpcName` string — Name of the VPC containing this link's subnet.
  - `status` V1alpha2LinkStatus, required — Current observed state and conditions of the link
    - `configured` boolean — Indicates if the link is properly configured.
    - `created` boolean — Indicates if the network device has been created.
    - `externalIP` V1alpha2ExternalIPState — Details of the external IP associated with this link. This field will not be set if the link has no external IP.
      - `gateway` string
      - `ip` string
      - `name` string
    - `gatewayIP` string — Gateway IP address of the subnet.
    - `mac` string — MAC address assigned to this link.
    - `mtu` integer — Maximum Transmission Unit (MTU) configured on the network device.
    - `operational` boolean — Indicates if the link is operational.
    - `ready` boolean — Indicates if the link is ready for use.

## Response `201`

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

- EngineLink
  - `apiVersion` 'compute/v2', required — Version identifier of the API schema
  - `kind` 'Link', required — The string value 'Link' 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` V1alpha2LinkSpec, required — Desired configuration and characteristics for the link
    - `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
    - `externalIPRef` V1LocalObjectReference, nullable — Reference to the external IP resource. If empty, this link does not have an external IP address.
      - `name` string
    - `forwardableAddresses` V1alpha1ForwardableAddress[] — List of addresses that can forward traffic through this link.
      - `cidr` string, required — Specifies the IP range in CIDR notation that can be forwarded through this link
      - `mac` string — The MAC address associated with this forwardable address. If not specified, the link's MAC address will be used.
    - `ip` string — The IP address assigned to this link. If not specified, a unique IP address will be automatically allocated from the subnet CIDR.
    - `subnetName` string — The name of the subnet where this link is placed.
    - `vpcName` string — Name of the VPC containing this link's subnet.
  - `status` V1alpha2LinkStatus, required — Current observed state and conditions of the link
    - `configured` boolean — Indicates if the link is properly configured.
    - `created` boolean — Indicates if the network device has been created.
    - `externalIP` V1alpha2ExternalIPState — Details of the external IP associated with this link. This field will not be set if the link has no external IP.
      - `gateway` string
      - `ip` string
      - `name` string
    - `gatewayIP` string — Gateway IP address of the subnet.
    - `mac` string — MAC address assigned to this link.
    - `mtu` integer — Maximum Transmission Unit (MTU) configured on the network device.
    - `operational` boolean — Indicates if the link is operational.
    - `ready` boolean — Indicates if the link is ready for 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)
