---
title: "Create VPC"
method: POST
path: "/api/v1/vpcs"
tags: ["Networking"]
---

# Create VPC

`POST /api/v1/vpcs`

Create a new virtual private cloud. Pick a `cidr` block that doesn't overlap with any of your existing VPCs.

## CIDR planning

Use `GET /api/v1/vpcs/cidr-suggestions` to get suggested non-overlapping CIDR blocks if you don't have one in mind.

## Headers

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

## Request body

- CreateVPCRequest
  - `name` string, required — VPC name.
  - `cidr` string, required — CIDR block. Must not overlap with other VPCs in the account. See `GET /api/v1/vpcs/cidr-suggestions` for non-overlapping options.
  - `region` 'us-east' — Region for the VPC. Defaults to `us-east`.

## Response `201`

VPC created

- object
  - `success` boolean
  - `data` VPC — 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

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Billing validation failed. The account is not in good standing. Check the `reason` field: - `banned` — account suspended - `failed` — last payment failed; top up the account balance - `no_billing_customer` — billing not set up

---

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