# FormBharo ## Docs - [FormBharo: Deploy AI Voice Agents for Form Collection](https://docs.formbharo.artpark.ai/index.md): FormBharo lets you deploy AI voice agents that fill in forms by talking to people. Build your first agent and start collecting answers today. - [What Is FormBharo? AI Voice-Powered Form Collection](https://docs.formbharo.artpark.ai/getting-started/what-is-formbharo.md): FormBharo runs AI voice agents that fill in forms by talking to people. Learn what an agent is, what a call is, and how the two fit together. - [API Keys: Authenticate Your FormBharo API Requests](https://docs.formbharo.artpark.ai/getting-started/api-keys.md): Create an API key in the FormBharo Settings tab and send it in the Authorization header on every request. Keys inherit the permissions of their creator. - [Quickstart: Your First FormBharo API Call in Minutes](https://docs.formbharo.artpark.ai/getting-started/quickstart.md): Set your API key and server URL, list your existing agents, and create your first voice agent in under five minutes using curl or Python. - [Agents: Reusable Voice Forms with States and Versions](https://docs.formbharo.artpark.ai/concepts/agents.md): An agent defines the questions your voice assistant asks, plus scripts and settings. Learn about draft and published states, versioning, and workspaces. - [Calls: Voice Conversations That Collect Form Answers](https://docs.formbharo.artpark.ai/concepts/calls.md): A call is one conversation between your agent and one person. It holds the answers collected, a status, timing, cost, and an optional transcript. - [Answers: Reading form_data and form_status Correctly](https://docs.formbharo.artpark.ai/concepts/answers.md): Answers live in form_data keyed by question name. form_status tells you whether each field was answered, skipped, or not yet reached. - [Build a FormBharo Voice Agent from Your Form Fields](https://docs.formbharo.artpark.ai/guides/build-an-agent.md): Turn a paper or web form into a FormBharo voice agent: map fields to question types, add scripts, configure branching, and publish with the API. - [Run a FormBharo Voice Call Directly from Your Web Page](https://docs.formbharo.artpark.ai/guides/run-a-call.md): Embed FormBharo voice calls in your own page using WebRTC: generate a conversation ID, open the audio connection, and poll for answers as they arrive. - [Poll for Finished Calls and Sync Them to Your Database](https://docs.formbharo.artpark.ai/guides/poll-for-finished-calls.md): Use GET /api/v1/conversations?since= to continuously pull completed calls into your database, spreadsheet, or case management system. - [Read FormBharo Call Analytics for Agents and Workspaces](https://docs.formbharo.artpark.ai/guides/read-the-analytics.md): Fetch completion rates, average call duration, voice latency, and per-call cost breakdowns for a single agent or an entire workspace. - [Agent Configuration: All Fields for Creating Agents](https://docs.formbharo.artpark.ai/reference/agent-configuration.md): Full field reference for POST /api/v1/agents and PUT /api/v1/agents/{agent_id} — titles, questions, scripts, language settings, and behaviour flags. - [Question Types: Six Voice Response Formats Explained](https://docs.formbharo.artpark.ai/reference/question-types.md): FormBharo supports six response types: string, number, date, boolean, single-select, and multi-select. Each has its own storage format and config fields. - [Answer Validation Rules: Enforce Format on Any Question](https://docs.formbharo.artpark.ai/reference/validation.md): Add a validation object to any question to enforce answer format. Rules run during the call and when you manually patch form data via the API. - [Retry Configuration: Re-ask Logic for Voice Agents](https://docs.formbharo.artpark.ai/reference/retries.md): Control how many times FormBharo re-asks an unanswered question and what happens when retries run out — skip, end call, or retry indefinitely. - [Conditional Branching: Question Groups by Earlier Answers](https://docs.formbharo.artpark.ai/reference/branching.md): Declare branches in the top-level branches array and tag questions with a branch_id to ask follow-ups only when an earlier answer calls for them. - [API Conventions: Pagination, Timestamps, and Response Shapes](https://docs.formbharo.artpark.ai/reference/conventions.md): FormBharo API conventions: base path, pagination with cursor and limit, unix timestamp format, and the two list response shapes you'll encounter. - [API Error Responses and HTTP Status Codes Reference](https://docs.formbharo.artpark.ai/reference/errors.md): FormBharo returns four distinct error body shapes and six HTTP status codes. Learn what each means so you can handle failures correctly. - [Integration Gotchas: Four Common FormBharo Pitfalls](https://docs.formbharo.artpark.ai/reference/gotchas.md): Four pitfalls for new FormBharo integrators: null form_data, screened_out in analytics, created_at as last-write, and multi-select stored as a string. - [FormBharo REST API Reference — Overview and Auth Guide](https://docs.formbharo.artpark.ai/api-reference/introduction.md): FormBharo's REST API has 30 endpoints across five resource groups: Agents, Agent Versions, Calls, Analytics, and Workspaces. Base path is /api/v1. - [Get Agents](https://docs.formbharo.artpark.ai/api-reference/agents/get-agents.md): Return every agent the user can see, newest save first. - [Create Agent](https://docs.formbharo.artpark.ai/api-reference/agents/create-agent.md): Create a new agent with the given title and questions. - [Get Agent](https://docs.formbharo.artpark.ai/api-reference/agents/get-agent.md): Return the config for a specific agent. - [Update Agent](https://docs.formbharo.artpark.ai/api-reference/agents/update-agent.md): Update an existing agent with the given data. - [Delete Agent](https://docs.formbharo.artpark.ai/api-reference/agents/delete-agent.md): Soft delete an agent by setting deleted = true in config. - [Get Agent Access](https://docs.formbharo.artpark.ai/api-reference/agents/get-agent-access.md) - [Update Agent Access](https://docs.formbharo.artpark.ai/api-reference/agents/update-agent-access.md): Replace the list of admin emails that can manage an agent. - [Update Agent Config Json](https://docs.formbharo.artpark.ai/api-reference/agents/update-agent-config-json.md): Update an existing agent by replacing config.json directly. - [List Conversations](https://docs.formbharo.artpark.ai/api-reference/agents/list-conversations.md): Return an agent's conversations with their form data and recording availability. - [Update Conversation Form Data](https://docs.formbharo.artpark.ai/api-reference/agents/update-conversation-form-data.md): Validate and persist manual edits to conversation form_data. - [Get Transcript](https://docs.formbharo.artpark.ai/api-reference/agents/get-transcript.md): Return the transcript for a conversation. - [Get Public Agent](https://docs.formbharo.artpark.ai/api-reference/agents/get-public-agent.md): Return the public config needed to start a conversation. - [Get Data](https://docs.formbharo.artpark.ai/api-reference/agents/get-data.md): Get form data for a specific conversation. - [Get Agent Analytics](https://docs.formbharo.artpark.ai/api-reference/analytics/get-agent-analytics.md): The Overview tab numbers for one agent, computed on the server. - [List All Conversations](https://docs.formbharo.artpark.ai/api-reference/analytics/list-all-conversations.md): Conversations across every agent the caller can see, newest first. - [Get Workspace Analytics](https://docs.formbharo.artpark.ai/api-reference/analytics/get-workspace-analytics.md): The same numbers rolled up over a workspace, plus a per-agent breakdown. - [Get Workspaces](https://docs.formbharo.artpark.ai/api-reference/workspaces/get-workspaces.md): List workspaces visible to the user. - [Create Workspace Endpoint](https://docs.formbharo.artpark.ai/api-reference/workspaces/create-workspace-endpoint.md): Create a new workspace owned by the current user. - [Get Workspace Endpoint](https://docs.formbharo.artpark.ai/api-reference/workspaces/get-workspace-endpoint.md): Return workspace details and members. Workspace admins only. - [Rename Workspace Endpoint](https://docs.formbharo.artpark.ai/api-reference/workspaces/rename-workspace-endpoint.md): Rename a workspace. Workspace admins only. ## OpenAPI Specs - [openapi](https://docs.formbharo.artpark.ai/api-reference/openapi.json)