Campaigns / REST API
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.
POST /api/v1/strategy/prepare-campaign-launchDeterministic operationParameters
workspaceIdOptional · 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.
rowIdsOptional · array- Optional exact enrichment row IDs to enroll. Every selected row must still have icp_fit set to true and have current approved copy.
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"}'Full input schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"description": "Optional with API-key auth. Inferred from the key."
},
"briefId": {
"type": "string",
"description": "Exact active campaign brief ID."
},
"tableId": {
"type": "string",
"description": "Exact agent-pipeline table ID bound to the brief."
},
"rowIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 100,
"description": "Optional exact enrichment row IDs to enroll. Every selected row must still have icp_fit set to true and have current approved copy."
}
},
"required": [
"briefId",
"tableId"
]
}