---
title: "List request logs"
description: "Your workspace's API request log, newest first and cursor-paginated: each call's method, path, status, time taken, the API key that made it and its x-request-id (quote it to support). `GET /api/v1/logs`"
url: https://www.unitpost.com/docs/platform/get-logs
section: "Platform API reference"
updated: 2026-10-13
---
# List request logs

`GET /api/v1/logs`

Your workspace's API request log, newest first and cursor-paginated: each call's method, path, status, time taken, the API key that made it and its `x-request-id` (quote it to support). Never the caller's IP and never a body. Narrow with `status` (a code, or a class such as `4xx`), `api_key_id`, `method`, `path_prefix` (e.g. `/email`), `request_id` and a `created_after` / `created_before` range. Rows are kept 30 days. Needs `apikeys:read`, which no key preset includes, and has its own per-workspace rate limit. Requires the `apikeys:read` capability.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no | Max rows to return (default 20, max 100). |
| `after` | query | string | no | Return rows after this id (forward paging). |
| `before` | query | string | no | Return rows before this id (backward paging). |
| `status` | query | string | no | A status code (e.g. `429`) or a class: `2xx`, `3xx`, `4xx`, `5xx`. |
| `api_key_id` | query | string | no | Only one API key's calls (`key_…`). |
| `method` | query | string | no | Only one HTTP method. One of: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`. |
| `path_prefix` | query | string | no | Only paths under this one, as in this reference (e.g. `/email/campaigns`): whole path segments, matched literally (`/email` matches `/email` and `/email/campaigns`, not `/emails`). It can't name an email address or a phone number (paths show them as `{email}` / `{phone}`). |
| `request_id` | query | string | no | One call, by the `x-request-id` its response carried. Searches the last 24 hours unless `created_after` is given. |
| `created_after` | query | string | no | Calls at or after this time (ISO 8601 with a zone). |
| `created_before` | query | string | no | Calls before this time (ISO 8601 with a zone). |

## Response fields (200)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | — |
| `id` | string | yes | The log row (`rlog_…`); page with it as `after` / `before`. |
| `request_id` | string \| null | yes | The `x-request-id` the response carried: quote it to support. |
| `method` | string | yes | — |
| `path` | string | yes | The path called, without the host and `/api/v1` (e.g. `/email/email_…`); no query string. An email address or phone number in it reads `{email}` / `{phone}`. |
| `status` | integer | yes | The HTTP status answered. |
| `duration_ms` | integer \| null | yes | How long the request took to answer. |
| `api_key_id` | string \| null | yes | The API key that called (`key_…`); null for an MCP or CLI sign-in, or a key since deleted. |
| `user_agent` | string \| null | yes | — |
| `created_at` | string | yes | — |

## Responses

| Status | Description |
| --- | --- |
| 200 | A page of request logs. |
| 401 | Missing or invalid API key. |
| 403 | Insufficient scope (`apikeys:read`). |
| 422 | Invalid pagination or filter params, a parameter given twice, or an unknown query parameter. |
| 429 | Too many log reads: wait for `Retry-After`. |
| 503 | `operation_timed_out`: a narrow filter took too long. Add a time range, or retry. |

## Example request

```bash
curl -X GET 'https://www.unitpost.com/api/v1/logs' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
```

## Example response (200)

```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "request_log",
      "id": "id_123",
      "request_id": "request_123",
      "method": "string",
      "path": "string",
      "status": 0,
      "duration_ms": 0,
      "api_key_id": "api_key_123",
      "user_agent": "string",
      "created_at": "2026-01-01T00:00:00.000Z"
    }
  ]
}
```

## Links

- HTML reference (with Node.js, Python, Ruby, PHP, Laravel, Go, Java, Rust, .NET and CLI examples): https://www.unitpost.com/docs/platform/get-logs
- OpenAPI 3.1 (full schemas): https://www.unitpost.com/api/v1/openapi.json
