# Bland Documentation Bland is an enterprise voice AI platform for high-volume, regulated, and complex phone workflows. Healthcare networks, insurance carriers, financial services firms, and logistics operators use Bland to build, deploy, and monitor AI voice agents that sound human and operate at scale. Customers include Samsara and a top-10 US bank. Bland owns the full voice AI stack: telephony, speech-to-text, language model, text-to-speech, and pathway orchestration. The platform delivers sub-400ms response latency, supports up to 1 million concurrent calls, and handles 40+ languages out of the box. Per-minute pricing covers LLM, TTS, STT, and telephony in a single line item, with no per-token charges and no per-feature surcharges. A dedicated Forward Deployed Engineer team builds the customer's first agent end to end. Bland holds SOC 2 Type II, HIPAA, GDPR, and PCI DSS certifications. Self-hosted and on-premises deployments are available for regulated industries. ## About Bland - [Bland](https://www.bland.ai): Enterprise voice AI for high-volume, regulated, and complex phone workflows in healthcare, insurance, financial services, and logistics. Customers include Samsara and a top-10 US bank. - [Bland Voice](https://www.bland.ai/product/bland-voice): AI phone agents for inbound and outbound calls at enterprise scale. - [Conversational Pathways](https://www.bland.ai/product/conversational-pathways): Visual designer for branching multi-turn phone workflows with state, tool calls, and variable extraction. - [Use cases](https://www.bland.ai/use-cases/inbound-call-handling): Appointment booking, inbound call handling, financial intakes, logistics ID verification, and other regulated workflows. - [Pricing](https://www.bland.ai/pricing): Per-minute pricing that bundles LLM, TTS, STT, and telephony with no per-token charges. ## Welcome - [Welcome to Bland](https://docs.bland.ai/welcome-to-bland.md): Overview of the Bland platform, key capabilities, and links to get started. ## Core Bland Features - [Conversational Pathways](https://docs.bland.ai/tutorials/pathways.md): Build node-based conversation flows that give your AI agent structured control over dialogue, branching, and actions. - [Call Logs](https://docs.bland.ai/tutorials/call-logs.md): View, filter, and analyze your call history and transcripts. - [Custom Twilio Integration](https://docs.bland.ai/tutorials/custom-twilio.md): Connect Bland to your own Twilio account for phone number management. - [Webhooks](https://docs.bland.ai/tutorials/webhooks.md): Configure outbound API requests inside pathways using the webhook node to retrieve data or trigger workflows during live calls. - [Tools](https://docs.bland.ai/tutorials/v2-tools.md): Give your AI agent the ability to take actions during live calls by connecting to external APIs and services. - [Custom Tools (Legacy)](https://docs.bland.ai/tutorials/tools.md): The legacy custom tools system; use the v2 Tools API for new integrations. - [Secrets](https://docs.bland.ai/tutorials/secrets.md): Securely store and reference API keys and credentials in your workflows without hardcoding them. - [BTTS v2 Voice Cloning](https://docs.bland.ai/tutorials/btts.md): Create, configure, and optimize voice clones for your AI agents. ## Basic Tutorials - [Batch Calls](https://docs.bland.ai/tutorials/batch-calls.md): Send a batch of calls to a CSV of recipients simultaneously. - [Tools: Integration Tools](https://docs.bland.ai/tutorials/v2-tools-built-in.md): Connect to Cal.com, Salesforce, Slack, and other services using built-in integrations. - [Tools: Custom API Integration](https://docs.bland.ai/tutorials/v2-tools-custom-api.md): Create tools that call your own backend, internal services, or any HTTP endpoint. ## Advanced Features - [Testbed](https://docs.bland.ai/tutorials/testbed.md): Iterate on node prompts using real call data and lock in behavior with standards. - [Scenarios](https://docs.bland.ai/tutorials/scenarios.md): Validate your AI pathways and personas with automated test scenarios. - [Standards](https://docs.bland.ai/tutorials/standards.md): Node-level regression test framework for locking in expected agent behavior. - [Guard Rails](https://docs.bland.ai/tutorials/guard-rails.md): Automated monitoring that runs continuously on every AI response to catch critical failures before they reach customers. - [Post Call Webhooks](https://docs.bland.ai/tutorials/post-call-webhooks.md): Trigger HTTP requests after a call ends to process transcripts, sync CRM data, or kick off downstream workflows. - [Webhook Signing](https://docs.bland.ai/tutorials/webhook-signing.md): Verify the authenticity of Bland webhook payloads using HMAC signature validation. - [Personas](https://docs.bland.ai/tutorials/personas.md): Create unified AI agents that manage phone numbers and use cases — build once, use everywhere. - [Web Chat Widget](https://docs.bland.ai/tutorials/chat-widget.md): Embed a voice and chat widget on your website to let visitors speak or chat with your AI agent. - [Outcomes](https://docs.bland.ai/tutorials/outcomes.md): Combine pathway tags, citations, and call metadata to define what happened on each call. - [Blocked Numbers](https://docs.bland.ai/tutorials/blocked-numbers.md): Manage and configure blocked phone numbers in the Bland dashboard. - [Memory](https://docs.bland.ai/tutorials/memories.md): Preserve context across conversations by enabling memory on your pathway or persona. ## Platform Information - [Billing & Plans](https://docs.bland.ai/platform/billing.md): Understand how usage is billed, available plans, and how to manage billing details. ## SDKs & Tools - [Command Line Interface](https://docs.bland.ai/sdks/cli.md): Manage your Bland account from the terminal: make calls, build and test pathways, configure phone numbers, and more. - [Dev Terminal](https://docs.bland.ai/sdks/dev-terminal.md): An interactive AI-powered REPL for building, testing, and deploying phone agents without leaving your terminal. - [Web Agent SDK](https://docs.bland.ai/sdks/web-agent-sdk.md): Embed a Bland voice agent into any web application with secure, token-based authentication. ## Bland Enterprise - [Infrastructure & Releases](https://docs.bland.ai/enterprise-features/infrastructure-and-releases.md): Dedicated infrastructure, version-controlled releases, and canary deployments for enterprise customers. - [Twilio Studio Flow Integration](https://docs.bland.ai/enterprise-features/studio-flow-integration.md): Integrate Bland within Twilio Studio Flows. - [Custom Dialing](https://docs.bland.ai/enterprise-features/custom-dialing.md): Maximize outbound call pickup rates by dynamically selecting the optimal number from your phone number inventory. - [Citations](https://docs.bland.ai/enterprise-features/citations.md): Extract structured insights from post-call transcripts using custom schemas. - [Scheduling Node](https://docs.bland.ai/enterprise-features/scheduling-node.md): Enable intelligent meeting scheduling within conversational pathways using webhook integration. - [Custom Code Node](https://docs.bland.ai/enterprise-features/custom-code-node.md): Execute custom JavaScript code within conversational pathways. - [Warm Transfer](https://docs.bland.ai/tutorials/warm-transfer.md): Live human agent transfers facilitated by Bland. - [Messaging](https://docs.bland.ai/tutorials/sms.md): Use SMS and RCS to create a personal contact that users can call and text. - [SIP Integration](https://docs.bland.ai/enterprise-features/SIP-integration.md): Configure and manage SIP for call routing to and from Bland, with guided setup, auto-discovery, test calls, and number porting. - [SSO Support](https://docs.bland.ai/enterprise-features/SSO.md): Configure Single Sign-On using OIDC or SAML 2.0 with your identity provider. - [JWT Signature Configuration](https://docs.bland.ai/enterprise-features/jwt-authentication.md): Asymmetric JWT signing for enterprise-grade webhook and request authentication. ## API Reference: Basic Tutorials - [Send Call using Pathways (Simple)](https://docs.bland.ai/api-v1/post/calls-simple-pathway.md): Send an AI phone call using a conversational pathway agent. - [Send Call With Task (Simple)](https://docs.bland.ai/api-v1/post/calls-simple.md): Send an AI phone call using a task string. ## API Reference: Calls - [Send Call](https://docs.bland.ai/api-v1/post/calls.md): Send an AI phone call with a custom objective and actions. - [Analyze Call with AI](https://docs.bland.ai/api-v1/post/calls-id-analyze.md): Analyze a call using questions and goals. - [Stop Active Call](https://docs.bland.ai/api-v1/post/calls-id-stop.md): End an active phone call by call_id. - [Listen to Active Call](https://docs.bland.ai/api-v1/post/calls-id-listen.md): Initiate a live listen session for an active call. - [Stop All Active Calls](https://docs.bland.ai/api-v1/post/calls-active-stop.md): End all active phone calls on your account. - [List Calls](https://docs.bland.ai/api-v1/get/calls.md): Returns metadata for each call dispatched by your account. - [List Active Calls](https://docs.bland.ai/api-v1/get/active.md): Retrieve all currently active (queued and in-progress) calls for your organization. - [Call Details](https://docs.bland.ai/api-v1/get/calls-id.md): Retrieve detailed information, metadata, and transcripts for a call. - [Event Stream](https://docs.bland.ai/api-v1/get/event-stream.md): Retrieve the stream of events that occurred during a call. - [Get Call Recording](https://docs.bland.ai/api-v1/get/calls-id-recording.md): Retrieve an audio stream for a call recording. - [Get Corrected Transcript](https://docs.bland.ai/api-v1/get/calls-corrected-transcript.md): Get the corrected transcript from a call's recording. - [Get Post Call Webhook](https://docs.bland.ai/api-v1/get/postcall-webhooks-get.md): Get the post call webhook data for a specific call. - [Create Post Call Webhook](https://docs.bland.ai/api-v1/post/postcall-webhooks-create.md): Create and send post call webhooks for specified calls. - [Resend Post Call Webhook](https://docs.bland.ai/api-v1/post/postcall-webhooks-resend.md): Resend post call webhooks for specified calls. ## API Reference: Voices & Text to Speech - [Speak](https://docs.bland.ai/api-v1/post/speak.md): Convert text to speech. - [List TTS Generations](https://docs.bland.ai/api-v1/get/speak-samples.md): List your stored text-to-speech generations. - [Get TTS Generation](https://docs.bland.ai/api-v1/get/speak-samples-id.md): Retrieve a single stored text-to-speech generation. - [Clone Voice](https://docs.bland.ai/api-v1/post/clone.md): Create a custom voice clone using Bland's BTTS. - [Rename a Voice](https://docs.bland.ai/api-v1/patch/voices-id.md): Update the name of an existing cloned voice. - [Delete a Voice](https://docs.bland.ai/api-v1/delete/voices-id.md): Delete an existing cloned voice. - [List Voices](https://docs.bland.ai/api-v1/get/voices.md): Retrieve all available voices for your account. - [Voice Details](https://docs.bland.ai/api-v1/get/voices-id.md): Retrieve detailed information about a specific voice. - [Generate Audio Sample](https://docs.bland.ai/api-v1/post/voices-id-sample.md): Generate an audio sample for a voice. ## API Reference: Conversational Pathways - [Get All Pathways](https://docs.bland.ai/api-v1/get/all_pathway.md): Returns information about all conversational pathways in your account, including nodes and edges. - [Get Single Pathway](https://docs.bland.ai/api-v1/get/pathway.md): Returns information about a single conversational pathway, including nodes and edges. - [Get Pathway Session Token](https://docs.bland.ai/api-v1/get/pathway-session.md): Creates a session token for pathway chat access (expires after 1 hour). - [Create Pathway](https://docs.bland.ai/api-v1/post/pathways.md): Create a new conversational pathway. - [Update Pathway](https://docs.bland.ai/api-v1/post/update_pathways.md): Update a pathway's fields, including name, description, nodes, and edges. - [Delete Pathway](https://docs.bland.ai/api-v1/post/delete_pathway.md): Delete a conversational pathway. - [Generate Pathway](https://docs.bland.ai/api-v1/post/pathway-generate.md): Create an asynchronous pathway generation job from a detailed prompt. - [Get Pathway Generation Status](https://docs.bland.ai/api-v1/get/pathway-generate-status-job-id.md): Poll generation status and retrieve the generated pathway ID when ready. - [Create Pathway Chat](https://docs.bland.ai/api-v1/post/pathway-chat-create.md): Create a pathway chat instance for sending and receiving messages. - [Pathway Chat](https://docs.bland.ai/api-v1/post/pathway-chat.md): Send a message to a pathway and receive a response. - [Get Pathway Chat History](https://docs.bland.ai/api-v1/get/pathway-chat.md): Get conversation history for a pathway chat. - [Get Pathway Versions](https://docs.bland.ai/api-v1/get/pathway_versions.md): Retrieve all versions of a specific pathway. - [Get Specific Pathway Version](https://docs.bland.ai/api-v1/get/pathway_version.md): Retrieve a specific version of a pathway including its nodes and edges. - [Promote Pathway Version](https://docs.bland.ai/api-v1/post/pathway-promote.md): Promote a pathway version to staging or production. - [Create Pathway Version](https://docs.bland.ai/api-v1/post/create_pathway_version.md): Create a new version of a specific pathway. - [Update Pathway Version](https://docs.bland.ai/api-v1/post/update-pathway-version.md): Update a specific pathway version's name, nodes, and edges. - [Delete Pathway Version](https://docs.bland.ai/api-v1/delete/pathway_version.md): Archive a specific pathway version. - [Get All Folders](https://docs.bland.ai/api-v1/get/pathway_folders.md): Retrieve all pathway folders for the authenticated user. - [Get Pathways in Folder](https://docs.bland.ai/api-v1/get/folder_pathways.md): Retrieve all pathways within a specific folder. - [Create Folder](https://docs.bland.ai/api-v1/post/create_pathway_folder.md): Create a new pathway folder. - [Delete Folder](https://docs.bland.ai/api-v1/delete/pathway_folder.md): Delete a specific folder (must be empty). - [Update Folder](https://docs.bland.ai/api-v1/post/update_pathway_folder.md): Update the name of a specific folder. - [Move Pathway](https://docs.bland.ai/api-v1/post/move-pathway-folder.md): Move a pathway to a different folder or to the root level. ## API Reference: Knowledge Bases - [Upload File](https://docs.bland.ai/api-v1/post/knowledge-learn-file.md): Create a new knowledge base by uploading a file. - [Upload Text](https://docs.bland.ai/api-v1/post/knowledge-learn-text.md): Create a new knowledge base from direct text input. - [Scrape Websites](https://docs.bland.ai/api-v1/post/knowledge-learn-web.md): Create a new knowledge base by scraping content from web URLs. - [List Knowledge Bases](https://docs.bland.ai/api-v1/get/knowledge.md): Retrieve a paginated list of knowledge bases for your organization. - [Get Knowledge Base](https://docs.bland.ai/api-v1/get/knowledge-id.md): Retrieve a specific knowledge base by ID. - [Update Knowledge Base](https://docs.bland.ai/api-v1/put/knowledge-id.md): Update a knowledge base's name and/or description. - [Delete Knowledge Base](https://docs.bland.ai/api-v1/delete/knowledge-id.md): Delete a knowledge base. - [Discover Sitemap URLs](https://docs.bland.ai/api-v1/post/knowledge-crawl.md): Discover URLs from a website's sitemap for web scraping. - [Chat with Knowledge Base](https://docs.bland.ai/api-v1/post/knowledge-chat.md): Perform a conversational query against knowledge bases with context. ## API Reference: Numbers - [Purchase Phone Number](https://docs.bland.ai/api-v1/post/inbound-purchase.md): Purchase a new phone number ($15/mo). - [Update Inbound Number](https://docs.bland.ai/api-v1/post/inbound-number-update.md): Update an inbound agent's settings and prompt. - [Update Inbound Number Label](https://docs.bland.ai/api-v1/post/inbound-update-label.md): Update the label shown for an inbound phone number. - [List Numbers](https://docs.bland.ai/api-v1/get/inbound.md): Retrieve all inbound phone numbers configured for your account. - [Number Details](https://docs.bland.ai/api-v1/get/inbound-number.md): Retrieve settings for a specific inbound phone number. - [Create Inbound Session](https://docs.bland.ai/api-v1/post/inbound-session.md): Create a session token to pass variables to inbound calls via SIP headers. ## API Reference: Blocked Numbers - [Create Block Rules](https://docs.bland.ai/api-v1/post/blocked-numbers.md): Create rules to prevent specific phone numbers from reaching your inbound numbers. - [List Block Rules](https://docs.bland.ai/api-v1/get/blocked-numbers.md): Retrieve block rules associated with your inbound numbers. - [Get Block Rule](https://docs.bland.ai/api-v1/get/blocked-numbers-id.md): Retrieve the details of a specific block rule. - [Delete Block Rule](https://docs.bland.ai/api-v1/delete/blocked-numbers-id.md): Permanently delete a block rule. - [Edit Block Rule](https://docs.bland.ai/api-v1/post/blocked-numbers-id-edit.md): Update attributes of an existing block rule. ## API Reference: Widgets - [Create Widget](https://docs.bland.ai/api-v1/post/widget.md): Create a new web chat/voice widget. - [List Widgets](https://docs.bland.ai/api-v1/get/widgets.md): Retrieve all widgets associated with your account. - [Get Widget](https://docs.bland.ai/api-v1/get/widget-id.md): Retrieve a specific widget by ID. - [Update Widget](https://docs.bland.ai/api-v1/patch/widget-id.md): Update an existing widget. - [Get Widget Threads](https://docs.bland.ai/api-v1/get/widget-id-threads.md): Retrieve all conversation threads for a specific widget. - [Send Live Agent Message](https://docs.bland.ai/api-v1/post/widget-thread-webhook.md): Send a message from a live agent to the user, or end the conversation. - [List Custom Components](https://docs.bland.ai/api-v1/get/widget-custom-components.md): Retrieve custom components for widgets. - [Create Custom Component](https://docs.bland.ai/api-v1/post/widget-custom-components.md): Create a new custom widget component. - [Update Custom Component](https://docs.bland.ai/api-v1/patch/widget-custom-components-id.md): Update a specific custom component. - [Delete Custom Component](https://docs.bland.ai/api-v1/delete/widget-custom-components-id.md): Delete a specific custom component. ## API Reference: Tools - [Create Tool](https://docs.bland.ai/api-v2/post/tools.md): Create a new v2 tool connecting to built-in integrations or custom APIs, invoked automatically during calls and SMS conversations. - [Update Tool](https://docs.bland.ai/api-v2/post/tools-tool-id.md): Update an existing v2 tool. - [List Tools](https://docs.bland.ai/api-v2/get/tools.md): Retrieve a paginated list of your v2 tools. - [Tool Execution Logs](https://docs.bland.ai/api-v2/get/tools-logs.md): Retrieve per-execution logs for your tools with filtering and pagination. - [Tool Execution Stats](https://docs.bland.ai/api-v2/get/tools-logs-stats.md): Retrieve aggregated execution statistics for your tools (max 90-day range). - [Create Custom Tool (Legacy)](https://docs.bland.ai/api-v1/post/tools.md): Create a legacy custom tool that calls external APIs. - [Update Custom Tool (Legacy)](https://docs.bland.ai/api-v1/post/tools-tool-id.md): Update a legacy custom tool's parameters. - [Delete Custom Tool (Legacy)](https://docs.bland.ai/api-v1/delete/tools-tool-id.md): Delete a legacy custom tool. - [List Custom Tools (Legacy)](https://docs.bland.ai/api-v1/get/tools.md): Retrieve legacy custom tools you've created. - [Custom Tool Details (Legacy)](https://docs.bland.ai/api-v1/get/tools-tool-id.md): Retrieve a specific legacy custom tool. ## API Reference: Contacts - [List Contacts](https://docs.bland.ai/api-v1/get/contacts.md): List all contacts for your organization with identifiers and memory entities. - [Find Contact](https://docs.bland.ai/api-v1/get/contacts-find.md): Find a contact by phone number, email, or external ID. - [Get Contact](https://docs.bland.ai/api-v1/get/contacts-id.md): Retrieve a contact by its unique ID. - [Resolve Contact](https://docs.bland.ai/api-v1/post/contacts-resolve.md): Find an existing contact or create a new one. - [Update Contact](https://docs.bland.ai/api-v1/patch/contacts-id.md): Update an existing contact's information. - [Merge Contacts](https://docs.bland.ai/api-v1/post/contacts-merge.md): Merge two contacts into one, moving all data to the primary contact. ## API Reference: Memory - [Create Contact Memory](https://docs.bland.ai/api-v1/post/memory-contact.md): Create a memory record for a contact scoped to a persona or agent number. - [Get Contact Memory](https://docs.bland.ai/api-v1/get/memory-contact-id.md): Retrieve a contact's full memory record including summary, facts, and recent messages. - [List Recent Messages](https://docs.bland.ai/api-v1/get/memory-contact-id-messages.md): Retrieve recent cross-channel message history for a contact memory. - [Update Conversation Summary](https://docs.bland.ai/api-v1/patch/memory-contact-id-summary.md): Overwrite the conversation summary for a contact memory. - [Update Contact Facts](https://docs.bland.ai/api-v1/patch/memory-contact-id-facts.md): Merge new structured facts into a contact's memory record. - [Get Memory Context](https://docs.bland.ai/api-v1/get/memory-context.md): Retrieve the full memory context a contact scoped to a persona or agent number sees at conversation start. - [Get Memory Changes](https://docs.bland.ai/api-v1/get/memory-changes.md): Retrieve what memory was captured or updated during a specific call or SMS conversation. - [Reset Contact Memory](https://docs.bland.ai/api-v1/post/memory-reset.md): Permanently delete all memory for a contact scoped to a specific persona or agent number. - [Enable or Disable Memory](https://docs.bland.ai/api-v1/post/memory-enable.md): Enable or disable memory for a pathway or persona version. ## API Reference: Node Tests - [Get Node Test Run](https://docs.bland.ai/api-v1/get/node_test_run.md): Retrieve a node test run. - [Invoke Node Test Run](https://docs.bland.ai/api-v1/post/node_test_invoke.md): Start a node test run for a given node and pathway with a new prompt and sample conversations. ## API Reference: Agent Testing - [Create Test Scenario](https://docs.bland.ai/api-v1/post/agent-testing-scenarios.md): Create a new test scenario with assertions for a pathway or persona. - [List Test Scenarios](https://docs.bland.ai/api-v1/get/agent-testing-scenarios.md): List all test scenarios for your organization. - [Get Test Scenario](https://docs.bland.ai/api-v1/get/agent-testing-scenarios-id.md): Retrieve a specific test scenario with its assertions. - [Update Test Scenario](https://docs.bland.ai/api-v1/put/agent-testing-scenarios-id.md): Update an existing test scenario. - [Delete Test Scenario](https://docs.bland.ai/api-v1/delete/agent-testing-scenarios-id.md): Delete a test scenario and all related data. - [List Test Templates](https://docs.bland.ai/api-v1/get/agent-testing-templates.md): List out-of-box test scenario templates. - [Clone Test Template](https://docs.bland.ai/api-v1/post/agent-testing-templates-clone.md): Clone a template to create a new scenario bound to your pathway or persona. - [Generate Scenario from Call](https://docs.bland.ai/api-v1/post/agent-testing-scenarios-generate.md): Generate a test scenario from a historical call transcript using AI analysis. - [Run Test Scenario](https://docs.bland.ai/api-v1/post/agent-testing-scenarios-run.md): Execute a single test scenario asynchronously. - [Batch Run Scenarios](https://docs.bland.ai/api-v1/post/agent-testing-batch-run.md): Execute multiple test scenarios as a batch. - [List Test Runs](https://docs.bland.ai/api-v1/get/agent-testing-runs.md): List test runs with optional filtering and pagination. - [Get Test Run](https://docs.bland.ai/api-v1/get/agent-testing-runs-id.md): Retrieve detailed results for a specific test run including assertion results and scores. - [Get Test Batch](https://docs.bland.ai/api-v1/get/agent-testing-batches-id.md): Retrieve a test batch and all its runs. - [Analyze Failed Run](https://docs.bland.ai/api-v1/post/agent-testing-runs-analyze.md): Run AI-powered analysis on a failed test run to get root cause and fix suggestions. - [Get Test Analytics](https://docs.bland.ai/api-v1/get/agent-testing-analytics.md): Get basic testing analytics for a pathway over a time window. - [Get Enhanced Analytics](https://docs.bland.ai/api-v1/get/agent-testing-analytics-enhanced.md): Get enhanced analytics including node failure heatmap, weakest link, trend analysis, and Sankey flow data. - [Create Simulation Set](https://docs.bland.ai/api-v1/post/agent-testing-simulation-sets.md): Create a simulation set that runs each scenario multiple times to detect flaky behavior. - [Get Simulation Set](https://docs.bland.ai/api-v1/get/agent-testing-simulation-sets-id.md): Retrieve a simulation set with pass rates, flakiness detection, and score distributions. - [Start Tornado Session](https://docs.bland.ai/api-v1/post/agent-testing-tornado-start.md): Start an iterative fix loop that runs tests, analyzes failures, applies fixes, and retests until all scenarios pass. - [Get Active Tornado Session](https://docs.bland.ai/api-v1/get/agent-testing-tornado-active.md): Get the currently active tornado session for a pathway. - [Get Tornado Status](https://docs.bland.ai/api-v1/get/agent-testing-tornado-status.md): Get detailed progress for a tornado session including iteration data and fix plans. - [Cancel Tornado Session](https://docs.bland.ai/api-v1/post/agent-testing-tornado-cancel.md): Cancel a running tornado session. ## API Reference: Guard Rails - [List Guard Rails](https://docs.bland.ai/api-v1/get/guard-rails.md): Retrieve all guard rails in your organization. - [Get Guard Rail](https://docs.bland.ai/api-v1/get/guard-rails-id.md): Retrieve a specific guard rail by ID. - [Create Guard Rail](https://docs.bland.ai/api-v1/post/guard-rails.md): Create a new guard rail for compliance monitoring. - [Update Guard Rail](https://docs.bland.ai/api-v1/patch/guard-rails-id.md): Update an existing guard rail configuration. - [Delete Guard Rail](https://docs.bland.ai/api-v1/delete/guard-rails-id.md): Delete a guard rail. ## API Reference: Web Agents - [Create Web Agent](https://docs.bland.ai/api-v1/post/agents.md): Configure all settings for a new web agent. - [Update Web Agent](https://docs.bland.ai/api-v1/post/agents-id.md): Update a web agent's settings, prompt, and details. - [Authorize Web Agent Call](https://docs.bland.ai/api-v1/post/agents-id-authorize.md): Create a single-use session token for a client to talk with your web agent. - [Delete Web Agent](https://docs.bland.ai/api-v1/post/agents-id-delete.md): Delete a web agent. - [List Web Agents](https://docs.bland.ai/api-v1/get/agents.md): Retrieve each web agent you've created along with their settings. ## API Reference: Custom Twilio Accounts - [Create Encrypted Key](https://docs.bland.ai/api-v1/post/accounts.md): Integrate your own Twilio account with Bland. - [Delete Encrypted Key](https://docs.bland.ai/api-v1/post/accounts-delete.md): Disable an encrypted key for a Twilio account integration. - [Upload Inbound Phone Numbers](https://docs.bland.ai/api-v1/post/inbound-insert.md): Add inbound numbers to Bland from your own Twilio account. - [Delete Inbound Phone Number](https://docs.bland.ai/api-v1/post/inbound-number-delete.md): Remove an inbound number uploaded through your own Twilio account. ## API Reference: Batches - [Create Batch](https://docs.bland.ai/api-v2/post/batches.md): Create a new batch of calls using direct input. - [List Batches](https://docs.bland.ai/api-v2/get/batches.md): Retrieve a list of all batches created by your organization. - [Get Batch](https://docs.bland.ai/api-v2/get/batches-id.md): Retrieve metadata for a specific batch. - [Get Batch Logs](https://docs.bland.ai/api-v2/get/batches-id-logs.md): Retrieve logs for a specific batch. - [Stop Batch](https://docs.bland.ai/api-v2/post/batches-id-stop.md): Stop a batch that is currently running or scheduled. ## API Reference: Prompts - [List Prompts](https://docs.bland.ai/api-v1/get/prompts.md): Retrieve all your saved prompts. - [Prompt Details](https://docs.bland.ai/api-v1/get/prompts-id.md): Retrieve data for a specific prompt. - [Create Prompt](https://docs.bland.ai/api-v1/post/prompts.md): Create and store a prompt for future use. ## API Reference: Account - [Account Details](https://docs.bland.ai/api-v1/get/me.md): Returns call data and details for your account. ## API Reference: Organizations - [Create Organization](https://docs.bland.ai/api-v1/post/orgs.md): Create a new organization. - [Delete Organization](https://docs.bland.ai/api-v1/delete/orgs.md): Delete an organization. - [Get Organization](https://docs.bland.ai/api-v1/get/orgs.md): Retrieve details of an organization. - [Get Organization Members](https://docs.bland.ai/api-v1/get/org_members.md): Retrieve the list of members in an organization. - [Get Current Service Version](https://docs.bland.ai/api-v1/get/org_current_version.md): Retrieve the current version of a service for an organization. - [List Service Versions](https://docs.bland.ai/api-v1/get/org_list_versions.md): Retrieve available versions of a service within an organization. - [Update Service Version](https://docs.bland.ai/api-v1/patch/org_version.md): Update the current version of a service for an organization. - [Update Organization Members](https://docs.bland.ai/api-v1/patch/org_members.md): Add or remove members from an organization. - [Update Member Permissions](https://docs.bland.ai/api-v1/patch/org_member_permissions.md): Modify permissions of an existing member within an organization. - [Update Organization Properties](https://docs.bland.ai/api-v1/patch/org_properties.md): Modify specific properties of an organization. - [Get User Memberships](https://docs.bland.ai/api-v1/get/org_list_self_memberships.md): Retrieve organizations the authenticated user is a member of. - [Leave Organization](https://docs.bland.ai/api-v1/delete/org_leave_self_memberships_id.md): Remove the authenticated user from an organization. - [Get Billing Information](https://docs.bland.ai/api-v1/get/org_billing_information.md): Retrieve current billing details for an organization. - [Get Billing Refill Information](https://docs.bland.ai/api-v1/get/org_billing_refill_information.md): Retrieve the recharge amount for an organization's billing. - [List Audit Logs](https://docs.bland.ai/api-v1/get/audit-logs.md): Retrieve a paginated, filterable list of audit events for SIEM integration and compliance workflows. ## API Reference: Messaging - [List SMS Numbers](https://docs.bland.ai/api-v1/get/sms-numbers.md): Retrieve all phone numbers configured for SMS along with their configuration. - [Update SMS Configuration](https://docs.bland.ai/api-v1/post/sms-update.md): Update the SMS configuration for a phone number. - [Send SMS Message](https://docs.bland.ai/api-v1/post/sms-send.md): Send an SMS message from an agent to a user, creating or resuming a conversation. - [Send SMS Batch](https://docs.bland.ai/api-v1/post/sms-batch.md): Send SMS messages to a large list of recipients from a pre-uploaded CSV file. - [Create SMS Conversation](https://docs.bland.ai/api-v1/post/sms-create.md): Create an SMS conversation with specific pathway state without triggering immediate sending. - [List Conversations](https://docs.bland.ai/api-v1/get/sms-conversations.md): Retrieve a paginated list of SMS conversations with filtering and sorting. - [Get Conversation](https://docs.bland.ai/api-v1/get/sms-conversations-id.md): Retrieve a single SMS conversation and its messages by ID. - [Update SMS Conversation](https://docs.bland.ai/api-v1/patch/sms-conversations-id.md): Update properties of an existing SMS conversation. - [Delete Messages from Conversation](https://docs.bland.ai/api-v1/delete/sms-conversations-message.md): Delete specific messages from SMS conversations. - [Delete Conversation](https://docs.bland.ai/api-v1/delete/sms-conversations.md): Permanently delete a conversation and all its messages. - [Get Post Conversation Webhook](https://docs.bland.ai/api-v1/get/sms-conversations-webhook.md): Retrieve the webhook delivery log for an SMS conversation. - [SMS Conversation Analysis](https://docs.bland.ai/api-v1/post/sms-analyze.md): Answer questions and extract information from an SMS conversation. ## API Reference: SIP Trunks - [Get SIP Config](https://docs.bland.ai/api-v1/get/sip-config.md): Retrieve the current SIP configuration for a phone number. - [List SIP Numbers](https://docs.bland.ai/api-v1/get/sip-numbers.md): List all phone numbers with SIP configurations for your organization. - [Attach SIP Configuration](https://docs.bland.ai/api-v1/post/sip-attach.md): Attach SIP configuration to phone numbers for inbound and/or outbound routing. - [Update SIP Direction](https://docs.bland.ai/api-v1/post/sip-update.md): Update an existing SIP routing direction for a phone number. - [Detach SIP Configuration](https://docs.bland.ai/api-v1/post/sip-detach.md): Remove SIP configuration from a phone number. - [Discover SIP Endpoint](https://docs.bland.ai/api-v1/post/sip-discover.md): Auto-discover optimal SIP connection settings by probing your endpoint. - [Get Discovery Status](https://docs.bland.ai/api-v1/get/sip-discover-status.md): Poll the status and results of a SIP endpoint discovery session. - [Send SIP Test Call](https://docs.bland.ai/api-v1/post/sip-test-call.md): Place a live test call to your SIP endpoint to verify connectivity. - [Get Test Call Status](https://docs.bland.ai/api-v1/get/sip-test-call-status.md): Poll the status and trace of a SIP test call. - [Get Firewall IPs](https://docs.bland.ai/api-v1/get/sip-firewall-ips.md): Get Bland's static IP addresses for your region to configure your firewall. - [Get Outbound Setup](https://docs.bland.ai/api-v1/get/sip-outbound-setup.md): Get Bland's SIP server details and PBX configuration for outbound call routing. - [Get Trunk Health](https://docs.bland.ai/api-v1/get/sip-status.md): Get the health status of a SIP trunk by probing the endpoint. - [Get SIP Call Logs](https://docs.bland.ai/api-v1/get/sip-calls.md): Retrieve SIP call logs for a phone number with cursor-based pagination. - [Update Advanced Config](https://docs.bland.ai/api-v1/patch/sip-config.md): Update advanced SIP configuration including failover, codecs, and alerts. - [Check Number Portability](https://docs.bland.ai/api-v1/get/sip-port-check.md): Check whether phone numbers are eligible for porting to Bland. - [Upload Port Document](https://docs.bland.ai/api-v1/post/sip-port-document.md): Upload a Letter of Authorization or proof of ownership document for number porting. - [Initiate Port Request](https://docs.bland.ai/api-v1/post/sip-port-initiate.md): Submit a number porting request to transfer phone numbers to Bland. - [List Port Requests](https://docs.bland.ai/api-v1/get/sip-port-requests.md): List all number porting requests for your organization. - [Cancel Port Request](https://docs.bland.ai/api-v1/delete/sip-port-cancel.md): Cancel an in-progress number porting request. ## API Reference: Custom Dialing Pools - [Get Custom Dialing Pool](https://docs.bland.ai/api-v1/get/custom-dialing-pool.md): Retrieve a specific custom dialing pool by its ID. - [List Custom Dialing Pools](https://docs.bland.ai/api-v1/get/custom-dialing-pools.md): Retrieve all custom dialing pools for your organization. - [Create Custom Dialing Pool](https://docs.bland.ai/api-v1/post/custom-dialing-pools.md): Create a new custom dialing pool with phone numbers for optimized call routing. - [Update Custom Dialing Pool](https://docs.bland.ai/api-v1/post/custom-dialing-pool-update.md): Update an existing custom dialing pool. ## API Reference: Personas - [List Personas](https://docs.bland.ai/api-v1/get/personas.md): Retrieve all personas in your organization. - [Get Persona](https://docs.bland.ai/api-v1/get/personas-id.md): Retrieve a specific persona. - [Create Persona](https://docs.bland.ai/api-v1/post/personas.md): Create a new persona. - [Update Persona](https://docs.bland.ai/api-v1/patch/personas-id.md): Update an existing persona configuration. - [Delete Persona](https://docs.bland.ai/api-v1/delete/personas-id.md): Delete a persona. - [Attach Phone Numbers to Persona](https://docs.bland.ai/api-v1/post/personas-id-inbound-attach.md): Attach one or more inbound phone numbers to a persona. - [Detach Phone Numbers from Persona](https://docs.bland.ai/api-v1/post/personas-id-inbound-detach.md): Detach one or more inbound phone numbers from a persona. - [Update Persona Number Settings](https://docs.bland.ai/api-v1/patch/personas-id-inbound-phone-settings.md): Update persona-specific settings for a phone number attached to a persona. - [List Persona Versions](https://docs.bland.ai/api-v1/get/personas-id-versions.md): Retrieve all versions of a specific persona. - [Promote Persona Version](https://docs.bland.ai/api-v1/post/personas-id-versions-promote.md): Promote a persona's draft version to production. - [Get Specific Persona Version](https://docs.bland.ai/api-v1/get/personas-id-versions-version-id.md): Retrieve a specific persona version. ## API Reference: Citation Schemas - [List Citation Schemas](https://docs.bland.ai/api-v1/get/citation-schemas-list.md): Retrieve all citation schemas for your organization. - [Get Citation Schema](https://docs.bland.ai/api-v1/get/citation-schemas-id.md): Retrieve a specific citation schema by ID. - [Create Citation Schema](https://docs.bland.ai/api-v1/post/citation-schemas.md): Create a new schema for extracting structured data from call transcripts. - [Update Citation Schema](https://docs.bland.ai/api-v1/patch/citation-schemas.md): Update an existing citation schema's name, description, or configuration. - [Backfill Citation Schema](https://docs.bland.ai/api-v1/post/citation-schemas-backfill.md): Retroactively apply citation schemas to extract data from existing call transcripts. ## API Reference: Alarms - [List Alarms](https://docs.bland.ai/api-v1/get/alarms.md): List alarm configurations for your organization. - [Create Alarm](https://docs.bland.ai/api-v1/post/alarms.md): Create an alarm configuration for your organization. - [List Alarm Events](https://docs.bland.ai/api-v1/get/alarms-history.md): Get recent alarm events across all alarms in your organization. - [Get Alarm](https://docs.bland.ai/api-v1/get/alarms-id.md): Get a single alarm configuration by ID. - [Update Alarm](https://docs.bland.ai/api-v1/patch/alarms-id.md): Update an alarm configuration. - [Delete Alarm](https://docs.bland.ai/api-v1/delete/alarms-id.md): Delete an alarm configuration. - [Toggle Alarm](https://docs.bland.ai/api-v1/post/alarms-id-toggle.md): Enable or disable an alarm. - [Trigger Alarm Evaluation](https://docs.bland.ai/api-v1/post/alarms-id-trigger.md): Manually trigger alarm evaluation with current data. - [Test Alarm Notifications](https://docs.bland.ai/api-v1/post/alarms-id-notify.md): Send a test alarm or recovery notification. ## API Reference: Triage Issues capture problems found on calls, bundle the evidence (calls, SMS conversations, files), and hand the work to Norm, Bland's triage agent, to investigate and fix. - [Create Issue](https://docs.bland.ai/api-v1/post/triage-issues.md): Create a triage issue. - [List Issues](https://docs.bland.ai/api-v1/get/triage-issues.md): List triage issues with filters and keyset pagination. - [Get Issue](https://docs.bland.ai/api-v1/get/triage-issues-id.md): Get a triage issue by ID. - [Update Issue](https://docs.bland.ai/api-v1/patch/triage-issues-id.md): Update a triage issue. All fields optional. - [Delete Issue](https://docs.bland.ai/api-v1/delete/triage-issues-id.md): Permanently delete a triage issue. - [Attach Resource](https://docs.bland.ai/api-v1/post/triage-issues-id-resources.md): Attach a call, SMS conversation, or file to an issue. - [List Resources](https://docs.bland.ai/api-v1/get/triage-issues-id-resources.md): List resources attached to an issue. - [Remove Resource](https://docs.bland.ai/api-v1/delete/triage-issues-id-resources-resource-link-id.md): Detach a resource from an issue. - [Attach Call](https://docs.bland.ai/api-v1/put/triage-issues-id-calls-call-id.md): Attach a call to an issue (call_id shorthand). - [Detach Call](https://docs.bland.ai/api-v1/delete/triage-issues-id-calls-call-id.md): Detach a call from an issue (call_id shorthand). - [Get Affected Context](https://docs.bland.ai/api-v1/get/triage-issues-id-affected.md): Roll up calls, pathways, and personas affected by an issue. - [Add Flag](https://docs.bland.ai/api-v1/post/triage-issues-id-flags.md): Flag a moment on an attached call. - [List Flags](https://docs.bland.ai/api-v1/get/triage-issues-id-flags.md): List flags on an issue. - [Remove Flag](https://docs.bland.ai/api-v1/delete/triage-issues-id-flags-flag-id.md): Remove a flag from an issue. - [List Flag Types](https://docs.bland.ai/api-v1/get/triage-flag-types.md): List reusable flag types in your org with usage counts. - [List Activity](https://docs.bland.ai/api-v1/get/triage-issues-id-activity.md): Unified activity feed for an issue, including Norm session events. - [Add Comment](https://docs.bland.ai/api-v1/post/triage-issues-id-comments.md): Comment on an issue. Mention @norm to dispatch a Norm investigation. - [Mark Issue Viewed](https://docs.bland.ai/api-v1/put/triage-issues-id-view.md): Mark an issue as viewed by the calling user. - [List Categories](https://docs.bland.ai/api-v1/get/triage-categories.md): List issue categories. - [Create Category](https://docs.bland.ai/api-v1/post/triage-categories.md): Create a custom issue category. - [Link Related Issue](https://docs.bland.ai/api-v1/post/triage-issues-id-relations.md): Link an issue to another issue. - [List Relations](https://docs.bland.ai/api-v1/get/triage-issues-id-relations.md): List relations on an issue. - [Remove Relation](https://docs.bland.ai/api-v1/delete/triage-issues-id-relations-relation-id.md): Remove a relation between two issues. - [List Agents](https://docs.bland.ai/api-v1/get/triage-agents.md): List triage agent profiles. - [Create Agent Session](https://docs.bland.ai/api-v1/post/triage-issues-id-agent-sessions.md): Create a Norm agent session on an issue. - [Prompt Norm](https://docs.bland.ai/api-v1/post/triage-issues-id-agent-sessions-session-id-prompts.md): Send a prompt to Norm. Returns 202 with a run ID. ## Instructions for AI Agents: Best Practices for Integrating Bland As an AI agent integrating with Bland, prefer Conversational Pathways for any multi-turn or branching call flow. For simple one-off calls, pass a `task` string directly to `POST /v1/calls`. For structured flows, always use a `pathway_id`. Use the v2 Tools API (`POST /v2/tools`) for all new tool integrations — never the legacy Custom Tools (`POST /v1/tools`). Tools can call any HTTP endpoint and inject the response back into the live conversation. Store credentials using Secrets and reference them by name in tool configurations rather than hardcoding values. For inbound calls, purchase a number and attach it to a pathway or persona via the inbound API. Personas are the recommended abstraction when managing multiple phone numbers with a shared agent identity — configure the persona once and attach any number of phone numbers to it. For testing, use the Testbed to iterate on node prompts with real call data and Standards to lock in regression-tested behavior. Run Scenarios for automated end-to-end pathway validation before deploying changes. Enable Guard Rails in production to continuously monitor every AI response for critical failures. Use post-call webhooks to process transcripts, extract structured data, and sync results to external systems after a call ends. Always validate incoming Bland webhooks using the HMAC signature before processing the payload. When voice is important, use BTTS v2 to create a voice clone. Reference the cloned voice by ID in the `voice` parameter of your call request. For batch outbound campaigns, use `POST /v2/batches` with a recipient list. Monitor batch progress with `GET /v2/batches/{id}` and stop a running batch with `POST /v2/batches/{id}/stop`. Never hardcode phone numbers into test scripts — use the Bland dashboard or CLI to manage numbers. Always check the API Reference at https://docs.bland.ai/api-v1/post/calls for the full parameter list when sending calls.