Skip to main content

@dialstack/sdk / server / DialStack

Class: DialStack

Defined in: sdk/src/server/index.ts:923

Constructors

Constructor

new DialStack(apiKey, config?): DialStack;

Defined in: sdk/src/server/index.ts:934

Parameters

apiKey

string | undefined

config?

DialStackConfig

Returns

DialStack

Properties

accounts

accounts: object;

Defined in: sdk/src/server/index.ts:1176

create

create: (params?, options?) => Promise<Account>;
Parameters
params?

AccountCreateParams

options?

RequestOptions

Returns

Promise<Account>

del

del: (accountId, options?) => Promise<void>;
Parameters
accountId

string

options?

RequestOptions

Returns

Promise<void>

list

list: (params?, options?) => PaginatedList<Account>;
Parameters
params?

AccountListParams

options?

RequestOptions

Returns

PaginatedList<Account>

retrieve

retrieve: (accountId, options?) => Promise<Account>;
Parameters
accountId

string

options?

RequestOptions

Returns

Promise<Account>

retrievePricing

retrievePricing: (accountId, options?) => Promise<AccountPricing>;

Retrieve the agreed pricing singleton for an account. Rates are null until pricing has been set.

Parameters
accountId

string

options?

RequestOptions

Returns

Promise<AccountPricing>

update

update: (accountId, params, options?) => Promise<Account>;
Parameters
accountId

string

params

AccountUpdateParams

options?

RequestOptions

Returns

Promise<Account>

updatePricing

updatePricing: (accountId, params, options?) => Promise<AccountPricing>;

Create or replace the agreed pricing for an account. All three rates are required, in cents per month.

Parameters
accountId

string

params

AccountPricingUpdateParams

options?

RequestOptions

Returns

Promise<AccountPricing>


accountSessions

accountSessions: object;

Defined in: sdk/src/server/index.ts:1339

create

create: (params, options?) => Promise<AccountSessionCreateResponse>;
Parameters
params

AccountSessionCreateParams

options?

RequestOptions

Returns

Promise<AccountSessionCreateResponse>


aiAgents

aiAgents: object;

Defined in: sdk/src/server/index.ts:1420

create

create: (params, options) => Promise<AIAgent>;
Parameters
params

AIAgentCreateParams

options

RequestOptions & object

Returns

Promise<AIAgent>

del

del: (aiAgentId, options) => Promise<void>;
Parameters
aiAgentId

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<AIAgent>;
Parameters
params

AIAgentListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<AIAgent>

retrieve

retrieve: (aiAgentId, options) => Promise<AIAgent>;
Parameters
aiAgentId

string

options

RequestOptions & object

Returns

Promise<AIAgent>

update

update: (aiAgentId, params, options) => Promise<AIAgent>;
Parameters
aiAgentId

string

params

AIAgentUpdateParams

options

RequestOptions & object

Returns

Promise<AIAgent>


calls

calls: object;

Defined in: sdk/src/server/index.ts:1357

retrieveTranscript

retrieveTranscript: (callId, options?) => Promise<Transcript>;
Parameters
callId

string

options?

RequestOptions

Returns

Promise<Transcript>

update

update: (callId, params, options) => Promise<void>;
Parameters
callId

string

params

CallUpdateParams

options

RequestOptions & object

Returns

Promise<void>


dialPlans

dialPlans: object;

Defined in: sdk/src/server/index.ts:1504

create

create: (params, options) => Promise<DialPlan>;
Parameters
params

DialPlanCreateParams

options

RequestOptions & object

Returns

Promise<DialPlan>

list

list: (params, options) => PaginatedList<DialPlan>;
Parameters
params

DialPlanListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<DialPlan>

retrieve

retrieve: (dialPlanId, options) => Promise<DialPlan>;
Parameters
dialPlanId

string

options

RequestOptions & object

Returns

Promise<DialPlan>


extensions

extensions: object;

Defined in: sdk/src/server/index.ts:1538

create

create: (params, options) => Promise<Extension>;
Parameters
params

ExtensionCreateParams

options

RequestOptions & object

Returns

Promise<Extension>

del

del: (number, options) => Promise<void>;
Parameters
number

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<Extension>;
Parameters
params

| ExtensionListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<Extension>

retrieve

retrieve: (number, options) => Promise<Extension>;
Parameters
number

string

options

RequestOptions & object

Returns

Promise<Extension>

update

update: (number, params, options) => Promise<Extension>;
Parameters
number

string

params

ExtensionUpdateParams

options

RequestOptions & object

Returns

Promise<Extension>


phoneNumbers

phoneNumbers: object;

Defined in: sdk/src/server/index.ts:1318

list

list: (params, options) => PaginatedList<PhoneNumber>;
Parameters
params

| PhoneNumberListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<PhoneNumber>


queues

queues: object;

Defined in: sdk/src/server/index.ts:1657

addMember

addMember: (queueId, params, options) => Promise<QueueMember>;
Parameters
queueId

string

params

QueueAddMemberParams

options

RequestOptions & object

Returns

Promise<QueueMember>

create

create: (params, options) => Promise<Queue>;
Parameters
params

QueueCreateParams

options

RequestOptions & object

Returns

Promise<Queue>

del

del: (queueId, options) => Promise<void>;
Parameters
queueId

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<Queue>;
Parameters
params

QueueListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<Queue>

listMembers

listMembers: (queueId, params, options) => PaginatedList<QueueMember>;
Parameters
queueId

string

params

| QueueListMembersParams | undefined

options

RequestOptions & object

Returns

PaginatedList<QueueMember>

removeMember

removeMember: (queueId, memberId, options) => Promise<void>;
Parameters
queueId

string

memberId

string

options

RequestOptions & object

Returns

Promise<void>

retrieve

retrieve: (queueId, options) => Promise<Queue>;
Parameters
queueId

string

options

RequestOptions & object

Returns

Promise<Queue>

update

update: (queueId, params, options) => Promise<Queue>;
Parameters
queueId

string

params

QueueUpdateParams

options

RequestOptions & object

Returns

Promise<Queue>


ringGroups

ringGroups: object;

Defined in: sdk/src/server/index.ts:1587

addMember

addMember: (ringGroupId, params, options) => Promise<RingGroupMember>;
Parameters
ringGroupId

string

params

RingGroupAddMemberParams

options

RequestOptions & object

Returns

Promise<RingGroupMember>

create

create: (params, options) => Promise<RingGroup>;
Parameters
params

RingGroupCreateParams

options

RequestOptions & object

Returns

Promise<RingGroup>

del

del: (ringGroupId, options) => Promise<void>;
Parameters
ringGroupId

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<RingGroup>;
Parameters
params

| RingGroupListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<RingGroup>

removeMember

removeMember: (ringGroupId, memberId, options) => Promise<void>;
Parameters
ringGroupId

string

memberId

string

options

RequestOptions & object

Returns

Promise<void>

retrieve

retrieve: (ringGroupId, options) => Promise<RingGroup>;
Parameters
ringGroupId

string

options

RequestOptions & object

Returns

Promise<RingGroup>

update

update: (ringGroupId, params, options) => Promise<RingGroup>;
Parameters
ringGroupId

string

params

RingGroupUpdateParams

options

RequestOptions & object

Returns

Promise<RingGroup>


schedules

schedules: object;

Defined in: sdk/src/server/index.ts:1470

create

create: (params, options) => Promise<Schedule>;
Parameters
params

ScheduleCreateParams

options

RequestOptions & object

Returns

Promise<Schedule>

list

list: (params, options) => PaginatedList<Schedule>;
Parameters
params

ScheduleListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<Schedule>

retrieve

retrieve: (scheduleId, options) => Promise<Schedule>;
Parameters
scheduleId

string

options

RequestOptions & object

Returns

Promise<Schedule>


users

users: object;

Defined in: sdk/src/server/index.ts:1233

create

create: (params, options) => Promise<User>;
Parameters
params

UserCreateParams | undefined

options

RequestOptions & object

Returns

Promise<User>

del

del: (userId, options) => Promise<void>;
Parameters
userId

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<User>;
Parameters
params

UserListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<User>

retrieve

retrieve: (userId, options) => Promise<User>;
Parameters
userId

string

options

