apiDeterministic
Prepare campaign launch
POST /api/v1/strategy/prepare-campaign-launch
Run the canonical campaign readiness contract, then create or repair the complete draft campaign from one explicit active brief and its ICP-fit, written table. Missing GTM context, strategy, offer, persona, or providers returns the same missing and nextActions response used by Launchpad. A ready campaign returns an expiring approvalId plus production review URLs. This never activates live delivery.
Parameters
workspaceId
string
Optional with API-key auth. Inferred from the key.
briefIdrequired
string
Exact active campaign brief ID.
tableIdrequired
string
Exact agent-pipeline table ID bound to the brief.
rowIds
string[]
Optional exact enrichment row IDs to enroll. Every selected row must still have icp_fit set to true and have current approved copy.
Example
REST requestbash
curl -X POST "https://app.pipeline.help/api/v1/strategy/prepare-campaign-launch" \-H "Authorization: Bearer $PIPELINE_API_KEY" \-H "Content-Type: application/json" \-d '{"briefId":"00000000-0000-4000-8000-000000000000","tableId":"00000000-0000-4000-8000-000000000000"}'
Response
Success response schemajson schema
{"type": "object","properties": {"ready": {"type": "boolean"},"campaignPackageId": {"type": "string"},"missing": {"type": "array","items": {"type": "string"}},"nextActions": {"type": "array","items": {"type": "object","properties": {"action": {"type": "string"},"reason": {"type": "string"}},"required": ["action","reason"]}},"reason": {"type": "string"},"approvalId": {"type": "string"},"approvalExpiresAt": {"type": "string"},"campaignId": {"type": "string"},"briefId": {"type": "string"},"briefName": {"type": "string"},"sourceTableIds": {"type": "array","items": {"type": "string"}},"qualifiedWrittenRows": {"type": "number"},"existingCampaignId": {"type": ["string","null"]},"existingCampaignStatus": {"type": ["string","null"]},"channels": {"type": "object"},"workflow": {"type": "object","properties": {"icpScoringEnabled": {"type": "boolean"},"nodeTypes": {"type": "array","items": {"type": "string"}}},"required": ["icpScoringEnabled","nodeTypes"]},"reviewUrls": {"type": "object","properties": {"strategyBrief": {"type": "string","format": "uri"},"table": {"type": "string","format": "uri"},"campaign": {"type": "string","format": "uri"},"campaignWorkflow": {"type": "string","format": "uri"}},"required": ["strategyBrief","table"]}},"required": ["ready","missing","nextActions"]}
HTTP errors
- 401
- Missing or invalid API key.
- 403
- Authenticated but not permitted for the workspace or resource.
- 404
- The requested resource was not found.