GET /campaigns/:id
Retrieve a campaign by ID with all metrics.Authentication
JWT Bearer token (dashboard auth)Response
Example
Errors
| Status | Error | Cause |
|---|---|---|
404 | Campaign not found | Invalid ID or not owned by user |
Get a single campaign with full metrics.
{
"success": true,
"data": {
"campaign": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "March Newsletter",
"status": "running",
"from_email": "news@yourdomain.com",
"subject": "What's new in March",
"preview_text": "Big updates this month...",
"contact_book_id": "660e8400-e29b-41d4-a716-446655440000",
"contact_book_name": "Newsletter Subscribers",
"total_contacts": 1500,
"sent_count": 800,
"delivered_count": 790,
"opened_count": 320,
"clicked_count": 85,
"bounced_count": 10,
"complained_count": 0,
"unsubscribed_count": 3,
"batch_size": 100,
"scheduled_at": "2026-03-08T14:00:00Z",
"started_at": "2026-03-08T14:00:00Z",
"created_at": "2026-03-08T12:00:00Z"
}
}
}
curl "https://app.usesendi.com/api/campaigns/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
| Status | Error | Cause |
|---|---|---|
404 | Campaign not found | Invalid ID or not owned by user |