---
title: "List campaigns"
method: GET
path: "/v2/campaigns"
tags: ["Campaigns"]
---

# List campaigns

`GET /v2/campaigns`

Returns a cursor-paginated list of campaigns, newest first.

## Query parameters

- `page_size` integer
- `cursor` string
- `status` 'Running' | 'Scheduled' | 'Stopped' | 'Completed' | 'Failed' | 'Expired' | 'Paused'
- `created_after` string, date-time
- `created_before` string, date-time

## Response `200`

Paginated list of campaigns.

- ListCampaignsResponse
  - `has_more` boolean, required — Whether more records exist after this page.
  - `next_cursor` string — Opaque cursor to pass as `cursor` in the next request.
  - `campaigns` CampaignResponse[], required
    - `id` integer, required
    - `name` string, required
    - `type` 'outbound', required
    - `status` 'Running' | 'Scheduled' | 'Stopped' | 'Completed' | 'Failed' | 'Expired' | 'Paused', required
    - `agent_uid` string
    - `from_number` string
    - `contact_list_id` integer
    - `time_start` string — HH:MM (24-hour) daily window start.
    - `time_end` string — HH:MM (24-hour) daily window end.
    - `timezone` string
    - `days` CampaignDay[]
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401` — Missing or invalid API key.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

---

[API](https://skmtc.net/openmicai/apis/openmic-v1-external-api.md) · [All operations](https://skmtc.net/openmicai/apis/openmic-v1-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmicai/openmic-v1-external-api/revisions/58dc5cff0ca7/schema)
