# RevRing AI Documentation - [Introduction](https://docs.revring.ai/index.md): Welcome to the RevRing AI documentation website - [Quickstart](https://docs.revring.ai/quickstart.md): Get your first RevRing AI agent up and running in minutes - [MCP Server](https://docs.revring.ai/mcp-server.md): Connect RevRing documentation to AI coding tools like Cursor, VS Code, Claude, and more - [Telephony Setup](https://docs.revring.ai/platform/telephony.md): Connect SIP trunks from Twilio, Telnyx, and other providers - [Inbound Calls](https://docs.revring.ai/platform/inbound.md): Configure agents to handle incoming phone calls - [Outbound Calls](https://docs.revring.ai/platform/outbound.md): Send outbound calls through your AI agents - [Prompting & Variables](https://docs.revring.ai/platform/prompting-variables.md): Personalize agent conversations with dynamic variables - [Agent Tools](https://docs.revring.ai/platform/tools.md): Configure system and custom tools for your agents - [Multilingual](https://docs.revring.ai/platform/multilingual.md): Build AI voice agents that speak multiple languages - [Conversation Flows](https://docs.revring.ai/platform/conversation-flows.md): Build structured conversation flows with the RevRing flow JSON format - [Knowledge Bases](https://docs.revring.ai/platform/knowledge-bases.md): Give your agents access to your documents, URLs, and text content for grounded, accurate answers - [Test Suites](https://docs.revring.ai/platform/test-suites.md): Automatically test your AI agents with scripted conversations and AI-powered scoring - [Webhooks](https://docs.revring.ai/platform/webhooks.md): Integrate RevRing with your systems using webhooks - [WebRTC](https://docs.revring.ai/platform/webrtc.md): Add voice AI agents to web browsers and mobile apps - [Messaging](https://docs.revring.ai/platform/messaging.md): Let your agents send text messages (SMS), from the same number they call from - [Two-way texting](https://docs.revring.ai/platform/two-way-messaging.md): Let your agents hold text conversations and send SMS outside of a call - [Web Widget](https://docs.revring.ai/platform/web-widget.md): Put your agent on any website as a chat bubble, with memory that follows the visitor - [Introduction](https://docs.revring.ai/api-reference/introduction.md): How to access and use the RevRing API - [List Agents](https://docs.revring.ai/api-reference/agents/list.md): List agents with filtering, sorting, and pagination. Default page size is 25 (maximum 100). To hydrate a known set of agents in one call, use `POST /agents/batch-get` instead. - [Get Agent](https://docs.revring.ai/api-reference/agents/get.md): Retrieve specific agent by ID - [Batch Get Agents](https://docs.revring.ai/api-reference/agents/batch-get.md): Fetch multiple agents by ID in a single request. Unknown IDs are omitted from the response. Maximum 100 IDs per request. - [Create Agent](https://docs.revring.ai/api-reference/agents/create.md): Create a new AI voice agent with specified configuration - [Update Agent](https://docs.revring.ai/api-reference/agents/update.md): Update agent configuration - [Duplicate Agent](https://docs.revring.ai/api-reference/agents/duplicate.md): Create a copy of an existing agent. Copies all configuration, custom tools, and knowledge base assignments. Phone numbers are not copied and must be assigned to the new agent separately. The new agent's name is the original name with ` (Copy)` appended. - [Delete Agent](https://docs.revring.ai/api-reference/agents/delete.md): Delete an agent - [List Agent Versions](https://docs.revring.ai/api-reference/agents/list-revisions.md): Paginated version history for an agent, newest first. Every configuration change (agent fields, custom tools, phone numbers, knowledge base links) is recorded automatically with who made it and which fields changed. History remains readable after an agent is deleted; the final version is a `deleted`… - [Get Agent Version](https://docs.revring.ai/api-reference/agents/get-revision.md): One version in full: the complete configuration snapshot plus a field-level comparison against the previous version. - [Restore Agent Version](https://docs.revring.ai/api-reference/agents/restore-revision.md): Set the agent's configuration back to this version. Applies all agent fields and reconciles custom tools to the snapshot, using the same validation as a normal update. Phone numbers and knowledge base links are never changed by a restore. Trunk, messaging connection, and folder references are restor… - [List Agent Phone Numbers](https://docs.revring.ai/api-reference/agents/list-phone-numbers.md): Get phone numbers assigned to an agent for inbound calls - [Add Phone Number](https://docs.revring.ai/api-reference/agents/add-phone-number.md): Assign a phone number to an agent - [Remove Phone Number](https://docs.revring.ai/api-reference/agents/remove-phone-number.md): Remove a phone number from an agent - [List Custom Tools](https://docs.revring.ai/api-reference/agents/list-custom-tools.md): Get custom tools configured for an agent - [Create Custom Tool](https://docs.revring.ai/api-reference/agents/create-custom-tool.md): Add a custom tool that the agent can invoke via function calling - [Update Custom Tool](https://docs.revring.ai/api-reference/agents/update-custom-tool.md): Update custom tool configuration - [Delete Custom Tool](https://docs.revring.ai/api-reference/agents/delete-custom-tool.md): Remove a custom tool from an agent - [List Agent Knowledge Bases](https://docs.revring.ai/api-reference/agents/list-knowledge-bases.md): List knowledge bases linked to an agent - [Link Knowledge Base](https://docs.revring.ai/api-reference/agents/link-knowledge-base.md): Link a knowledge base to an agent. The agent will use the knowledge base for retrieval-augmented generation during calls. - [Unlink Knowledge Base](https://docs.revring.ai/api-reference/agents/unlink-knowledge-base.md): Remove a knowledge base from an agent - [List Agent Folders](https://docs.revring.ai/api-reference/agent-folders/list.md): Returns all folders for your organization plus the count of uncategorized agents (agents not in any folder). - [Create Agent Folder](https://docs.revring.ai/api-reference/agent-folders/create.md): Create a new folder for organizing agents. Folder names must be unique within your organization. - [Update Agent Folder](https://docs.revring.ai/api-reference/agent-folders/update.md): Rename a folder or change its color. - [Delete Agent Folder](https://docs.revring.ai/api-reference/agent-folders/delete.md): Delete a folder. Agents in the folder are moved to Uncategorized (not deleted). - [List SIP Trunks](https://docs.revring.ai/api-reference/sip-trunks/list.md): Retrieve all SIP trunks for your organization. SIP trunks connect your AI agents to the phone network. - [Get SIP Trunk](https://docs.revring.ai/api-reference/sip-trunks/get.md): Retrieve a specific SIP trunk by ID - [List Available Phone Numbers](https://docs.revring.ai/api-reference/sip-trunks/list-available-numbers.md): Returns the trunk's phone numbers split into those that are available to assign and those already assigned to agents. Useful when assigning an inbound number to an agent to see what is free without having to track assignments manually. - [Create SIP Trunk](https://docs.revring.ai/api-reference/sip-trunks/create.md): Create a new SIP trunk. Provide phone numbers that will route through this trunk. - [Update SIP Trunk](https://docs.revring.ai/api-reference/sip-trunks/update.md): Update SIP trunk configuration including phone numbers - [Delete SIP Trunk](https://docs.revring.ai/api-reference/sip-trunks/delete.md): Delete a SIP trunk. Cannot delete if agents are using it. - [List Calls](https://docs.revring.ai/api-reference/calls/list.md): List calls with filtering, sorting, and pagination - [Get Call](https://docs.revring.ai/api-reference/calls/get.md): Retrieve call details by ID - [Batch Get Calls](https://docs.revring.ai/api-reference/calls/batch-get.md): Fetch multiple calls by ID in a single request. Unknown IDs are omitted from the response. Maximum 100 IDs per request. - [Send Call](https://docs.revring.ai/api-reference/calls/send.md): Initiate an outbound call with an agent - [Cancel Call](https://docs.revring.ai/api-reference/calls/cancel.md): Cancel a queued call. Only calls with status `QUEUED` can be cancelled. - [List Knowledge Bases](https://docs.revring.ai/api-reference/knowledge-bases/list.md): List all knowledge bases for your organization - [Get Knowledge Base](https://docs.revring.ai/api-reference/knowledge-bases/get.md): Retrieve a knowledge base by ID, including its sources - [Create Knowledge Base](https://docs.revring.ai/api-reference/knowledge-bases/create.md): Create a new knowledge base. After creation, add sources (text, URL, or file) to populate it. - [Update Knowledge Base](https://docs.revring.ai/api-reference/knowledge-bases/update.md): Update knowledge base name or description - [Delete Knowledge Base](https://docs.revring.ai/api-reference/knowledge-bases/delete.md): Delete a knowledge base and all its sources. This also removes all agent links. - [Add Source](https://docs.revring.ai/api-reference/knowledge-bases/add-source.md): Add a source to a knowledge base. Supports three source types: - **Text**: Send JSON with `sourceType: "text"`, `displayName`, and `content` - **URL**: Send JSON with `sourceType: "url"` and `originalUrl` - **File**: Send `multipart/form-data` with a `file` field (max 20MB) - [Get Source](https://docs.revring.ai/api-reference/knowledge-bases/get-source.md): Get a specific source and its processing status - [Delete Source](https://docs.revring.ai/api-reference/knowledge-bases/delete-source.md): Remove a source from a knowledge base - [List Voices](https://docs.revring.ai/api-reference/voices/list.md): Retrieve the voices available to your organization. Use a voice's `id` as an agent's `voiceId` to set how it speaks. - [Get Voice](https://docs.revring.ai/api-reference/voices/get.md): Retrieve a specific voice by ID - [Preview Voice](https://docs.revring.ai/api-reference/voices/preview.md): Get a short spoken preview of a voice as an MP3. Optionally provide your own text. - [Create Voice](https://docs.revring.ai/api-reference/voices/create.md): Create a custom voice for your organization from an audio sample. Send `multipart/form-data` with a display name and a clear recording of a single speaker (about 10 to 30 seconds). The new voice can be assigned to any agent via its `voiceId`. - [Design Voices](https://docs.revring.ai/api-reference/voices/design.md): Generate candidate voices from a plain-text description. Returns one or more options, each with a short audio preview. Save the one you like with Create Voice. - [Rename Voice](https://docs.revring.ai/api-reference/voices/rename.md): Rename one of your organization's custom voices. Built-in voices cannot be changed. - [Delete Voice](https://docs.revring.ai/api-reference/voices/delete.md): Delete one of your organization's custom voices. Built-in voices cannot be deleted. Any agent still using the voice falls back to a default voice. - [Get Analytics Overview](https://docs.revring.ai/api-reference/analytics/overview.md): Get analytics overview with time-series data and summary cards - [Get Active Calls Count](https://docs.revring.ai/api-reference/analytics/active.md): Get the current number of active (ongoing) calls. Not affected by date filters. - [List Test Suites](https://docs.revring.ai/api-reference/test-suites/list.md): List all test suites for your organization with pagination - [Get Test Suite](https://docs.revring.ai/api-reference/test-suites/get.md): Retrieve a test suite by ID - [Create Test Suite](https://docs.revring.ai/api-reference/test-suites/create.md): Create a new test suite targeting a specific agent - [Update Test Suite](https://docs.revring.ai/api-reference/test-suites/update.md): Update test suite configuration - [Delete Test Suite](https://docs.revring.ai/api-reference/test-suites/delete.md): Delete a test suite and all its test cases and runs - [List Test Cases](https://docs.revring.ai/api-reference/test-suites/list-tests.md): List all test cases in a test suite - [Get Test Case](https://docs.revring.ai/api-reference/test-suites/get-test.md): Retrieve a specific test case - [Create Test Case](https://docs.revring.ai/api-reference/test-suites/create-test.md): Add a test case to a test suite. Each test case includes a script for the tester to follow and a scoring rubric for evaluation. - [Update Test Case](https://docs.revring.ai/api-reference/test-suites/update-test.md): Update a test case's script, rubric, or configuration - [Delete Test Case](https://docs.revring.ai/api-reference/test-suites/delete-test.md): Remove a test case from a test suite - [Generate Test Cases](https://docs.revring.ai/api-reference/test-suites/generate-tests.md): Use AI to generate test case suggestions based on a natural language prompt. Generated tests are returned as suggestions and are not automatically added to the suite. - [List Test Runs](https://docs.revring.ai/api-reference/test-suites/list-runs.md): List test runs for a test suite with pagination - [Get Test Run](https://docs.revring.ai/api-reference/test-suites/get-run.md): Retrieve a specific test run with its results - [Start Test Run](https://docs.revring.ai/api-reference/test-suites/start-run.md): Start a new test run. This initiates real phone calls between a tester and the target agent for each test case. The suite must have at least one test case. - [Cancel Test Run](https://docs.revring.ai/api-reference/test-suites/cancel-run.md): Cancel a running or queued test run. Already completed or cancelled runs cannot be cancelled. - [Suggest a Fix](https://docs.revring.ai/api-reference/test-suites/suggest-fix.md): Ask for a prompt change that would make a failed test attempt pass. - [Get Suggested Fix](https://docs.revring.ai/api-reference/test-suites/get-suggested-fix.md): Fetch the suggestion for a failed test attempt. Poll this every couple of seconds after requesting one: `status` stays `running` while it is being prepared and becomes `ready` when `result` holds the suggestion. `failed` means it could not be prepared; request a new one. - [Suggest a Fix for a Run](https://docs.revring.ai/api-reference/test-suites/suggest-run-fix.md): Ask for one prompt change that would make every failed test in a run pass. - [Get Suggested Fix for a Run](https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix.md): Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: `status` stays `running` while it is being prepared and becomes `ready` when `result` holds the suggestion. `failed` means it could not be prepared; request a new one. - [List Messaging Connections](https://docs.revring.ai/api-reference/messaging-connections/list.md): Retrieve all messaging provider connections for your organization. Secrets (such as the provider Auth Token) are never returned. - [Get Messaging Connection](https://docs.revring.ai/api-reference/messaging-connections/get.md): Retrieve a specific messaging connection by ID. Secrets are never returned. - [Create Messaging Connection](https://docs.revring.ai/api-reference/messaging-connections/create.md): Connect a messaging provider. Credentials are verified with the provider before the connection is saved. The Auth Token is stored securely and is never returned. - [Update Messaging Connection](https://docs.revring.ai/api-reference/messaging-connections/update.md): Update a messaging connection. If credentials change they are re-verified with the provider. Provide authToken only to rotate it. - [Delete Messaging Connection](https://docs.revring.ai/api-reference/messaging-connections/delete.md): Delete a messaging connection. Cannot delete if agents are still using it. - [Send Message](https://docs.revring.ai/api-reference/messages/send.md): Send an SMS. Provide either a raw `body` or set `generate` to true to compose the message with AI from the agent's SMS prompt and optional inline history. Sends through your connected provider. - [List Messages](https://docs.revring.ai/api-reference/messages/list.md): Retrieve the message log for your organization, newest first. Offset-paginated. - [Get Message](https://docs.revring.ai/api-reference/messages/get.md): Retrieve a single message from your organization's log by ID. - [List Conversations](https://docs.revring.ai/api-reference/conversations/list.md): List managed conversation threads (one per contact per agent number), newest activity first. Offset-paginated. - [Delete Conversation](https://docs.revring.ai/api-reference/conversations/delete.md): Clear a conversation thread and its logged messages, so the next text from that contact starts fresh. Use it to re-test an agent as a new contact, or to forget a contact. - [Pre-Call Webhook](https://docs.revring.ai/api-reference/webhooks/pre-call.md): Called before an inbound call is answered. Return variables to be merged with the agent's default variables for this call. - [Post-Call Webhook](https://docs.revring.ai/api-reference/webhooks/post-call.md): Called after a call ends with complete call details including transcript, recording, and summary. - [Inbound Message Webhook](https://docs.revring.ai/api-reference/webhooks/message-received.md): Sent when someone texts an agent whose inbound mode is 'notify'. RevRing forwards the incoming message so your system can reply (via the Send Message API). In 'auto_reply' mode RevRing replies automatically and no webhook is sent. ## OpenAPI Specs - [openapi](/api-reference/openapi.json)