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

# Fetch One Recording

> Download the recording of one URL row

For `csv_urls` batches. 60db downloads the row's `recording_url` with SSRF protection. A failed download is a normal `200` result with status `failed`, not an HTTP error. Fetching never starts analysis.

> [!NOTE]
>
> Needs `manage` on the analyzer.

## Request

### Headers

**Authorization** `string` *required*

Bearer token with your API key: `Bearer sk_...`

**Content-Type** `string` *required*

application/json

### Path

**batchId** `string` *required*

Batch ID (UUID)

**itemId** `string` *required*

Batch row ID (UUID). Get it from [List batch rows](https://docs.60db.ai/api-reference/call-analysis/list-batch-items.md)

## Response

**200** The result of the attempt for that row (`stored`, `failed` or `skipped`).

```json theme={null}
{
  "success": true,
  "data": {}
}
```

## Errors

Errors use `{ "success": false, "message": "...", "code": "..." }`. See the [overview](https://docs.60db.ai/api-reference/call-analysis/overview.md#errors) for the codes every route can return.

### This endpoint

| Status | Code | When |
| - | - | - |
| 409 | `ACQUISITION_IN_PROGRESS` | This row was started in the last 5 minutes |

## Example

```bash cURL theme={null}
curl -X POST 'https://api.60db.ai/deep-analytics/imports/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/items/c1d2e3f4-a5b6-4c7d-9e8f-7a6b5c4d3e2f/fetch-recording' \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{}'
```

```javascript JavaScript theme={null}
const res = await fetch('https://api.60db.ai/deep-analytics/imports/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/items/c1d2e3f4-a5b6-4c7d-9e8f-7a6b5c4d3e2f/fetch-recording', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer your-api-key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);
```


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