Types

Typed request and response shapes for the Node.js SDK.

The Node.js SDK is fully typed. Every method returns a typed response — you never deal with any or unknown. Import the shared types directly from @branofy/voice-sdk-node:

import type {
  CreateVoiceAgent,
  VoiceAgent,
  VoiceAgentsList,
  VoiceCallDispatch,
} from "@branofy/voice-sdk-node";

Types are exposed with clean names — the internal Dto suffix is not part of the public API. You import CreateVoiceAgent, not CreateVoiceAgentDto.

By convention: CreateVoice… types are request bodies, Voice…List types are list responses, and the bare Voice… types are single-resource responses.

Public typeRole
CreateVoiceAgent / VoiceAgent / VoiceAgentsListAgent create body / single / list
CreateVoiceCall / VoiceCallDispatch / VoiceCall / VoiceCallsListCall dispatch body / result / single / list
CreateVoiceTool / VoiceTool / VoiceToolsListTool create body / single / list
CreateVoiceDid / VoiceDid / VoiceDidsListBYO number create body / single / list
ManagedDidCatalog / SelectManagedDid / SubmitManagedKyc / FinalizeManagedDidManaged business-number flow bodies/responses
ManagedDidJob / ManagedDidJobStepNumber provisioning job / checklist step
CreateVoiceSchedule / VoiceSchedule / VoiceSchedulesListSchedule create body / single / list
CreateVoiceWebhook / VoiceWebhook / VoiceWebhooksListWebhook create body / single / list
CreateVoiceApiKey / VoiceApiKey / VoiceApiKeyCreated / VoiceApiKeysListAPI key create body / metadata / created (with rawKey) / list
VoiceOverview / VoiceOverviewMetricWorkspace summary / metric entry
VoiceBilling / VoiceTopup / VoiceTopupResponseBilling summary / top-up body / top-up order
VoicePayment / VoiceWalletTransactionPayment order / wallet ledger entry

Responses are inferred

// `agents` is typed as VoiceAgentsList — autocomplete works on agents.data[0]
const agents = await voice.agents.get();

On this page