---
title: "Create a campaign."
method: POST
path: "/api/external/v1/campaigns/create"
tags: ["GenPages"]
---

# Create a campaign.

`POST /api/external/v1/campaigns/create`

A campaign holds the page template and branding that generated pages use.
Create one when an integration needs its own campaign rather than reusing
an existing one.

The campaign is created empty — it still needs a page design, which is
built in the GenPage dashboard. Generating pages against a campaign with
no design will produce blank pages, so create-then-generate is not a
complete flow on its own.

## Request body

- object
  - `workspace_id` integer, required — The workspace to create it in.
  - `name` string, nullable — A name. One is generated from the branding if omitted.
  - `branding_id` integer, nullable — Branding to apply, from the dashboard.
  - `prompt` string, nullable — Used to generate a name when `name` is omitted.

## Response `200`

- object
  - `campaign_id` integer
  - `name` string
  - `slug` string
  - `note` string

## Changes

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

[Change history](https://skmtc.dev/genpage/apis/genpage-external-api-documentation/changes/api/external/v1/campaigns/create/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/dd3f47f72f7a/schema)
