Appearance
Rule.io SDK / client/src / RuleClient
Class: RuleClient
Defined in: client/src/client.ts:104
Rule.io API Client.
Example
typescript
const client = new RuleClient({ apiKey: process.env.RULE_API_KEY! });
// Namespaced (recommended) API:
await client.subscribers.create({ email: 'a@b.c', status: 'ACTIVE' });
await client.automations.list({ active: true });
await client.brandStyles.get(42);
await client.recipients.segments.list();
// Flat API (deprecated, kept for back-compat):
await client.createAutomation({ name: 'Welcome' });
await client.syncSubscriber({ email: 'a@b.c', tags: ['Newsletter'] }, 'Booking');Extends
BaseResource
Constructors
Constructor
new RuleClient(
config):RuleClient
Defined in: client/src/client.ts:107
Parameters
config
string | RuleClientConfig
Returns
RuleClient
Overrides
BaseResource.constructor
Accessors
account
Get Signature
get account():
AccountClient
Defined in: client/src/client.ts:121
Returns
AccountClient
analytics
Get Signature
get analytics():
AnalyticsClient
Defined in: client/src/client.ts:168
Returns
AnalyticsClient
apiKeys
Get Signature
get apiKeys():
ApiKeysClient
Defined in: client/src/client.ts:160
Returns
ApiKeysClient
automations
Get Signature
get automations():
AutomationsClient
Defined in: client/src/client.ts:136
Returns
AutomationsClient
brandStyles
Get Signature
get brandStyles():
BrandStylesClient
Defined in: client/src/client.ts:156
Returns
BrandStylesClient
campaigns
Get Signature
get campaigns():
CampaignsClient
Defined in: client/src/client.ts:152
Returns
CampaignsClient
customField
Get Signature
get customField():
CustomFieldClient
Defined in: client/src/client.ts:176
Returns
CustomFieldClient
dynamicSets
Get Signature
get dynamicSets():
DynamicSetsClient
Defined in: client/src/client.ts:148
Returns
DynamicSetsClient
exports
Get Signature
get exports():
ExportsClient
Defined in: client/src/client.ts:164
Returns
ExportsClient
messages
Get Signature
get messages():
MessagesClient
Defined in: client/src/client.ts:140
Returns
MessagesClient
recipients
Get Signature
get recipients():
RecipientsClient
Defined in: client/src/client.ts:172
Returns
RecipientsClient
subscribers
Get Signature
get subscribers():
SubscribersClient
Defined in: client/src/client.ts:125
Returns
SubscribersClient
tags
Get Signature
get tags():
TagsClient
Defined in: client/src/client.ts:132
Returns
TagsClient
templates
Get Signature
get templates():
TemplatesClient
Defined in: client/src/client.ts:144
Returns
TemplatesClient
Methods
addSubscriberTags()
addSubscriberTags(
tags,triggerAutomation?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:225
Add tags to a subscriber via the v2 endpoint.
Parameters
email
string
tags
string[]
triggerAutomation?
false | "force" | "reset"
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.addTags() (v3) instead.
addSubscriberTagsV3()
addSubscriberTagsV3(
subscriber,request,identifiedBy?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:322
Parameters
subscriber
string | number
request
automation?
"force" | "reset" | "send" | null
syncSubscriber?
boolean
tags
(string | number)[]
identifiedBy?
V2SubscriberIdentifierBy = 'email'
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.addSubscriberTags() instead.
blockSubscribers()
blockSubscribers(
subscribers,callbackUrl?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:296
Parameters
subscribers
callbackUrl?
string
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.block() instead.
bulkAddTags()
bulkAddTags(
request):Promise<RuleApiResponse>
Defined in: client/src/client.ts:312
Parameters
request
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.bulkAddTags() instead.
bulkRemoveTags()
bulkRemoveTags(
request):Promise<RuleApiResponse>
Defined in: client/src/client.ts:317
Parameters
request
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.bulkRemoveTags() instead.
createApiKey()
createApiKey(
payload):Promise<ApiKey>
Defined in: client/src/client.ts:366
Parameters
payload
Returns
Promise<ApiKey>
Deprecated
Use client.apiKeys.create() instead.
createAutomationEmail()
createAutomationEmail(
config):Promise<CreateAutomationEmailResult>
Defined in: client/src/client.ts:418
Create a complete automation email workflow: automation → message → template → dynamic-set
Cleans up previously-created resources if any step fails.
Parameters
config
Returns
Promise<CreateAutomationEmailResult>
Deprecated
Will be relocated to consumers in a follow-up. Inline the orchestration in your call site using the namespaced clients.
createCampaignEmail()
createCampaignEmail(
config):Promise<CreateCampaignEmailResult>
Defined in: client/src/client.ts:589
Create a complete campaign email in one call: campaign → message → template → dynamic-set
Cleans up on failure.
Parameters
config
Returns
Promise<CreateCampaignEmailResult>
Deprecated
Will be relocated to consumers in a follow-up.
createSubscriberV3()
createSubscriberV3(
subscriber):Promise<Subscriber>
Defined in: client/src/client.ts:277
Parameters
subscriber
Returns
Promise<Subscriber>
Deprecated
Use client.subscribers.create() instead.
deleteApiKey()
deleteApiKey(
apiKeyId):Promise<void>
Defined in: client/src/client.ts:376
Parameters
apiKeyId
number
Returns
Promise<void>
Deprecated
Use client.apiKeys.delete() instead.
deleteSubscriber()
deleteSubscriber(
Promise<RuleApiResponse>
Defined in: client/src/client.ts:267
Delete a subscriber via the v2 endpoint.
Parameters
email
string
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.delete() (v3) instead.
deleteSubscriberV3()
deleteSubscriberV3(
subscriber,identifiedBy?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:284
Parameters
subscriber
string | number
identifiedBy?
V2SubscriberIdentifierBy = 'email'
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.deleteByEmail() / deleteById() / deleteByPhoneNumber() / deleteByCustomIdentifier() instead.
exportDispatchers()
exportDispatchers(
params):Promise<ExportDispatcherRecord[]>
Defined in: client/src/client.ts:383
Parameters
params
Returns
Promise<ExportDispatcherRecord[]>
Deprecated
Use client.exports.dispatchers() instead.
exportStatistics()
exportStatistics(
params):Promise<ExportStatisticsResult>
Defined in: client/src/client.ts:388
Parameters
params
Returns
Promise<ExportStatisticsResult>
Deprecated
Use client.exports.statistics() instead.
exportSubscribers()
exportSubscribers(
params):Promise<ExportSubscriberRecord[]>
Defined in: client/src/client.ts:393
Parameters
params
Returns
Promise<ExportSubscriberRecord[]>
Deprecated
Use client.exports.subscribers() instead.
getAnalytics()
getAnalytics(
params):Promise<AnalyticsResult>
Defined in: client/src/client.ts:400
Parameters
params
Returns
Promise<AnalyticsResult>
Deprecated
Use client.analytics.get() instead.
getApiKey()
getApiKey():
string
Defined in: client/src/client.ts:115
Get the API key (useful for passing to other functions).
Returns
string
getSubscriber()
getSubscriber(
Promise<Subscriber|null>
Defined in: client/src/client.ts:204
Parameters
email
string
Returns
Promise<Subscriber | null>
Deprecated
Use client.subscribers.getByEmail() instead.
getSubscriberFields()
getSubscriberFields(
Promise<CustomFieldGroupDataRecord|null>
Defined in: client/src/client.ts:209
Parameters
email
string
Returns
Promise<CustomFieldGroupDataRecord | null>
Deprecated
Use client.subscribers.listCustomFieldData() instead.
getSubscriberTags()
getSubscriberTags(
Promise<SubscriberTag[] |null>
Defined in: client/src/client.ts:216
Parameters
email
string
Returns
Promise<SubscriberTag[] | null>
Deprecated
Use client.subscribers.getSubscriberTags() instead.
listApiKeys()
listApiKeys():
Promise<ApiKey[]>
Defined in: client/src/client.ts:361
Returns
Promise<ApiKey[]>
Deprecated
Use client.apiKeys.list() instead.
removeSubscriberTags()
removeSubscriberTags(
tags):Promise<RuleApiResponse>
Defined in: client/src/client.ts:246
Remove tags from a subscriber via the v2 endpoint (one DELETE per tag).
Parameters
email
string
tags
string[]
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.removeSubscriberTag() for single-tag removal, or client.subscribers.bulkRemoveSubscriberTags() for bulk operations (both v3).
removeSubscriberTagV3()
removeSubscriberTagV3(
subscriber,tag,identifiedBy?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:344
Parameters
subscriber
string | number
tag
string | number
identifiedBy?
V2SubscriberIdentifierBy = 'email'
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.removeSubscriberTag() instead.
syncSubscriber()
syncSubscriber(
subscriber,fieldGroupPrefix):Promise<Subscriber>
Defined in: client/src/client.ts:192
Parameters
subscriber
email
string
fields?
Record<string, string | number | undefined>
tags?
string[]
fieldGroupPrefix
string
Returns
Promise<Subscriber>
Deprecated
Use client.subscribers.sync({ subscriber: { email }, customFieldData, tags }) instead.
unblockSubscribers()
unblockSubscribers(
subscribers,callbackUrl?):Promise<RuleApiResponse>
Defined in: client/src/client.ts:304
Parameters
subscribers
callbackUrl?
string
Returns
Promise<RuleApiResponse>
Deprecated
Use client.subscribers.unblock() instead.
updateApiKey()
updateApiKey(
apiKeyId,payload):Promise<ApiKey>
Defined in: client/src/client.ts:371
Parameters
apiKeyId
number
payload
Returns
Promise<ApiKey>
Deprecated
Use client.apiKeys.update() instead.