# qlaud > Mint a key per user. Cap their spend. Get paid. The billing layer for AI apps. ## Docs - [/v1/builtins](https://docs.qlaud.ai/api-reference/builtins.md): Catalog of qlaud-hosted tool handlers. Register one with your provider key — no webhook to host. - [Custom HTTP endpoint (http-call)](https://docs.qlaud.ai/api-reference/http-call.md): Wrap any REST endpoint as a tool with a JSON config — no webhook to host, no code to deploy. Templated URL/headers/body with auto-injected end-user session context. - [/v1/jobs](https://docs.qlaud.ai/api-reference/jobs.md): Async inference. Submit, get an id, poll for the response when it's ready. - [/v1/keys](https://docs.qlaud.ai/api-reference/keys.md): Mint, list, and revoke API keys programmatically. Requires master (admin) scope. - [/v1/mcp-servers](https://docs.qlaud.ai/api-reference/mcp.md): Connect any MCP server URL — every tool it exposes is auto-registered. Compose tools without writing webhooks. - [/v1/mcp-catalog](https://docs.qlaud.ai/api-reference/mcp-catalog.md): Curated list of vendor-hosted MCP servers — Linear, GitHub, Stripe, Atlassian, Sentry, Notion. One-click connect, no URL hunting. - [POST /v1/messages](https://docs.qlaud.ai/api-reference/messages.md): Anthropic Messages API surface — works with every catalog model. - [/v1/search](https://docs.qlaud.ai/api-reference/search.md): Semantic search across conversation history. Vector-DB-as-a-feature, no setup. - [/v1/threads](https://docs.qlaud.ai/api-reference/threads.md): Conversation memory — qlaud loads history server-side; you only send the new turn. - [/v1/tools](https://docs.qlaud.ai/api-reference/tools.md): Register a tool once with a webhook URL. qlaud handles the dispatch loop transparently. - [tools_mode reference](https://docs.qlaud.ai/api-reference/tools-modes.md): Three ways to expose your registered tools to the model on a thread message — dynamic, tenant, explicit. Pick one per request based on the shape of your app. - [/v1/usage](https://docs.qlaud.ai/api-reference/usage.md): Per-key + per-model spending rollup. Requires master (admin) scope. - [Choosing your API surface](https://docs.qlaud.ai/concepts/api-surfaces.md): qlaud exposes two API surfaces: /v1/messages (just routing + billing) and /v1/threads/:id/messages (full backend with auto-discovered connectors, threads, and semantic search). Pick the right one — most chat apps want Threads. - [Keys & scopes](https://docs.qlaud.ai/concepts/keys-and-scopes.md): qlaud has two key scopes: standard (inference only) and admin (mint + revoke other keys). - [Usage & invoicing](https://docs.qlaud.ai/concepts/usage-and-billing.md): How qlaud records every request, surfaces it per-key, and lets you bill end-users at month-end. - [Wallet & spending caps](https://docs.qlaud.ai/concepts/wallet-and-caps.md): How qlaud's two-layer billing model works: account wallet + per-key cap. - [Build a chat app on qlaud](https://docs.qlaud.ai/guides/build-a-chat-app.md): End-to-end tutorial: per-user threads, tool integration, semantic search, streaming UX, and per-end-user billing — no Postgres, no vector DB, no message store of your own. - [Anthropic SDK](https://docs.qlaud.ai/integrations/anthropic-sdk.md): anthropic-py, anthropic-ts — point at qlaud, get cache_control + thinking blocks preserved verbatim. - [Claude Code](https://docs.qlaud.ai/integrations/claude-code.md): Point Anthropic's official CLI at qlaud — same workflow, your billing layer underneath. - [OpenAI SDK](https://docs.qlaud.ai/integrations/openai-sdk.md): openai-py, openai-node, LangChain, Vercel AI SDK — all work with one base-URL change. - [What is qlaud?](https://docs.qlaud.ai/introduction.md): The billing layer for AI apps. Mint a key per user, cap their spend, get paid. - [Per-user billing](https://docs.qlaud.ai/per-user-billing.md): Mint a qlaud key for every end-user, cap their spend, invoice them through Stripe. - [Quickstart](https://docs.qlaud.ai/quickstart.md): Sign up, mint a master key, send your first request in 60 seconds. ## OpenAPI Specs - [openapi](https://docs.qlaud.ai/api-reference/openapi.json)