# List the forwarding attempts of a rule

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

`GET https://api.maylee.app/api/v1/auto-forward-rules/{ruleId}/logs`

Scope: `read`.

The 50 most recent attempts, newest first, with the email that triggered each one. In-flight attempts are not listed.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ruleId` | path | string | yes |  |

## Example request

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

## Responses

### 200

Attempts.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | array of ForwardLog | yes |  |
| `items[].createdAt` | string (date-time) | yes |  |
| `items[].destination` | string (email) | yes |  |
| `items[].email` | object | yes |  |
| `items[].emailId` | string | yes |  |
| `items[].error` | string or null | yes |  |
| `items[].forwardedMessageId` | string or null | yes |  |
| `items[].id` | string | yes |  |
| `items[].mode` | string | yes | One of: `normal`, `invisible`. |
| `items[].status` | string | yes | One of: `sent`, `failed`. |

```json
{
  "items": [
    {
      "createdAt": "2026-08-26T08:15:12.000Z",
      "destination": "accounting@your-company.com",
      "email": {
        "date": "2026-08-26T08:15:02.000Z",
        "from": {
          "email": "billing@supplier.example",
          "name": "Supplier Billing"
        },
        "id": "cmemy2b3c4d5e6f7g8h9i0j1",
        "subject": "Invoice #2026-0142"
      },
      "emailId": "cmemy2b3c4d5e6f7g8h9i0j1",
      "error": null,
      "forwardedMessageId": "<20260826081512.4d5e6f@your-company.com>",
      "id": "cmfw1a2b3c4d5e6f7g8h9i0j",
      "mode": "normal",
      "status": "sent"
    }
  ]
}
```

### 401

Missing, malformed, revoked or expired API key.

### 403

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

### 404

Not found, or belongs to another workspace.

### 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).
