Skip to main content
POST
Create campaign

Authorizations

Authorization
string
header
required

A workspace API key.

Headers

idempotency-key
string

Optional. Your stable id for this create; reuse it after a timeout to receive the same result instead of creating a duplicate.

Required string length: 1 - 200
Example:

"create-2026-08-12-0001"

Body

application/json
title
string
required

Human-readable campaign name. This is the only required field.

Required string length: 1 - 160
description
string
default:""

Internal campaign brief or purpose. Defaults to empty.

Maximum string length: 4000
connectedAccountIds
string[]

Existing connected social-account ids selected in the dashboard. Omit when creating only the campaign container.

Maximum array length: 100
Required string length: 1 - 200
platforms
enum<string>[]

Platforms this campaign targets. Accepted values are listed below; defaults to an empty list.

Maximum array length: 50
Available options:
tiktok,
instagram,
youtube,
x,
linkedin,
threads,
reddit,
mastodon,
facebook,
substack,
whatsapp,
telegram,
bluesky,
snapchat,
medium,
quora,
nextdoor,
rumble,
xiaohongshu,
pinterest,
tumblr,
discord,
vimeo,
devto,
hashnode,
google_business,
lemmy,
yelp,
yellowpages,
bing_places,
apple_business
automationMode
enum<string>
default:review-first

manual does not automate; review-first requires approval; fire-and-forget runs without that checkpoint.

Available options:
manual,
review-first,
fire-and-forget
status
enum<string>
default:draft

Lifecycle state. New campaigns default to draft.

Available options:
draft,
scheduled,
active,
paused,
completed
scheduledAt
string<date-time> | null

ISO 8601 date-time for the planned start. Null means not scheduled.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
Example:

"2026-08-15T09:00:00Z"

remixJobIds
string[]

Existing generation job ids associated with the campaign. Read job ids from generation responses; defaults to empty.

Maximum array length: 500
Required string length: 1 - 200
playbookId
string | null

Optional internal marketing playbook id. Most API clients should omit this; null lets Sigmora choose its normal strategy.

Required string length: 1 - 200

Response

Success.

success
boolean
required
campaign
object
required
{key}
any