@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?
Returns
DialStack
Properties
accounts
accounts: object;
Defined in: sdk/src/server/index.ts:1176
create
create: (params?, options?) => Promise<Account>;
Parameters
params?
options?
Returns
Promise<Account>
del
del: (accountId, options?) => Promise<void>;
Parameters
accountId
string
options?
Returns
Promise<void>
list
list: (params?, options?) => PaginatedList<Account>;
Parameters
params?
options?
Returns
retrieve
retrieve: (accountId, options?) => Promise<Account>;
Parameters
accountId
string
options?
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?
Returns
Promise<AccountPricing>
update
update: (accountId, params, options?) => Promise<Account>;
Parameters
accountId
string
params
options?
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
options?
Returns
Promise<AccountPricing>
accountSessions
accountSessions: object;
Defined in: sdk/src/server/index.ts:1339
create
create: (params, options?) => Promise<AccountSessionCreateResponse>;
Parameters
params
options?
Returns
Promise<AccountSessionCreateResponse>
aiAgents
aiAgents: object;
Defined in: sdk/src/server/index.ts:1420
create
create: (params, options) => Promise<AIAgent>;
Parameters
params
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
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
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?
Returns
Promise<Transcript>
update
update: (callId, params, options) => Promise<void>;
Parameters
callId
string
params
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
options
RequestOptions & object
Returns
Promise<DialPlan>
list
list: (params, options) => PaginatedList<DialPlan>;
Parameters
params
DialPlanListParams | undefined
options
RequestOptions & object
Returns
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
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
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
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
queues
queues: object;
Defined in: sdk/src/server/index.ts:1657
addMember
addMember: (queueId, params, options) => Promise<QueueMember>;
Parameters
queueId
string
params
options
RequestOptions & object
Returns
Promise<QueueMember>
create
create: (params, options) => Promise<Queue>;
Parameters
params
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
listMembers
listMembers: (queueId, params, options) => PaginatedList<QueueMember>;
Parameters
queueId
string
params
| QueueListMembersParams
| undefined
options
RequestOptions & object
Returns
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
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
options
RequestOptions & object
Returns
Promise<RingGroupMember>
create
create: (params, options) => Promise<RingGroup>;
Parameters
params
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
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
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
options
RequestOptions & object
Returns
Promise<Schedule>
list
list: (params, options) => PaginatedList<Schedule>;
Parameters
params
ScheduleListParams | undefined
options
RequestOptions & object
Returns
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
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?
Returns
Promise<UserSessionsRevokeResponse>
update
update: (userId, params, options) => Promise<User>;
Parameters
userId
string
params
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
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
options?
Returns
Promise<UserSessionCreateResponse>
voiceApps
voiceApps: object;
Defined in: sdk/src/server/index.ts:1371
create
create: (params, options) => Promise<VoiceApp>;
Parameters
params
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
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
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`);
});