Create a new campaign owned by the authenticated brand.
POST /brands/me/campaigns
POST
/brands/me/campaigns
Creates a campaign with an ordered polstIds[] list. Every polstId MUST be owned by the caller’s brand and not archived/deleted; otherwise 400 INVALID_POLST_OWNERSHIP with details.foreignPolstIds.
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ” X-Polst-Idempotency-Key
required
string
Idempotency key, 8–255 URL-safe chars.
Request Body required
Section titled “Request Body required ”Responses
Section titled “ Responses ”Campaign created.
object
data
required
object
campaignId
required
string format: uuid
title
required
string
polsts
required
Array<object>
object
id
required
string format: uuid
slug
required
string
title
required
string
optionA
required
optionB
required
images
required
object
imageVariants
required
Array<object>
object
url
required
string
width
required
integer
tallies
required
object
optionA
required
integer
optionB
required
integer
total
required
integer
status
required
string
brand
required
Any of:
object
slug
required
string
name
required
string
theme
required
object
radius
required
string
density
required
string
fontStack
required
string
hideWatermark
required
boolean
version
required
integer
titlePlacement
required
string
labelPlacement
required
string
labelAlign
required
string
elevation
required
string
null
createdAt
required
string format: date-time
totalSteps
required
integer
brand
required
object
slug
required
string
name
required
string
theme
required
object
radius
required
string
density
required
string
fontStack
required
string
hideWatermark
required
boolean
version
required
integer
titlePlacement
required
string
labelPlacement
required
string
labelAlign
required
string
elevation
required
string
status
required
string
state
required
string
isPublic
required
boolean
polstCount
required
integer
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
INVALID_POLST_OWNERSHIP or missing idempotency key.
Missing or invalid bearer token.
Bearer token lacks manage scope or has no brand context.
A campaign with this name already exists for the brand.
Request body failed validation.