---
title: "Update a campaign"
method: PATCH
path: "/api/v1/campaigns/{id}"
tags: ["Campaigns"]
---

# Update a campaign

`PATCH /api/v1/campaigns/{id}`

## Request

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

Updates name, format, landing-page/SEO fields, experiment settings and remix instructions. Changing cta_type republishes the campaign script immediately (and takes a landing page offline); every other field is saved without publishing. Requires campaigns:write.

## Request body

- object
  - `name` string
  - `cta_type` 'page' | 'overlay' | 'hook' | 'bar' | 'inline'
  - `test_type` string
  - `page_path` string
  - `domain_id` integer
  - `meta_title` string
  - `meta_description` string
  - `open_graph_title` string
  - `open_graph_description` string
  - `open_graph_image` string
  - `seo_index` boolean
  - `experiment_start_date` string, date-time
  - `experiment_end_date` string, date-time
  - `experiment_metric` string
  - `remix` object
    - `remix_instructions` string
    - `remix_tone` string

## Response `200`

format change republishes and resets the format subtype

- 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
    - `remix_tone` string
  - `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

- `409`: page path already used on this website
- `422`: unsupported experiment metric

---

[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)
