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

# List Verifications

> List verification batches

Retrieve a paginated list of verification batches with optional filtering by status.

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number for pagination.
</ParamField>

<ParamField query="limit" type="integer" default="20">
  Number of items per page (max 100).
</ParamField>

<ParamField query="status" type="string">
  Filter by status: `pending`, `processing`, `completed`, or `failed`.
</ParamField>

## Examples

<CodeGroup>
  ```typescript JavaScript theme={null}
  import { MailBreeze } from "mailbreeze";

  const mailbreeze = new MailBreeze({ apiKey: "sk_live_xxx" });

  // List all verification batches
  const { data, pagination } = await mailbreeze.verification.list();
  console.log(`Found ${pagination.total} batches`);

  // List only completed batches
  const { data } = await mailbreeze.verification.list({
    status: "completed",
    page: 1,
    limit: 10,
  });

  for (const batch of data) {
    console.log(`${batch.id}: ${batch.totalEmails} emails - ${batch.status}`);
  }
  ```

  ```python Python theme={null}
  from mailbreeze import MailBreeze

  client = MailBreeze(api_key="sk_live_xxx")

  # List all verification batches
  result = await client.verification.list()
  print(f"Found {result.pagination.total} batches")

  # List only completed batches
  result = await client.verification.list(
      status="completed",
      page=1,
      limit=10,
  )

  for batch in result.data:
      print(f"{batch.id}: {batch.total_emails} emails - {batch.status}")
  ```

  ```go Go theme={null}
  client := mailbreeze.NewClient("sk_live_xxx")

  // List all verification batches
  result, err := client.Verification.List(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }
  fmt.Printf("Found %d batches\n", result.Pagination.Total)

  // List only completed batches
  result, err = client.Verification.List(ctx, &mailbreeze.ListVerificationsParams{
      Status: "completed",
      Page:   1,
      Limit:  10,
  })

  for _, batch := range result.Data {
      fmt.Printf("%s: %d emails - %s\n", batch.ID, batch.TotalEmails, batch.Status)
  }
  ```

  ```php PHP theme={null}
  $mailbreeze = new MailBreeze('sk_live_xxx');

  // List all verification batches
  $response = $mailbreeze->verification->list();
  $result = $response['data'];
  echo "Found " . $result['pagination']['total'] . " batches\n";

  // List only completed batches
  $response = $mailbreeze->verification->list([
      'status' => 'completed',
      'page' => 1,
      'limit' => 10,
  ]);
  $result = $response['data'];

  foreach ($result['items'] as $batch) {
      echo $batch['id'] . ": " . $batch['totalEmails'] . " emails - " . $batch['status'] . "\n";
  }
  ```

  ```rust Rust theme={null}
  let client = Client::new("sk_live_xxx");

  // List all verification batches
  let result = client.verification().list(None).await?;
  println!("Found {} batches", result.pagination.total);

  // List only completed batches
  let result = client.verification().list(Some(ListVerificationsParams {
      status: Some("completed".to_string()),
      page: Some(1),
      limit: Some(10),
  })).await?;

  for batch in result.data {
      println!("{}: {} emails - {}", batch.id, batch.total_emails, batch.status);
  }
  ```

  ```bash cURL theme={null}
  # List all batches
  curl "https://api.mailbreeze.com/api/v1/email-verification" \
    -H "Authorization: Bearer sk_live_xxx"

  # List completed batches
  curl "https://api.mailbreeze.com/api/v1/email-verification?status=completed&page=1&limit=10" \
    -H "Authorization: Bearer sk_live_xxx"
  ```
</CodeGroup>

## Response

<ResponseField name="data" type="array">
  Array of verification batch objects.

  <Expandable title="Verification batch object">
    <ResponseField name="id" type="string">
      Unique batch ID.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current status: `pending`, `processing`, `completed`, or `failed`.
    </ResponseField>

    <ResponseField name="totalEmails" type="integer">
      Total emails in batch.
    </ResponseField>

    <ResponseField name="processedEmails" type="integer">
      Emails processed so far.
    </ResponseField>

    <ResponseField name="creditsDeducted" type="integer">
      Credits used.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO 8601 timestamp when created.
    </ResponseField>

    <ResponseField name="completedAt" type="string">
      ISO 8601 timestamp when completed.
    </ResponseField>

    <ResponseField name="analytics" type="object">
      Summary (only for completed batches).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata.

  <Expandable title="Pagination object">
    <ResponseField name="page" type="integer">
      Current page number.
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Items per page.
    </ResponseField>

    <ResponseField name="total" type="integer">
      Total number of batches.
    </ResponseField>

    <ResponseField name="totalPages" type="integer">
      Total number of pages.
    </ResponseField>
  </Expandable>
</ResponseField>

```json Example Response theme={null}
{
  "success": true,
  "data": {
    "items": [
      {
        "id": "694fc0cb9e63563857ae8d03",
        "type": "single",
        "status": "completed",
        "totalEmails": 1,
        "analytics": {
          "cleanCount": 0,
          "dirtyCount": 1,
          "unknownCount": 0,
          "cleanPercentage": 0
        },
        "createdAt": "2025-12-27T11:19:39.881Z",
        "completedAt": "2025-12-27T11:19:39.878Z"
      },
      {
        "id": "694f33c8e73029ad2213b602",
        "type": "batch",
        "status": "completed",
        "totalEmails": 100,
        "progress": 100,
        "analytics": {
          "cleanCount": 0,
          "dirtyCount": 88,
          "unknownCount": 12,
          "cleanPercentage": 0
        },
        "createdAt": "2025-12-27T01:18:00.693Z",
        "completedAt": "2025-12-27T01:20:16.212Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 23,
      "totalPages": 2,
      "hasNext": true,
      "hasPrev": false
    }
  },
  "meta": {
    "timestamp": "2025-12-27T13:39:25.989Z",
    "requestId": "274fb91a-7ea5-4ee3-90ca-fa5983e75fc2",
    "path": "/api/v1/email-verification"
  }
}
```

<Note>
  Results are not included in the list response. Use the Get Verification endpoint to retrieve full results for a specific batch.
</Note>
