Skip to content

SDK API Reference / EngageSDK

Class: EngageSDK

Engage operations API

Methods

createCampaign()

createCampaign(input): Promise<CampaignInfo>

Create a campaign

Parameters

input

CreateCampaignInput

Campaign creation parameters

Returns

Promise<CampaignInfo>

Created campaign (normalized format)


createTemplate()

createTemplate(input): Promise<EmailTemplateInfo>

Create an email template

Parameters

input

CreateTemplateInput

Template creation parameters

Returns

Promise<EmailTemplateInfo>

Created template (normalized format)


createWorkspace()

createWorkspace(input): Promise<WorkspaceInfo>

Create a workspace

Parameters

input

CreateWorkspaceInput

Workspace creation parameters

Returns

Promise<WorkspaceInfo>

Created workspace (normalized format)


deleteCampaign()

deleteCampaign(nameOrId, workspaceId?): Promise<void>

Delete a campaign

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


deleteTemplate()

deleteTemplate(nameOrId, workspaceId?): Promise<void>

Delete an email template

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


deleteWorkspace()

deleteWorkspace(nameOrId): Promise<void>

Delete a workspace

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<void>


duplicateCampaign()

duplicateCampaign(nameOrId, workspaceId?): Promise<CampaignInfo>

Duplicate a campaign

Creates a copy of an existing campaign with DRAFT status.

Parameters

nameOrId

string

Campaign name or UUID to duplicate

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Duplicated campaign (normalized format)


getCampaign()

getCampaign(nameOrId, workspaceId?): Promise<CampaignInfo>

Get a campaign by name or ID

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Campaign details (normalized format)


getCampaignFull()

getCampaignFull(nameOrId, workspaceId?): Promise<Campaign>

Get full campaign details (JSON:API format) by name or ID

Use this method when you need access to all campaign fields including emailContent, pushContent, connectorConfig, etc.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<Campaign>

Full campaign object in JSON:API format


getTemplate()

getTemplate(nameOrId, workspaceId?): Promise<EmailTemplateInfo>

Get an email template by name or ID

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplateInfo>

Template details (normalized format)


getTemplateFull()

getTemplateFull(nameOrId, workspaceId?): Promise<EmailTemplate>

Get full email template details (JSON:API format) by name or ID

Use this method when you need access to all template fields including htmlTemplate, beefreeJson, templateVariables, etc.

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplate>

Full template object in JSON:API format


getWorkspace()

getWorkspace(nameOrId): Promise<WorkspaceInfo>

Get a workspace by name or ID

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<WorkspaceInfo>

Workspace details (normalized format)


getWorkspaceFull()

getWorkspaceFull(nameOrId): Promise<Workspace>

Get full workspace details (JSON:API format) by name or ID

Use this method when you need access to all workspace fields including workspaceConfig, ownerUser, etc.

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<Workspace>

Full workspace object in JSON:API format


launchCampaign()

launchCampaign(nameOrId, workspaceId?): Promise<void>

Launch a campaign

Transitions a DRAFT campaign to ACTIVE status and begins sending.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


listCampaigns()

listCampaigns(options?): Promise<CampaignInfo[]>

List campaigns

Parameters

options?

Filter and pagination options

limit?

number

status?

CampaignStatus

type?

CampaignType

workspaceId?

string

Returns

Promise<CampaignInfo[]>

List of campaigns (normalized format)


listTemplates()

listTemplates(options?): Promise<EmailTemplateInfo[]>

List email templates

Parameters

options?

Filter and pagination options

limit?

number

workspaceId?

string

Returns

Promise<EmailTemplateInfo[]>

List of templates (normalized format)


listWorkspaces()

listWorkspaces(options?): Promise<WorkspaceInfo[]>

List workspaces

Parameters

options?

Filter and pagination options

limit?

number

name?

string

Returns

Promise<WorkspaceInfo[]>

List of workspaces (normalized format)


pauseCampaign()

pauseCampaign(nameOrId, workspaceId?): Promise<void>

Pause a campaign

Temporarily suspends an ACTIVE campaign.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


resolveCampaignId()

resolveCampaignId(nameOrId, workspaceId?): Promise<string>

Resolve campaign name or ID to campaign ID

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search

Returns

Promise<string>

Campaign ID

Throws

When campaign is not found or multiple matches exist


resolveTemplateId()

resolveTemplateId(nameOrId, workspaceId?): Promise<string>

Resolve email template name or ID to template ID

Parameters

nameOrId

string

Template name or UUID

workspaceId?

string

Optional workspace ID to narrow search

Returns

Promise<string>

Template ID

Throws

When template is not found or multiple matches exist


resolveWorkspaceId()

resolveWorkspaceId(nameOrId): Promise<string>

Resolve workspace name or ID to workspace ID

Parameters

nameOrId

string

Workspace name or UUID

Returns

Promise<string>

Workspace ID

Throws

When workspace is not found or multiple matches exist


resumeCampaign()

resumeCampaign(nameOrId, workspaceId?): Promise<void>

Resume a campaign

Resumes a PAUSED campaign.

Parameters

nameOrId

string

Campaign name or UUID

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<void>


updateCampaign()

updateCampaign(nameOrId, input, workspaceId?): Promise<CampaignInfo>

Update a campaign

Parameters

nameOrId

string

Campaign name or UUID

input

UpdateCampaignInput

Campaign update parameters

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<CampaignInfo>

Updated campaign (normalized format)


updateTemplate()

updateTemplate(nameOrId, input, workspaceId?): Promise<EmailTemplateInfo>

Update an email template

Parameters

nameOrId

string

Template name or UUID

input

UpdateTemplateInput

Template update parameters

workspaceId?

string

Optional workspace ID to narrow search when using name

Returns

Promise<EmailTemplateInfo>

Updated template (normalized format)


updateWorkspace()

updateWorkspace(nameOrId, input): Promise<WorkspaceInfo>

Update a workspace

Parameters

nameOrId

string

Workspace name or UUID

input

UpdateWorkspaceInput

Workspace update parameters

Returns

Promise<WorkspaceInfo>

Updated workspace (normalized format)