RequestOptions & object

Returns

Promise<User>

retrieveQueueAgent

retrieveQueueAgent: (userId, options) => Promise<QueueAgent>;

Retrieve the queue-agent singleton for a user. Throws on 404 when no queue-agent state has ever been written for the user.

Parameters
userId

string

options

RequestOptions & object

Returns

Promise<QueueAgent>

revokeSessions

revokeSessions: (userId, options?) => Promise<UserSessionsRevokeResponse>;

Revoke every outstanding user-session token for a user and tear down their active WebRTC sessions (server-side kill switch). Platform-level, like userSessions.create() — no account header.

Parameters
userId

string

options?

RequestOptions

Returns

Promise<UserSessionsRevokeResponse>

update

update: (userId, params, options) => Promise<User>;
Parameters
userId

string

params

UserUpdateParams

options

RequestOptions & object

Returns

Promise<User>

updateQueueAgent

updateQueueAgent: (userId, params, options) => Promise<QueueAgent>;

Update the queue-agent singleton for a user. Idempotent — re-sending the current status is a no-op. reason is only meaningful when status === "paused".

Parameters
userId

string

params

QueueAgentUpdateParams

options

RequestOptions & object

Returns

Promise<QueueAgent>


userSessions

userSessions: object;

Defined in: sdk/src/server/index.ts:1348

create

create: (params, options?) => Promise<UserSessionCreateResponse>;
Parameters
params

UserSessionCreateParams

options?

RequestOptions

Returns

Promise<UserSessionCreateResponse>


voiceApps

voiceApps: object;

Defined in: sdk/src/server/index.ts:1371

create

create: (params, options) => Promise<VoiceApp>;
Parameters
params

VoiceAppCreateParams

options

RequestOptions & object

Returns

Promise<VoiceApp>

del

del: (voiceAppId, options) => Promise<void>;
Parameters
voiceAppId

string

options

RequestOptions & object

Returns

Promise<void>

list

list: (params, options) => PaginatedList<VoiceApp>;
Parameters
params

VoiceAppListParams | undefined

options

RequestOptions & object

Returns

PaginatedList<VoiceApp>

retrieve

retrieve: (voiceAppId, options) => Promise<VoiceApp>;
Parameters
voiceAppId

string

options

RequestOptions & object

Returns

Promise<VoiceApp>

update

update: (voiceAppId, params, options) => Promise<VoiceApp>;
Parameters
voiceAppId

string

params

VoiceAppUpdateParams

options

RequestOptions & object

Returns

Promise<VoiceApp>


webhooks

static webhooks: object;

Defined in: sdk/src/server/index.ts:1771

Verify webhook signature and construct event

constructEvent

constructEvent: <T>(payload, signature, secret, tolerance) => T;
Type Parameters
T

T = WebhookEvent

Parameters
payload

string | Buffer<ArrayBufferLike>

signature

string

secret

string

tolerance?

number = 300

Returns

T

Example

// For call webhooks
const event = DialStack.webhooks.constructEvent(
req.body,
req.headers['x-dialstack-signature'],
process.env.DIALSTACK_WEBHOOK_SECRET
);

// For appointments webhooks (with type parameter)
const event = DialStack.webhooks.constructEvent<AvailabilitySearchWebhook>(
req.body,
req.headers['x-dialstack-signature'],
process.env.DIALSTACK_WEBHOOK_SECRET
);

Methods

off()

off<E>(event, callback): void;

Defined in: sdk/src/server/index.ts:982

Unsubscribe from SDK events

Type Parameters

E

E extends EventType

Parameters

event

E

callback

EventCallback<E extends "request" ? RequestEvent : ResponseEvent>

Returns

void


on()

on<E>(event, callback): void;

Defined in: sdk/src/server/index.ts:968

Subscribe to SDK events

Type Parameters

E

E extends EventType

Parameters

event

E

callback

EventCallback<E extends "request" ? RequestEvent : ResponseEvent>

Returns

void

Example

dialstack.on('request', (event) => {
console.log(`${event.method} ${event.path}`);
});

dialstack.on('response', (event) => {
console.log(`${event.statusCode} in ${event.elapsed}ms`);
});