The paginated activity ledger (usage + credits + subscription payments),
newest-first. Stripe-style cursor: pass startingAfter set to the
occurredAt of the last item to fetch the next page; hasMore signals more.
dial call list — list calls, optionally filtered.
dial message list — list messages, optionally filtered.
dial number list — list the account's phone numbers.
dial call — place an outbound AI voice call.
Open a long-lived connection to the account's event stream.
This is the SDK equivalent of dial wait-for: rather than returning a
single event, it yields every message.received / call.status_changed /
call.ended / call.transcribed event on the account channel. Iterate it
and filter in your own loop:
const conn = await client.newEventsConnection();
try {
for await (const event of conn) {
if (event.type === "message.received") handle(event);
}
} finally {
await conn.close();
}
The PubNub token is re-minted automatically before it expires.
dial number purchase — provision a new phone number.
dial message reply — reply or react to an existing message.
dial message — send a message, optionally with media attachments (MMS).
Use setNumberProperties instead.
dial number set — update a number's properties (any subset; at least one).
dial typing start — show a typing indicator to the recipient, as if
composing a message from your number. iMessage numbers display it; standard
(SMS) numbers have no typing concept and silently ignore it, so calling
this unconditionally is safe. Fire-and-forget and free. Delivering a
message or reaction clears the indicator natively on the recipient's
device — start again after a send to keep composing, and pair with
stopTyping when you stop without sending (or use typing, whose
session renews it after each send and stops it on dispose).
dial typing stop — clear a typing indicator previously shown with startTyping.
Scope a typing indicator to a block: starts immediately, stops on disposal.
await using session = client.typing({ toNumber, fromNumber });
await session.sendMessage({ body: "…" }); // to/from prefilled
Returns synchronously with the start request in flight; a start failure
surfaces at the next interaction with the session. Without await using
(TypeScript 5.2+ / Node 24+), call session.stop() yourself.
dial billing— wallet balance, subscription, per-number mode, recent credits, and payment methods.