Campaign Proof API v1
Bring your own campaign data.
Use the REST API when data lives outside HubSpot or Salesforce. The contract is intentionally narrow: send evidence, retain its source, and receive the modeled 90-day commercial value.
Authentication
Pass a Campaign Proof API key as a bearer token. Keys are shown once, hashed at rest, and can be revoked without changing your CRM connection.
Authorization: Bearer cp_live_...Create or update a campaign
POST/api/v1/campaigns
Numeric values are accepted as numbers. Currency is stored as exact decimal values. The response includes the formula version and 90-day modeled value.
{
"source": "hubspot",
"external_id": "campaign-3817",
"name": "Enterprise AI Summit",
"campaign_type": "virtual_event",
"spend": 42000,
"impressions": 310000,
"clicks": 7400,
"registrations": 1280,
"leads": 442,
"opportunities": 28,
"average_deal_value": 28000,
"sales_cycle_days": 120,
"attribution_window_days": 90,
"occurred_at": "2026-08-14T00:00:00Z"
}Idempotency and source lineage
The pair of source and external_id is unique within an account. Sending it again updates the existing record, creates a new evidence snapshot, and preserves the original creation time.
Response
{
"id": 481,
"status": "updated",
"methodology_version": "cp-2026.09",
"attribution_window_days": 90,
"modeled_opportunity_value": 784000,
"attributable_value": 588000,
"modeled_roi": 14
}