Skip to main content
POST /campaigns creates a campaign. It runs the same checks as the campaign form in the dashboard.

Before you start

  • Use an API key with write access. See Authentication.
  • Your agency must be able to create campaigns. If it cannot, the request returns 403. Book a call with ClipStake to turn this on.
  • Get the brand ID from GET /brands.

Create a campaign

The response is the new campaign, in the same format as GET /campaigns/{campaign_id}. Its status is pending_payment.

After you create it

The API does not move money. To start the campaign:
  1. Open the campaign in the dashboard.
  2. Fund the budget and the ClipStake fee.
  3. Launch the campaign.
To make a private campaign, set eligibility to private. Then invite creators in the dashboard. Only invited creators can submit clips.

Rates

Each platform needs a rate in cpm_cents: the amount for 1,000 views, in cents. You can create campaigns for instagram and x. To pay by the country of the viewers, send geo_targeting:
  • include rules pay their rate for views from their countries. Views from other countries earn nothing.
  • One exclude rule pays nothing for views from its countries, and pays its rate for views from every other country.
Send include rules or one exclude rule, never both. Geo targeting needs instagram, and cannot be used with x. With geo targeting, set each platform’s cpm_cents to null. To keep a share for your agency, send agency_cpm_cents. Creators earn each rate less this amount. It must be less than every rate in the campaign.

Retries

Each campaign name can be used one time per brand. If you send the same request again after it succeeded, it returns 409 conflict. No second campaign is created. Use GET /campaigns?brand_id= to find the campaign.