{"name":"ripple-receptionist-worker","version":"0.1.0","description":"Ripple Core multi-tenant AI receptionist — voice, SMS, contacts, MCP","endpoints":{"POST /auth/otp/send":"Send SMS OTP to phone number","POST /auth/otp/verify":"Verify OTP code, returns JWT pair + contractor","POST /auth/refresh":"Refresh access token","POST /auth/logout":"Invalidate refresh token","GET  /auth/me":"Get current contractor profile","POST /contractors/onboard":"Set up business profile","PUT  /contractors/profile":"Update profile fields","GET  /contractors/workspace-profiles":"Business identity for the caller's workspaces (switcher)","DELETE /contractors/account":"Delete account","POST /agent/ask-ripple":"Ask Ripple dashboard chat endpoint (authed)","POST /calls/incoming":"Twilio voice webhook (incoming calls)","POST /calls/onboarding":"Trigger onboarding call to contractor (authed)","POST /calls/test":"Trigger test call with inbound prompt (authed)","GET  /calls/bridge/:callId":"WebSocket — Twilio Media Stream bridge","POST /calls/status":"Twilio status callback","POST /calls/lead-update":"ElevenLabs webhook — save structured lead data","GET  /calls":"Call history (authed)","GET  /calls/:callId":"Call detail with transcript (authed)","POST /scrape/website":"Scrape contractor website with Grok, auto-populate profile (authed)","GET  /admin/prompts":"List all editable call prompts (admin)","GET  /admin/prompts/:key":"Get a specific call prompt (admin)","PUT  /admin/prompts/:key":"Update a call prompt (admin)","DELETE /admin/prompts/:key":"Reset a call prompt to default (admin)","POST /phone/search":"Search available Twilio numbers by area code (authed)","POST /phone/provision":"Purchase a Twilio number and assign to contractor — fails if one is already assigned (authed)","GET  /phone/mine":"Get contractor current Twilio number (authed)","DELETE /phone/mine":"Release the contractor current Twilio number (authed)","PUT  /phone/settings":"Update phone settings (authed)","GET  /voices":"List available AI voices (authed)","POST /voices/preview":"Generate TTS preview for a voice (authed)","GET  /knowledge-base":"List knowledge-base entries (authed)","POST /knowledge-base":"Add a knowledge-base entry (authed)","PUT  /knowledge-base/:id":"Update a knowledge-base entry (authed)","DELETE /knowledge-base/:id":"Soft-delete a knowledge-base entry (authed)","GET  /contacts/:id":"Single contact + activity timeline (authed)","POST /contacts/:id/activities":"Add a manual contact activity (authed)","POST /contacts/:id/send-email":"Send email from a connected account (authed)","POST /tags/:tag/contacts":"Add a tag to contacts (authed)","GET  /tags/:tag/contacts":"List contacts with a tag (authed)","GET  /summary":"Receptionist hero metrics: callsToday, callsThisWeek, voicemailsOpen, pendingActions, qualifiedLeads24h (authed)","GET  /customer-skills":"List owner-authored skills (?include_templates=1 to include platform templates) (authed)","GET  /customer-skills/:skillKey":"Single skill (authed)","POST /customer-skills":"Create a per-tenant skill (authed)","PUT  /customer-skills/:skillKey":"Update an owner skill (authed)","DELETE /customer-skills/:skillKey":"Soft-delete an owner skill (authed)","POST /customer-skills/from-template":"Clone selected templates into the contractor namespace (authed)","GET  /autonomy-policy":"Owner reads their current autonomy gates (authed)","PUT  /autonomy-policy":"Update one or more autonomy gates / daily budgets (authed)","GET  /dashboard/pending-actions":"Dashboard pending agent actions (authed)","POST /dashboard/pending-actions/:id/approve":"Approve a pending agent action (authed)","POST /dashboard/pending-actions/:id/reject":"Reject a pending agent action (authed)","GET  /dashboard/activity":"Dashboard agent activity feed (authed)","GET  /dashboard/appointments":"Dashboard appointment calendar and agenda (authed)","POST /dashboard/appointments":"Create a receptionist appointment (authed)","PUT  /dashboard/appointments/:id":"Update a receptionist appointment (authed)","DELETE /dashboard/appointments/:id":"Soft-delete a receptionist appointment (authed)","GET  /dashboard/tasks":"Dashboard tasks list (authed)","POST /dashboard/tasks":"Create a task (authed)","PUT  /dashboard/tasks/:id":"Update a task (authed)","DELETE /dashboard/tasks/:id":"Soft-delete a task (authed)","GET  /dashboard/projects":"Dashboard projects list (authed)","POST /dashboard/projects":"Create a project (authed)","PUT  /dashboard/projects/:id":"Update a project (authed)","DELETE /dashboard/projects/:id":"Soft-delete a project (authed)","GET  /website-studio/projects":"List Website Studio remake projects (authed)","GET  /website-studio/settings":"Read Website Studio generation settings (authed)","PUT  /website-studio/settings":"Update Website Studio generation settings (authed)","POST /website-studio/projects":"Create and capture a Website Studio project from a source URL (authed)","DELETE /website-studio/projects/current":"Delete the current Website Studio project slot (authed, dev tuning)","PUT  /website-studio/projects/:id/brief":"Save the initial Website Studio build brief (authed)","POST /website-studio/projects/:id/assistant-messages":"Chat with the project Managed Agent design assistant (authed)","POST /website-studio/projects/:id/generate-preview":"Generate a preview version from selected captured pages (authed)","POST /website-studio/projects/:id/versions/:versionId/publish":"Publish an approved Website Studio version live (authed)","POST /privacy/request":"Submit a privacy request (CCPA / GDPR)"}}