Guide: Launch a Campaign

Launch a campaign as an advertiser on Paved.

This is the shortest end-to-end path to a running Ad Network campaign:

Create campaign → set budget → create ad copy → submit for review → runs automatically after approval → pull stats

1) Get your API key

In the Paved UI: Top menu → Settings → Company.

API keys are company-level and do not have scopes/roles.

2) Set your API key

export PAVED_API_KEY="YOUR_API_KEY"

3) Create a draft campaign

curl -sS -X POST "https://api.paved.com/advertiser/v1/ad_network" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "name": "Headline",
    "start_date": "2025-10-01",
    "bid_amount": 0.1
  }'

Example response (truncated):

{
  "uuid": "zmt4hv",
  "name": "Headline",
  "status": "draft",
  "strategy": "cpc",
  "bid_amount": 0.1,
  "daily_budget": null,
  "total_budget": null,
  "budget_type": "daily",
  "start_date": "2025-10-01",
  "end_date": null,
  "targeting_type": "professional",
  "ad_copies": []
}

Save the campaign UUID (you’ll use it in the next steps):

export CAMPAIGN_UUID="zmt4hv"

4) Set a budget

You must set either daily_budget or total_budget before submitting for review.

curl -sS -X PATCH "https://api.paved.com/advertiser/v1/ad_network/$CAMPAIGN_UUID" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "daily_budget": 100.0
  }'

5) Create an ad copy

curl -sS -X POST "https://api.paved.com/advertiser/v1/ad_network/$CAMPAIGN_UUID/ad_copies" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "title": "Example headline",
    "body": "Example body copy",
    "cta": "Learn more",
    "link": "https://example.com",
    "image_url": "https://example.com/logo.png"
  }'

6) Submit for review (campaign runs automatically after approval)

curl -sS -X POST "https://api.paved.com/advertiser/v1/ad_network/$CAMPAIGN_UUID/submit" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Accept: application/json"

On success, the campaign is returned with status="in_review".

Once approved by the Paved Team, the campaign will run automatically (you do not need to call /start after /submit).

7) Monitor status and fetch stats

Check the campaign status:

curl -sS "https://api.paved.com/advertiser/v1/ad_network/$CAMPAIGN_UUID" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Accept: application/json"

Fetch daily stats:

curl -sS "https://api.paved.com/advertiser/v1/ad_network/$CAMPAIGN_UUID/stats?granularity=day" \
  -H "Authorization: Token token=$PAVED_API_KEY" \
  -H "Accept: application/json"

ctr and conversion_rate are returned as percent values (0–100).