# List emails

> Lists emails, newest first. Paginate with before (an email id). Always pass limit (1–100).

Source: https://docs.pidgely.com/api-reference/v1/emails/list/

`GET https://api.pidgely.com/v1/emails`

Lists emails, newest first. Paginate with `before` (an email id). Always pass `limit` (1–100).

**Authorization:** `Bearer pdg_…`. An API key with the `full` scope.

## Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | integer | No | — |
| `before` | string | No | UUID. |

## Request

```bash tab="cURL"
curl -X GET 'https://api.pidgely.com/v1/emails?limit=20' \
  -H "Authorization: Bearer $PIDGELY_API_KEY"
```

## Response

`200 OK` with a JSON object.

## Errors

Native routes return `{"error": {"code", "message", "field", "request_id"}}`. See [Errors](https://docs.pidgely.com/errors/#native-api-errors).

| Status | Code | When |
|---|---|---|
| 401 | `missing_api_key` | No `Authorization: Bearer` header. |
| 403 | `invalid_api_key`, `insufficient_scope` | The key is invalid or lacks the scope. |
| 404 | `not_found` | The resource does not exist in this account. |
| 422 | `validation_error` | A field is missing or invalid; `field` names it. |
| 429 | `rate_limited`, `daily_quota_exceeded` | Too many requests, or the quota is used up. |
