---
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. Give it
one over the API with `templates/apply` or `pages/generate` (or build
one in the GenPage dashboard) and publish it. 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/29a37db12acb/schema)
