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

# List bulk sends

> List all bulk sends with filters and pagination

## Description

Returns a paginated list of all bulk sends. Supports filters by status, template, and date range for easy searching.

## Authentication header

<ParamField header="X-API-Key" type="string" required>
  Your Mindo API Key. Format: `mindo_xxxxxxxxxxxxxxxxxxxxxxxx`
</ParamField>

## Query parameters

<ParamField query="status" type="string">
  Filter by send status. Possible values: `QUEUED`, `PROCESSING`, `COMPLETED`, `PARTIAL`, `FAILED`, `CANCELLED`.
</ParamField>

<ParamField query="template" type="integer">
  Filter by template ID used.
</ParamField>

<ParamField query="created_after" type="string (date)">
  Filter sends created after this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="created_before" type="string (date)">
  Filter sends created before this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="page" type="integer">
  Page number. Default: `1`.
</ParamField>

<ParamField query="page_size" type="integer">
  Results per page. Default: `20`.
</ParamField>

## Response

<ResponseField name="count" type="integer">
  Total bulk sends matching the filters.
</ResponseField>

<ResponseField name="next" type="string | null">
  URL of the next page of results. `null` if it's the last page.
</ResponseField>

<ResponseField name="previous" type="string | null">
  URL of the previous page. `null` if it's the first page.
</ResponseField>

<ResponseField name="results" type="array">
  List of bulk sends.

  <Expandable title="Properties of each send">
    <ResponseField name="id" type="string (UUID)">
      Unique bulk send ID.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current send status.
    </ResponseField>

    <ResponseField name="template" type="object">
      Information about the template used.

      <Expandable title="template properties">
        <ResponseField name="id" type="integer">
          Internal template ID.
        </ResponseField>

        <ResponseField name="template_name" type="string">
          Template name.
        </ResponseField>

        <ResponseField name="language" type="string">
          Template language.
        </ResponseField>

        <ResponseField name="status" type="string">
          Template status in Meta.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="phone_number" type="object">
      Information about the sender WhatsApp number.

      <Expandable title="phone_number properties">
        <ResponseField name="id" type="integer">
          Internal number ID.
        </ResponseField>

        <ResponseField name="display_phone_number" type="string">
          Formatted display number.
        </ResponseField>

        <ResponseField name="verified_name" type="string">
          Meta-verified name.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total_recipients" type="integer">
      Total recipients.
    </ResponseField>

    <ResponseField name="sent_count" type="integer">
      Messages sent.
    </ResponseField>

    <ResponseField name="delivered_count" type="integer">
      Messages delivered.
    </ResponseField>

    <ResponseField name="read_count" type="integer">
      Messages read.
    </ResponseField>

    <ResponseField name="failed_count" type="integer">
      Failed messages.
    </ResponseField>

    <ResponseField name="pending_count" type="integer">
      Pending messages.
    </ResponseField>

    <ResponseField name="progress_percentage" type="float">
      Progress percentage (0-100).
    </ResponseField>

    <ResponseField name="created_at" type="string (ISO 8601)">
      Creation date and time.
    </ResponseField>

    <ResponseField name="completed_at" type="string (ISO 8601) | null">
      Completion date and time. `null` if not completed.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/?status=COMPLETED&created_after=2025-11-01&page=1&page_size=10" \
    -H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
  ```

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

  response = requests.get(
      "https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/",
      headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
      params={
          "status": "COMPLETED",
          "created_after": "2025-11-01",
          "page": 1,
          "page_size": 10
      }
  )

  data = response.json()
  print(f"Total sends: {data['count']}")
  for bulk in data["results"]:
      print(f"  {bulk['id']}: {bulk['status']} - {bulk['template']['template_name']} ({bulk['total_recipients']} recipients)")
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    status: "COMPLETED",
    created_after: "2025-11-01",
    page: "1",
    page_size: "10"
  });

  const response = await fetch(
    `https://api.mindosoftware.com/api/v1/meta-templates/bulk-sends/?${params}`,
    {
      headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
    }
  );

  const data = await response.json();
  console.log(`Total sends: ${data.count}`);
  data.results.forEach(bulk => {
    console.log(`  ${bulk.id}: ${bulk.status} - ${bulk.template.template_name} (${bulk.total_recipients} recipients)`);
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - OK theme={null}
  {
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
      {
        "id": "a3f2b8c9-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
        "status": "COMPLETED",
        "template": {
          "id": 45,
          "template_name": "welcome_message",
          "language": "es",
          "status": "APPROVED"
        },
        "phone_number": {
          "id": 123,
          "display_phone_number": "+54 9 223 675-0780",
          "verified_name": "Mindo Software"
        },
        "total_recipients": 3,
        "sent_count": 3,
        "delivered_count": 2,
        "read_count": 1,
        "failed_count": 0,
        "pending_count": 0,
        "progress_percentage": 100.0,
        "created_at": "2025-11-16T21:30:00Z",
        "completed_at": "2025-11-16T21:30:28Z"
      },
      {
        "id": "b4c3d9e0-5f6a-7b8c-9d0e-1f2a3b4c5d6e",
        "status": "COMPLETED",
        "template": {
          "id": 46,
          "template_name": "order_confirmation",
          "language": "es",
          "status": "APPROVED"
        },
        "phone_number": {
          "id": 123,
          "display_phone_number": "+54 9 223 675-0780",
          "verified_name": "Mindo Software"
        },
        "total_recipients": 150,
        "sent_count": 150,
        "delivered_count": 142,
        "read_count": 98,
        "failed_count": 0,
        "pending_count": 0,
        "progress_percentage": 100.0,
        "created_at": "2025-11-15T14:00:00Z",
        "completed_at": "2025-11-15T14:09:30Z"
      }
    ]
  }
  ```

  ```json 401 - Not authenticated theme={null}
  {
    "error": "Este endpoint requiere autenticacion con API Key (header X-API-Key)"
  }
  ```
</ResponseExample>
