Skip to main content

GET /campaigns/:id

Retrieve a campaign by ID with all metrics.

Authentication

JWT Bearer token (dashboard auth)

Response

{
  "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"
    }
  }
}

Example

curl "https://app.usesendi.com/api/campaigns/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Errors

StatusErrorCause
404Campaign not foundInvalid ID or not owned by user