---
title: "Get VPC"
method: GET
path: "/api/v1/vpcs/{id}"
tags: ["Networking"]
---

# Get VPC

`GET /api/v1/vpcs/{id}`

Get details of a single VPC. The response wraps the core VPC fields under `data.vpc` and includes additional detail fields (`ip_range_start`, `ip_range_end`, `leases`) at the same level.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Project-ID` string, uuid, required

## Response `200`

VPC details

- object
  - `success` boolean
  - `data` VPCDetail — Detail wrapper returned by `GET /api/v1/vpcs/{id}`. Contains the core VPC under `vpc`, plus the configured IP range and the current set of IP leases (one entry per attached network interface).
    - `vpc` VPC, required — A virtual private cloud (VPC).
      - `id` string, uuid, required — VPC identifier.
      - `account_id` string, uuid — Account this VPC belongs to.
      - `project_id` string, uuid — Project this VPC belongs to.
      - `name` string, required — VPC display name.
      - `cidr` string, required — CIDR block for the VPC.
      - `gateway` string — Gateway IP for the VPC.
      - `dns` string — DNS server IP for the VPC.
      - `status` string, required — VPC lifecycle status.
      - `total_ips` integer — Total addressable IPs in the VPC.
      - `used_ips` integer — IPs currently leased to VMs.
      - `region` 'us-east', required — Region where the VPC lives.
      - `gateway_type` string — Gateway type (e.g. `none`, `nat`).
      - `router_public_ip` string — Public IP of the VPC gateway, if a gateway is enabled.
      - `router_status` string — Gateway router status.
      - `created_at` string, date-time
      - `updated_at` string, date-time
    - `ip_range_start` string — First IP in the VPC's allocatable range
    - `ip_range_end` string — Last IP in the VPC's allocatable range
    - `leases` VPCLease[] — Active IP leases on the VPC. Empty when no VMs are attached.
      - `ip` string, required — Leased IP address
      - `nic_id` integer, required — NIC interface ID on the leased VM. Pair with `GET /api/v1/vms/{id}/networks` to identify the owning interface.

## 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)
