# Request logs tools

> MCP tools for Request logs: request_logs_list.

- `request_logs_list`: List API requests

## `request_logs_list`

**List API requests.** Operation [`request_logs.list`](https://ownrecord.io/docs/reference/request-logs-list.md) · Organization level · permission `webhooks:read` · risk tier `read` · since M13

Lists the API and MCP requests made to this organization in the last 7 days, newest first (spec §31.1): method,
path, status, latency, the key prefix, the request ID and the error code. Request and response bodies, headers
and IP addresses are never stored. Use it to find a failed call by its `Ownrecord-Request-Id`.

An organization-level request sees every entry; a brand request sees its brand's; an entity request its
brands' (calls made with organization- or entity-level credentials carry no brand and show only at the
organization level). Filter by `status` (`2xx`, `3xx`, `4xx`, `5xx`, or `errors` for 400 and above), `method`,
`requestId` or `operationId`. Paginate with `limit` (1–100, default 10) and `starting_after`.

Annotations: `readOnlyHint: true` · `destructiveHint: false` · `idempotentHint: true` · `openWorldHint: false`

### Arguments

| Argument         | Type                                                              | Required | Description                                                                        |
| ---------------- | ----------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------- |
| `limit`          | integer                                                           | no       | (1–100)                                                                            |
| `starting_after` | ID (`arl_…`)                                                      | no       | –                                                                                  |
| `status`         | one of `2xx`, `3xx`, `4xx`, `5xx`, `errors`                       | no       | –                                                                                  |
| `method`         | one of `GET`, `POST`, `PATCH`, `PUT`, `DELETE`, `HEAD`, `OPTIONS` | no       | –                                                                                  |
| `requestId`      | string                                                            | no       | (1–200 characters)                                                                 |
| `operationId`    | string                                                            | no       | (at most 200 characters)                                                           |
| `entity_id`      | ID (`ent_…`)                                                      | no       | Optional: act inside this legal entity (ent\_…) instead of the whole organization. |
| `brand_id`       | ID (`brd_…`)                                                      | no       | Optional: act inside this brand (brd\_…) instead of the whole organization.        |

- **Scope:** the whole organization, or one legal entity or brand of it with `entity_id` or `brand_id`.
- **Read-only:** changes nothing; `idempotency_key` is ignored.

### Errors

- [`validation_failed`](https://ownrecord.io/docs/reference/errors.md#validation_failed): A filter is invalid, or `starting_after` isn't an entry of this log.
- [`permission_denied`](https://ownrecord.io/docs/reference/errors.md#permission_denied): Your role can't read the developers area (webhooks and request logs).

### Example

**The latest failed calls**

Arguments:

```json
{
  "status": "errors",
  "limit": 2
}
```

Result `output`:

```json
{
  "object": "list",
  "data": [
    {
      "object": "request_log",
      "id": "arl_01m66t2tk1eyms4zmhf0nasy99",
      "method": "POST",
      "path": "/api/v1/customers",
      "status": 409,
      "latencyMs": 12,
      "requestId": "req_9e2c4a7b1f3d",
      "errorCode": "idempotency_key_reused",
      "operationId": "customers.create",
      "keyPrefix": "or_test_acme",
      "mode": "test",
      "caller": "key_01m66t2tk1eyms4zmhf0nasy9b",
      "brandId": "brd_01m66t2tk1eyms4zmhf0nasy9a",
      "createdAt": "2026-11-03T09:12:44.000Z"
    },
    {
      "object": "request_log",
      "id": "arl_01m66t2tk1eyms4zmhf0nasy98",
      "method": "GET",
      "path": "/api/v1/customers/****9xyz",
      "status": 404,
      "latencyMs": 9,
      "requestId": "req_1b5d7f9a3c2e",
      "errorCode": "resource_not_found",
      "operationId": "customers.get",
      "keyPrefix": "or_test_acme",
      "mode": "test",
      "caller": "key_01m66t2tk1eyms4zmhf0nasy9b",
      "brandId": "brd_01m66t2tk1eyms4zmhf0nasy9a",
      "createdAt": "2026-11-03T09:10:02.000Z"
    }
  ],
  "has_more": true,
  "next_cursor": "arl_01m66t2tk1eyms4zmhf0nasy98"
}
```
