---
title: "Get Email Logs"
method: GET
path: "/v1/emails/{emailId}/logs"
tags: ["Emails"]
---

# Get Email Logs

`GET /v1/emails/{emailId}/logs`

Per-recipient send log for one generated email, cursor-paginated. Filter by status. Returns { emails, nextCursor, hasMore }. Individual rows are retained roughly 30 days. Requires the email:read scope.

## Path parameters

- `emailId` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `status` 'delivered' | 'opened' | 'clicked' | 'bounced' | 'complained' | 'suppressed' | 'sent'

## Response `200`

Email send log

- ApiResponseEmailLogs
  - `success` boolean, required
  - `data` object, nullable
    - `emails` EmailSendLog[]
      - `id` integer
      - `tracking_id` string
      - `domain` string
      - `from_email` string
      - `to_email` string
      - `subject` string, nullable
      - `status` string — sent, delivered, bounced, complained, or suppressed.
      - `opened_at` string, nullable
      - `clicked_at` string, nullable
      - `open_count` integer
      - `click_count` integer
      - `bounce_type` string, nullable
      - `complaint_type` string, nullable
      - `created_at` string
    - `nextCursor` string, nullable
    - `hasMore` boolean
  - `error` string, nullable

## Other responses

- `401` — Unauthorized
- `403` — Forbidden - Missing required permissions or access denied
- `404` — Resource not found

---

[API](https://skmtc.net/migma/apis/migma-ai-api-v1.md) · [All operations](https://skmtc.net/migma/apis/migma-ai-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/migma/migma-ai-api-v1/versions/3f3dba69574b/schema)
