# Brightshoal Docs > Guides and API reference for building with AI agents that answer calls, chats and WhatsApp and capture leads. ## Get started - [Quickstart](https://docs.brightshoal.si/quickstart/): Create an API key, create an assistant, and get its first reply over the same chat API the website widget uses. Seven requests, about ten minutes. - [How it fits together](https://docs.brightshoal.si/concepts/): The handful of objects behind every call and chat, which credential reaches which of them, and what comes back when a conversation ends. - [Authentication](https://docs.brightshoal.si/authentication/): Which credential to use where, what a key can reach, and what the API says when it refuses one. ## Voice - [Place an outbound call](https://docs.brightshoal.si/guides/outbound-calls/): Have an assistant call a phone number from your system, personalise the call with variables, then read back the transcript, recording and outcome. - [Answer calls on your number](https://docs.brightshoal.si/guides/inbound-calls/): Buy a number or bring one you already have, put an assistant on it, and know about every call it answers. - [Calls in the browser](https://docs.brightshoal.si/guides/browser-calls/): Let people talk to an assistant from your web app with their microphone, no phone line involved. ## Chat - [Add chat to your website](https://docs.brightshoal.si/guides/web-chat/): Put an assistant on your site with one script tag, lock it to your domain, and wire its events into your analytics. - [Build your own chat UI](https://docs.brightshoal.si/guides/custom-chat/): Drive a conversation from your own interface with the public chat API v1, which this site's docs chat uses too. Start, stream, retry safely, resume and end. ## Make it yours - [Give an assistant knowledge](https://docs.brightshoal.si/guides/knowledge/): Put your pages, documents and notes into a knowledge base, review and publish them, and attach the base to an assistant so it answers from what is true for your business. - [Let an assistant call your API](https://docs.brightshoal.si/guides/tools/): Give an assistant a tool that calls your own HTTPS endpoint mid-conversation, on calls and in chat, and build the endpoint that answers it. ## After the conversation - [Leads and outcomes](https://docs.brightshoal.si/guides/leads/): Have the assistant save each visitor's details as a lead, get every lead into your CRM the moment it is captured, and report back what became of it. - [Let your team take over](https://docs.brightshoal.si/guides/takeover/): Take a live chat over from the assistant, reply as a person from your own tools, keep the seat while you type, and hand the conversation back. - [Receive webhooks](https://docs.brightshoal.si/guides/webhooks/): Get a signed HTTPS request the moment a call ends, a message arrives or a lead is captured, verify it, and handle retries without doing anything twice. ## API basics - [Errors](https://docs.brightshoal.si/api/errors/): What a failed request returns, the codes you will meet most, and one function that reads every error body the API sends. - [Pagination](https://docs.brightshoal.si/api/pagination/): Which lists come back in pages, how to walk them with a cursor, and which return everything at once. - [Rate limits](https://docs.brightshoal.si/api/rate-limits/): How many requests a key, an organization and a chat visitor may send, what a publishable key may spend, how to read what is left, and how to back off when you hit the limit. - [Versioning](https://docs.brightshoal.si/api/versioning/): The addresses to build on, the older ones that still answer and how they announce their replacement, and what to tolerate as the API grows. - [Webhook events](https://docs.brightshoal.si/api/webhook-events/): Every event a webhook subscription can receive, when it fires, and the fields in its payload. ## API reference - [Assistants](https://docs.brightshoal.si/reference/assistants/): An assistant is one agent: its instructions, model, voice, tools and channels. Every call and chat runs on an assistant, and every update creates a new version. - [Knowledge](https://docs.brightshoal.si/reference/knowledge/): Knowledge bases hold the pages, documents and text an assistant answers from. Sources are revised, approved and published as immutable publications, then attached to assistants. - [Phone numbers](https://docs.brightshoal.si/reference/phone-numbers/): Search, buy or import numbers, then attach an assistant so it answers inbound calls on that number. - [Calls](https://docs.brightshoal.si/reference/calls/): Place outbound phone calls, start browser calls, and read every call back with its transcript, costs, recordings and analysis. - [Publishable keys](https://docs.brightshoal.si/reference/publishable-keys/): Publishable keys (pk_live_...) let a browser start web chats with one assistant from the origins you allow. They are safe to ship in page source; secret API keys are not. - [Public chat API](https://docs.brightshoal.si/reference/public-chat/): The versioned API for your own chat interface, in a page or an app: start a conversation with a publishable key, then send messages with the conversation token it returns. It runs the same conversations as the chat widget. - [WhatsApp](https://docs.brightshoal.si/reference/whatsapp/): Connect a WhatsApp Business Account from Meta and assign its numbers to assistants. - [Provider credentials](https://docs.brightshoal.si/reference/integrations/): Bring your own provider accounts (model, voice and telephony providers). Secrets are encrypted at rest and never returned. - [Voices and models](https://docs.brightshoal.si/reference/voices/): Discover the voices and models a provider offers, and the registry of everything an assistant can be configured with. - [Conversations](https://docs.brightshoal.si/reference/conversations/): Web chat conversations with their messages, costs and lead. Your team can take one over, reply as a person and hand it back to the assistant. - [Leads](https://docs.brightshoal.si/reference/leads/): The details an assistant captured from a visitor, and the outcome you report back once your team follows up. - [Webhooks](https://docs.brightshoal.si/reference/webhooks/): Subscribe an HTTPS endpoint to events (calls ending, messages, leads) and inspect every delivery attempt. - [Call analytics](https://docs.brightshoal.si/reference/analytics/): Call volume and latency over a time range, per project or assistant. - [Chat analytics](https://docs.brightshoal.si/reference/chat-analytics/): Web chat health, quality, the visitor funnel, trends and incidents, with notification subscriptions. - [Alerts](https://docs.brightshoal.si/reference/alerts/): Rules that notify you when a metric crosses a threshold. - [Audit log](https://docs.brightshoal.si/reference/audit-log/): Who changed what in your organization, newest first. - [Projects](https://docs.brightshoal.si/reference/projects/): Projects group assistants, numbers and keys inside an organization. - [Members](https://docs.brightshoal.si/reference/members/): The people in your organization and their roles. - [OpenAPI document](https://docs.brightshoal.si/openapi.json)