# A2UI Atomic Catalog — API Scoped context for the REST surface. Full manual: https://a2uicatalog.ai/llms.txt ## Render a payload POST https://a2uicatalog.ai/api/render Content-Type: application/json {"title":"Demo","theme":"light","blocks":[{"type":"stat_card","value":"1,234","label":"Daily users"}]} Returns a complete self-contained HTML page. No MCP, no connector, no deployment. Optional ?surface=web|mcp-apps|google-apps-script-web|google-meet-stage applies that surface's declared compatibility policy: atoms marked degraded_on render and are named in X-A2UI-Degraded; atoms marked incompatible_on are replaced by a visible note and named in X-A2UI-Incompatible. pdf, email and google-chat return 400 — this endpoint emits HTML. Limits: 256 KB body, 300 blocks, 12 levels of nesting, 50 requests/day. Cache hits are free. ## Natural language to atoms POST https://a2uicatalog.ai/api/compose {"prompt":"a dashboard with daily users and a bar chart"} Returns candidate atom blocks. 20 requests/day. ## Search the vocabulary GET https://a2uicatalog.ai/ask?q= 60 requests/day. ## Declared data proxy GET https://a2uicatalog.ai/api/data/{source} Sources declared in atoms/data-sources.yaml. ## Contract - Docs search (MCP): https://a2uicatalog.ai/mcp-docs — search_docs(query)/list_docs(), a separate MCP identity from the product server at /mcp. - OpenAPI 3.1: https://a2uicatalog.ai/openapi.json - Versioning: header-based (X-API-Version), not URL path. https://a2uicatalog.ai/versioning.md - Auth: none required. https://a2uicatalog.ai/auth.md - Pricing: free. https://a2uicatalog.ai/pricing.md