- [HTTP request](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.PATH_PARAMETERS)
- [Request body](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.request_body)
- [Response body](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.response_body)
  - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.NetworkEndpointGroup.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.aspect)
- [IAM Permissions](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#body.aspect_1)
- [Try it!](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/get#try-it)

Returns the specified network endpoint group.

### HTTP request

Choose an endpoint:
global africa-south1 asia-east1 asia-east2 asia-northeast1 asia-northeast2 asia-northeast3 asia-south1 asia-south2 asia-southeast1 asia-southeast2 asia-southeast3 australia-southeast1 australia-southeast2 europe-central2 europe-north1 europe-north2 europe-southwest1 europe-west1 europe-west10 europe-west12 europe-west2 europe-west3 europe-west4 europe-west6 europe-west8 europe-west9 me-central1 me-central2 me-west1 northamerica-northeast1 northamerica-northeast2 northamerica-south1 southamerica-east1 southamerica-west1 us-central1 us-east1 us-east4 us-east5 us-south1 us-west1 us-west2 us-west3 us-west4   
`GET https://compute.googleapis.com/compute/beta/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}`

<br />

The URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `project` | `string` Project ID for this request. |
| `zone` | `string` The name of the [zone](https://docs.cloud.google.com/compute/docs/regions-zones#available) where the network endpoint group is located. It should comply with RFC1035. |
| `networkEndpointGroup` | `string` The name of the network endpoint group. It should comply with RFC1035. |

### Request body

The request body must be empty.

### Response body

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, see [Network endpoint groups overview](https://docs.cloud.google.com/load-balancing/docs/negs).

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](https://docs.cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups/insert)
- To manage NEGs with regional scope (such as regional internet NEGs, serverless NEGs, Private Service Connect NEGs): [regional API](https://docs.cloud.google.com/compute/docs/reference/rest/beta/regionNetworkEndpointGroups/insert)
- To manage NEGs with global scope (such as global internet NEGs): [global API](https://docs.cloud.google.com/compute/docs/reference/rest/beta/globalNetworkEndpointGroups/insert)

<br />

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "kind": string, "id": string, "creationTimestamp": string, "selfLink": string, "name": string, "description": string, "networkEndpointType": enum, "size": integer, "loadBalancer": { "zone": string, "network": string, "subnetwork": string, "defaultPort": integer }, "region": string, "zone": string, "network": string, "subnetwork": string, "defaultPort": integer, "annotations": { string: string, ... }, "cloudRun": { "service": string, "tag": string, "urlMask": string }, "appEngine": { "service": string, "version": string, "urlMask": string }, "cloudFunction": { "function": string, "urlMask": string }, "serverlessDeployment": { "platform": string, "resource": string, "version": string, "urlMask": string }, "pscTargetService": string, "pscData": { "consumerPscAddress": string, "pscConnectionId": string, "pscConnectionStatus": enum, "producerPort": integer } } ``` |

| Fields ||
|---|---|
| `kind` | `string` Output only. Type of the resource. Always `compute#networkEndpointGroup` for network endpoint group. |
| `id` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The unique identifier for the resource. This identifier is defined by the server. |
| `creationTimestamp` | `string` Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| `selfLink` | `string` Output only. Server-defined URL for the resource. |
| `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 with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). 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. |
| `description` | `string` An optional description of this resource. Provide this property when you create the resource. |
| `networkEndpointType` | `enum` Type of network endpoints in this network endpoint group. Can be one of `GCE_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. Number of network endpoints in the network endpoint group. |
| `loadBalancer (deprecated)` | `object` > [!WARNING] > This item is deprecated! This field is only valid when the network endpoint group is used for load balancing. \[Deprecated\] This field is deprecated. |
| `loadBalancer (deprecated).zone (deprecated)` | `string` Output only. The URL of the [zone](https://docs.cloud.google.com/compute/docs/regions-zones#available) where the network endpoint group is located. \[Deprecated\] This field is deprecated. |
| `loadBalancer (deprecated).network (deprecated)` | `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 to `SERVERLESS` or `PRIVATE_SERVICE_CONNECT` and for global NEGs. For all other network endpoint types, this field is required. \[Deprecated\] This field is deprecated. |
| `loadBalancer (deprecated).subnetwork (deprecated)` | `string` Optional URL of the subnetwork to which all network endpoints in the NEG belong. \[Deprecated\] This field is deprecated. |
| `loadBalancer (deprecated).defaultPort (deprecated)` | `integer` The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either `GCE_VM_IP`, `SERVERLESS` or `PRIVATE_SERVICE_CONNECT`, this field must not be specified. \[Deprecated\] This field is deprecated. |
| `region` | `string` Output only. The URL of the [region](https://docs.cloud.google.com/compute/docs/regions-zones#available) where the network endpoint group is located. |
| `zone` | `string` Output only. The URL of the [zone](https://docs.cloud.google.com/compute/docs/regions-zones#available) where the network endpoint group is located. |
| `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 to `SERVERLESS` or `PRIVATE_SERVICE_CONNECT` and for global NEGs. For all other network endpoint types, this field is required. |
| `subnetwork` | `string` Optional URL of the subnetwork to which all network endpoints in the NEG belong. |
| `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. |
| `annotations` | `map (key: string, value: string)` Optional. Metadata defined as annotations on the network endpoint group. |
| `cloudRun` | `object` Optional. Only valid when `networkEndpointType` is ``` SERVERLESS``. Only one of `cloudRun`, `appEngine` or `cloudFunction` may be set.`` ``` `` ` ` `` |
| `cloudRun.service` | `string` [Cloud Run service](https://docs.cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts#backend-service) is the main resource of Cloud Run. The `service` must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Example value: "run-service". |
| `cloudRun.tag` | `string` Optional [Cloud Run tag](https://docs.cloud.google.com/load-balancing/docs/tags) represents the "named-revision" to provide additional fine-grained traffic routing information. The `tag` must be 1-63 characters long, and comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt). Example value: "revision-0010". |
| `cloudRun.urlMask` | `string` An [URL mask](https://docs.cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts#url_masks) 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` and `foo1.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. |
| `appEngine` | `object` Optional. Only valid when `networkEndpointType` is `SERVERLESS`. Only one of `cloudRun`, `appEngine` or `cloudFunction` may be set. |
| `appEngine.service` | `string` Optional serving [service](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services). The `service` name is case-sensitive and must be 1-63 characters long. Example value: `default`, `my-service`. |
| `appEngine.version` | `string` Optional serving [version](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions). The `version` name is case-sensitive and must be 1-100 characters long. Example value: `v1`, `v2`. |
| `appEngine.urlMask` | `string` An [URL mask](https://docs.cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts#url_masks) 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 URLs `foo1-dot-appname.appspot.com/v1` and `foo1-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. |
| `cloudFunction` | `object` Optional. Only valid when `networkEndpointType` is `SERVERLESS`. Only one of `cloudRun`, `appEngine` or `cloudFunction` may be set. |
| `cloudFunction.function` | `string` A user-defined name of the [Cloud Function](https://docs.cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions). The `function` name is case-sensitive and must be 1-63 characters long. Example value: `func1`. |
| `cloudFunction.urlMask` | `string` An [URL mask](https://docs.cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts#url_masks) 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` and `mydomain.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. |
| `serverlessDeployment` | `object` Only valid when `networkEndpointType` is `SERVERLESS`. Only one of `cloudRun`, `appEngine`, `cloudFunction` or `serverlessDeployment` may be set. |
| `serverlessDeployment.platform` | `string` The platform of the backend target(s) of this NEG. The only supported value is API Gateway: `apigateway.googleapis.com`. |
| `serverlessDeployment.resource` | `string` The user-defined name of the workload/instance. This value must be provided explicitly or in the `urlMask`. The resource identified by this value is platform-specific and is as follows: 1. API Gateway: The `gateway` ID 2. App Engine: The `service` name 3. Cloud Functions: The `function` name 4. Cloud Run: The `service` name |
| `serverlessDeployment.version` | `string` The optional resource version. The version identified by this value is platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag |
| `serverlessDeployment.urlMask` | `string` An [URL mask](https://docs.cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts#url_masks) is one of the main components of the Cloud Function. A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows: 1. API Gateway: The `gateway` ID 2. App Engine: The `service` and `version` 3. Cloud Functions: The `function` name 4. Cloud Run: The `service` and `tag` |
| `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` is `PRIVATE_SERVICE_CONNECT`. |
| `pscData` | `object` Optional. Only valid when `networkEndpointType` is `PRIVATE_SERVICE_CONNECT`. |
| `pscData.consumerPscAddress` | `string` 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. |
| `pscData.pscConnectionId` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The PSC connection id of the PSC Network Endpoint Group Consumer. |
| `pscData.pscConnectionStatus` | `enum` Output only. The connection status of the PSC Forwarding Rule. |
| `pscData.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 |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/compute.readonly`
- `
  https://www.googleapis.com/auth/compute`
- `
  https://www.googleapis.com/auth/cloud-platform`

For more information, see the [Authentication Overview](https://docs.cloud.google.com/docs/authentication#authorization-gcp).

### IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the following [IAM](https://cloud.google.com/iam/docs/) permissions:

- `compute.networkEndpointGroups.get`

To find predefined roles that contain those permissions, see [Compute Engine IAM Roles](https://docs.cloud.google.com/compute/docs/access/iam).