Skip to content

Campaigns API

Campaigns are the core resource in GhostFlow. Each campaign represents a traffic flow with cloaking rules, landing pages, and offer rotation.

All endpoints require either a JWT token or an API key (gf_...) in the Authorization header:

Authorization: Bearer gf_your_api_key_here
MethodPathScopeDescription
GET/api/v1/campaignsread:campaignsList all campaigns
POST/api/v1/campaignswrite:campaignsCreate a new campaign
GET/api/v1/campaigns/{id}read:campaignsGet campaign details
PATCH/api/v1/campaigns/{id}write:campaignsUpdate a campaign
DELETE/api/v1/campaigns/{id}write:campaignsDelete a campaign
POST/api/v1/campaigns/{id}/activatewrite:campaignsActivate campaign
POST/api/v1/campaigns/{id}/pausewrite:campaignsPause campaign
POST/api/v1/campaigns/{id}/deactivatewrite:campaignsDeactivate campaign
POST/api/v1/campaigns/{id}/archivewrite:campaignsArchive campaign
POST/api/v1/campaigns/{id}/duplicatewrite:campaignsDuplicate campaign
GET/api/v1/campaigns/{id}/tracking-urlread:campaignsGet tracking URL
MethodPathScopeDescription
GET/api/v1/campaigns/{id}/flowsread:campaignsList flows
POST/api/v1/campaigns/{id}/flowswrite:campaignsCreate flow
PATCH/api/v1/campaigns/{id}/flows/{flow_id}write:campaignsUpdate flow
DELETE/api/v1/campaigns/{id}/flows/{flow_id}write:campaignsDelete flow
MethodPathScopeDescription
GET/api/v1/campaigns/{id}/ab-testsread:campaignsList A/B tests
POST/api/v1/campaigns/{id}/ab-testswrite:campaignsCreate A/B test
POST/api/v1/campaigns/{id}/ab-tests/{test_id}/startwrite:campaignsStart test
POST/api/v1/campaigns/{id}/ab-tests/{test_id}/pausewrite:campaignsPause test
POST/api/v1/campaigns/{id}/ab-tests/{test_id}/completewrite:campaignsComplete test
GET/api/v1/campaigns/{id}/ab-tests/{test_id}/resultsread:campaignsGet results
Terminal window
curl -X POST https://devcore.getghostflow.io/api/v1/campaigns \
-H "Authorization: Bearer gf_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Facebook Traffic US",
"description": "US traffic from Facebook Ads",
"tags": ["facebook", "us", "tier1"],
"costModel": "cpc",
"trackingDomain": "trk.example.com"
}'

Response 201 Created:

{
"id": "019d4e56-3d6f-7be2-a77e-e1c96251b1ee",
"userId": "019d4e56-3d6f-7be2-a77e-000000000001",
"name": "Facebook Traffic US",
"description": "US traffic from Facebook Ads",
"status": "draft",
"campaignType": "standard",
"costModel": "cpc",
"tags": ["facebook", "us", "tier1"],
"trackingUrl": "https://trk.example.com/c/019d4e56",
"flows": [],
"createdAt": "2025-06-01T12:00:00Z",
"updatedAt": "2025-06-01T12:00:00Z"
}
Terminal window
curl https://devcore.getghostflow.io/api/v1/campaigns \
-H "Authorization: Bearer gf_your_api_key"
Terminal window
curl -X POST https://devcore.getghostflow.io/api/v1/campaigns/{id}/activate \
-H "Authorization: Bearer gf_your_api_key"