@dialstack/sdk / server / DialStack
Class: DialStack
Defined in: sdk/src/server/index.ts:1141
Constructors
Constructor
new DialStack(apiKey, config?): DialStack;
Defined in: sdk/src/server/index.ts:1152
Parameters
apiKey
string | undefined
config?
Returns
DialStack
Properties
accounts
accounts: object;
Defined in: sdk/src/server/index.ts:1394
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.
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:1641
create
create: (params, options?) => Promise<AccountSessionCreateResponse>;
Parameters
params
options?
Returns
Promise<AccountSessionCreateResponse>
aiAgents
aiAgents: object;
Defined in: sdk/src/server/index.ts:1781
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:1659
pauseRecording
pauseRecording: (callId, options) => Promise<void>;
Pause recording on an active call — e.g. while an agent collects a customer's payment card number so the sensitive audio is never captured. Recording stays paused until resumeRecording or the call ends; both parties hear a short confirmation tone.
Parameters
callId
string
options
RequestOptions & object
Returns
Promise<void>
resumeRecording
resumeRecording: (callId, options) => Promise<void>;
Resume a recording previously paused with pauseRecording. Both parties hear a short confirmation tone.
Parameters
callId
string
options
RequestOptions & object
Returns
Promise<void>
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:1865
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:1899
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:1620
list
list: (params, options) => PaginatedList<PhoneNumber>;
Parameters
params
| PhoneNumberListParams
| undefined
options
RequestOptions & object
Returns
presence
presence: object;
Defined in: sdk/src/server/index.ts:1598
list
list: (params, options) => Promise<ListResponse<UserPresenceItem>>;
Read presence for an explicit, bounded set of users in one request — the
candidate set a caller already has in hand. A filtered list by id, not a
paginated collection: results come back in request order in the standard
list envelope (next_page_url/previous_page_url are always null). The
set is capped per request; if any user cannot be resolved or read, the
whole request fails rather than returning a partial result.
Parameters
params
options
RequestOptions & object
Returns
Promise<ListResponse<UserPresenceItem>>
queues
queues: object;
Defined in: sdk/src/server/index.ts:2018
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:1948
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:1831
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>
testHelpers
testHelpers: object;
Defined in: sdk/src/server/index.ts:1703
Test-mode helpers (sandbox only). Trigger simulated calls and emit canned
webhook events to exercise your integration end to end without real
telephony. Requires a test key (sk_test_...); a live key receives a 400.
See the "Testing your integration" guide.
calls
calls: object;
calls.create
create: (params, options) => Promise<TestCallResponse>;
Trigger a simulated call. For inbound (screen pop) and custom-scenario simulations a dialed number cannot select. Returns the started call's id + scenario so a test can assert on it.
Parameters
params
options
RequestOptions & object
Returns
Promise<TestCallResponse>
events
events: object;
events.create
create: (params, options) => Promise<TestEventResponse>;
Emit a single canned webhook event (fax., queue., recording.failed, call.mobile_push_wakeup) for events the call simulator does not drive behaviorally.
Parameters
params
options
RequestOptions & object
Returns
Promise<TestEventResponse>
users
users: object;
Defined in: sdk/src/server/index.ts:1501
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>
retrievePresence
retrievePresence: (userId, options) => Promise<UserPresence>;
Retrieve a user's live presence — reachable / on a call right now. The
value is always freshly verified; a read that cannot be confirmed fails
with 503 rather than returning a stale or guessed value (no unknown).
Parameters
userId
string
options
RequestOptions & object
Returns
Promise<UserPresence>
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:1650
create
create: (params, options?) => Promise<UserSessionCreateResponse>;
Parameters
params
options?
Returns
Promise<UserSessionCreateResponse>
voiceApps
voiceApps: object;
Defined in: sdk/src/server/index.ts:1732
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>
webhookEndpoints
webhookEndpoints: object;
Defined in: sdk/src/server/index.ts:1453
Manage webhook endpoints. The mode of the endpoint (live vs sandbox) is determined by the API key used — a test key creates and lists sandbox endpoints, a live key creates and lists live endpoints.
create
create: (params, options?) => Promise<WebhookEndpoint>;
Parameters
params
options?
Returns
Promise<WebhookEndpoint>
del
del: (webhookEndpointId, options?) => Promise<void>;
Parameters
webhookEndpointId
string
options?
Returns
Promise<void>
list
list: (params?, options?) => PaginatedList<WebhookEndpoint>;
Parameters
params?
options?
Returns
PaginatedList<WebhookEndpoint>
retrieve
retrieve: (webhookEndpointId, options?) => Promise<WebhookEndpoint>;
Parameters
webhookEndpointId
string
options?
Returns
Promise<WebhookEndpoint>
update
update: (webhookEndpointId, params, options?) => Promise<WebhookEndpoint>;
Parameters
webhookEndpointId
string
params
options?
Returns
Promise<WebhookEndpoint>
webhooks
static webhooks: object;
Defined in: sdk/src/server/index.ts:2132
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:1200
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:1186
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`);
});