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

# POST /v1/captures

> Ship batched request and response bodies. Off unless capture is enabled for the key.

Capture carries user content: the full request and response bodies. It is off by default and the flag lives on the key, server-side. See [`/v1/me`](/api/me) to change it.

A key that has not enabled capture gets `403 capture_disabled`.

## Request

<ParamField body="records" type="object[]" required>
  Up to 500 records.
</ParamField>

Each record:

| Field | Type | Meaning |
| - | - | - |
| `id` | string | Unique within your stream. |
| `ts` | string | ISO 8601 timestamp. |
| `type` | string | `completion`. |
| `baseUrl` | string \| null | The wrapped client's base URL. Recorded, never rewritten. |
| `provider` | string \| null | `openai`, `anthropic`, and so on. |
| `model` | string \| null | |
| `stream` | boolean | |
| `request` | string | The request body as serialised JSON. |
| `response` | string | The response body, or accumulated stream chunks. |
| `decision`, `blocked`, `severity`, `reason`, `signatureIds` | | The guard decision that accompanied the call. |
| `upstreamMs` | number | Time spent in the wrapped call. |
| `sdk` | object | `{ name, version }` |

Bodies are truncated before they are stored. With [Cloak](/cloak/protect-and-restore#what-is-recorded), the SDK sends the request as it was forwarded, with tokens in place of values.

## Response

```json theme={null}
{ "accepted": 12, "rejected": 0 }
```


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