Returns a service and its associated endpoints. Resolving a service is not considered an active developer method.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The name of the service to resolve.

Authorization requires the following IAM permission on the specified resource name:


Request body

The request body contains data with the following structure:

JSON representation
  "maxEndpoints": integer,
  "endpointFilter": string


Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100. If a value less than one is specified, the Default is used. If a value greater than the Maximum is specified, the Maximum is used.



Optional. The filter applied to the endpoints of the resolved service.

General filter string syntax: <field> <operator> <value> (<logical connector>)

  • <field> can be name, address, port, or annotations.<key> for map field
  • <operator> can be <, >, <=, >=, !=, =, :. Of which : means HAS, and is roughly the same as =
  • <value> must be the same data type as field
  • <logical connector> can be AND, OR, NOT

Examples of valid filters:

  • annotations.owner returns endpoints that have a annotation with the key owner, this is the same as annotations:owner
  • annotations.protocol=gRPC returns endpoints that have key/value protocol=gRPC
  • address= returns endpoints that have this address
  • port>8080 returns endpoints that have port number larger than 8080 * name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c returns endpoints that have name that is alphabetically later than the string, so "endpoint-e" is returned but "endpoint-a" is not * name=projects/my-project/locations/us-central1/namespaces/my-namespace/services/my-service/endpoints/ep-1 returns the endpoint that has an endpointId equal to ep-1
  • annotations.owner!=sd AND returns endpoints that have owner in annotation key but value is not sd AND have key/value foo=bar
  • returns an empty list. Note that endpoint doesn't have a field called "doesnotexist". Since the filter does not match any endpoint, it returns no results

For more information about filtering, see API Filtering.

Response body

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

The response message for LookupService.ResolveService.

JSON representation
  "service": {
    object (Service)

object (Service)

Authorization Scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.