- [HTTP request](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.request_body)
- [Response body](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.response_body)
  - [JSON representation](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.ListThreadsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#body.aspect)
- [Try it!](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads/list#try-it)

Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).

### HTTP request

`GET https://gmail.googleapis.com/gmail/v1/users/{userId}/threads`

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

### Path parameters

| Parameters ||
|---|---|
| `userId` | `string` The user's email address. The special value `me` can be used to indicate the authenticated user. |

### Query parameters

| Parameters ||
|---|---|
| `maxResults` | `integer (https://developers.google.com/discovery/v1/type-format format)` Maximum number of threads to return. This field defaults to 100. The maximum allowed value for this field is 500. |
| `pageToken` | `string` Page token to retrieve a specific page of results in the list. |
| `q` | `string` Only return threads matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid:<somemsgid@example.com> is:unread"`. Parameter cannot be used when accessing the api using the gmail.metadata scope. |
| `labelIds[]` | `string` Only return threads with labels that match all of the specified label IDs. |
| `includeSpamTrash` | `boolean` Include threads from `SPAM` and `TRASH` in the results. |

### Request body

The request body must be empty.

### Response body

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

| JSON representation |
|---|
| ``` { "threads": [ { object (`https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads#Thread`) } ], "nextPageToken": string, "resultSizeEstimate": integer } ``` |

| Fields ||
|---|---|
| `threads[]` | ``object (`https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.threads#Thread`)`` List of threads. Note that each thread resource does not contain a list of `messages`. The list of `messages` for a given thread can be fetched using the [`threads.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/threads/get) method. |
| `nextPageToken` | `string` Page token to retrieve the next page of results in the list. |
| `resultSizeEstimate` | `integer (https://developers.google.com/discovery/v1/type-format format)` Estimated total number of results. |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://mail.google.com/`
- `
  https://www.googleapis.com/auth/gmail.modify`
- `
  https://www.googleapis.com/auth/gmail.readonly`
- `
  https://www.googleapis.com/auth/gmail.metadata`

For more information, see the [Authorization guide](https://developers.google.com/workspace/guides/configure-oauth-consent).