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 / VoiceDidsListDID create body / single / list
CreateVoiceApiKey / VoiceApiKeyCreated / VoiceApiKey / VoiceApiKeysListKey create body / result / metadata / list
CreateVoiceSchedule / VoiceSchedule / VoiceSchedulesListSchedule create body / single / list
CreateVoiceWebhook / VoiceWebhook / VoiceWebhooksListWebhook create body / single / list
VoiceOverview / VoiceOverviewMetricWorkspace summary / metric entry
VoiceBillingBilling summary
VoiceEngineHealth / VoiceEngineDependencyEngine health / dependency

Responses are inferred

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

On this page