Create a campaign
POST
/campaignsCreates a campaign owned by the authenticated creator or agency and enforces the account's existing active-campaign allowance. refresh_cadence defaults to on_request. Daily or every-two-day automatic tracking requires a future ends_at value. The public report is created disabled.
Authorization
ApiKey AuthorizationBearer <token>
Public API key from creator or agency settings. The complete secret is shown once.
In: header
Header Parameters
Idempotency-Key*string
Unique value up to 128 characters. Matching requests are replayed for 24 hours.
Length
1 <= length <= 128Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/campaigns" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "name": "Summer launch", "description": "Track launch creator content.", "starts_at": "2026-08-15T00:00:00Z", "refresh_cadence": "on_request", "cpm": { "instagram": 14, "tiktok": 11 } }'{ "meta": {}, "request_id": "string", "data": { "id": "string", "owner_type": "creator", "owner_id": "string", "name": "string", "description": "string", "status": "active", "starts_at": "2019-08-24T14:15:22Z", "ends_at": "2019-08-24T14:15:22Z", "refresh_cadence": "daily", "refresh_state": "active", "cpm": { "instagram": 0, "tiktok": 0, "youtube": 0, "twitter": 0 }, "emv_override": 0, "public_report": { "enabled": true, "access_mode": "link", "slug": "string", "share_url": "http://example.com" }, "editor_url": "http://example.com", "summary": { "creators": 0, "content": 0, "views": 0, "impressions": 0, "engagements": 0, "engagement_rate": 0, "emv": 0 }, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}