Paginated reverse-chronological feed of campaign activity — sends, connects, replies, bounces, and prospect terminations.
?campaign_id=). Events include email/LinkedIn sends + replies + bounces, connection accepts, and prospect lifecycle changes. Each entry is denormalized with campaign and prospect identity inlined so a UI can render a feed without N+1 lookups.
Pagination uses a composite keyset cursor (<ISO timestamp>|<UUID>) so duplicate created_at values don’t drop rows across pages.
status, stats), use getCampaign instead — it’s cheaper and structured for that purpose.Pagination protocol.| Page size | Default 50, max 200 via ?limit= |
|---|---|
| Cursor format | <ISO timestamp>|<UUID> returned as nextCursor |
| Last page | nextCursor: null |
| Malformed cursor | 400 — do not retry without fixing the cursor |
activity_type. Treat metadata as opaque when rendering a generic feed; inspect by type when computing analytics (e.g. email_bounced.bounce_reason, email_sent.subject + message_id).Channel field. channel is one of email, linkedin, or system. system is reserved for engine-level events that don’t tie to a specific send channel.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Filter to a single campaign. Omit to list activity across every campaign the caller owns.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Max activities to return per page. Defaults to 50, capped at 200.
1 <= x <= 200Composite keyset cursor of the form <ISO timestamp>|<UUID> returned as nextCursor from the previous page. A bare ISO timestamp is accepted for backwards compatibility. Rejected with 400 if malformed.