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

# Create VPC peering

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

Create a VPC peering between two VPCs on the same site.

Tenant Admin can create single-tenant peerings (both VPCs belong to their tenant).
Provider Admin can create multi-tenant peerings (VPCs from different tenants).

User must have authorization role with `TENANT_ADMIN` or `PROVIDER_ADMIN` suffix.

## Request body

- VpcPeeringCreateRequest — Request data to create a VPC peering between two VPCs, the ordering of VPCs is not important
  - `vpc1Id` string, uuid, required — ID of the first VPC in the peering
  - `vpc2Id` string, uuid, required — ID of the second VPC to peer with
  - `siteId` string, uuid, required — ID of the Site where the peering exists

## Response `201`

Created

- VpcPeering — VPC peering connection between two VPCs on the same site
  - `id` string, uuid — Unique identifier of the VPC peering
  - `vpc1Id` string, uuid — ID of the first VPC in the peering
  - `vpc1` VpcPeeringVpcSummary — Summarizes a VPC in context of a VPC Peering
    - `id` string, uuid — ID of the VPC
    - `name` string — Name of the VPC
    - `tenantId` string, uuid — ID of the tenant
    - `tenant` VpcPeeringTenantSummary — Summarizes a Tenant in context of a VPC Peering
      - `id` string, uuid — ID of the Tenant
      - `org` string — Name of the org this tenant belongs to
      - `orgDisplayName` string, nullable — Display name of the org the Tenant belongs to
    - `networkVirtualizationType` 'ETHERNET_VIRTUALIZER' | 'FNN' | 'FLAT', nullable — Network virtualization type of the VPC
    - `status` 'Pending' | 'Provisioning' | 'Ready' | 'Configuring' | 'Deleting' | 'Error' — Status values for VPC objects
  - `vpc2Id` string, uuid — ID of the second VPC in the peering
  - `vpc2` VpcPeeringVpcSummary — Summarizes a VPC in context of a VPC Peering
    - `id` string, uuid — ID of the VPC
    - `name` string — Name of the VPC
    - `tenantId` string, uuid — ID of the tenant
    - `tenant` VpcPeeringTenantSummary — Summarizes a Tenant in context of a VPC Peering
      - `id` string, uuid — ID of the Tenant
      - `org` string — Name of the org this tenant belongs to
      - `orgDisplayName` string, nullable — Display name of the org the Tenant belongs to
    - `networkVirtualizationType` 'ETHERNET_VIRTUALIZER' | 'FNN' | 'FLAT', nullable — Network virtualization type of the VPC
    - `status` 'Pending' | 'Provisioning' | 'Ready' | 'Configuring' | 'Deleting' | 'Error' — Status values for VPC objects
  - `siteId` string, uuid — ID of the Site where the peering exists
  - `site` SiteSummary — SiteSummary contains a subset of data for Site object, used when nesting in other objects
    - `id` string, uuid — Unique UUID v4 identifier for the Site
    - `name` string — Name of the Site
    - `infrastructureProviderId` string, uuid — ID of the Infrastructure Provider that owns the Site
    - `isSerialConsoleEnabled` boolean — Indicates if Serial Console is enabled for the Site by the Provider
    - `isOnline` boolean — Indicates if the Site is currently reachable from Cloud
    - `capabilities` SiteCapabilities — Boolean flags to indicate features supported by a Site
      - `nativeNetworking` boolean — Whether the Site supports native networking
      - `networkSecurityGroup` boolean — Whether the Site supports Network Security Groups
      - `nvLinkPartition` boolean — Whether the Site supports NVLink partitioning
      - `flow` boolean — Whether the Site supports Flow-based operations
      - `imageBasedOperatingSystem` boolean — Whether the Site supports image-based operating system provisioning
    - `status` 'Pending' | 'Registered' | 'Error' — Status values for Site objects
  - `tenantId` string, uuid — ID of the tenant that created the VPC peering.
  - `tenant` TenantSummary — Summarizes a Tenant
    - `org` string — Name of the org this tenant belongs to
    - `orgDisplayName` string, nullable — Display name of the org the Tenant belongs to
    - `capabilities` TenantCapabilities — TenantCapabilities defines the set of features enabled for Tenant
      - `targetedInstanceCreation` boolean — Indicates whether Tenant can create Instances by specifying Machine ID
  - `isMultiTenant` boolean — Indicates if this is a multi-tenant peering (VPCs from different tenants)
  - `status` 'Pending' | 'Configuring' | 'Requested' | 'Ready' | 'Deleting' | 'Error' — Status values for VPC peering objects
  - `created` string, date-time — Date and time when the VPC peering was created
  - `updated` string, date-time — Date and time when the VPC peering was last 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
- `404` — Error response when requested object is not found

## Changes

- **2026-06-29** `69a13b714988` — 5 info
  - added the optional property `site` to the response with the `201` status
  - added the optional property `tenant` to the response with the `201` status
  - added the optional property `tenantId` to the response with the `201` status
  - added the optional property `vpc1` to the response with the `201` status
  - …1 more

[Change history](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/changes/v2/org/:org/nico/vpc-peering/post.md)

---

[API](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api.md) · [All operations](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nvidia/apis/nvidia-infra-controller-rest-api/revisions/3e4af06d1289?raw)
