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

# List Analyses

> List deepfake detection analyses with filtering

```
GET /v1/deepfake-detection
```

Returns a paginated list of deepfake detection analyses. Use query parameters to filter by status, file type, or date range.

## Request

### Headers

| Header      | Required | Description  |
| ----------- | -------- | ------------ |
| `x-api-key` | Yes      | Your API key |

### Query parameters

| Parameter     | Type   | Required | Default | Description                                                |
| ------------- | ------ | -------- | ------- | ---------------------------------------------------------- |
| `limit`       | number | No       | `50`    | Number of results to return (1--500)                       |
| `next_token`  | string | No       | —       | Pagination token from a previous response                  |
| `status`      | string | No       | —       | Filter by status: `processing`, `completed`, `failed`      |
| `file_type`   | string | No       | —       | Filter by file type: `document`, `image`, `audio`, `video` |
| `start_date`  | string | No       | —       | Filter analyses created on or after this date (ISO 8601)   |
| `end_date`    | string | No       | —       | Filter analyses created on or before this date (ISO 8601)  |
| `external_id` | string | No       | —       | Filter by your external reference ID                       |

### Example requests

#### List all analyses (default)

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.deepidv.com/v1/deepfake-detection?limit=25&start_date=2025-01-01T00:00:00Z" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({
    limit: "25",
    start_date: "2025-01-01T00:00:00Z",
  });

  const response = await fetch(
    `https://api.deepidv.com/v1/deepfake-detection?${params}`,
    {
      headers: { "x-api-key": "YOUR_API_KEY" },
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.deepidv.com/v1/deepfake-detection",
      headers={"x-api-key": "YOUR_API_KEY"},
      params={
          "limit": 25,
          "start_date": "2025-01-01T00:00:00Z",
      },
  )
  ```
</CodeGroup>

#### Filter by status

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.deepidv.com/v1/deepfake-detection?status=completed&limit=100" \
    -H "x-api-key: YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({
    status: "completed",
    limit: "100",
  });

  const response = await fetch(
    `https://api.deepidv.com/v1/deepfake-detection?${params}`,
    {
      headers: { "x-api-key": "YOUR_API_KEY" },
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.deepidv.com/v1/deepfake-detection",
      headers={"x-api-key": "YOUR_API_KEY"},
      params={
          "status": "completed",
          "limit": 100,
      },
  )
  ```
</CodeGroup>

## Response

### 200 — Success

| Field        | Type           | Description                                                          |
| ------------ | -------------- | -------------------------------------------------------------------- |
| `analyses`   | array          | Array of analysis summary objects                                    |
| `next_token` | string \| null | Pagination token to fetch the next page. `null` when no more results |

<Info>
  List responses include summary fields only. Use [Retrieve Analysis](/api-reference/deepfake-detection/retrieve-analysis) for full results including `detection_details`.
</Info>

### Pagination

To fetch the next page of results, pass the `next_token` from the response as a query parameter:

```bash theme={null}
curl -X GET "https://api.deepidv.com/v1/deepfake-detection?limit=25&next_token=eyJpZCI6ImRhX2IyYzNkNGU1In0" \
  -H "x-api-key: YOUR_API_KEY"
```

Continue paginating until `next_token` is `null`.

### Error responses

| Status                  | Description                                                                                   |
| ----------------------- | --------------------------------------------------------------------------------------------- |
| `400 Bad Request`       | Invalid query parameters (e.g., limit out of range, invalid date format, invalid next\_token) |
| `401 Unauthorized`      | Missing or invalid API key                                                                    |
| `429 Too Many Requests` | Rate limit exceeded                                                                           |

<ResponseExample>
  ```json 200 theme={null}
  {
    "analyses": [
      {
        "id": "da_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "status": "completed",
        "file_name": "passport_scan.pdf",
        "file_type": "document",
        "external_id": "doc-review-789",
        "created_at": "2025-01-15T10:30:00.000Z",
        "completed_at": "2025-01-15T10:30:18.000Z",
        "result": {
          "is_ai_generated": true,
          "confidence_score": 87.3,
          "risk_level": "critical"
        }
      },
      {
        "id": "da_b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "status": "completed",
        "file_name": "applicant_headshot.jpg",
        "file_type": "image",
        "created_at": "2025-01-15T09:15:00.000Z",
        "completed_at": "2025-01-15T09:15:08.000Z",
        "result": {
          "is_ai_generated": false,
          "confidence_score": 8.1,
          "risk_level": "low"
        }
      }
    ],
    "next_token": "eyJpZCI6ImRhX2IyYzNkNGU1In0"
  }
  ```
</ResponseExample>
