Zaptickdocs
Email

email.campaigns

Bulk email sends with audiences, scheduling, and progress reporting. Use for newsletters, promos, and broadcasts — single transactional sends should use email.send.

#Endpoints

  • GET/v1/email/campaignsList campaigns. Filter by status.
  • GET/v1/email/campaigns/:idFetch a single campaign, including sent/delivered/opened counts.
  • POST/v1/email/campaignsCreate a draft campaign. Pass scheduledFor to schedule on create.
  • POST/v1/email/campaigns/:id/launchMove a draft or paused campaign into the sending pipeline. Optionally pass scheduledFor to schedule for later.
  • POST/v1/email/campaigns/:id/pausePause an actively sending campaign. Resume by launching again.
GET/v1/email/campaigns

List campaigns. Filter by status.

SDK
TypeScript
const { campaigns } = await zaptick.email.campaigns.list({
  status: 'sent',
  limit: 20,
});
GET/v1/email/campaigns/:id

Fetch a single campaign, including sent/delivered/opened counts.

SDK
TypeScript
const { campaign } = await zaptick.email.campaigns.get('64f…');
Response
JSON
{
  "success": true,
  "campaign": {
    "id": "64f…",
    "name": "Spring sale",
    "subject": "Up to 40% off",
    "status": "sent",
    "scheduledFor": "2026-03-01T09:00:00Z",
    "sentAt": "2026-03-01T09:00:12Z",
    "stats": {
      "total": 12000,
      "sent": 11984,
      "delivered": 11820,
      "opened": 5341,
      "clicked": 1204,
      "bounced": 98,
      "unsubscribed": 14
    }
  }
}
POST/v1/email/campaigns

Create a draft campaign. Pass scheduledFor to schedule on create.

SDK
TypeScript
const { campaign } = await zaptick.email.campaigns.create({
  name: 'Spring sale',
  subject: 'Up to 40% off',
  fromName: 'Acme',
  fromEmail: 'promo@acme.com',
  templateId: '64a…',
  audienceId: 'segment_newsletter',
  scheduledFor: '2026-03-01T09:00:00Z',
});
POST/v1/email/campaigns/:id/launch

Move a draft or paused campaign into the sending pipeline. Optionally pass scheduledFor to schedule for later.

SDK
TypeScript
await zaptick.email.campaigns.launch('64f…');
POST/v1/email/campaigns/:id/pause

Pause an actively sending campaign. Resume by launching again.

SDK
TypeScript
await zaptick.email.campaigns.pause('64f…');