Skip to main content
POST
/
api
/
campaigns
Create Campaign
curl --request POST \
  --url https://api.example.com/api/campaigns \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "slug": "<string>",
  "orgId": "<string>",
  "type": "<string>",
  "goalAmountCents": 123,
  "suggestedAmounts": [
    123
  ],
  "description": "<string>",
  "allowRecurring": true
}
'

Create Campaign

Creates a new campaign for an organization.

Request Body

title
string
required
Campaign title
slug
string
required
URL-friendly identifier, unique within the org
orgId
string
required
Organization ID
type
string
default:"donation"
One of: donation, peer_to_peer, event, membership
goalAmountCents
integer
Fundraising goal in cents
suggestedAmounts
integer[]
Pre-set donation amounts in cents
description
string
Campaign description (supports markdown)
allowRecurring
boolean
default:"true"
Enable recurring donations

Response

{
  "id": "clx9876543210",
  "title": "Annual Fund 2026",
  "slug": "annual-fund-2026",
  "type": "DONATION",
  "status": "DRAFT",
  "goalAmountCents": 5000000,
  "suggestedAmounts": [2500, 5000, 10000, 25000],
  "createdAt": "2026-02-28T12:00:00.000Z"
}