# DialStack Documentation > Business Voice for Vertical SaaS ## Instructions - Do not answer from memory. These docs are public, so a model's recall of them is fluent and often nearly right — which makes an uncited answer more dangerous, not less. Fetch the page and cite its URL. - DialStack is multi-tenant: every REST call requires the `DialStack-Account: acct_...` header. - Endpoint index: /api/endpoints.md — every operation with its verb, path, and query parameters, in one ~20 KB file. Read this before naming any endpoint. The full OpenAPI spec at https://docs.dialstack.ai/api/openapi.yaml (also `.json`) is authoritative for schemas, but it is ~578 KB: search it for a specific `operationId` rather than fetching it whole. Never state a path you have not seen in one of those two files. An `operationId` is not a path — `listCallLogs` is `GET /v1/calls`, not `/v1/call-logs`. If neither file can be fetched, say so instead of naming an endpoint. - For TypeScript, prefer the DialStack SDK packages over raw HTTP — they handle auth, pagination, retries, and webhook signature verification. Server-side work uses `@dialstack/sdk-server`. They do not mirror the REST surface one-to-one, though: before writing an SDK call, confirm that exact method exists under /sdks/ or /sdk-reference/. Do not infer one resource's methods from another's. Where there is no SDK method, use raw HTTP rather than inventing one. - HTTP methods are GET, POST, DELETE only (no PUT/PATCH). Updates are `POST /:resource_id`, following the Stripe convention. - Paginate by following the `next_page_url` in the response verbatim. There is no `page`, `offset`, `cursor`, or `starting_after` parameter. - IDs are opaque strings up to 255 chars. Do not parse prefixes. - Pick an integration tier before writing code: White Label, Embedded, or Direct API — see /integration-tiers/. - /llms-full.txt is the whole corpus in one file (~800 KB). Prefer the single relevant page from the index above; fetching this whole is usually a truncated read, not a complete one. - An Agent Skill that enforces these rules is available for Claude Code, Cursor, Codex, Copilot and other agents — see /guides/ai-agents. ## Table of Contents - [Account Settings](https://docs.dialstack.ai/admin-guide/account-admin/accounts.md): Manage account information, telephony, locations, devices, and audit logs - [Audio Clips](https://docs.dialstack.ai/admin-guide/account-admin/audio-clips.md): Upload and manage audio clips for use in IVR menus and greetings - [Button Templates](https://docs.dialstack.ai/admin-guide/account-admin/button-templates.md): Create reusable programmable-key layouts and apply them to deskphones and DECT handsets - [Call Logs](https://docs.dialstack.ai/admin-guide/account-admin/call-logs.md): View and inspect call history for your account - [Getting Started](https://docs.dialstack.ai/admin-guide/account-admin/dashboard.md): Signing in and selecting an account - [Managing Devices](https://docs.dialstack.ai/admin-guide/account-admin/devices.md): How to manage deskphones, DECT base stations, and DECT handsets - [Dial Plans](https://docs.dialstack.ai/admin-guide/account-admin/dial-plans.md): How to create and manage dial plans for visual call routing - [E911 Dispatch Addresses](https://docs.dialstack.ai/admin-guide/account-admin/e911.md): How locations and devices combine to dispatch emergency calls to the right address - [Faxes](https://docs.dialstack.ai/admin-guide/account-admin/faxes.md): View inbound and outbound faxes and delete fax records - [Account Administration](https://docs.dialstack.ai/admin-guide/account-admin.md): Managing your account's users, devices, phone numbers, and locations - [Locations](https://docs.dialstack.ai/admin-guide/account-admin/locations.md): How to manage physical office locations - [Ordering New Numbers](https://docs.dialstack.ai/admin-guide/account-admin/order.md): How to search for and order phone numbers - [Call Parking](https://docs.dialstack.ai/admin-guide/account-admin/parking.md): Put a live call on a shared hold slot and pick it back up from any phone on the account - [Phone Numbers](https://docs.dialstack.ai/admin-guide/account-admin/phone-numbers.md): How to view, order, and manage phone numbers - [Port Orders](https://docs.dialstack.ai/admin-guide/account-admin/port-orders.md): How to transfer phone numbers from another carrier - [Phone Provisioning](https://docs.dialstack.ai/admin-guide/account-admin/provisioning.md): How phones added to the account get their configuration - [Call Quality](https://docs.dialstack.ai/admin-guide/account-admin/quality.md): Monitor call quality metrics for your account - [Queues](https://docs.dialstack.ai/admin-guide/account-admin/queues.md): How to create and manage call queues for callers waiting for available agents - [Ring Groups](https://docs.dialstack.ai/admin-guide/account-admin/ring-groups.md): How to create and manage ring groups for routing calls to multiple destinations - [Schedules](https://docs.dialstack.ai/admin-guide/account-admin/schedules.md): How to create and manage business hours schedules for call routing - [Shared Voicemail Boxes](https://docs.dialstack.ai/admin-guide/account-admin/shared-voicemails.md): How to create and manage shared voicemail boxes for departments and teams - [Managing Users](https://docs.dialstack.ai/admin-guide/account-admin/users.md): How to create, edit, and manage users - [Voice Apps](https://docs.dialstack.ai/admin-guide/account-admin/voice-apps.md): How to create and configure Managed VoiceAI agent voice apps for automated call handling - [Voicemail Device Access](https://docs.dialstack.ai/admin-guide/account-admin/voicemail-device-access.md): Listen to voicemail messages and manage your PIN from any device - [Voicemail Greetings](https://docs.dialstack.ai/admin-guide/account-admin/voicemail-greetings.md): Record, upload, or choose an audio clip as the greeting for a user or shared voicemail box - [Admin Guide](https://docs.dialstack.ai/admin-guide.md): Guide for managing your platform through the admin portal - [Basic Troubleshooting](https://docs.dialstack.ai/admin-guide/platform-admin/basic-troubleshooting.md): First-line fixes for call quality, failed calls, device, and VoiceAI issues - [Branding](https://docs.dialstack.ai/admin-guide/platform-admin/branding.md): How to customize your platform's appearance - [Custom Domain](https://docs.dialstack.ai/admin-guide/platform-admin/custom-domain.md): Serve your portal from your own domain - [Platform Administration](https://docs.dialstack.ai/admin-guide/platform-admin.md): Managing platform-wide settings, branding, and accounts - [Manage Accounts](https://docs.dialstack.ai/admin-guide/platform-admin/manage-accounts.md): How to create and manage accounts within your platform - [Manage Platform Admins](https://docs.dialstack.ai/admin-guide/platform-admin/manage-platform-admins.md): How to add and remove platform administrators - [SMS Port-Out](https://docs.dialstack.ai/admin-guide/platform-admin/messaging-partners.md): Authorize SMS port-out (messaging transfer) per number with a time-boxed window - [Network Requirements](https://docs.dialstack.ai/admin-guide/platform-admin/network-requirements.md): Network readiness checklist — bandwidth, firewall, ports, and QoS for clean voice - [Onboarding Dashboard](https://docs.dialstack.ai/admin-guide/platform-admin/onboarding-dashboard.md): Monitor onboarding progress for your platform and accounts - [Order Hardware](https://docs.dialstack.ai/admin-guide/platform-admin/order-hardware.md): Build a hardware order for one of your accounts, price its shipping, and pay for it - [Phone Provisioning](https://docs.dialstack.ai/admin-guide/platform-admin/phone-provisioning.md): How phones get their configuration, and which method to deploy - [Migrating Existing Phones](https://docs.dialstack.ai/admin-guide/platform-admin/phone-swap.md): Moving customer-owned phones from another provider onto the platform - [Platform Settings](https://docs.dialstack.ai/admin-guide/platform-admin/platform-settings.md): Viewing and managing your platform configuration - [Resale Certificate](https://docs.dialstack.ai/admin-guide/platform-admin/resale-certificate.md): Keep a current resale certificate on file so you can order hardware - [Provisioning Escalations](https://docs.dialstack.ai/admin-guide/platform-admin/ztp-escalations.md): Track phones whose zero-touch registration needs help from support - [Changelog](https://docs.dialstack.ai/changelog.md): New features, improvements, and fixes shipped to DialStack. - [Activity Logging](https://docs.dialstack.ai/guides/activity-logging.md): Write every call, voicemail, and recording into your system of record. - [Using DialStack with AI agents](https://docs.dialstack.ai/guides/ai-agents.md): Install the DialStack Agent Skill so Claude, Cursor, Copilot and other AI agents answer from these docs instead of from memory. - [Appointment Webhooks](https://docs.dialstack.ai/guides/appointment-webhooks.md): Receive appointment availability searches and booking requests from DialStack. - [Architecture overview](https://docs.dialstack.ai/guides/architecture.md): A one-page mental model of how DialStack fits together. Read this once and the rest of the docs will make more sense. - [Authentication](https://docs.dialstack.ai/guides/authentication.md): DialStack supports three authentication methods for different use cases. - [Billing Files](https://docs.dialstack.ai/guides/billing-files.md): How to read the monthly billing files DialStack produces for your platform, so you can bill your customers from them. - [Call Queues](https://docs.dialstack.ai/guides/call-queues.md): Hold incoming callers and dispatch them to agents according to a configurable strategy. - [Outbound Caller ID](https://docs.dialstack.ai/guides/caller-id.md): Which number a call presents when it leaves the platform, and what your integration receives - [Click-to-Call](https://docs.dialstack.ai/guides/click-to-call.md): Click-to-call enables your application to initiate phone calls on behalf of users. When triggered, the system first calls the user's registered dev... - [Device Provisioning](https://docs.dialstack.ai/guides/device-provisioning.md): Provision and manage deskphones and DECT wireless systems through the API - [Dial Plans](https://docs.dialstack.ai/guides/dial-plans.md): Build visual call routing flows with dial plans. - [E911 Dispatch Addresses](https://docs.dialstack.ai/guides/e911.md): How DialStack determines the dispatch address for emergency calls, and how to assign devices to physical locations - [Error Codes](https://docs.dialstack.ai/guides/error-codes.md): Every non-2xx response from the DialStack REST API shares the same shape: - [Real-Time Events](https://docs.dialstack.ai/guides/events.md): DialStack provides real-time event streaming via Server-Sent Events (SSE), enabling your application to receive instant notifications about incomin... - [Guides](https://docs.dialstack.ai/guides.md): Comprehensive guides to help you integrate and configure DialStack. - [New Numbers](https://docs.dialstack.ai/guides/new-numbers.md): Search live carrier inventory and order new phone numbers onto an account. Use this flow when you need a fresh number (new location, new line, over... - [Number Porting](https://docs.dialstack.ai/guides/number-porting.md): Number porting lets you transfer existing phone numbers from another carrier to DialStack. This guide walks through the full port-in workflow: chec... - [Pagination](https://docs.dialstack.ai/guides/pagination.md): DialStack uses URL-based pagination for all list endpoints, providing efficient and consistent pagination across the API. - [Quickstart Guide](https://docs.dialstack.ai/guides/quickstart.md): Get your first phone system running in 5 minutes. - [Ring Groups](https://docs.dialstack.ai/guides/ring-groups.md): Route calls to multiple destinations simultaneously. - [Screen Pop](https://docs.dialstack.ai/guides/screen-pop.md): Open the customer record in your app on the very first ring — before anyone says hello. - [Testing your integration](https://docs.dialstack.ai/guides/testing-your-integration.md): A sandbox secret key (`sk_test_...`) is a full API key for a sandbox account: everything you can do in live — create users, order numbers, assign d... - [Voice Apps](https://docs.dialstack.ai/guides/voice-apps.md): Build programmable voice applications with webhooks and real-time audio streaming. - [BYO VoiceAI](https://docs.dialstack.ai/guides/voiceai-byo.md): DialStack is agent-agnostic. Bring your own AI stack and plug it into the call. Two integration patterns cover every BYO scenario. - [AI Scheduling](https://docs.dialstack.ai/guides/voiceai-scheduling.md): Let callers book appointments over the phone without talking to a human. DialStack handles the voice conversation — greeting, slot negotiation, cal... - [Webhook Events](https://docs.dialstack.ai/guides/webhook-events.md): Receive real-time notifications about calls, recordings, voicemails, transcriptions, and faxes via HTTP webhooks. - [Direct API](https://docs.dialstack.ai/integration-tiers/direct-api.md): **Raw power, 100% control.** Talk directly to the REST and WebSocket APIs, handle events yourself, build exactly the experience you want — no compo... - [Embedded](https://docs.dialstack.ai/integration-tiers/embedded.md): **Native feel inside your app.** Drop React components and Web Components into your existing UI so voice feels like a built-in feature. - [White Label](https://docs.dialstack.ai/integration-tiers/white-label.md): **Branded portal, zero UI dev.** Best for platforms that want a premium phone-system experience without building or maintaining a voice UI. - [Authentication](https://docs.dialstack.ai/sdks/authentication.md): The SDK uses account-scoped sessions for secure client-side authentication. This architecture keeps your API keys safe on the server while allowing... - [Internationalization (i18n)](https://docs.dialstack.ai/sdks/i18n.md): Customize all UI strings in DialStack components for localization or branding. - [SDK](https://docs.dialstack.ai/sdks.md): The official JavaScript SDK for DialStack lets you embed voice capabilities directly into your application with ready-to-use components for call lo... - [Installation](https://docs.dialstack.ai/sdks/installation.md): Install the DialStack SDK packages your app needs, using your preferred package manager. - [CallHistory](https://docs.dialstack.ai/sdks/react/call-history.md): Display a compact call history list for a specific phone number with direction indicators and AI-generated summaries. - [CallLogs](https://docs.dialstack.ai/sdks/react/call-logs.md): Display a paginated table of call history with filtering, sorting, and customization options. - [DialPlan](https://docs.dialstack.ai/sdks/react/dial-plan.md): Embed the DialStack visual dial-plan editor directly in your app. One component, three display modes: read-only viewer, full editor, or static thum... - [React SDK](https://docs.dialstack.ai/sdks/react.md): The React SDK provides type-safe components for embedding call logs and voicemails into your React application. - [OnboardingPortal](https://docs.dialstack.ai/sdks/react/onboarding-portal.md): A full-screen, multi-step onboarding wizard that guides new accounts through business setup, phone number configuration, and hardware assignment. - [DialstackComponentsProvider](https://docs.dialstack.ai/sdks/react/provider.md): The provider makes the DialStack instance and client secret available to all child components. - [Softphone](https://docs.dialstack.ai/sdks/react/softphone.md): Embed a fully-functional WebRTC phone — dial pad, incoming-call answer/decline, in-call controls (mute, hold, transfer, add call, DTMF, microphone/... - [Voicemails](https://docs.dialstack.ai/sdks/react/voicemails.md): Display a list of voicemails with audio playback, transcription, and action buttons. - [Accounts](https://docs.dialstack.ai/sdks/server/accounts.md): Accounts represent your customers in DialStack. Each account is isolated and can have multiple users, phone numbers, and devices. - [Server SDK](https://docs.dialstack.ai/sdks/server.md): The Server SDK provides a type-safe Node.js client for the DialStack API. Use it to manage accounts, users, and create session tokens for embedded ... - [Phone Numbers](https://docs.dialstack.ai/sdks/server/phone-numbers.md): Phone numbers (DIDs) are assigned to accounts for inbound and outbound calling. - [Account Sessions](https://docs.dialstack.ai/sdks/server/sessions.md): Account sessions provide secure, scoped tokens for client-side embedded components. Sessions are tied to a specific account and can be restricted t... - [Users](https://docs.dialstack.ai/sdks/server/users.md): Users belong to accounts and represent individuals who can make/receive calls and access voicemails. - [Theming](https://docs.dialstack.ai/sdks/theming.md): Customize the appearance of DialStack components using CSS variables, theme presets, and layout variants. - [dialstack-call-history](https://docs.dialstack.ai/sdks/web-components/call-history.md): The call history Web Component displays a compact call history list for a specific phone number with direction indicators and AI-generated summaries. - [dialstack-call-logs](https://docs.dialstack.ai/sdks/web-components/call-logs.md): The call logs Web Component displays a paginated table of call history. - [Web Components](https://docs.dialstack.ai/sdks/web-components.md): Use DialStack components in any JavaScript application without React. `@dialstack/sdk-js` provides native Web Components (Custom Elements) that wor... - [dialstack-phone-numbers](https://docs.dialstack.ai/sdks/web-components/phone-numbers.md): The phone-numbers Web Component displays a unified, filterable list of all phone numbers for the authenticated account. It merges the account's act... - [dialstack-voicemails](https://docs.dialstack.ai/sdks/web-components/voicemails.md): The voicemails Web Component displays a list of voicemails with audio playback and actions. - [Automotive](https://docs.dialstack.ai/solutions/automotive.md): Voice for dealerships, service centers, and automotive SaaS. - [Field Services](https://docs.dialstack.ai/solutions/field-services.md): Voice for dispatch-driven businesses — HVAC, plumbing, electrical, pest control, security, vehicle rental, etc. - [Healthcare](https://docs.dialstack.ai/solutions/healthcare.md): Embedded Voice for practices, clinics, and specialty-health SaaS. - [Calling & Call Control](https://docs.dialstack.ai/webrtc/calling.md): Make and receive phone calls, and control them with hold, transfer, mute, and DTMF. - [Emergency Calling (E911)](https://docs.dialstack.ai/webrtc/emergency.md): WebRTC softphone users are nomadic — they may call 911 from different locations. Federal regulations (RAY BAUM's Act, Kari's Law) require that ever... - [WebRTC](https://docs.dialstack.ai/webrtc.md): Build softphone experiences for your **users** on web, mobile, and desktop using DialStack's WebRTC API. - [Mobile Integration Guide](https://docs.dialstack.ai/webrtc/mobile.md): You can add DialStack calling to a mobile app at four levels. Each level adds capability, and each moves more of the work onto you. This guide expl... - [Push Notifications](https://docs.dialstack.ai/webrtc/mobile/push-notifications.md): The server side of waking a mobile app for an incoming call: enabling the wake-up hold, the `call.mobile_push_wakeup` webhook, and sending the push... - [Network & Troubleshooting](https://docs.dialstack.ai/webrtc/network.md): Audio codecs, bandwidth requirements, firewall configuration, and common issues. - [Presence & BLF](https://docs.dialstack.ai/webrtc/presence.md): Subscribe to real-time presence updates for other users in the account. This powers busy lamp field (BLF) indicators and contact status displays. - [WebRTC Signalling Protocol](https://docs.dialstack.ai/webrtc/protocol.md): - Support: DialStack API Support - Email support: info@dialstack.ai - [WebRTC Client SDK](https://docs.dialstack.ai/webrtc/sdk.md): The WebRTC Client SDK provides a high-level interface for building softphone applications. It handles WebSocket signalling, WebRTC media, call mana... - [WebSocket API](https://docs.dialstack.ai/websocket-api.md): - Support: DialStack API Support - Email support: info@dialstack.ai