---
title: "Publish a campaign's design, putting it live."
method: POST
path: "/api/external/v1/pages/publish"
tags: ["GenPages"]
---

# Publish a campaign's design, putting it live.

`POST /api/external/v1/pages/publish`

A design is edited as a draft. Visitors are served the *published*
snapshot, so a campaign whose design has never been published shows a
"not live yet" page to anyone who opens a generated link. This copies the
current draft over the published snapshot.

Publishing replaces what is currently live, and takes effect immediately
for every page in the campaign — including ones generated earlier.

## Request body

- object
  - `workspace_id` integer, required — The workspace the campaign belongs to.
  - `campaign_id` integer, required — The campaign to publish.

## Response `200`

- object
  - `campaign_id` integer
  - `is_live` boolean
  - `published_at` string
  - `message` string

## Other responses

- `409`

## Changes

- **2026-08-17** `dd3f47f72f7a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/genpage/apis/genpage-external-api-documentation/changes/api/external/v1/pages/publish/post.md)

---

[API](https://skmtc.dev/genpage/apis/genpage-external-api-documentation.md) · [All operations](https://skmtc.dev/genpage/apis/genpage-external-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/genpage/genpage-external-api-documentation/revisions/29a37db12acb/schema)
