# List auto-forward rules

Source: https://docs.maylee.app/api-reference/auto-forward-rules/list-auto-forward-rules

`GET https://api.maylee.app/api/v1/auto-forward-rules`

Scope: `read`.

## Example request

```bash
curl -X GET "https://api.maylee.app/api/v1/auto-forward-rules" \
  -H "Authorization: Bearer $MAYLEE_KEY"
```

## Responses

### 200

Rules.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of AutoForwardRule | yes |  |
| `items[].conditionField` | string | yes | One of: `label`, `sender_contains`, `sender_equals`, `subject_contains`, `subject_equals`. |
| `items[].conditionValue` | string | yes | A label name when `conditionField` is `label`, otherwise the text to match, case-insensitively. |
| `items[].createdAt` | string (date-time) | yes |  |
| `items[].forwardTo` | string (email) | yes |  |
| `items[].id` | string | yes |  |
| `items[].isActive` | boolean | yes |  |
| `items[].mode` | string | yes | `normal` forwards with the usual `Fwd:` subject and quoted body. `invisible` sends the original as is, with `Reply-To` set to the original sender. One of: `normal`, `invisible`. |
| `items[].updatedAt` | string (date-time) | yes |  |

```json
{
  "items": [
    {
      "conditionField": "label",
      "conditionValue": "Invoices",
      "createdAt": "2026-08-01T09:00:00.000Z",
      "forwardTo": "accounting@your-company.com",
      "id": "cmaf1a2b3c4d5e6f7g8h9i0j",
      "isActive": true,
      "mode": "normal",
      "updatedAt": "2026-08-01T09:00:00.000Z"
    }
  ]
}
```

### 401

Missing, malformed, revoked or expired API key.

### 403

Key lacks the required scope, or outbound sending is not enabled on it.

### 429

Per-minute rate limit (`RATE_LIMIT_EXCEEDED`) or monthly quota (`QUOTA_EXCEEDED`) exhausted.

Errors use the format `{ "code", "error", "details" }`: see [Errors](/errors.md).
