Activity and warmup history
From the Accounts API reference. Requests use the base URL https://app.warmerly.com/api/v1 and an API key, see Authentication.
GET /accounts/{id}/stats
GET /accounts/{id}/events
GET /accounts/{id}/log
GET /accounts/{id}/warmup-jobsstats is today-and-7-day counters for one mailbox. "Today" is the UTC day:
{ "sentToday": 24, "pendingToday": 6, "inboxToday": 22, "spamToday": 2, "openRate": 0.415, "replyRate": 0.123, "todayPlan": null, "firstWarmupSend": null }openRate and replyRate here are warmup-network rates over 7 days, returned as fractions between 0 and 1 (not percentages), not campaign performance. The two are different metrics with similar names, explained in How warmup works. Either can be null when there is nothing to divide by. todayPlan is the mailbox's warmup plan for its local day and firstWarmupSend describes the first warmup email during the first 7 days after warmup starts (null afterwards).
events returns up to 200 lifecycle events, newest first, as { "events": [...] } with { id, accountId, type, payload, createdAt } each. type is one of smtp_fail, imap_fail, flagged, auto_paused, auto_resumed, manual_pause, aged_in, marked_dead, oauth_refresh_fail, oauth_connected and oauth_reconnected.
log pages through the individual warmup messages this mailbox sent, newest first, as { "jobs": [...], "nextCursor": "..." }: ?limit= (1-100, default 50) and ?cursor= (pass the previous response's nextCursor, a timestamp). nextCursor is null only when a page comes back empty, so keep paging until jobs is empty.
warmup-jobs returns the 100 most recent warmup messages this mailbox sent or received, newest first by scheduled time, as { "jobs": [...], "dailySummary": [...] }, with no paging.