Patter developer resources
APIs, specifications and machine-readable endpoints
Everything an agent or a developer needs to work with Patter, at predictable URLs. If you are a language model reading this page, start with llms.txt.
SDKs
- Python SDK —
pip install getpatter· overview · PyPI - TypeScript SDK —
npm install getpatter· overview · npm - Source — github.com/PatterAI/Patter (MIT)
Documentation
- docs.getpatter.com — quickstart, configuration, agents, providers, tools, guardrails, events, metrics, dashboard
- Quickstart (Markdown) — the create-a-project walkthrough, including the CLI
- llms.txt — condensed overview for language models
- llms-full.txt — full API reference in one file
Command-line interface
The getpatter CLI scaffolds a runnable voice agent project — entry file, environment template, dependency manifest and README — through an interactive wizard. Every prompt has an equivalent flag, so it also runs non-interactively in CI. It ships inside both published SDK packages, and can be run without installing anything:
npm create getpatter # TypeScript, no install needed
npx getpatter init # TypeScript, if getpatter is installed
uvx getpatter init # Python, no install needed
getpatter init # Python, if getpatter is installed
Published as getpatter and create-getpatter on npm and getpatter on PyPI. The full command reference is in the quickstart.
MCP server
Patter ships a Model Context Protocol server that gives Claude, ChatGPT and other MCP-capable agents the ability to place and receive phone calls, hand a task to a third party, and read back transcripts, metrics and costs. It speaks Streamable HTTP and stdio, and exposes seven tools: make_call, call_third_party, get_calls, get_transcript, end_call, get_metrics and configure_inbound.
The server is self-hosted: it places real calls with your own carrier and model credentials, so it runs inside your infrastructure rather than on ours. Its discovery manifest is at /.well-known/mcp.json and the source is at github.com/PatterAI/patter-mcp.
git clone https://github.com/PatterAI/patter-mcp && cd patter-mcp
npm install && npm run build && npm start
claude mcp add --transport http patter-mcp http://localhost:3000/mcp
Website API
getpatter.com exposes a small public API for the forms on this site. It is described by an OpenAPI 3.1 document with a unique operationId, typed parameters and response schemas on every operation, which makes it directly usable as an LLM function-calling tool definition.
- /openapi.json — OpenAPI 3.1 specification
- /.well-known/api-catalog — RFC 9727 API discovery document
Requests and responses are JSON. Note that the SDK itself needs no API key and no account — this API only backs the demo-request and waiting-list forms.
Error responses
Every API error is a JSON document following RFC 9457 (Problem Details for HTTP APIs), served as application/problem+json. Each one carries a stable code, a human-readable detail, and a hint describing how to recover. The same fields are repeated under a nested error object for clients that expect that shape.
{
"type": "https://www.getpatter.com/developers#errors-validation-failed",
"title": "Validation failed",
"status": 400,
"detail": "Full name, company name and email are required",
"instance": "/api/waitlist",
"code": "validation_failed",
"hint": "Check the request body against the schema in https://www.getpatter.com/openapi.json ...",
"error": { "code": "validation_failed", "message": "...", "hint": "..." }
}
validation_failed — 400
The request body is missing a required field, or a field is malformed or too long. Check it against the schema in /openapi.json and resend.
method_not_allowed — 405
The endpoint was called with the wrong HTTP method. Every endpoint on this API is POST with a JSON body.
not_found — 404
No such API endpoint. See /openapi.json for the paths that exist.
service_not_configured — 500
A server-side credential is missing. Not caused by your request; retry later or email hello@getpatter.com.
upstream_failed — 502
A downstream provider rejected the request. Retry after a short backoff.
internal_error — 500
An unexpected server error. Retry after a short backoff.
not_acceptable — 406
The Accept header of the request matches none of the representations this site can serve. Pages are available as text/html and text/markdown.
Markdown representations
Every public page on this site is also served as Markdown, per acceptmarkdown.com. Request it either way:
curl -H "Accept: text/markdown" https://www.getpatter.com/
curl https://www.getpatter.com/index.md
Responses carry Vary: Accept, so a cache never serves the HTML variant to a client that asked for Markdown. An Accept header we cannot satisfy returns 406 with the list of available media types.
Discovery endpoints
- /sitemap.xml — every public page
- /robots.txt — crawler policy, including named LLM crawlers
- /openapi.json — OpenAPI 3.1 specification
- /.well-known/api-catalog — RFC 9727 API catalog
- /.well-known/mcp.json — MCP server manifest
- /.well-known/security.txt — RFC 9116 security contact