# TypeProviders: listTypes

> [!NOTE]
> **Note:** Requires [authorization](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/typeProviders/listTypes#auth).

Lists all the type info for a TypeProvider.
[Try it now](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/typeProviders/listTypes#try-it).

## Request

### HTTP request

```
GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project/global/typeProviders/typeProvider/types
```

### Parameters

| Parameter name | Value | Description |
|---|---|---|
| **Path parameters** |||
| `project` | `string` | The project ID for this request. |
| `typeProvider` | `string` | The name of the type provider for this request. |
| **Optional query parameters** |||
| `filter` | `string` | A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either \`=\`, \`!=\`, \`\>\`, or \`\<\`. <br /> For example, if you are filtering Compute Engine instances, you can exclude instances named \`example-instance\` by specifying \`name != example-instance\`. <br /> You can also filter nested fields. For example, you could specify \`scheduling.automaticRestart = false\` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on [resource labels](https://docs.cloud.google.com/compute/docs/labeling-resources). <br /> To filter on multiple expressions, provide each separate expression within parentheses. For example: \`\`\` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") \`\`\` By default, each expression is an \`AND\` expression. However, you can include \`AND\` and \`OR\` expressions explicitly. For example: \`\`\` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) \`\`\` |
| `maxResults` | `unsigned integer` | The maximum number of results per page that should be returned. If the number of available results is larger than \`maxResults\`, Compute Engine returns a \`nextPageToken\` that can be used to get the next page of results in subsequent list requests. Acceptable values are \`0\` to \`500\`, inclusive. (Default: \`500\`) |
| `orderBy` | `string` | Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. <br /> You can also sort results in descending order based on the creation timestamp using \`orderBy="creationTimestamp desc"\`. This sorts results based on the \`creationTimestamp\` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. <br /> Currently, only sorting by \`name\` or \`creationTimestamp desc\` is supported. |
| `pageToken` | `string` | Specifies a page token to use. Set \`pageToken\` to the \`nextPageToken\` returned by a previous list request to get the next page of results. |

### Authorization

This request requires authorization with at least one of the following scopes:

| Scope |
|---|
| `https://www.googleapis.com/auth/cloud-platform.read-only` |
| `https://www.googleapis.com/auth/ndev.cloudman.readonly` |
| `https://www.googleapis.com/auth/cloud-platform` |
| `https://www.googleapis.com/auth/ndev.cloudman` |

### Request body

Do not supply a request body with this method.

## Response

If successful, this method returns a response body with the following structure:

```
{
  "types": [
    {
      "name": string,
      "title": string,
      "description": string,
      "documentationLink": string,
      "schema": {
        "input": string,
        "output": string
      },
      "kind": string,
      "selfLink": string
    }
  ],
  "nextPageToken": string
}
```

| Property name | Value | Description | Notes |
|---|---|---|---|
| `types[]` | `list` | Output only. A list of resource type info. |   |
| `types[].name` | `string` | The base type or composite type name. |   |
| `types[].title` | `string` | The title on the API descriptor URL provided. |   |
| `types[].description` | `string` | The description of the type. |   |
| `types[].documentationLink` | `string` | For swagger 2.0 [externalDocs](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/typeProviders/\"http:/swagger.io/specification#swaggerExternalDocs\") field will be used. For swagger 1.2 this field will be empty. |   |
| `types[].schema` | `nested object` | For base types with a collection, we return a schema and documentation link For template types, we return only a schema |   |
| `types[].schema.input` | `string` | The properties that this composite type or base type collection accept as input, represented as a json blob, format is: [JSON Schema Draft V4](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/typeProviders/\"http:/json-schema.org/documentation.html\") |   |
| `types[].schema.output` | `string` | The properties that this composite type or base type collection exposes as output, these properties can be used for references, represented as json blob, format is: [JSON Schema Draft V4](https://docs.cloud.google.com/deployment-manager/docs/reference/v2beta/typeProviders/\"http:/json-schema.org/documentation.html\") |   |
| `types[].kind` | `string` | Output only. Type of the output. Always \`deploymentManager#TypeInfo\` for TypeInfo. |   |
| `types[].selfLink` | `string` | Output only. Self link for the type provider. |   |
| `nextPageToken` | `string` | A token used to continue a truncated list request. |   |

## Try it!


Use the APIs Explorer below to call this method on live data and see the response.