Skip to main content
GET
Get Many Activities
This endpoint retrieves the history of all campaign activities and steps performed.

Filtering by date

Activities can be filtered on their createdAt field using either of two naming conventions:
  • minDate / maxDate (primary)
  • startDate / endDate (aliases, kept consistent with sibling endpoints such as /campaigns/{campaignId}/stats)
Both pairs accept either a Unix timestamp in seconds (e.g. 1715385600) or an ISO 8601 datetime (e.g. 2026-05-11T00:00:00Z). When both names are provided, the primary one wins: minDate takes precedence over startDate, and maxDate over endDate. maxDate must be strictly greater than minDate when both are set.

Response

The response can include sequenceStep and totalSequenceStep fields, which are zero-indexed (starting at 0). Activities also carry stepId, the stable identifier of the step that produced them. Unlike sequenceStep — a position that shifts when a sequence’s steps are reordered — stepId always points at the same step, so prefer it when you store a reference. sequenceStep keeps being returned exactly as before.
stepId is present on every activity created from now on. Activities recorded earlier gain it progressively as historical records are backfilled, so treat it as optional when you read back through history.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Query Parameters

version
enum<string>
required

API version. v2 is mandatory

Available options:
v2
type
string

Filter by activity type (e.g., paused)

campaignId
string

Filter by campaign ID

isFirst
boolean

Filter for first activity

offset
integer

Number of records to skip. Note: This is not traditional cursor-based pagination. To retrieve all activities, increment offset by the limit value on each request (e.g., offset=0, then offset=100, then offset=200, etc.).

limit
integer

Number of activities to retrieve. Default: 100. Maximum: 100

leadId
string

Filter by lead ID

minDate
string

Filter activities by createdAt >= minDate. Accepts either a Unix timestamp in seconds (e.g. 1715385600) or an ISO 8601 datetime (e.g. 2026-05-11T00:00:00Z). minDate is the primary name; startDate is accepted as an alias and minDate takes precedence when both are provided.

maxDate
string

Filter activities by createdAt <= maxDate. Accepts either a Unix timestamp in seconds (e.g. 1715385600) or an ISO 8601 datetime (e.g. 2026-05-11T00:00:00Z). Must be strictly greater than minDate when both are provided. maxDate is the primary name; endDate is accepted as an alias and maxDate takes precedence when both are provided.

startDate
string

Alias for minDate, provided for consistency with sibling endpoints (e.g. /campaigns/{campaignId}/stats). Accepts either a Unix timestamp in seconds or an ISO 8601 datetime. Ignored when minDate is also provided.

endDate
string

Alias for maxDate, provided for consistency with sibling endpoints (e.g. /campaigns/{campaignId}/stats). Accepts either a Unix timestamp in seconds or an ISO 8601 datetime. Ignored when maxDate is also provided.

Response

Success

_id
string

Unique activity identifier

type
string

Activity type (emailOpened, emailClicked, emailReplied, etc.)

leadId
string

Associated lead ID

campaignId
string

Campaign ID

sequenceId
string

Sequence ID

stepId
string

Stable identifier of the sequence step that produced this activity. Present on every activity created from now on; older activities gain it progressively as historical records are backfilled, so treat it as optional when reading history.

sequenceStep
number

0-based position of the step within the sequence. Still emitted on every activity, unchanged. Prefer stepId for a reference that survives steps being reordered.

totalSequenceStep
number

0-based count of the sequence steps already delivered to this lead.

createdAt
string<date-time>

When the activity occurred