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

# List campaigns

> Retrieve a paginated list of voice campaigns

Returns a paginated list of voice campaigns for the authenticated tenant, ordered by creation date descending.

### Query parameters

<ParamField query="status" type="string">
  Filter campaigns by status — one of `DRAFT`, `SCHEDULED`, `RUNNING`, `PAUSED`, `COMPLETED`, `FAILED`.
</ParamField>

<ParamField query="page" type="integer" default="1">
  1-based page number.
</ParamField>

<ParamField query="pageSize" type="integer" default="15">
  Number of campaigns per page (maximum 100).
</ParamField>

<CodeGroup>
  ```bash curl theme={null}
  curl -X GET "https://api.agentic-os.com/api/v1/campaigns?status=RUNNING&page=1&pageSize=15" \
    -H "Authorization: Bearer $AGENTIC_OS_API_KEY"
  ```

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

  response = requests.get(
      "https://api.agentic-os.com/api/v1/campaigns",
      headers={"Authorization": f"Bearer {API_KEY}"},
      params={"status": "RUNNING", "page": 1, "pageSize": 15},
  )
  print(response.json())
  ```

  ```javascript Node theme={null}
  const response = await fetch(
    "https://api.agentic-os.com/api/v1/campaigns?status=RUNNING&page=1&pageSize=15",
    {
      method: "GET",
      headers: { Authorization: `Bearer ${API_KEY}` },
    },
  );
  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "items": [
    {
      "id": "770e8400-e29b-41d4-a716-446655440000",
      "tenantId": "990e8400-e29b-41d4-a716-446655440000",
      "name": "Q3 Renewal Outreach",
      "description": "Customer renewal follow-ups",
      "agentId": "11111111-1111-1111-1111-111111111111",
      "voiceNumberId": "22222222-2222-2222-2222-222222222222",
      "contactListId": "33333333-3333-3333-3333-333333333333",
      "status": "RUNNING",
      "totalContacts": 150,
      "dialedContacts": 45,
      "answeredContacts": 32,
      "dialTimeout": 45,
      "maxAttempts": 3,
      "redialDelayMin": 60,
      "scheduledAt": null,
      "startedAt": "2026-06-01T10:05:00.000Z",
      "completedAt": null,
      "timezone": "America/New_York",
      "callWindowStart": "09:00",
      "callWindowEnd": "18:00",
      "callDays": [1, 2, 3, 4, 5],
      "metadata": {},
      "createdAt": "2026-06-01T10:00:00.000Z",
      "updatedAt": "2026-06-01T10:05:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "pageSize": 15
}
```
