---
title: "List VM network interfaces"
method: GET
path: "/api/v1/vms/{id}/networks"
tags: ["Networking"]
---

# List VM network interfaces

`GET /api/v1/vms/{id}/networks`

List all network interfaces (NICs) attached to a virtual machine.
Each NIC has a `nic_id` used when detaching from a VPC, IP, or security group.

Use `?type=` to filter by interface type (`public`, `vpc`, or `ipv6`).

## Path parameters

- `id` string, uuid, required

## Query parameters

- `type` 'public' | 'vpc' | 'ipv6'

## Response `200`

List of network interfaces

- object
  - `success` boolean
  - `data` VMNetwork[]
    - `nic_id` integer, required — Interface ID. Use this when detaching from a VPC, IP, or security group.
    - `network_name` string, required — Network name.
    - `ip` string, required — IP address assigned to the interface (IPv4 or IPv6 depending on `type`).
    - `mac` string — MAC address of the interface. Stable for the lifetime of the VM — useful for static DHCP, packet captures, and disambiguating multiple NICs in scripts.
    - `gateway` string — Gateway IP for this interface.
    - `type` 'public' | 'vpc' | 'ipv6', required — Interface type: - `public` — public IPv4 address - `vpc` — private IPv4 inside a VPC - `ipv6` — public IPv6 address
    - `security_group_id` string, uuid — ID of the security group attached to this NIC, if any.
    - `is_primary` boolean — True for the VM's primary public IPv4 interface. A VM has at most one primary IPv4; additional public IPv4s report `false`.

## Other responses

- `401` — Authentication required
- `404` — Resource not found

---

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