---
title: "POST /projects/{project}/zones/{zone}/networkEndpointGroups"
method: POST
path: "/projects/{project}/zones/{zone}/networkEndpointGroups"
tags: ["networkEndpointGroups"]
---

# POST /projects/{project}/zones/{zone}/networkEndpointGroups

`POST /projects/{project}/zones/{zone}/networkEndpointGroups`

Creates a network endpoint group in the specified project using the
parameters that are included in the request.

Note: Use the following APIs to manage network endpoint groups:
   
   - 
   To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity
   NEGs): zonal
   API
   - 
   To manage NEGs with regional scope (such as regional internet NEGs,
   serverless NEGs, Private Service Connect NEGs): regional
   API
   - 
   To manage NEGs with global scope (such as global internet NEGs):global
   API

## Path parameters

- `project` string, required
- `zone` string, required

## Query parameters

- `requestId` string

## Request body

- NetworkEndpointGroup — Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, seeNetwork endpoint groups overview. Note: Use the following APIs to manage network endpoint groups: - To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity NEGs): zonal API - To manage NEGs with regional scope (such as regional internet NEGs, serverless NEGs, Private Service Connect NEGs): regional API - To manage NEGs with global scope (such as global internet NEGs):global API
  - `description` string — An optional description of this resource. Provide this property when you create the resource.
  - `region` string — Output only. [Output Only] The URL of theregion where the network endpoint group is located.
  - `defaultPort` integer — The default port used if the port number is not specified in the network endpoint. Optional. If the network endpoint type is either GCE_VM_IP,SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.
  - `cloudFunction` NetworkEndpointGroupCloudFunction — Configuration for a Cloud Function network endpoint group (NEG). The function must be provided explicitly or in the URL mask. Note: Cloud Function must be in the same project and located in the same region as the Serverless NEG.
    - `function` string — A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: func1.
    - `urlMask` string — An URL mask is one of the main components of the Cloud Function. A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs mydomain.com/function1 andmydomain.com/function2 can be backed by the same Serverless NEG with URL mask /<function>. The URL mask will parse them to { function = "function1" } and{ function = "function2" } respectively.
  - `creationTimestamp` string — Output only. [Output Only] Creation timestamp inRFC3339 text format.
  - `name` string — Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
  - `networkEndpointType` 'GCE_VM_IP' | 'GCE_VM_IP_PORT' | 'GCE_VM_IP_PORTMAP' | 'INTERNET_FQDN_PORT' | 'INTERNET_IP_PORT' | 'NON_GCP_PRIVATE_IP_PORT' | 'PRIVATE_SERVICE_CONNECT' | 'SERVERLESS' — Type of network endpoints in this network endpoint group. Can be one ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.
  - `size` integer — Output only. [Output only] Number of network endpoints in the network endpoint group.
  - `kind` string — Output only. [Output Only] Type of the resource. Alwayscompute#networkEndpointGroup for network endpoint group.
  - `cloudRun` NetworkEndpointGroupCloudRun — Configuration for a Cloud Run network endpoint group (NEG). The service must be provided explicitly or in the URL mask. The tag is optional, may be provided explicitly or in the URL mask. Note: Cloud Run service must be in the same project and located in the same region as the Serverless NEG.
    - `urlMask` string — An URL mask is one of the main components of the Cloud Function. A template to parse <service> and<tag> fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs foo1.domain.com/bar1 andfoo1.domain.com/bar2 can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask<tag>.domain.com/<service>. The URL mask will parse them to { service="bar1", tag="foo1" } and { service="bar2", tag="foo2" } respectively.
    - `service` string — Cloud Run service is the main resource of Cloud Run. The service must be 1-63 characters long, and comply withRFC1035. Example value: "run-service".
    - `tag` string — Optional Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information. The tag must be 1-63 characters long, and comply withRFC1035. Example value: "revision-0010".
  - `network` string — The URL of the network to which all network endpoints in the NEG belong. For networkEndpointType GCE_VM_IP_PORT,GCE_VM_IP_PORTMAP or NON_GCP_PRIVATE_IP_PORT, if this field is not specified, a default network will be used. This field cannot be set for NEGs with networkEndpointType set toSERVERLESS or PRIVATE_SERVICE_CONNECT and for global NEGs. For all other network endpoint types, this field is required.
  - `id` string, uint64 — Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server.
  - `pscData` NetworkEndpointGroupPscData — All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.
    - `pscConnectionId` string, uint64 — Output only. [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
    - `pscConnectionStatus` 'ACCEPTED' | 'CLOSED' | 'NEEDS_ATTENTION' | 'PENDING' | 'REJECTED' | 'STATUS_UNSPECIFIED' — Output only. [Output Only] The connection status of the PSC Forwarding Rule.
    - `consumerPscAddress` string — Output only. [Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.
    - `producerPort` integer — The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
  - `zone` string — Output only. [Output Only] The URL of thezone where the network endpoint group is located.
  - `appEngine` NetworkEndpointGroupAppEngine — Configuration for an App Engine network endpoint group (NEG). The service is optional, may be provided explicitly or in the URL mask. The version is optional and can only be provided explicitly or in the URL mask when service is present. Note: App Engine service must be in the same project and located in the same region as the Serverless NEG.
    - `urlMask` string — An URL mask is one of the main components of the Cloud Function. A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLsfoo1-dot-appname.appspot.com/v1 andfoo1-dot-appname.appspot.com/v2 can be backed by the same Serverless NEG with URL mask<service>-dot-appname.appspot.com/<version>. The URL mask will parse them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively.
    - `service` string — Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: default, my-service.
    - `version` string — Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: v1, v2.
  - `pscTargetService` string — The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com. Optional. Only valid when networkEndpointType isPRIVATE_SERVICE_CONNECT.
  - `subnetwork` string — Optional URL of the subnetwork to which all network endpoints in the NEG belong.
  - `annotations` object — Optional. Metadata defined as annotations on the network endpoint group.
  - `selfLink` string — Output only. [Output Only] Server-defined URL for the resource.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/compute.md) · [All operations](https://skmtc.net/google/apis/compute/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/compute/versions/6120ed8969d4/schema)
