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

# List campaigns

`GET /api/v1/campaigns`

## Request

- Base URL: `https://app.convertflow.co`
- URL: `https://app.convertflow.co/api/v1/campaigns`
- Auth: HTTP bearer

Returns the website's campaigns as configuration (name, format, archived/live state, landing-page settings, remix instructions, variant traffic split) — 25 per page, newest first, archived included. For performance metrics use /api/v1/reports/campaigns instead. Requires the campaigns:read scope on OAuth tokens.

## Query parameters

- `status` 'active' | 'archived'
- `page` integer

## Response `200`

campaigns returned

- object[]
  - `id` integer
  - `name` string
  - `cta_type` string: Campaign format
  - `format_type` string, nullable: Campaign sub-format. Null for page and bar campaigns, which have none.
  - `archived` boolean
  - `live` boolean: Whether visitors can reach the campaign: the live toggle for popups, hooks, bars and embeds; not archived for landing pages.
  - `building` boolean
  - `build_failed` boolean
  - `test_type` string
  - `page_path` string
  - `domain_id` unknown
  - `meta_title` unknown
  - `meta_description` unknown
  - `open_graph_title` unknown
  - `open_graph_description` unknown
  - `open_graph_image` unknown
  - `seo_index` unknown
  - `experiment_start_date` unknown
  - `experiment_end_date` unknown
  - `experiment_metric` unknown
  - `remix` object
  - `published_at` unknown
  - `variants` object[]
    - `id` integer
    - `name` string
    - `variation` string
    - `percentage` integer, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `403`: token lacks the campaigns:read scope

---

[API](https://skmtc.dev/convertflow/apis/convertflow-api.md) - [All operations](https://skmtc.dev/convertflow/apis/convertflow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/convertflow/apis/convertflow-api/revisions/9a45e0736b68?raw)
