---
title: "Create VPC Prefix"
method: POST
path: "/v2/org/{org}/nico/vpc-prefix"
tags: ["VPC Prefix"]
---

# Create VPC Prefix

`POST /v2/org/{org}/nico/vpc-prefix`

Create a VPC Prefix for the org.

Org must have a Tenant entity. User must have authorization role with `TENANT_ADMIN` suffix.

## Request body

- VpcPrefixCreateRequest — Request data for creating VPC Prefix
  - `name` string, required — Human readable name for the VPC Prefix
  - `vpcId` string, uuid, required — ID of the VPC
  - `ipBlockId` string, uuid, required — ID of the IP Block to allocate the VPC Prefix from
  - `prefixLength` integer, required — Prefix length for the VPC Prefix. Valid range is 8 to 31, and max usable value depends on prefix length of parent IP Block.

## Response `201`

Created

- VpcPrefix — VPC Prefixes are network grouping constructs for baremetal machines.
  - `id` string, uuid — Unique UUID v4 identifier for the VPCPrefix
  - `name` string — Name of the VPC Prefix
  - `siteId` string, uuid — ID of the Site the VPC Prefix belongs to
  - `vpcId` string, uuid — ID of the VPC the VPC Prefix belongs to
  - `ipBlockId` string, uuid, nullable — ID of the IP Block that contains the prefix of the VPC Prefix
  - `prefix` string, nullable — The network prefix including prefix length in CIDR notation
  - `prefixLength` integer — Length of the prefix. Valid range is 8 to 31, and max usable value depends on prefix length of parent IP Block.
  - `status` 'Provisioning' | 'Ready' | 'Deleting' | 'Deleted' | 'Error' — Status values for VPC Prefix objects
  - `usageStats` IpBlockUsageStats — Usage statistics for an IP Block, VPC Prefix or Subnet
    - `availableIPs` integer — Total number of IP addresses in the block (acquired and unused)
    - `acquiredIPs` integer — Number of individual IP addresses acquired from the block
    - `availablePrefixes` string[] — Example prefixes available to acquire
    - `availableSmallestPrefixes` integer — Total number of /30 prefixes that can still be acquired from this block (only reduced if prefixes are acquired, not reduced by acquired IPs)
    - `acquiredPrefixes` integer — Total number of prefixes (of any size) acquired from this block
  - `statusHistory` StatusDetail[] — Details of 20 most recent status changes
    - `status` string — State of the associated entity at a particular time
    - `message` string, nullable — Description of the state and cause/remedy in case of error
    - `created` string, date-time — Date/time when the associated entity assumed the status
    - `updated` string, date-time — Date/time when the associated entity was last observed with this status
  - `created` string, date-time — Date and time when the VPC Prefix was created
  - `updated` string, date-time — Date and time when the VPC Prefix was updated

## Other responses

- `400` — Error response when request data cannot be validated
- `403` — Error response when user is not authorized to call an endpoint or retrieve/modify objects

---

[API](https://skmtc.net/nvidia/apis/nvidia-infra-controller-rest-api.md) · [All operations](https://skmtc.net/nvidia/apis/nvidia-infra-controller-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nvidia/nvidia-infra-controller-rest-api/revisions/4c29fe59bd4e/schema)
