# List your email addresses

> Your email addresses: each one's email, whether it is verified (confirmed), primary or the backup, and when it was added and confirmed.

<div class="g1t-endpoint"><span class="g1t-method" data-method="get">GET</span><code>/user/emails</code></div>

Also whether you keep your address private (`private_email`), your `noreply` address, and `commit_email`, the address on commits g1t makes for you. People only: an agent's or a workspace's token cannot read or change addresses.

Your primary address comes first, then confirmed addresses, then unconfirmed ones. Any confirmed address signs you in, can reset your password and attributes commits to you. See [Email addresses](/guides/authentication/#email-addresses).

- **Authentication:** Required. Send an [access token](/reference/api/#authentication) as `Authorization: Bearer`.
- **MCP tool:** [`account`](/reference/mcp/#account) with `action` `list_emails`, and the same inputs
- **Scope:** An access token needs [`account:read`](/guides/authentication/#scopes).

## Example request

```sh
curl https://api.g1t.sh/user/emails \
  -H "Authorization: Bearer $G1T_TOKEN"
```

## Example response

A successful request answers `200` with:

```json
{
  "emails": [
    {
      "email": "ada@example.com",
      "verified": true,
      "primary": true,
      "backup": false,
      "created_at": "2026-09-01T10:00:00.000Z",
      "verified_at": "2026-09-01T10:02:11.000Z"
    },
    {
      "email": "ada@acme.com",
      "verified": true,
      "primary": false,
      "backup": true,
      "created_at": "2026-10-02T09:30:00.000Z",
      "verified_at": "2026-10-02T09:31:40.000Z"
    },
    {
      "email": "ada.l@example.org",
      "verified": false,
      "primary": false,
      "backup": false,
      "created_at": "2026-10-05T14:12:03.000Z",
      "verified_at": null
    }
  ],
  "private_email": true,
  "block_private_pushes": false,
  "noreply": "6c1d0efg+ada@users.noreply.g1t.sh",
  "commit_email": "6c1d0efg+ada@users.noreply.g1t.sh",
  "limit": 10
}
```

## Errors

A failed request answers with one of these statuses and a body like `{"error": {"code": "not_found", "message": "Repository not found."}}`. See [errors](/reference/api/#errors).

| Status | Code | When |
| --- | --- | --- |
| 401 | `unauthenticated` | A token is required, or the one sent is not valid. |
| 403 | `forbidden` | The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | `not_found` | It does not exist, or you cannot see it. |
| 422 | `invalid` | The input is not valid. `message` says which field and why. |
