GET /v1/triggers/new-campaign-sent

Most recent completed broadcasts (campaigns) with delivery and engagement counts.

Returns up to 100 most-recent completed broadcasts with their delivery counters. Use it to push campaign results into BI dashboards or trigger post-campaign workflows.

GET /api/v1/triggers/new-campaign-sent

Only broadcasts with status = completed are returned. In-flight or scheduled broadcasts are excluded — they show up as soon as the queue drains.

Request

curl https://www.qyvo.io/api/v1/triggers/new-campaign-sent \
  -H "Authorization: Bearer YOUR_TOKEN_HERE"
const broadcasts = await fetch(
  'https://www.qyvo.io/api/v1/triggers/new-campaign-sent',
  { headers: { Authorization: `Bearer ${process.env.QYVO_TOKEN}` } },
).then((r) => r.json());
$broadcasts = Http::withToken(env('QYVO_TOKEN'))
    ->get('https://www.qyvo.io/api/v1/triggers/new-campaign-sent')
    ->json();
import os, httpx
broadcasts = httpx.get(
    'https://www.qyvo.io/api/v1/triggers/new-campaign-sent',
    headers={'Authorization': f"Bearer {os.environ['QYVO_TOKEN']}"},
).json()

Response — 200 OK

[
  {
    "id": "01J0CD...",
    "name": "Black Friday teaser",
    "status": "completed",
    "template_id": "01J0AB...",
    "template_name": "bf_teaser",
    "total_recipients": 4218,
    "sent_count": 4205,
    "delivered_count": 4189,
    "read_count": 3812,
    "failed_count": 13,
    "revenue": 8742.00,
    "scheduled_at": "2026-05-07T08:00:00+00:00",
    "created_at": "2026-05-06T14:32:00+00:00"
  }
]
Field Type Notes
total_recipients int Audience size at dispatch time
sent_count int Accepted by Meta
delivered_count int Delivered to device
read_count int Opened (only counted if read receipts are enabled on the recipient)
failed_count int Rejected by Meta — see the dashboard for per-recipient reasons
revenue float | null Attributed revenue when the broadcast carries a tracking pixel and links convert

Errors

Status Cause
401 Token missing or revoked
200 with [] No tenant attached to the user (silent empty)