# PlanCover Docs > The PlanCover chat API answers PlanCover members' questions about their policies, claims and coverage, and acts for them only after they approve. It speaks OpenAI's Chat Completions protocol at `POST /v1/chat/completions`, called from your server with a PlanCover API key. Integrating with a coding agent such as Claude Code or Codex? Give it [AGENTS.md](https://docs.142.93.215.84.sslip.io/AGENTS.md) first. Every page below is Markdown; the whole set is in [llms-full.txt](https://docs.142.93.215.84.sslip.io/llms-full.txt). ## Assistant - [Overview](https://docs.142.93.215.84.sslip.io/docs.md): What the PlanCover assistant is allowed to do, and what stays with the backend. - [Architecture](https://docs.142.93.215.84.sslip.io/docs/architecture.md): One bounded loop, two model roles, and an authorisation boundary the graph cannot route around. - [Streaming](https://docs.142.93.215.84.sslip.io/docs/streaming.md): The eleven-event SSE contract the backend emits, and the three endpoints that produce it. ## API - API - [API overview](https://docs.142.93.215.84.sslip.io/docs/api.md): What the chat API serves, where it lives, and the two headers every call carries. - [Authentication](https://docs.142.93.215.84.sslip.io/docs/api/authentication.md): API keys for your integration, member sessions for the people it talks for, and how members sign in. - [Quickstart](https://docs.142.93.215.84.sslip.io/docs/api/quickstart.md): Call the assistant from curl, the OpenAI SDKs, the Vercel AI SDK, AgentKit or LangChain. - [Use with AI coding agents](https://docs.142.93.215.84.sslip.io/docs/api/ai-agents.md): Point Claude Code, Codex or another coding agent at these docs, with an AGENTS.md for your repository and every page as Markdown. - [Chat completions](https://docs.142.93.215.84.sslip.io/docs/api/chat-completions.md): The full request and response reference for POST /v1/chat/completions. - [Streaming](https://docs.142.93.215.84.sslip.io/docs/api/streaming.md): The chunk sequence of a streamed completion, the plancover object, pings and [DONE]. - [Conversations](https://docs.142.93.215.84.sslip.io/docs/api/conversations.md): How a conversation is identified, what the server keeps, and why the transcript you send is mostly ignored. - [Citations and documents](https://docs.142.93.215.84.sslip.io/docs/api/citations.md): The sources an answer rests on, OpenAI url_citation annotations, and downloading a member's documents by handle. - [Confirmations and sign-in](https://docs.142.93.215.84.sslip.io/docs/api/confirmations-and-sign-in.md): How a turn that pauses for the member's approval or sign-in reaches your client as a tool call, and how to answer it. - [Errors and rate limits](https://docs.142.93.215.84.sslip.io/docs/api/errors-and-rate-limits.md): The OpenAI error envelope, every status code /v1 returns, the rate limits, and what is safe to retry. - [Admin portal](https://docs.142.93.215.84.sslip.io/docs/api/admin-portal.md): Where PlanCover staff manage API keys and the model, read usage, cost and the audit log, and, when enabled, conversations. - [Changelog](https://docs.142.93.215.84.sslip.io/docs/api/changelog.md): What changed for integrators in each release of the chat API, breaking changes first. ## Platform - Operations - [Running the service](https://docs.142.93.215.84.sslip.io/docs/operations.md): What the application ships, and where the deployment boundary sits. - [Observability](https://docs.142.93.215.84.sslip.io/docs/operations/observability.md): Langfuse for the model, Sentry for the process, structured logs for everything else. - [Guardrails](https://docs.142.93.215.84.sslip.io/docs/operations/guardrails.md): The rules that do not bend, and what each one is protecting against. - Reference - [Tool authorisation](https://docs.142.93.215.84.sslip.io/docs/reference/tools.md): What a tool declares, the chain every call passes through, and the closed set of ways one can fail. - [Errors](https://docs.142.93.215.84.sslip.io/docs/reference/errors.md): One error envelope for HTTP, one error event for streams.