List campaign activity

Contacts behind one count of a campaign: who opened, clicked, bounced or was blocked.

GET https://cotlet.dev/api/v1/mailjet/campaign-activities

read

Returns the contacts of one status of a campaign, as the Activity and Non-delivery tabs list them. For blocked and bounced statuses each row has the reason and the date. email matches a complete address. Pass next_cursor back as cursor for the next page.

Parameters

Parameters: list_campaign_activity
NameTypeDescription
campaign_id integer required integer Campaign ID from list_campaigns.
event enum required enum opened, clicked, unsubscribed, spam, blocked, soft_bounced, hard_bounced or retrying.
email string string A complete email address to look for.
cursor string string next_cursor from the previous call.

Request

cURL
curl "https://cotlet.dev/api/v1/mailjet/campaign-activities?campaign_id=1&event=opened" \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("mailjet", "list_campaign_activity", {"campaign_id":1,"event":"opened"})
Node.js
const result = await cotlet.call('mailjet', 'list_campaign_activity', {"campaign_id":1,"event":"opened"});
CLI
cotlet call mailjet list_campaign_activity --data '{"campaign_id":1,"event":"opened"}'

Example response

JSON

{
  "total": 2,
  "activity": [
    {
      "email": "old.address@example.net",
      "event": "hard_bounced",
      "reason": "User unknown",
      "at": "2026-10-14T08:02:11+01:00"
    },
    {
      "email": "info@closed-shop.example",
      "event": "hard_bounced",
      "reason": "Domain not found",
      "at": "2026-10-14T08:02:40+01:00"
    }
  ],
  "next_cursor": null
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.