validate_campaign
LEGACY wallet flow — new integrations should use create_account and launch_campaign (API key + prepaid balance, no wallet). (quote_campaign is its equivalent for the key flow.) Checks a campaign BEFORE you pay for anything. Free, and needs no session or access token. Returns whether it is valid, every problem at once (not just the first), any adjustments we would make (expiry clamped, privacy threshold raised, empty questions dropped), and what it will cost — the escrow total including protocol fee for incentivized campaigns, or the activation fee for no-reward ones. Call this first, fix anything it reports, and only then call get_session_nonce and pay. Pass the cohort SIZE, not the addresses: this endpoint never receives contact details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Campaign title, shown to participants | |
| questions | No | 1-10 questions with non-empty text | |
| cohortSize | No | How many participants — the number, not the email addresses | |
| minPercent | No | Privacy threshold; floored at 50 | |
| rewardMint | No | SPL token mint for the reward; defaults to USDC | |
| rewardMode | No | Defaults to INCENTIVIZED | |
| description | No | What you want to learn | |
| expiresInDays | No | 1-42, default 7 | |
| incentiveCents | No | Reward per participant in cents (incentivized campaigns) |