---
title: "Create a VPC in a cloud for the project"
method: POST
path: "/project/{project}/vpcs"
tags: ["Project"]
---

# Create a VPC in a cloud for the project

`POST /project/{project}/vpcs`

## Path parameters

- `project` string, required

## Request body

- VpcCreateRequestBody — VpcCreateRequestBody
  - `cloud_name` string, required — Target cloud
  - `network_cidr` string, required — IPv4 network range CIDR
  - `peering_connections` object[], required — List of peering connection requests for the VPC
    - `peer_azure_app_id` string — Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
    - `peer_azure_tenant_id` string — Azure tenant id in UUID4 form
    - `peer_cloud_account` string, required — AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections
    - `peer_region` string — The peer VPC's region on AWS. May be omitted or set to null if the peer is in the same region as the Aiven project VPC. Omit or set to null on GCP, Azure, or UpCloud.
    - `peer_resource_group` string — Azure resource group name of the peered VPC
    - `peer_vpc` string, required — AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
    - `user_peer_network_cidrs` string[] — List of private IPv4 ranges to route through the peering connection

## Response `200`

Response

- VpcCreateResponse — VpcCreateResponse
  - `cloud_name` string, required — Target cloud
  - `create_time` string, required — VPC creation timestamp
  - `errors` object[] — List of errors occurred during request processing
    - `message` string, required — Printable error message
    - `more_info` string — URL to the documentation of the error
    - `status` integer, required — HTTP error status code
  - `message` string — Printable result of the request
  - `network_cidr` string, required — IPv4 network range CIDR
  - `peering_connections` object[], required — List of peering connections
    - `create_time` string, required — VPC peering connection creation timestamp
    - `peer_azure_app_id` string, required — Azure app registration id in UUID4 form that is allowed to create a peering to the peer vnet
    - `peer_azure_tenant_id` string, required — Azure tenant id in UUID4 form
    - `peer_cloud_account` string, required — AWS account ID, GCP project ID, Azure subscription ID of the peered VPC, or string &quot;upcloud&quot; for UpCloud peering connections
    - `peer_region` string — The peer VPC's region in AWS clouds. Always null in GCP, Azure, or UpCloud clouds
    - `peer_resource_group` string, required — Azure resource group name of the peered VPC
    - `peer_vpc` string, required — AWS VPC ID, GCP VPC network name, Azure Virtual network name of the peered VPC, or UpCloud VPC ID
    - `peering_connection_id` string — VPC peering connection ID
    - `state` 'ACTIVE' | 'APPROVED' | 'APPROVED_PEER_REQUESTED' | 'DELETED' | 'DELETED_BY_PEER' | 'DELETING' | 'ERROR' | 'INVALID_SPECIFICATION' | 'PENDING_PEER' | 'REJECTED_BY_PEER', required — Project VPC peering connection state
    - `state_info` object, required — State-specific help or error information
      - `message` string, required — Human-readable information message
      - `type` string, required — Type of state information
      - `warnings` object[] — List of warnings if any
        - `conflicting_aws_account_id` string — AWS account id of conflicting VPC
        - `conflicting_aws_vpc_id` string — VPC id which is conflicting with the current one
        - `conflicting_aws_vpc_peering_connection_id` string — AWS VPC connection id which is conflicting with current VPC
        - `message` string, required — Warning message to be shown to the user
        - `type` 'overlapping-peer-vpc-ip-ranges' | 'upcloud-peering-in-error', required — Type of warning
    - `update_time` string, required — Timestamp of last change to the VPC peering connection
    - `user_peer_network_cidrs` string[], required — List of private IPv4 ranges to route through the peering connection
    - `vpc_peering_connection_type` 'aws-tgw-vpc-attachment' | 'aws-vpc-peering-connection' | 'azure-vnet-peering' | 'do-vpc-peering' | 'google-vpc-peering' | 'upcloud-vpc-peering', required — Type of network connection from the VPC
  - `pending_build_only_peering_connections` string — VPC rebuild is scheduled
  - `project_vpc_id` string, required — Project VPC ID
  - `state` 'ACTIVE' | 'APPROVED' | 'DELETED' | 'DELETING', required — Project VPC state
  - `update_time` string, required — Timestamp of last change to VPC

---

[API](https://skmtc.net/aiven/apis/aiven-api-documentation.md) · [All operations](https://skmtc.net/aiven/apis/aiven-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aiven/aiven-api-documentation/versions/ecaeabf1da31/schema)
