What this example shows
AkapuluProviderfrom@akapulu/reactandAkapuluConversationfrom@akapulu/react-ui.- Local route handlers use
@akapulu/serverto call Akapulu (API key stays on the server). - Two pages —
/defaultand/styled— for a minimal reference vs a styled / extended setup.
/default
What it includes
- Default
AkapuluProviderwithAkapuluConversation - No custom
stylesor render props - Minimal reference: fastest path to a working call with default prebuilt chrome
Routes
- Provider endpoints:
/api/default/akapulu/connectand/api/default/akapulu/updates
/styled
What it includes
-
AkapuluProvider+AkapuluConversation, with extra props for customization -
styles— slot-level theming (dark layout in the example). -
renderTranscriptEntry/renderToolEvent— custom transcript rows and tool UI (seeapp/styled/customization.tsx). -
connectBody— sample JSON the browser sends to your local connect route.
Route-specific behavior
useAkapuluEvents— logs the full event stream to the console (dev aid)./api/styled/akapulu/*— same connect/update pattern as/default, but its own URLs.
After the call ends
- Opens a post-call review UI in the example app.
- Conversation data comes from
getConversationDetail(metadata + transcript rows) andgetConversationRecording(redirect / JSON / binary).

