Documentation Index
Fetch the complete documentation index at: https://docs.mailglyph.com/llms.txt
Use this file to discover all available pages before exploring further.
Use a secret key client for campaign methods.
import MailGlyph from 'mailglyph';
const client = new MailGlyph(process.env.MAILGLYPH_SECRET_KEY as string);
List campaigns (campaigns.list)
const page = await client.campaigns.list({
page: 1,
pageSize: 20,
status: 'DRAFT'
});
console.log(page.total, page.totalPages, page.data.length);
Create a campaign (campaigns.create)
const campaignAll = await client.campaigns.create({
name: 'Launch campaign',
subject: 'Introducing our new feature',
body: '<h1>Big news</h1><p>Check out what is new.</p>',
from: '[email protected]',
audienceType: 'ALL'
});
console.log(campaignAll.id, campaignAll.status);
const campaignFiltered = await client.campaigns.create({
name: 'Subscribed users campaign',
subject: 'Feature update',
body: '<p>Only subscribed users receive this.</p>',
from: '[email protected]',
audienceType: 'FILTERED',
audienceCondition: {
logic: 'AND',
groups: [
{
filters: [{ field: 'subscribed', operator: 'equals', value: true }]
}
]
}
});
console.log(campaignFiltered.id);
Audience: segment
const campaignSegment = await client.campaigns.create({
name: 'Segment campaign',
subject: 'Offer for premium users',
body: '<p>This goes to one saved segment.</p>',
from: '[email protected]',
audienceType: 'SEGMENT',
segmentId: 'seg_123'
});
console.log(campaignSegment.id);
Get one campaign (campaigns.get)
const campaign = await client.campaigns.get(campaignAll.id);
console.log(campaign.name, campaign.status);
Update a campaign (campaigns.update)
const updated = await client.campaigns.update(campaignAll.id, {
subject: 'Updated subject line',
replyTo: '[email protected]'
});
console.log(updated.subject, updated.replyTo);
Send a campaign now (campaigns.send)
const sendResult = await client.campaigns.send(campaignAll.id);
console.log(sendResult.success, sendResult.message);
Schedule a campaign (campaigns.send with scheduledFor)
const scheduledResult = await client.campaigns.send(campaignAll.id, {
scheduledFor: '2026-03-01T10:00:00Z'
});
console.log(scheduledResult.success, scheduledResult.message);
Send a test email (campaigns.test)
const testResult = await client.campaigns.test(campaignAll.id, '[email protected]');
console.log(testResult.success, testResult.message);
Fetch campaign stats (campaigns.stats)
const stats = await client.campaigns.stats(campaignAll.id);
console.log(stats.success, stats.data);
Cancel a scheduled campaign (campaigns.cancel)
const cancelled = await client.campaigns.cancel(campaignAll.id);
console.log(cancelled.success, cancelled.message);
See full details in the Campaigns API reference.