- [HTTP request](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.PATH_PARAMETERS)
- [Query parameters](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.QUERY_PARAMETERS)
- [Request body](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.request_body)
- [Response body](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.response_body)
  - [JSON representation](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.ListLocationsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.aspect)
- [IAM Permissions](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.aspect_1)
- [Try it!](https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#try-it)

Lists information about the supported locations for this service.

This method lists locations based on the resource scope provided in the `https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#body.PATH_PARAMETERS.name` field:

- **Global locations** : If `name` is empty, the method lists the public locations available to all projects.
- **Project-specific locations** : If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project.

For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

### HTTP request

`GET https://devicerun.googleapis.com/v1alpha/{name=projects/*}/locations`

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

### Path parameters

| Parameters ||
|---|---|
| `name` | `string` The resource that owns the locations collection, if applicable. It takes the form `projects/{project}`. |

### Query parameters

| Parameters ||
|---|---|
| `filter` | `string` A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). |
| `pageSize` | `integer` The maximum number of results to return. If not set, the service selects a default. |
| `pageToken` | `string` A page token received from the `nextPageToken` field in the response. Send that page token to receive the subsequent page. |
| `extraLocationTypes[]` | `string` Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. |

### Request body

The request body must be empty.

### Response body

The response message for `https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations/list#google.cloud.location.Locations.ListLocations`.

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

| JSON representation |
|---|
| ``` { "locations": [ { object (`https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations#Location`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `locations[]` | ``object (`https://docs.cloud.google.com/developer-device-platform/reference/device-run/rest/v1alpha/projects.locations#Location`)`` A list of locations that matches the specified filter in the request. |
| `nextPageToken` | `string` The standard List next-page token. |

### Authorization scopes

Requires the following OAuth scope:

- `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

Requires the following [IAM](https://docs.cloud.google.com/iam/docs) permission on the `name` resource:

- `devicerun.locations.list`

For more information, see the [IAM documentation](https://docs.cloud.google.com/iam/docs).