Campaigns

Update an existing campaign

Modify campaign fields. campaign_type and creator_source are immutable post-create — pass them and you'll get 400 IMMUTABLE_FIELD.

patch/campaigns/{campaign_id}

Path parameters

campaign_idinteger required

Headers

Idempotency-Keystring nullable
X-Dry-Runstring nullable

Request body

campaign_namestring nullable
start_datestring nullable
end_datestring nullable
descriptionstring nullable
status'published' | 'draft' | 'deleted' | 'archived'

DB-level campaign status. The frontend filter param 'active'/'past' are UI aliases — 'active' maps to published, 'past' maps to != published.

creatorsobject[] nullable

Optional list of creators to seed into the campaign. Mirrors the portal's contract exactly (see community.schemas.campaign.CampaignCreate.creators) so the public API doesn't fork from /api/marketplace/v2. Each dict is opaque to validation but is typically {"creator_id": int, "tier": str | None, "payout_override": int | None}. Pass null or omit for the common case of "no seeded creators" (production fixtures all do this; creators are added later via the accept/reject flow).

window_urlstring nullable
is_available_to_allboolean nullable
requires_approvalboolean nullable
exclusive_participationboolean nullable
support_emailstring nullable
short_header_messagestring nullable
content_guidelinesobject nullable
inspiration_linksstring[] nullable
has_tiered_payoutboolean nullable
payout_structureobject nullable
grace_periodinteger nullable

Response

Successful Response

campaign_idinteger required
statusstring

Changes

No recorded changes to this endpoint across all 1 revision of this API.