FALA by Elav8 developer resources
Machine-readable FALA (Elevate Follow-Up by Elav8) resources for agents and implementers. Product name: FALA. Parent platform: Elav8. Billing and identity live on Paga at https://pagaelav8.com. This page is the Elav8 FALA developer index — API docs, OpenAPI, auth, webhooks, and widget install.
OpenAPI specification
The public FALA OpenAPI document is openapi.json. It describes the unauthenticated widget runtime, health, branding, and discovery files. Authenticated dashboard, admin, and Shopify-internal routes are intentionally omitted.
Widget runtime API
Customer sites load /widget.js with a data-elevate-key public key. The embed calls GET /api/w/{public_key}/config, POST /api/w/chat (SSE), and POST /api/w/lead. Voice uses an ephemeral token from POST /api/w/{public_key}/voice-token. Keys are domain-locked.
Example requests
Install: one line before </body> on every page (the key comes from the FALA dashboard or the MCP get_install_code tool):
<script src="https://fala.elav8.ai/widget.js" data-elevate-key="YOUR_PUBLIC_KEY"></script>
Read a widget's published config (send your site's Origin — keys are domain-locked):
curl -H 'Origin: https://your-site.com' https://fala.elav8.ai/api/w/YOUR_PUBLIC_KEY/config
Ask the published agent a question (server-sent events):
curl -N -X POST https://fala.elav8.ai/api/w/chat \
-H 'Content-Type: application/json' -H 'Origin: https://your-site.com' \
-d '{"public_key": "YOUR_PUBLIC_KEY", "message": "What are your hours?"}'
Errors, rate limits and versioning
Every 4xx and 5xx body is a JSON Error object: {"detail": "…"} (a list of field errors on 422). Responses from rate-limited routes carry RateLimit-Policy and RateLimit headers (IETF format) plus RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset; a 429 adds Retry-After in seconds. Every public API response carries API-Version: 1. Changes within version 1 are additive only; an operation scheduled for removal is marked deprecated: true in the OpenAPI document and answers with Deprecation and Sunset headers at least 90 days before it is removed.
MCP server
AI agents (Claude, ChatGPT, Cursor, Codex) can build a FALA agent end to end over the Model Context Protocol: read a business website into a knowledge base, create and style the voice + chat widget, and fetch the one-line install code. Endpoint: https://fala.elav8.ai/mcp (Streamable HTTP, stateless, every protocol revision from 2024-11-05 to 2026-07-28).
Authentication: Authorization: Bearer <token>. A workspace owner or admin issues an API key (fala_sk_…) with scopes fala.read (always), fala.write and fala.publish; the key acts as that member and never exceeds their role. Machine-readable: protected-resource metadata.
Install terms: only the workspace owner or an admin can agree to FALA's install terms, in the dashboard. Until they have, the install code is withheld and the agent receives a link to hand to its human.
Discovery: MCP server card, agent skills, AI catalog.
Connect an AI agent
MCP clients that support OAuth sign the person in themselves: on first connect a browser window opens where they sign up or sign in with Elav8 and approve access (dynamic client registration and PKCE, so there is no key to paste).
- Claude (desktop or web): Settings → Connectors → Add custom connector →
https://fala.elav8.ai/mcp. - Claude Code:
claude mcp add --transport http fala https://fala.elav8.ai/mcp, then/mcpto sign in. - Cursor: add
{"mcpServers": {"fala": {"url": "https://fala.elav8.ai/mcp"}}}tomcp.json. - Any other client: send
Authorization: Bearer fala_sk_…with an API key from the workspace owner.
Then ask: "Use FALA to build a voice agent for my-site.com and give me the install code." Tools: whoami, create_brand_from_website, get_knowledge_status, add_knowledge, create_widget, update_widget_look, publish_widget, get_install_code, check_install and more.
Auth docs
Dashboard operators sign in with Elav8 (OAuth 2.1 + PKCE). Widget traffic authenticates with the workspace public key, not an owner session. AI agents authenticate to the MCP server with a bearer token (see MCP server below).
Webhooks
FALA receives signed Paga webhooks at /api/elav8/webhooks (entitlements, subscription, and charge events). Merchants do not subscribe to that endpoint.