Marketing Hub API
Email campaigns, prospect management, template design, list segmentation, automations, domain verification, and tracking.
All endpoints prefixed with /api/v1/marketing
Create, manage, send, and analyze email campaigns.
/api/v1/marketing/campaigns Create a new campaign.
Auth: Bearer token · marketing.create
Request Body
{
"name": "Summer Promotion",
"subject": "Don't miss our summer deals",
"templateId": 1,
"listIds": [1, 2],
"fromName": "Marketing Team",
"fromEmail": "marketing@company.com"
} /api/v1/marketing/campaigns List campaigns with pagination and filtering.
Auth: Bearer token · marketing.view
/api/v1/marketing/campaigns/:id Get campaign by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/campaigns/:id/stats Get campaign statistics (opens, clicks, bounces, unsubscribes).
Auth: Bearer token · marketing.view
/api/v1/marketing/campaigns/:id Update a campaign (draft only).
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/status Transition campaign status.
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/approve Approve a campaign.
Auth: Bearer token · marketing.approve
/api/v1/marketing/campaigns/:id/approval-history Get approval history for a campaign.
Auth: Bearer token · marketing.view
/api/v1/marketing/campaigns/:id/reject Reject a campaign.
Auth: Bearer token · marketing.approve
/api/v1/marketing/campaigns/:id/pause Pause a running campaign.
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/resume Resume a paused campaign.
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/cancel Cancel a campaign.
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/preview Preview campaign with personalized content for sample prospects.
Auth: Bearer token · marketing.view
/api/v1/marketing/campaigns/:id/send-test Send a test email for a campaign.
Auth: Bearer token · marketing.edit
/api/v1/marketing/campaigns/:id/duplicate Duplicate a campaign.
Auth: Bearer token · marketing.create
/api/v1/marketing/campaigns/:id Delete a campaign (draft only).
Auth: Bearer token · marketing.delete
Email template design and management.
/api/v1/marketing/templates Create a new email template.
Auth: Bearer token · marketing.create
Request Body
{
"name": "Welcome Email",
"subject": "Welcome to {{company}}",
"htmlContent": "...",
"category": "onboarding"
} /api/v1/marketing/templates List templates with pagination and filtering.
Auth: Bearer token · marketing.view
/api/v1/marketing/templates/active Get all active templates (for dropdowns).
Auth: Bearer token · marketing.view
/api/v1/marketing/templates/categories Get all unique template categories.
Auth: Bearer token · marketing.view
/api/v1/marketing/templates/:id Get template by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/templates/:id/preview Preview template rendered with sample data.
Auth: Bearer token · marketing.view
/api/v1/marketing/templates/:id/duplicate Duplicate a template.
Auth: Bearer token · marketing.create
/api/v1/marketing/templates/:id Update a template.
Auth: Bearer token · marketing.edit
/api/v1/marketing/templates/:id Delete a template.
Auth: Bearer token · marketing.delete
Marketing prospect management with list membership and conversion.
/api/v1/marketing/prospects Create a new prospect.
Auth: Bearer token · marketing.create
Request Body
{
"email": "prospect@company.com",
"firstName": "John",
"lastName": "Doe",
"company": "Acme Corp"
} /api/v1/marketing/prospects List prospects with pagination and filtering.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/stats Get prospect statistics.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/:id Get prospect by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/:id Update a prospect.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id Delete a prospect.
Auth: Bearer token · marketing.delete
/api/v1/marketing/prospects/:id/convert Convert a prospect to a sales lead.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/bulk/convert Bulk convert prospects to leads.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/lists Get lists a prospect belongs to.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/:id/lists/:groupId Add prospect to a list.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/lists/:groupId Remove prospect from a list.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/unsubscribe Unsubscribe a prospect from emails.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/resubscribe Resubscribe a prospect.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/activities List activities for a prospect.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/:id/activities Create an activity for a prospect.
Auth: Bearer token · marketing.create
/api/v1/marketing/prospects/:id/activities/:activityId Get a specific activity.
Auth: Bearer token · marketing.view
/api/v1/marketing/prospects/:id/activities/:activityId Update an activity.
Auth: Bearer token · marketing.edit
/api/v1/marketing/prospects/:id/activities/:activityId Delete an activity.
Auth: Bearer token · marketing.delete
Recipient list management with static and dynamic lists.
/api/v1/marketing/lists Create a new recipient list.
Auth: Bearer token · marketing.create
Request Body
{
"name": "Newsletter Subscribers",
"type": "static",
"description": "Active newsletter subscribers"
} /api/v1/marketing/lists List recipient lists with pagination.
Auth: Bearer token · marketing.view
/api/v1/marketing/lists/active Get all active lists (for dropdowns).
Auth: Bearer token · marketing.view
/api/v1/marketing/lists/prospects Search prospects for adding to lists.
Auth: Bearer token · marketing.view
/api/v1/marketing/lists/:id Get list by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/lists/:id Update a list.
Auth: Bearer token · marketing.edit
/api/v1/marketing/lists/:id Delete a list.
Auth: Bearer token · marketing.delete
/api/v1/marketing/lists/:id/members Get members (prospects) in a list with pagination.
Auth: Bearer token · marketing.view
/api/v1/marketing/lists/:id/members Add prospects to a list.
Auth: Bearer token · marketing.edit
Request Body
{
"prospectIds": [1, 2, 3]
} /api/v1/marketing/lists/:id/members Remove prospects from a list.
Auth: Bearer token · marketing.edit
/api/v1/marketing/lists/:id/members/remove Remove prospects from a list (alternative endpoint).
Auth: Bearer token · marketing.edit
/api/v1/marketing/lists/:id/members/:prospectId/status Update member status in a list.
Auth: Bearer token · marketing.edit
/api/v1/marketing/lists/:id/refresh Refresh a dynamic list (re-evaluate criteria).
Auth: Bearer token · marketing.edit
/api/v1/marketing/lists/:id/export Export list members as CSV.
Auth: Bearer token · marketing.view
Marketing automation rules with triggers and actions.
/api/v1/marketing/automations/meta/triggers List available trigger types.
Auth: Bearer token · marketing.view
/api/v1/marketing/automations/meta/actions List available action types.
Auth: Bearer token · marketing.view
/api/v1/marketing/automations Create a new automation rule.
Auth: Bearer token · tenant_admin
/api/v1/marketing/automations List automation rules.
Auth: Bearer token · marketing.view
/api/v1/marketing/automations/:id Get automation rule by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/automations/:id Update automation rule.
Auth: Bearer token · tenant_admin
/api/v1/marketing/automations/:id Delete automation rule.
Auth: Bearer token · tenant_admin
/api/v1/marketing/automations/:id/toggle Toggle automation rule active status.
Auth: Bearer token · tenant_admin
Campaign execution tracking and statistics.
/api/v1/marketing/runs/campaign/:campaignId List runs for a campaign.
Auth: Bearer token · marketing.view
/api/v1/marketing/runs/campaign/:campaignId/stats Get aggregated stats for all runs of a campaign.
Auth: Bearer token · marketing.view
/api/v1/marketing/runs/:id Get run by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/runs/:id/stats Get detailed stats for a specific run.
Auth: Bearer token · marketing.view
/api/v1/marketing/runs/:id/cancel Cancel a run.
Auth: Bearer token · marketing.edit
Campaign scheduling for automated sends.
/api/v1/marketing/schedules Create a new schedule for a campaign.
Auth: Bearer token · marketing.edit
Request Body
{
"campaignId": 1,
"scheduledAt": "2026-07-01T10:00:00Z",
"timezone": "America/New_York"
} /api/v1/marketing/schedules/campaign/:campaignId Get schedule(s) for a campaign.
Auth: Bearer token · marketing.view
/api/v1/marketing/schedules/:id Get schedule by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/schedules/:id Update a schedule.
Auth: Bearer token · marketing.edit
/api/v1/marketing/schedules/:id Cancel/deactivate a schedule.
Auth: Bearer token · marketing.edit
Email domain verification for improved deliverability.
/api/v1/marketing/domains Add a domain for verification.
Auth: Bearer token · tenant_admin
Request Body
{
"domain": "company.com"
} /api/v1/marketing/domains List all domains.
Auth: Bearer token · marketing.view
/api/v1/marketing/domains/verified Get verified domains only (for dropdowns).
Auth: Bearer token · marketing.view
/api/v1/marketing/domains/:domain Get domain details with DNS records.
Auth: Bearer token · marketing.view
/api/v1/marketing/domains/:domain/verify Verify domain DNS records (SPF, DKIM, DMARC).
Auth: Bearer token · tenant_admin
/api/v1/marketing/domains/:domain Delete a domain.
Auth: Bearer token · tenant_admin
Create and track shortened URLs for campaigns.
/api/v1/marketing/trackable-urls Create a new trackable URL.
Auth: Bearer token · marketing.create
Request Body
{
"originalUrl": "https://company.com/landing",
"name": "Summer Campaign CTA"
} /api/v1/marketing/trackable-urls List trackable URLs.
Auth: Bearer token · marketing.view
/api/v1/marketing/trackable-urls/:id Get trackable URL by ID.
Auth: Bearer token · marketing.view
/api/v1/marketing/trackable-urls/:id/stats Get click statistics for a trackable URL.
Auth: Bearer token · marketing.view
/api/v1/marketing/trackable-urls/:id Update a trackable URL.
Auth: Bearer token · marketing.edit
/api/v1/marketing/trackable-urls/:id Delete a trackable URL.
Auth: Bearer token · marketing.delete
Import prospects from CSV files.
/api/v1/marketing/bulk-import/templates/prospects Download a CSV template with instructions.
Auth: Bearer token · marketing.view
/api/v1/marketing/bulk-import/templates/prospects/simple Download a simple CSV template (no instructions).
Auth: Bearer token · marketing.view
/api/v1/marketing/bulk-import/fields/prospects Get available fields for prospect import mapping.
Auth: Bearer token · marketing.view
/api/v1/marketing/bulk-import/prospects Import prospects from uploaded CSV.
Auth: Bearer token · marketing.create
/api/v1/marketing/bulk-import/prospects/validate Validate a CSV file without importing (dry run).
Auth: Bearer token · marketing.view
Full-text search across marketing entities.
/api/v1/marketing/search/campaigns Search campaigns by keyword.
Auth: Bearer token · marketing.view
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Search query |
| limit | number | Max results |
/api/v1/marketing/search/status Check search service availability.
Auth: Bearer token
/api/v1/marketing/search/reindex Trigger reindexing for an entity type.
Auth: Bearer token · tenant_admin