curl --request GET \
--url https://ai.wisepilot.app/api/v1/metrics/ads/campaigns \
--header 'Authorization: Bearer <token>'{
"success": true,
"data": {
"campaigns": [
{
"id": "<string>",
"name": "<string>",
"platform": "<string>",
"status": "<string>",
"objective": "<string>",
"impressions30d": 123,
"clicks30d": 123,
"spend30d": 123,
"conversions30d": 123,
"reach30d": 123,
"currency": "<string>"
}
],
"totals": {
"totalCampaigns": 123,
"totalImpressions": 123,
"totalClicks": 123,
"totalSpend": 123,
"totalConversions": 123
}
}
}Ad campaign overview with 30-day rollup metrics. Uses pre-computed columns, not a date range. Spend is converted from micros to dollars.
curl --request GET \
--url https://ai.wisepilot.app/api/v1/metrics/ads/campaigns \
--header 'Authorization: Bearer <token>'{
"success": true,
"data": {
"campaigns": [
{
"id": "<string>",
"name": "<string>",
"platform": "<string>",
"status": "<string>",
"objective": "<string>",
"impressions30d": 123,
"clicks30d": 123,
"spend30d": 123,
"conversions30d": 123,
"reach30d": 123,
"currency": "<string>"
}
],
"totals": {
"totalCampaigns": 123,
"totalImpressions": 123,
"totalClicks": 123,
"totalSpend": 123,
"totalConversions": 123
}
}
}API key prefixed with cr_ (e.g. cr_a1b2c3...)
Website ID. Auto-resolved if key has single website scope.
Filter by ad platform
google, meta Filter by campaign status