---
title: "List API request logs"
method: GET
path: "/logs"
tags: ["Logs"]
---

# List API request logs

`GET /logs`

Retrieve a paginated list of API request logs for debugging and monitoring.
Results are ordered by timestamp, newest first.

**Use cases:**
- Debug integration issues by reviewing recent requests
- Monitor error rates and response times
- Audit API usage patterns

**Filters:**
- `status` - Filter by success or error category
- `statusCode` - Filter by exact HTTP status code
- `endpoint` - Filter by endpoint name (e.g., `emails.send`)
- `credentialId` - Filter by API key
- `startDate`/`endDate` - Filter by date range

**Note:** Request and response bodies are only included when
retrieving a single log entry with `GET /logs/{requestId}`.

**Related endpoints:**
- `GET /logs/{requestId}` - Get full log details with request/response bodies

## Query parameters

- `page` integer
- `perPage` integer
- `requestId` string
- `status` 'success' | 'error'
- `statusCode` integer
- `endpoint` string
- `credentialId` string
- `startDate` string, date-time
- `endDate` string, date-time

## Response `200`

List of API request logs

- LogListResponse — Paginated list of API request logs
  - `data` LogEntry[], required — Array of log entries
    - `requestId` string, required — Unique request identifier
    - `timestamp` string, date-time, required — When the request was made (ISO 8601)
    - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', required — HTTP method
    - `path` string, required — Request path
    - `endpoint` string, required — Semantic endpoint name
    - `statusCode` integer, required — HTTP response status code
    - `durationMs` integer, required — Request duration in milliseconds
    - `error` object, nullable — Error details (null if request succeeded)
      - `code` string — Error code
      - `message` string, nullable — Error message
    - `context` object, required — Request context information
      - `ipAddress` string, nullable — Client IP address
      - `userAgent` string, nullable — User-Agent header
      - `idempotencyKey` string, nullable — Idempotency key if provided
      - `queryParams` object, nullable — Query parameters
    - `sdk` object, nullable — SDK information (null if not using an SDK)
      - `name` string — SDK name
      - `version` string, nullable — SDK version
    - `credential` object, required — API credential information
      - `id` string, required — Credential ID
      - `keyPrefix` string, nullable — API key prefix (first 8 characters)
    - `email` object, nullable — Email-specific data (for email endpoints)
      - `id` string — Email message identifier (token)
      - `recipientCount` integer, nullable — Number of recipients
    - `rateLimit` object, required — Rate limit state at time of request
      - `limited` boolean — Whether the request was rate limited
      - `limit` integer, nullable — Rate limit ceiling
      - `remaining` integer, nullable — Remaining requests in window
      - `reset` integer, nullable — Unix timestamp when limit resets
  - `page` integer, required — Current page number
  - `perPage` integer, required — Items per page
  - `total` integer, required — Total number of logs matching the query
  - `totalPages` integer, required — Total pages available
  - `meta` ApiMeta, required
    - `requestId` string, required — Unique request identifier for debugging and support

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.net/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arkhq-io/ark-email-api/revisions/98a90852ffca/schema)
