Skip to content
Preview. The endpoints on this page are illustrative and are likely to change as they move toward general availability. Documentation is published in advance so you can start shaping your integration; treat request and response details as subject to revision.

BuyerSignal object

A BuyerSignal is a per-recipient engagement roll-up for one sent email — a compact "did this specific person open / click / reply, and when?" record. Returned by GET /api/v1alpha1/buyer-signals/sent-emails/{sentEmailId}/signals.

One row per recipient, one count per tracked event type (opens / replies / clicks / visits).

The BuyerSignal schema

json
{
  "recipientEmail": "guest@example.com",
  "contactId": "cont_...",
  "opens":   5,
  "clicks":  1,
  "replies": 1,
  "lastOpenAt":  "2026-08-12T09:22:03Z",
  "lastClickAt": "2026-08-12T09:22:41Z",
  "lastReplyAt": "2026-08-12T10:14:07Z"
}

Fields


recipientEmail string

Recipient's email address as it appeared on the sent email. Case-preserved from the original send.


contactId string

(optional) cont_... id when the recipient email matches a Cirrus contact. null when the address isn't in the contact model (e.g., a first-touch outbound to a lead not yet imported).


opens, clicks, replies number

Raw event counts for this recipient on this specific sent email. opens = 3 means the pixel fired three times — could be the recipient opening the message multiple times, or their mail client re-rendering it.

There is no sends field; this row exists because the recipient was sent the email.


lastOpenAt, lastClickAt, lastReplyAt string

(optional) ISO 8601 UTC. Timestamp of the most recent event of each type for this recipient. null when the corresponding count is 0.

Signal variants

The four tracked event types and their fields on this object:

SignalField
Opensopens / lastOpenAt
Repliesreplies / lastReplyAt
Clicksclicks / lastClickAt
Visitsnot yet exposed via API

Raleigh, NC — a Cirruspath, Inc. company