> ## Documentation Index
> Fetch the complete documentation index at: https://wiredesk.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Request logs

> Every request made to the REST API and the MCP server with your workspace's keys, for 30 days: status, timing, errors and the body of each write.

**Developers → Logs** lists every request made with one of your workspace's [API keys](https://wiredesk.ai/docs/api-reference/authentication.md), to the [REST API](https://wiredesk.ai/docs/developers/api.md) or the [MCP server](https://wiredesk.ai/docs/developers/mcp.md), whatever it answered. Use it to see why an integration's call failed, which key is still in use, or what an AI assistant actually asked for. Only owners and admins see it.

## What is in a row

Newest first, 50 at a time, with **Load more** for the next 50. Each row shows when the request was made, the key's name, REST or MCP, the method and path (or the MCP tool), the status, how long it took, and the error code if there was one. Click a row for everything that was stored:

| Field | What it is |
| - | - |
| Request id | The `x-request-id` header the response carried. Every response from `/api/v1` and `/api/mcp` has one, errors included. |
| Key | The key's name. A revoked key keeps its name, marked **revoked**. |
| Transport | **REST** or **MCP**. |
| Method and path | For MCP, always `POST /api/mcp`. |
| Operation | The REST operation (such as `create_contact`) or the MCP tool. For an MCP call that is not a tool call, the JSON-RPC method, such as `tools/list`. Empty when the path matched no endpoint. |
| Query | The query string, up to 1,000 characters. |
| Status | The HTTP status. For an MCP tool call, the status the same call gets over REST: a tool that fails with `not_found` is logged as `404`, although MCP answers it inside a `200`. |
| Duration | Milliseconds, from the request arriving to the response being ready. |
| Error | The error's `code` and message, when it failed. |
| Request body | Writes only: the JSON body of a `POST`, `PATCH`, `PUT` or `DELETE`, or an MCP tool call's arguments. Up to 2 KB. |
| IP and user agent | Where the request came from. The user agent is cut to 300 characters. |

Filter by key, by status (**Success**, **Client errors** for 4xx, **Server errors** for 5xx), by REST or MCP, by method, and by the last 24 hours, 7 days or 30 days.

**Developers → Overview** shows the last 7 days in four numbers: requests, the share that failed, the keys that made a request, and webhook deliveries that ran out of retries.

## What is not kept

* **The key** and the `Authorization` header. A row names the key; it never holds it.
* **Response bodies.** They are your customers' conversations and contacts.
* **Credentials in a request body or query.** Any field named like `token`, `secret`, `password`, `api_key` or `authorization` is replaced with `"[redacted]"`, however deeply it is nested.
* **Requests without a valid key.** A missing, malformed or revoked key gets `401` and belongs to no workspace, so it is not in any workspace's log.

Logging happens in the background, so it never slows a request down, and a request never fails because its log entry could not be written.

## How long it is kept

30 days. Older rows are deleted automatically. Deleting the workspace deletes its log.

## Related

* [REST API](https://wiredesk.ai/docs/developers/api.md)
* [MCP server](https://wiredesk.ai/docs/developers/mcp.md)
* [Security model](https://wiredesk.ai/docs/developers/security-model.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.