# Platform MCP server

Agent View of the PolicyLayer registry record for Platform: identity, probed posture, risk grade, and all 275 tools classified. HTML page: https://policylayer.com/tools/happ-ai-platform-mcp

## Facts

- Server id: `@happ-ai/platform-mcp`
- Install: `npx -y @happ-ai/platform-mcp`
- Homepage: https://www.npmjs.com/package/@happ-ai/platform-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 275 (266 with introspected schema)
- Tool categories present: Destructive, Execute, Financial, Read, Write
- Context-window cost: 65080 tokens per request — https://policylayer.com/token-cost/happ-ai-platform-mcp
- Tags: happ ai platform mcp, payments, admin, automation
- Record last modified: 2026-10-09T07:55:00.244Z

## Tools (275)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `happ_access_token_revoke` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-access-token-revoke.md |
| `happ_assistant_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-delete.md |
| `happ_assistant_integration_unbind` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integration-unbind.md |
| `happ_call_queue_cancel` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-cancel.md |
| `happ_call_queue_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-delete.md |
| `happ_call_reply_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-reply-delete.md |
| `happ_chat_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-delete.md |
| `happ_company_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-delete.md |
| `happ_company_leave` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-leave.md |
| `happ_company_remove_user` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-remove-user.md |
| `happ_crm_pull_source_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-delete.md |
| `happ_folder_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-folder-delete.md |
| `happ_integration_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-delete.md |
| `happ_invitation_revoke` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-invitation-revoke.md |
| `happ_knowledge_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-delete.md |
| `happ_message_style_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-message-style-delete.md |
| `happ_notification_channel_mute` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-channel-mute.md |
| `happ_phone_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-delete.md |
| `happ_playground_reset` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-playground-reset.md |
| `happ_quick_reply_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-delete.md |
| `happ_report_cancel` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-cancel.md |
| `happ_sheets_pull_source_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-delete.md |
| `happ_test_case_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-case-delete.md |
| `happ_text_campaign_cancel` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-cancel.md |
| `happ_tool_delete` | Destructive | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-delete.md |
| `happ_analysis_run` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-analysis-run.md |
| `happ_call_queue_start` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-start.md |
| `happ_crm_call_trigger_create` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-create.md |
| `happ_crm_call_trigger_delete` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-delete.md |
| `happ_crm_call_trigger_setup` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-setup.md |
| `happ_crm_call_trigger_update` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-trigger-update.md |
| `happ_crm_pull_source_run` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-run.md |
| `happ_login` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-login.md |
| `happ_playground_start` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-playground-start.md |
| `happ_sheets_pull_source_run` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-run.md |
| `happ_text_campaign_start` | Execute | High | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-start.md |
| `happ_assistant_transfer` | Financial | Critical | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-transfer.md |
| `happ_access_tokens_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-access-tokens-list.md |
| `happ_activity_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-activity-list.md |
| `happ_analyses_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-analyses-list.md |
| `happ_analysis_job_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-analysis-job-get.md |
| `happ_analytics` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-analytics.md |
| `happ_assistant_drafts_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-drafts-list.md |
| `happ_assistant_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-get.md |
| `happ_assistant_integration_bind` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integration-bind.md |
| `happ_assistant_integration_settings_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integration-settings-get.md |
| `happ_assistant_integrations_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integrations-list.md |
| `happ_assistant_settings_catalog` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-settings-catalog.md |
| `happ_assistant_templates_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-templates-list.md |
| `happ_assistant_version_diff` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-version-diff.md |
| `happ_assistant_versions_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-versions-list.md |
| `happ_assistants_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistants-list.md |
| `happ_auditor_chat_audits` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-auditor-chat-audits.md |
| `happ_auditor_profile_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-auditor-profile-get.md |
| `happ_billing_credits_history` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-billing-credits-history.md |
| `happ_billing_overview` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-billing-overview.md |
| `happ_call_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-get.md |
| `happ_call_originate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-originate.md |
| `happ_call_queue_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-get.md |
| `happ_call_queue_numbers` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-numbers.md |
| `happ_call_queue_pause` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-pause.md |
| `happ_call_queues_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queues-list.md |
| `happ_call_replies_swap_speakers` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-replies-swap-speakers.md |
| `happ_call_reply_split` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-reply-split.md |
| `happ_call_retranscribe` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-retranscribe.md |
| `happ_calls_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-calls-list.md |
| `happ_chat_ai_settings_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-ai-settings-get.md |
| `happ_chat_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-get.md |
| `happ_chat_messages` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-messages.md |
| `happ_chat_sessions` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-sessions.md |
| `happ_chat_toggle_ai` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-toggle-ai.md |
| `happ_chats_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chats-list.md |
| `happ_companies_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-companies-list.md |
| `happ_company_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-get.md |
| `happ_company_invitations_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-invitations-list.md |
| `happ_company_members_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-members-list.md |
| `happ_conversations_analyze` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-conversations-analyze.md |
| `happ_conversations_analyze_estimate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-conversations-analyze-estimate.md |
| `happ_conversations_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-conversations-list.md |
| `happ_crm_activities_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-activities-list.md |
| `happ_crm_analysis_job_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-analysis-job-get.md |
| `happ_crm_analyze` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-analyze.md |
| `happ_crm_analyze_estimate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-analyze-estimate.md |
| `happ_crm_call_triggers_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-call-triggers-list.md |
| `happ_crm_catalog_resync` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-catalog-resync.md |
| `happ_crm_contact_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-contact-get.md |
| `happ_crm_contacts_search` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-contacts-search.md |
| `happ_crm_deals_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-deals-list.md |
| `happ_crm_leads_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-leads-list.md |
| `happ_crm_options_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-options-list.md |
| `happ_crm_pull_preview` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-preview.md |
| `happ_crm_pull_source_pause` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-pause.md |
| `happ_crm_pull_sources_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-sources-list.md |
| `happ_crm_schema` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-schema.md |
| `happ_crm_stats` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-stats.md |
| `happ_crm_sync_resync` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-sync-resync.md |
| `happ_crm_sync_status` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-sync-status.md |
| `happ_directhub_templates_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-directhub-templates-list.md |
| `happ_filters_describe` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-filters-describe.md |
| `happ_folders_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-folders-list.md |
| `happ_integration_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-get.md |
| `happ_integration_next_steps` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-next-steps.md |
| `happ_integration_sync` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-sync.md |
| `happ_integration_webhook_event_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-webhook-event-get.md |
| `happ_integration_webhook_events` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-webhook-events.md |
| `happ_integration_webhook_token_rotate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-webhook-token-rotate.md |
| `happ_integrations_catalog` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integrations-catalog.md |
| `happ_integrations_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integrations-list.md |
| `happ_invoices_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-invoices-list.md |
| `happ_knowledge_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-get.md |
| `happ_knowledge_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-list.md |
| `happ_llm_key_models_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-llm-key-models-list.md |
| `happ_llm_models_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-llm-models-list.md |
| `happ_logout` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-logout.md |
| `happ_me` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-me.md |
| `happ_message_styles_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-message-styles-list.md |
| `happ_monitor_conversations` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitor-conversations.md |
| `happ_monitor_create` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitor-create.md |
| `happ_monitor_delete` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitor-delete.md |
| `happ_monitor_templates_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitor-templates-list.md |
| `happ_monitor_update` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitor-update.md |
| `happ_monitors_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-monitors-list.md |
| `happ_morning_brief_preview` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-morning-brief-preview.md |
| `happ_notification_digests_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-digests-list.md |
| `happ_notification_preferences_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-preferences-get.md |
| `happ_notification_rules_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-rules-get.md |
| `happ_payments_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-payments-list.md |
| `happ_permissions_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-permissions-list.md |
| `happ_phone_detach` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-detach.md |
| `happ_phone_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-get.md |
| `happ_phones_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phones-list.md |
| `happ_platform_guide` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-platform-guide.md |
| `happ_quick_replies_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-replies-list.md |
| `happ_quick_reply_folders_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-folders-list.md |
| `happ_report_estimate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-estimate.md |
| `happ_report_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-get.md |
| `happ_report_order` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-order.md |
| `happ_report_schedules_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-schedules-list.md |
| `happ_report_share` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-share.md |
| `happ_report_templates` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-templates.md |
| `happ_reports_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-reports-list.md |
| `happ_sheets_pull_inspect` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-inspect.md |
| `happ_sheets_pull_preview` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-preview.md |
| `happ_sheets_pull_source_pause` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-pause.md |
| `happ_sheets_pull_sources_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-sources-list.md |
| `happ_social_comments_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comments-list.md |
| `happ_social_comments_search` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comments-search.md |
| `happ_social_comments_stats` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comments-stats.md |
| `happ_social_posts_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-posts-list.md |
| `happ_store_logs` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-store-logs.md |
| `happ_subscription_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-subscription-get.md |
| `happ_support_request` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-support-request.md |
| `happ_tariffs_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tariffs-list.md |
| `happ_test_case_create` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-case-create.md |
| `happ_test_case_update` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-case-update.md |
| `happ_test_cases_generate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-cases-generate.md |
| `happ_test_cases_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-cases-list.md |
| `happ_test_media_upload` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-media-upload.md |
| `happ_test_run_estimate` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-run-estimate.md |
| `happ_test_run_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-run-get.md |
| `happ_test_run_results` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-run-results.md |
| `happ_test_run_start` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-run-start.md |
| `happ_test_runs_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-runs-list.md |
| `happ_test_settings_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-settings-get.md |
| `happ_test_settings_update` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-settings-update.md |
| `happ_test_suggest_prompt_fix` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-test-suggest-prompt-fix.md |
| `happ_text_campaign_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-get.md |
| `happ_text_campaign_pause` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-pause.md |
| `happ_text_campaign_recipients` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-recipients.md |
| `happ_text_campaigns_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaigns-list.md |
| `happ_text_llm_models_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-llm-models-list.md |
| `happ_tool_get` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-get.md |
| `happ_tool_logs` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-logs.md |
| `happ_tools_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tools-list.md |
| `happ_trace_recent` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-trace-recent.md |
| `happ_voice_providers_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-voice-providers-list.md |
| `happ_voices_list` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-voices-list.md |
| `happ_whatsapp_status` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-whatsapp-status.md |
| `happ_whoami` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-whoami.md |
| `happ_widget_customize` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-widget-customize.md |
| `happ_widget_embed_code` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-widget-embed-code.md |
| `happ_zoho_watch_renew` | Read | Low | https://policylayer.com/tools/happ-ai-platform-mcp/happ-zoho-watch-renew.md |
| `happ_access_token_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-access-token-create.md |
| `happ_assistant_commit` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-commit.md |
| `happ_assistant_copy` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-copy.md |
| `happ_assistant_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-create.md |
| `happ_assistant_draft_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-draft-create.md |
| `happ_assistant_draft_promote` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-draft-promote.md |
| `happ_assistant_integration_settings_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-integration-settings-update.md |
| `happ_assistant_llm_key_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-llm-key-set.md |
| `happ_assistant_prompt_edit` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-prompt-edit.md |
| `happ_assistant_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-update.md |
| `happ_assistant_version_restore` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-assistant-version-restore.md |
| `happ_auditor_profile_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-auditor-profile-set.md |
| `happ_call_assign_manager` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-assign-manager.md |
| `happ_call_queue_add_numbers` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-add-numbers.md |
| `happ_call_queue_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-create.md |
| `happ_call_queue_resume` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-resume.md |
| `happ_call_queue_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-queue-update.md |
| `happ_call_reply_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-call-reply-update.md |
| `happ_chat_ai_settings_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-ai-settings-set.md |
| `happ_chat_assign_assistant` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-assign-assistant.md |
| `happ_chat_assign_manager` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-assign-manager.md |
| `happ_chat_send_message` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-chat-send-message.md |
| `happ_company_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-create.md |
| `happ_company_invite_user` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-invite-user.md |
| `happ_company_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-company-update.md |
| `happ_crm_contact_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-contact-create.md |
| `happ_crm_deal_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-deal-create.md |
| `happ_crm_deal_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-deal-update.md |
| `happ_crm_lead_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-lead-create.md |
| `happ_crm_lead_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-lead-update.md |
| `happ_crm_note_add` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-note-add.md |
| `happ_crm_pull_setup` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-setup.md |
| `happ_crm_pull_source_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-create.md |
| `happ_crm_pull_source_resume` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-resume.md |
| `happ_crm_pull_source_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-pull-source-update.md |
| `happ_crm_sync_enable` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-crm-sync-enable.md |
| `happ_folder_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-folder-create.md |
| `happ_folder_move_assistant` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-folder-move-assistant.md |
| `happ_folder_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-folder-update.md |
| `happ_integration_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-integration-update.md |
| `happ_knowledge_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-create.md |
| `happ_knowledge_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-knowledge-update.md |
| `happ_message_style_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-message-style-create.md |
| `happ_message_style_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-message-style-update.md |
| `happ_notification_preferences_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-preferences-set.md |
| `happ_notification_rules_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-notification-rules-set.md |
| `happ_permissions_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-permissions-set.md |
| `happ_phone_attach` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-attach.md |
| `happ_phone_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-create.md |
| `happ_phone_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-phone-update.md |
| `happ_playground_send` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-playground-send.md |
| `happ_profile_phone_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-profile-phone-set.md |
| `happ_quick_reply_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-create.md |
| `happ_quick_reply_folder_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-folder-create.md |
| `happ_quick_reply_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-quick-reply-update.md |
| `happ_report_schedule_delete` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-schedule-delete.md |
| `happ_report_schedule_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-report-schedule-set.md |
| `happ_sheets_pull_setup` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-setup.md |
| `happ_sheets_pull_source_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-create.md |
| `happ_sheets_pull_source_resume` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-resume.md |
| `happ_sheets_pull_source_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-sheets-pull-source-update.md |
| `happ_slack_push_connect_url` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-connect-url.md |
| `happ_slack_push_destinations` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-destinations.md |
| `happ_slack_push_destinations_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-destinations-set.md |
| `happ_slack_push_link_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-link-create.md |
| `happ_slack_push_link_delete` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-link-delete.md |
| `happ_slack_push_link_rotate` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-link-rotate.md |
| `happ_slack_push_link_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-link-update.md |
| `happ_slack_push_links_list` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-slack-push-links-list.md |
| `happ_social_comment_get` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comment-get.md |
| `happ_social_comment_mode` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comment-mode.md |
| `happ_social_comment_reply` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-comment-reply.md |
| `happ_social_post_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-social-post-update.md |
| `happ_telegram_bot_connect` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-bot-connect.md |
| `happ_telegram_push_connect` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-connect.md |
| `happ_telegram_push_destinations` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-destinations.md |
| `happ_telegram_push_destinations_set` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-destinations-set.md |
| `happ_telegram_push_link_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-link-create.md |
| `happ_telegram_push_link_delete` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-link-delete.md |
| `happ_telegram_push_link_rotate` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-link-rotate.md |
| `happ_telegram_push_link_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-link-update.md |
| `happ_telegram_push_links_list` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telegram-push-links-list.md |
| `happ_telephony_connect` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-telephony-connect.md |
| `happ_text_campaign_add_recipients` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-add-recipients.md |
| `happ_text_campaign_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-create.md |
| `happ_text_campaign_image_upload` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-image-upload.md |
| `happ_text_campaign_resume` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-resume.md |
| `happ_text_campaign_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-text-campaign-update.md |
| `happ_tool_create` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-create.md |
| `happ_tool_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-tool-update.md |
| `happ_whatsapp_connect` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-whatsapp-connect.md |
| `happ_widget_connect` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-widget-connect.md |
| `happ_widget_update` | Write | Medium | https://policylayer.com/tools/happ-ai-platform-mcp/happ-widget-update.md |

## Tool descriptions

- `happ_access_token_revoke` — Отзывает API-ключ компании. (DELETE /companies/:companyId/access-tokens/:tokenId)
- `happ_assistant_delete` — Удаляет ассистента. Если он уже запровижинен в VA — вернётся { terminating: true } и запись исчезнет после подтверждения VA; иначе удаляется сразу ({ deleted: true }). (DELETE /assistants-new/:id)
- `happ_assistant_integration_unbind` — Удаляет привязку канала к ассистенту. (DELETE /assistant-integrations-new/:id)
- `happ_call_queue_cancel` — Отменяет очередь: оставшиеся номера не будут набраны. Необратимо. (POST /call-queues/:id/cancel)
- `happ_call_queue_delete` — Удаляет очередь обзвона вместе с номерами. Необратимо. (DELETE /call-queues/:id)
- `happ_call_reply_delete` — Удаляет реплику из транскрипта. (DELETE /calls-history/:callId/replies/:replyId)
- `happ_chat_delete` — Удаляет чат со всей перепиской. Необратимо. (DELETE /chats/:id)
- `happ_company_delete` — Удаляет компанию. Необратимо, требует роль owner/admin. (DELETE /companies/:id)
- `happ_company_leave` — Текущий пользователь покидает компанию. (DELETE /companies/:id/exit)
- `happ_company_remove_user` — Удаляет участника из компании. Требует роль owner/admin. (DELETE /companies/:id/users/:userId)
- `happ_crm_pull_source_delete` — Удаляет pull-источник. Номера, уже добавленные в очередь, остаются. (DELETE /crm-pull/sources/:id)
- `happ_folder_delete` — Удаляет папку. Ассистенты при этом не удаляются. (DELETE /assistant-folders-new/:id)
- `happ_integration_delete` — Полностью удаляет интеграцию/канал компании. Необратимо — для временного отключения используй happ_integration_update с isActive=false. (DELETE /integrations/:id)
- `happ_invitation_revoke` — Отзывает отправленное приглашение. (PATCH /company-invitations/:id/revoke)
- `happ_knowledge_delete` — Удаляет запись базы знаний. (DELETE /assistant-knowledge-new/:id)
- `happ_message_style_delete` — Удаляет свой стиль сообщений. Необратимо. (DELETE /message-styles/:id)
- `happ_notification_channel_mute` — Выключает (mute=true) или включает (mute=false) уведомления о новых сообщениях из конкретного канала/интеграции для текущего пользователя. (POST|DELETE /notification-preferences/channels/:companyIntegrationId/mute)
- `happ_phone_delete` — Удаляет телефон из платформы. (DELETE /assistant-phones-new/:id)
- `happ_playground_reset` — Очищает playground-чат для нового теста. (POST /chats/playground/:id/reset)
- `happ_quick_reply_delete` — Удаляет быстрый ответ. Необратимо. (DELETE /quick-replies/:id)
- `happ_report_cancel` — Останавливает разбор. Уже сделанные разборы остаются оплаченными — вернуть их нельзя, работа сделана. (POST /conversation-analytics/reports/:id/cancel)
- `happ_sheets_pull_source_delete` — Удаляет источник. Номера, уже добавленные в очередь, остаются. (DELETE /sheets-pull/sources/:id)
- `happ_test_case_delete` — Удаляет тест-кейс (DELETE). История прошлых прогонов сохраняется (снапшоты).
- `happ_text_campaign_cancel` — Окончательно отменяет рассылку: waiting-получатели НЕ получат сообщение, уже уходящие доотправятся и сохранят свой статус. Отмена необратима — для временной остановки используйте happ_text_campaign_pause. (POST /text-campaigns/:id/cancel)
- `happ_tool_delete` — Удаляет инструмент ассистента. (DELETE /assistant-tools-new/:id)
- `happ_analysis_run` — Запускает LLM-анализ конкретного чата или звонка. targetId — id чата или звонка. (POST /conversation-analytics/analyses/run)
- `happ_call_queue_start` — Запускает очередь: ассистент начнёт РЕАЛЬНО звонить по номерам в рабочих окнах. Списывает минуты/баланс. (POST /call-queues/:id/start)
- `happ_crm_call_trigger_create` — Создаёт триггер: при событии CRM (стадия лида/сделки) номер клиента попадает в очередь обзвона, и голосовой ассистент звонит. Нужна подключённая CRM и очередь обзвона (лучше бесконечная, isContinuous). Стадию и пути полей бери из happ_cr…
- `happ_crm_call_trigger_delete` — Удаляет триггер; уже поставленные в очередь номера не трогает. (DELETE /crm-call-triggers/:id)
- `happ_crm_call_trigger_setup` — Что можно настроить для подключённой CRM: готовые сценарии (новый лид → перезвонить, заказ в работе → подтвердить, сделка успешна → отзыв, отказ → вернуть) с уже подобранной стадией из воронок этой CRM, список всех стадий, путь к телефон…
- `happ_crm_call_trigger_update` — Включить/выключить (isActive), переименовать, сменить стадию, очередь, путь к телефону или окно повторного звонка у существующего триггера. (PATCH /crm-call-triggers/:id)
- `happ_crm_pull_source_run` — Немедленный прогон pull-источника: подходящие записи CRM уйдут в очередь; при запущенной очереди начнутся звонки. (POST /crm-pull/sources/:id/run)
- `happ_login` — Авторизация на платформе Happ через браузер. Открывает страницу входа, ждёт подтверждения пользователя и сохраняет токены локально. Вызывай ТОЛЬКО когда пользователь явно попросил залогиниться или подтвердил повторный вход. Никогда не вы…
- `happ_playground_start` — Открывает playground-чат с ассистентом — способ проверить ассистента прямо из терминала. Возвращает чат, его id используй в happ_playground_send. (POST /chats/playground)
- `happ_sheets_pull_source_run` — Немедленный прогон: лист читается заново, новые строки уйдут в очередь; при запущенной очереди начнутся звонки. (POST /sheets-pull/sources/:id/run)
- `happ_text_campaign_start` — РЕАЛЬНАЯ массовая отправка Viber-сообщений всем waiting-получателям. Запускай ТОЛЬКО по явной просьбе человека, показав ему текст и число получателей — первое сообщение новому номеру платное (тариф DirectHub). Работает только для чернови…
- `happ_assistant_transfer` — Переносит ассистента в другую компанию — копия в целевой компании + безопасное удаление исходного. (POST /assistants-new/:id/company/:companyId)
- `happ_access_tokens_list` — Список API-ключей компании. Сами ключи не показываются — только имена и префиксы. (GET /companies/:companyId/access-tokens)
- `happ_activity_list` — Журнал действий компании — кто что сделал. Доступен только owner/admin. client='cli' — только действия из терминала. Возвращает компактную ленту + nextCursor для подгрузки. (GET /audit)
- `happ_analyses_list` — Результаты LLM-анализов диалогов. analysisId указан — вернёт один анализ целиком. (GET /conversation-analytics/analyses)
- `happ_analysis_job_get` — Статус, прогресс и (когда готово) отчёт фонового анализа диалогов, запущенного happ_conversations_analyze (в ответе был jobId). status: queued / running / completed / failed; progress — сколько проходов из скольких сделано. Опрашивай не …
- `happ_analytics` — Статистика компании из раздела «Аналитика». metric: overview — ТОЛЬКО сводные числа за период с сравнением к прошлому (звонки, диалоги, контакты, средняя длительность), без динамики; диалоги/контакты считаются по АКТИВНОСТИ в периоде (ча…
- `happ_assistant_drafts_list` — Список dev-черновиков ассистента. Черновик — скрытая копия для экспериментов: плейграунд и тесты работают, каналы/телефоны — нет, база знаний общая с основным. (GET /assistants-new/:id/variants)
- `happ_assistant_get` — Детали ассистента по id: промпт, настройки и VA-регистрация (провайдер, модель, голос, статус синка). (GET /assistants-new/:id)
- `happ_assistant_integration_bind` — Привязывает подключённый канал (companyIntegrationId из happ_integrations_list) к ассистенту — после этого ассистент отвечает в этом канале. Для CRM привязка создаётся со ВСЕМИ функциями выключенными (см. features в результате) — включат…
- `happ_assistant_integration_settings_get` — Текущие настройки CRM/канала у ассистента (что включено: поиск клиента, создание заявок, каталог, запись звонка в CRM, запись на визит) и схема — какие поля и значения доступны для этого типа интеграции. Ищи привязку по assistantId + int…
- `happ_assistant_integrations_list` — Список привязок каналов и CRM к ассистентам: только ФАКТ привязки плюс состояние функций CRM (features: search/create/catalog/callLog on|off). У свежей привязки все функции ВЫКЛЮЧЕНЫ — привязка не означает, что настройки включены. Менять…
- `happ_assistant_settings_catalog` — Справочник настроек ассистента с текущими значениями: поведение в разговоре (голос: активность, ответ после тишины, завершение звонка, мягкий таймаут, задержка потока, аудиоформаты), поведение при подхвате чата (чат: автовозврат, не выкл…
- `happ_assistant_templates_list` — Отраслевые шаблоны для создания ассистента (как на странице создания в кабинете): ресторан, отель, медцентр, недвижимость, автосервис, интернет-магазин, салон красоты. Возвращает id, название, описание, первое сообщение и размер промпта.…
- `happ_assistant_version_diff` — Git-стиль дифф между двумя состояниями ассистента. Каждая сторона — id версии, 'live' (текущее несохранённое состояние) или 'empty' (пустота). Типовые вызовы: a=<id последней версии>, b='live' → что ещё не закоммичено; a=<vN>, b=<vM> → ч…
- `happ_assistant_versions_list` — Список версий ассистента: номер vN, origin (commit/backup/restore/promote/agent_edit), сообщение, автор, статистика изменений (+N −M по секциям). Версии создаются коммитами, автокоммитами правок ИИ и системными бэкапами. (GET /assistants…
- `happ_assistants_list` — Список ассистентов. Можно фильтровать по компании, папке и искать по имени. (GET /assistants-new)
- `happ_auditor_chat_audits` — Проверки аудитора для конкретного чата, новые сверху. Это и есть отчёт режима shadow: что судья решил бы по каждому ходу, какие критерии просели и что он вернул бы агенту. По ним и принимается решение о переходе в enforce. (GET /chats/:c…
- `happ_auditor_profile_get` — Профиль инлайн-аудитора ассистента. null означает, что своего профиля у ассистента нет и он наследует общий по компании. В ответе: isActive, mode (shadow — только считает, enforce — действует), gating, критерии с порогами, модель-судья, …
- `happ_billing_credits_history` — Последние операции по балансу LLM-кредитов компании: списания за диалоги, тесты, аудитор, пополнения. (GET /billing/credits/history)
- `happ_billing_overview` — Сводка по биллингу компании: баланс LLM-кредитов, активные подписки и их продукты, использование ресурсов (диалоги, минуты). Только чтение; пополнение и смена тарифа — в кабинете. (GET /billing/credits; GET /companies/:id; GET /resource-…
- `happ_call_get` — Детали звонка по id, включая транскрипт (replies). (GET /calls-history/:id)
- `happ_call_originate` — РЕАЛЬНЫЙ исходящий телефонный звонок голосового ассистента на номер клиента . Запускай ТОЛЬКО по явной просьбе человека и с подтверждённым им номером — звонок платный (SIP + LLM), отменить после запуска нельзя. Требования: у ассистента п…
- `happ_call_queue_get` — Детали очереди обзвона: настройки, окна, политика перезвона, счётчики. (GET /call-queues/:id)
- `happ_call_queue_numbers` — Список номеров очереди с их статусами (ожидает, дозвон, завершён). (GET /call-queues/:id/numbers)
- `happ_call_queue_pause` — Ставит очередь на паузу: новые звонки не начинаются, текущие завершаются. (POST /call-queues/:id/pause)
- `happ_call_queues_list` — Список очередей массового обзвона компании: статус, ассистент, прогресс. (GET /call-queues)
- `happ_call_replies_swap_speakers` — Меняет местами спикеров всего транскрипта — когда транскрипция перепутала менеджера и клиента. (PATCH /calls-history/:callId/replies/swap-speakers)
- `happ_call_reply_split` — Разбивает реплику транскрипта на две по позиции символа. (POST /calls-history/:callId/replies/:replyId/split)
- `happ_call_retranscribe` — Запускает повторную транскрипцию записи звонка. (POST /calls-history/:id/retranscribe)
- `happ_calls_list` — История звонков компании, новые сверху. (GET /calls-history)
- `happ_chat_ai_settings_get` — Настройки AI-помощника оператора (раздел Настройки › Чаты): провайдер и модель для переписывания/перевода, включены ли подсказки ответов, ассистент для подсказок, авто-черновик, число вариантов, стиль по умолчанию, источники контекста (и…
- `happ_chat_get` — Детали чата по id. (GET /chats/:id)
- `happ_chat_messages` — Сообщения чата. Возвращаются в хронологическом порядке (старые сверху). (GET /messages?chatId=...)
- `happ_chat_sessions` — Список диалоговых сессий чата. (GET /chats/:id/sessions)
- `happ_chat_toggle_ai` — Включает или отключает ответы ассистента в конкретном чате. (PATCH /chats/:id/ai-control)
- `happ_chats_list` — Список чатов компании. include=lastMessage добавляет последнее сообщение каждого чата. (GET /chats)
- `happ_companies_list` — Список компаний, к которым у пользователя есть доступ. Возвращает id, название, описание и статус. (GET /companies/my)
- `happ_company_get` — Детали компании по id, включая участников и подписки. (GET /companies/:id)
- `happ_company_invitations_list` — Приглашения в компанию, которые ещё не приняты: email, роль, дата, срок действия. Отозвать — happ_invitation_revoke. (GET /company-invitations/:companyId/invitations)
- `happ_company_members_list` — Команда компании (раздел «Участники»): пользователи, их роли (owner / admin / member) и email. Права по продуктам и ассистентам — happ_permissions_list. (GET /companies/:id/members)
- `happ_conversations_analyze` — Глубокий анализ реальных диалогов компании: берёт последние N чатов/звонков по фильтрам, отдаёт их полные расшифровки сильной модели (gpt-4.1) вместе с задачей пользователя ДОСЛОВНО и возвращает готовый отчёт в markdown. Подходит для: «н…
- `happ_conversations_analyze_estimate` — Считает, сколько диалогов попадёт в анализ по фильтрам, у скольких есть текст, и сколько это будет стоить (модель gpt-4.1 читает расшифровки целиком). Без LLM и без списаний. Вызывай ПЕРЕД happ_conversations_analyze и называй человеку ра…
- `happ_conversations_list` — Единая история чатов и звонков компании (раздел «История»): контакт, агент, канал, превью, дата, длительность и исход звонка. Фильтры по типу, агенту, каналу, датам, исходу и длительности; поиск по контакту; contactId — все диалоги конкр…
- `happ_crm_activities_list` — Звонки, диалоги, заметки, смены стадий по контакту/сделке/лиду или по всей компании за период. (GET /crm/activities)
- `happ_crm_analysis_job_get` — Состояние и результат фонового анализа CRM по jobId из happ_crm_analyze. (GET /crm/analysis/jobs/:id)
- `happ_crm_analyze` — Свободный анализ по всей базе CRM компании («почему теряем сделки из Instagram», «какие менеджеры дольше держат сделки», «что общего у потерянных») и ЛЮБАЯ связка CRM с диалогами («лиды из вчерашних чатов и звонков», «лиды за вчера и их …
- `happ_crm_analyze_estimate` — Перед свободным анализом CRM (happ_crm_analyze): сколько записей попадёт под фильтр, сколько секунд и долларов это займёт. Без LLM, бесплатно. Вызывай ПЕРВЫМ с тем же scope, что пойдёт в анализ. (POST /crm/analysis/estimate)
- `happ_crm_call_triggers_list` — Список настроенных автозвонков по событиям CRM: для одной подключённой CRM (companyIntegrationId) или для одной очереди обзвона (queueId). Показывает событие/стадию, очередь, активность и сколько раз сработал. (GET /crm-call-triggers)
- `happ_crm_catalog_resync` — Заново загружает каталог товаров/услуг из CRM в базу знаний ассистента (кнопка «Обновить каталог» в настройках интеграции). Нужно, когда в CRM изменились товары. Работает для Zoho, KeyCRM, SalesDrive, Sitniks, Uspacy, OneBox, Creatio, Ke…
- `happ_crm_contact_get` — Полная карточка контакта: идентификаторы (телефоны, email, мессенджеры), организация, все сделки и лиды, последние 30 активностей (звонки, диалоги, заметки), ссылки на записи во внешней CRM и conversations — чаты и звонки платформы, прив…
- `happ_crm_contacts_search` — Контакты (клиенты) компании: поиск по имени, телефону, email; фильтры по тегу, источнику, менеджеру, «без активности N дней». Телефон можно в любом формате. Возвращает страницу с totalCount. (GET /crm/contacts)
- `happ_crm_deals_list` — Сделки/заказы с фильтрами: воронка, стадия или категория стадии, менеджер, источник, период, сумма, «застряли на стадии > N дней», «без активности N дней». Для цифр используй happ_crm_stats; этот инструмент — когда нужны конкретные запис…
- `happ_crm_leads_list` — Лиды с теми же фильтрами, что happ_crm_deals_list (там, где CRM отличает лид от сделки: KeyCRM-воронки, Zoho Leads, Creatio Lead). (GET /crm/leads)
- `happ_crm_options_list` — Значения из подключённой CRM для настроек: stages, pipelines, statuses, funnels, sources, users, employees, lead_statuses, qualify_statuses, client_statuses, workflows, sales_channels, folders, fields, persons, tags, visit_types, locatio…
- `happ_crm_pull_preview` — Сколько записей CRM попадёт под условия pull-кампании: matched, callable (с телефоном), withoutPhone, примеры до 10 записей и issues (неверные поля/значения). Всегда показывай пользователю перед созданием источника. (POST /crm-pull/preview)
- `happ_crm_pull_source_pause` — Ставит pull-источник на паузу: новые записи из CRM в очередь не попадают, уже добавленные номера остаются. (POST /crm-pull/sources/:id/pause)
- `happ_crm_pull_sources_list` — Список pull-источников (выборок из CRM в очередь обзвона) с их статусом (active/paused/broken/done), расписанием, статистикой последнего прогона и ошибками. Фильтр по CRM или по очереди обязателен. (GET /crm-pull/sources)
- `happ_crm_schema` — ПЕРВЫЙ вызов перед любым вопросом про клиентов/сделки/лиды/воронку: какая CRM зеркалируется и в каком она состоянии, воронки и стадии с канонической категорией (new / in_progress / won / lost / on_hold), менеджеры, кастомные поля, скольк…
- `happ_crm_stats` — Готовые цифры по сделкам (или лидам) за период: всего / открытые / успешные / потерянные, выручка успешных, средний чек, win-rate, средний цикл в днях, разбивка по стадиям, менеджерам, источникам, топ застрявших сделок, причины потерь. С…
- `happ_crm_sync_resync` — Запустить полный импорт заново (дёшево: неизменённые записи пропускаются по хэшу). Используй, когда пользователь говорит «данные не сходятся» или после смены настроек. (POST /crm/mirroring/:id/resync)
- `happ_crm_sync_status` — Что зеркалируется, статус импорта/дельты, курсоры по сущностям, последние ошибки и записи, которые не удалось доставить во внешнюю CRM (needs_attention). (GET /crm/mirroring; GET /crm/outbox/needs-attention)
- `happ_directhub_templates_list` — Шаблоны сообщений, заведённые и отмодерированные в кабинете DirectHub. Создать шаблон через API нельзя — только в кабинете. ID отсюда передаётся в messageTemplateId рассылки в режимах promotional_template и transactional. (GET /integrati…
- `happ_filters_describe` — Актуальный allowlist фильтров для списков (чаты, звонки, история, диалоги мониторов) из GET /filters: поля, типы, операторы, допустимые значения, токены (me/null) и поля сортировки. Зови перед тем, как строить выражение filter, если не у…
- `happ_folders_list` — Список папок ассистентов. (GET /assistant-folders-new)
- `happ_integration_get` — Детали одной подключённой интеграции: тип, активна ли, конфигурация (секреты скрыты), домены виджета, URL вебхука, здоровье (последний входящий запрос, ошибки). (GET /integrations/:id)
- `happ_integration_next_steps` — Чек-лист шагов после подключения/привязки интеграции данного типа: что делается само, что должен сделать пользователь на стороне сервиса (вставить вебхук, отсканировать QR, открыть ссылку), что включить у ассистента, какие ловушки. Вызыв…
- `happ_integration_sync` — Запускает импорт существующих диалогов и сообщений из подключённого канала в Happ (Telegram-аккаунт, Instagram, Facebook Messenger, SendPulse, Sitniks), а для каналов комментариев (instagram_comments, facebook_comments) — повторный импор…
- `happ_integration_webhook_event_get` — Полное тело одного входящего события интеграции (payload, статус обработки, ошибка) — для разбора, почему событие не сработало. (GET /integrations/:id/webhook-events/:id)
- `happ_integration_webhook_events` — Входящие вебхук-запросы интеграции за последние 7 дней: статус, HTTP-код, длительность, IP, ошибка валидации. Тело обрезано до 16 КБ, секреты скрыты. (GET /integrations/:id/webhook-events)
- `happ_integration_webhook_token_rotate` — Отзывает все выданные ранее webhook-адреса интеграции (custom messenger, call webhook, CRM-вебхуки) и выдаёт новый. Старый адрес перестаёт работать сразу — его нужно заменить на стороне внешней системы. (POST /integrations/:id/webhook-to…
- `happ_integrations_catalog` — Все интеграции, которые платформа умеет подключать (мессенджеры, CRM, телефония, вебхуки, уведомления, свои AI-ключи), по категориям; для каждой — как подключить: прямо здесь инструментом (connect=copilot, copilotTool) или в родном диало…
- `happ_integrations_list` — Список подключённых интеграций/каналов компании: telegram, telegram_bot, whatsapp_*, instagram, widget, телефония и т.д. По умолчанию только активные — выключенные (isActive=false, скрыты и в кабинете) показываются с includeInactive=true…
- `happ_invoices_list` — Счета (инвойсы) компании: тип, сумма, оплачен ли, описание, ссылка на PDF если есть. (GET /invoices)
- `happ_knowledge_get` — Детали записи базы знаний по id, включая содержимое. (GET /assistant-knowledge-new/:id)
- `happ_knowledge_list` — Список записей базы знаний ассистента. (GET /assistant-knowledge-new)
- `happ_llm_key_models_list` — Список моделей, которые реально доступны по подключённому ключу клиента (OpenAI, Claude, Gemini, Groq) — из API вендора, не из платформенного каталога (для него happ_text_llm_models_list). Нужен, чтобы выбрать model для happ_assistant_ll…
- `happ_llm_models_list` — Модели из VA-каталога — их id идут в voiceLlmModelId (строка-слаг, НЕ UUID). Для textLlmModelId используй happ_text_llm_models_list. Без providerType вернёт модели всех провайдеров. (GET /assistants-new/catalog/providers/:vaId/models)
- `happ_logout` — Удаляет сохранённые токены Happ с этого компьютера.
- `happ_me` — Полный профиль текущего пользователя: имя, email, телефон и его подтверждение, наличие пароля, привязки Telegram/Apple. Менять профиль, пароль, язык и тему можно только в кабинете (раздел Аккаунт). (GET /auth/me)
- `happ_message_styles_list` — Стили переписывания сообщений оператора (кнопка «переписать» в чате): системные (formal, business, friendly, confident, empathetic, shorter) и свои стили компании с инструкциями. (GET /message-styles)
- `happ_monitor_conversations` — Диалоги, попадающие под монитор, с их оценками. (GET /conversation-analytics/monitors/:id/conversations)
- `happ_monitor_create` — Создаёт монитор качества диалогов — LLM оценивает чаты/звонки по критериям. criteria: массив {id, name, description (5-500 симв.), type, minValue?, maxValue?, values?, language?}. (POST /conversation-analytics/monitors)
- `happ_monitor_delete` — Удаляет монитор качества. (DELETE /conversation-analytics/monitors/:id)
- `happ_monitor_templates_list` — ШАБЛОНЫ для создания нового монитора анализа (Анализ менеджера/клиента/продажи) — НЕ список мониторов компании. На «какие мониторы есть/настроены» отвечает happ_monitors_list; этот тул — только когда спрашивают про шаблоны или что можно …
- `happ_monitor_update` — Обновляет монитор качества. (PATCH /conversation-analytics/monitors/:id)
- `happ_monitors_list` — Список мониторов анализа диалогов. (GET /conversation-analytics/monitors)
- `happ_morning_brief_preview` — Что попадёт в утреннюю сводку компании сегодня (неотвеченные диалоги, новые, выигранные, проблемы). null — сводка для компании не настроена. (GET /notification-digests/morning-brief/preview)
- `happ_notification_digests_list` — История отправленных дайджестов и утренних сводок: период, каналы, отчёт. Для вопросов «почему не пришёл дайджест», «что было в последней сводке». (GET /notification-digests)
- `happ_notification_preferences_get` — Личные настройки уведомлений пользователя в компании: уровень, ежедневный дайджест и его час, заглушённые каналы. (GET /notification-preferences; GET /notification-preferences/channel-settings)
- `happ_notification_rules_get` — Текущие правила уведомлений интеграции Telegram-push / Slack-push / mobile push / email: уведомления об ИИ-диалогах (aiDialogs), алерты аудитора (auditorAlerts), правила по анализам (analysisRules: сразу или дайджест), для email — получа…
- `happ_payments_list` — Платежи компании: сумма, статус (succeeded / pending / failed), дата, за что (пополнение кредитов, подписка). (GET /payments)
- `happ_permissions_list` — Права доступа участников компании. userId указан — права одного участника, иначе всех. (GET /companies/:companyId/user-permissions)
- `happ_phone_detach` — Отвязывает телефон от ассистента. (POST /assistant-phones-new/detach)
- `happ_phone_get` — Детали телефона по id. (GET /assistant-phones-new/:id)
- `happ_phones_list` — Список SIP-телефонов компании. Телефон в Happ — это SIP-учётка: номер + sipLogin + хост телефонии. (GET /assistant-phones-new)
- `happ_platform_guide` — Что умеет платформа Happ и где что настраивается: для каждого раздела и таба кабинета — название как в меню, что там делается и какими инструментами это делает копилот. Отвечает на «что умеет платформа», «что такое раздел X», «где настро…
- `happ_quick_replies_list` — Список быстрых ответов (шаблонов сообщений оператора) компании, с папками и шорткатами. (GET /quick-replies)
- `happ_quick_reply_folders_list` — Список папок быстрых ответов компании. (GET /quick-replies/folders)
- `happ_report_estimate` — Сколько будет стоить отчёт по разговорам за период: сколько диалогов и звонков попадёт в разбор, сколько уже разобрано, цена и потолок списания. Ничего не создаёт и не списывает. Вызывай ПЕРЕД happ_report_order и назови человеку размер в…
- `happ_report_get` — Фаза прогона, сколько разговоров разобрано и сам документ, если он готов. (GET /conversation-analytics/reports/:id)
- `happ_report_order` — Запускает сборку отчёта: разбирает разговоры периода по критериям отчёта и отдаёт числа в модель, которая пишет выводы. Списывает LLM-кредиты ПО МЕРЕ разбора; готовый документ приходит через часы, на больших периодах — через сутки-двое, …
- `happ_report_schedules_list` — Расписания отчётов компании: как часто, в какой час, что было с последним выпуском. (GET /conversation-analytics/report-schedules)
- `happ_report_share` — Публикует готовый отчёт: короткая ссылка и PDF. Ссылка открыта любому, у кого она есть, и живёт до указанного срока — предупреди об этом человека, прежде чем отдавать её наружу. (POST /conversation-analytics/reports/:id/share)
- `happ_report_templates` — Какие отчёты платформа умеет собирать и по каким данным. Недоступный шаблон — это источник, который ещё не подключён. Отдельно стоит agent_scenarios: он читает сами расшифровки и достаёт из них сценарии звонков, вопросы, возражения и жив…
- `happ_reports_list` — Прогоны отчётов и выданные документы: фаза, период, сколько разобрано, ссылки. Отвечает на «где мой отчёт» и «что с ним сейчас». (GET /conversation-analytics/reports)
- `happ_sheets_pull_inspect` — Проверяет ссылку на Google-таблицу: возвращает spreadsheetId, название и список листов (id = gid, title); preselectedSheetId — лист из #gid= ссылки. Ошибка 422 с code=not_shared значит, что таблица не расшарена на сервис-аккаунт — переда…
- `happ_sheets_pull_preview` — Читает лист и показывает, что импортируется: headers (заголовки колонок), phoneColumn (указанная или угаданная колонка с телефоном), totalRows, callable, withoutPhone, invalid, truncated (лист длиннее лимита), numericPhoneCells (телефоны…
- `happ_sheets_pull_source_pause` — Ставит источник на паузу: лист больше не перечитывается, уже добавленные номера остаются в очереди. (POST /sheets-pull/sources/:id/pause)
- `happ_sheets_pull_sources_list` — Список источников-таблиц очереди обзвона со статусом (active/paused/broken/done), расписанием, статистикой последнего прогона (rows, created, duplicates, withoutPhone, invalid, truncated) и lastError (для broken — код проблемы вида phone…
- `happ_social_comments_list` — Все комментарии, отзывы и вопросы под ОДНИМ постом/товаром в порядке появления, включая ответы ассистента и оператора (ветки собираются по parentId). Для поиска по всем постам сразу, фильтров по оценке и статусу — happ_social_comments_se…
- `happ_social_comments_search` — Отзывы о товарах Rozetka, вопросы о товарах и комментарии Instagram/Facebook по всей компании одним списком с фильтрами: платформа, вид (отзыв/вопрос/комментарий), статус, оценка 1–5, текст, автор, даты, конкретный товар. Каждая строка н…
- `happ_social_comments_stats` — Сводка по отзывам, вопросам и комментариям под те же фильтры, что и поиск: сколько всего, сколько ждут ответа, разбивка по статусам, видам и платформам, средняя оценка и распределение оценок 1–5 (отзывы Rozetka). Отвечает на «какой у нас…
- `happ_social_posts_list` — Посты Instagram/Facebook и товары Rozetka, под которыми есть комментарии, отзывы или вопросы: подпись/название товара, ссылка, цена (Rozetka), счётчики (всего / отвечено / ждут ответа / отзывов / средняя оценка), включён ли ИИ. platform=…
- `happ_store_logs` — Собирает трассу вызовов happ_* инструментов текущей сессии (аргументы с маскировкой секретов, ответы, ошибки, тайминги) и отправляет её команде Happ вместе с твоим описанием проблемы. Вызывай, когда человек просит сохранить/отправить лог…
- `happ_subscription_get` — Активные подписки компании: тариф, продукты (чат-ассистент / голосовой / аналитика), лимиты, статус, дата окончания и автопродление, плюс баланс LLM-кредитов. Оплата, апгрейд и отмена — только через диалог кабинета (ui_open_dialog manage…
- `happ_support_request` — Отправляет обращение в службу поддержки Happ (команда получает его в Slack и Telegram) — ровно то же, что форма «Помощь → Связаться с поддержкой» в кабинете: телефон, тема, категория, сообщение. Имя и email берутся из аккаунта автоматиче…
- `happ_tariffs_list` — Тарифы платформы, доступные компании (витрина раздела «Биллинг»): название, цена в месяц, лимит диалогов (maxUsage), одновременных звонков, ставки за минуту голоса / сообщение / анализ / транскрибацию (features). Сменить тариф или оплати…
- `happ_test_case_create` — Создаёт тест-кейс. mode=script — фиксированные реплики клиента (1-3, для точечных проверок формулировок); mode=scenario — описание клиента для AI-симулятора (для многоходовых флоу). Сценарий ОБЯЗАН заканчиваться строками «Мета досягнута,…
- `happ_test_case_update` — Частичное обновление тест-кейса. (PATCH /assistants/:assistantId/test-cases/:caseId)
- `happ_test_cases_generate` — LLM предлагает тест-кейсы по промпту/инструментам/базе знаний ассистента (ничего не сохраняет — сохраняйте выбранные через happ_test_case_create). instructions — фокус генерации, например описание бага от клиента.
- `happ_test_cases_list` — Список тест-кейсов ассистента. (GET /assistants/:assistantId/test-cases)
- `happ_test_media_upload` — Загружает фото, которое «клиент отправит» в тестовом диалоге. Источник — ровно один из: fileId (файл уже загружен в платформу, например вложение из чата копилота — единственный вариант в копилоте), filePath (путь к файлу, ~ поддерживаетс…
- `happ_test_run_estimate` — Оценка токенов и стоимости прогона ДО запуска. Вызывайте перед прогоном многих кейсов. (POST /assistants/:assistantId/test-cases/generate)
- `happ_test_run_get` — Один прогон: статус, passed/failed, токены, стоимость. (GET /assistants/:assistantId/test-runs/:runId)
- `happ_test_run_results` — Результаты по кейсам прогона: вердикт судьи, score, транскрипт диалога с tool-вызовами. (GET /assistants/:assistantId/test-runs/:runId/results)
- `happ_test_run_start` — Запускает прогон тест-кейсов. Асинхронный: вернётся run со status=pending — опрашивайте happ_test_run_get/results до status=completed. СПИСЫВАЕТ LLM-баланс компании; tool-вызовы РЕАЛЬНЫЕ, если не замоканы (toolMocks кейса / happ_test_set…
- `happ_test_runs_list` — Список прогонов ассистента, новые сверху. (GET /assistants/:assistantId/test-runs)
- `happ_test_settings_get` — Уровень «для всех тестов»: mockAllTools (мокать каждый вызов инструмента) и общие toolMocks ассистента . Кейсовые toolMocks побеждают над общими по имени инструмента. (GET /assistants/:assistantId/test-settings)
- `happ_test_settings_update` — PATCH /assistants/:assistantId/test-settings. mockAllTools=true — ЛЮБОЙ вызов инструмента в тестах возвращает мок (ненастроенные — generic success), реальные системы не трогаются. toolMocks заменяются целиком. (PATCH /assistants/:assista…
- `happ_test_suggest_prompt_fix` — LLM-советник предлагает точечные правки промпта по проваленному результату. Правку промпта применяйте через happ_assistant_update ТОЛЬКО после подтверждения человеком. (POST /assistants/:assistantId/test-runs/:runId/results/:resultId/sug…
- `happ_text_campaign_get` — Рассылка по id со статистикой прогресса: stats = {total, waiting, sending, sent, failed, cancelled}. Рассылка асинхронная — после start опрашивайте этот тул до status=finished (или пока waiting+sending не станет 0). (GET /text-campaigns/…
- `happ_text_campaign_pause` — Ставит запущенную рассылку на паузу: новые отправки прекращаются, уже уходящее сообщение доотправится. Возобновление — happ_text_campaign_resume. (POST /text-campaigns/:id/pause)
- `happ_text_campaign_recipients` — Список получателей рассылки со статусами. Для разбора сбоев фильтруйте status=failed — у таких строк заполнен lastError. (GET /text-campaigns/:id/recipients)
- `happ_text_campaigns_list` — Список текстовых рассылок компании со статистикой, новые сверху. (GET /text-campaigns)
- `happ_text_llm_models_list` — Текстовые модели платформы. Их id — UUID и идут ТОЛЬКО в textLlmModelId; для голоса нужен happ_llm_models_list. (GET /llm-models?type=text)
- `happ_tool_get` — Детали инструмента по id: вебхук, параметры, режим выполнения. (GET /assistant-tools-new/:id)
- `happ_tool_logs` — История вызовов инструмента ассистента: аргументы, ответ, статус (success / error / pending), время. (GET /assistant-tools-new/:id/logs)
- `happ_tools_list` — Список инструментов (function-calling tools) ассистента. (GET /assistant-tools-new)
- `happ_trace_recent` — Компактный список happ_* вызовов текущей MCP-сессии (номер, инструмент, статус, время) без аргументов и ответов. Помогает выбрать anchorTool/lastCalls перед happ_store_logs или понять, что уже делалось.
- `happ_voice_providers_list` — Провайдеры голосового ассистента, доступные компании: платформенные и приватные (isPrivate=true — созданы из своих ключей OpenAI/Gemini/ElevenLabs). id провайдера нужен для happ_assistant_update(providerId), чтобы посадить голосового асс…
- `happ_voices_list` — Голоса из VA-каталога — их id идут в voiceId. Без providerType вернёт голоса всех провайдеров. (GET /assistants-new/catalog/providers/:vaId/voices)
- `happ_whatsapp_status` — Состояние WhatsApp (WaSender) в компании: connected — сессия активна; awaiting_scan — интеграция создана, но QR ещё не отсканирован (или телефон разлогинился) — нужен новый QR через happ_whatsapp_connect; not_connected — WhatsApp не подк…
- `happ_whoami` — Показывает текущего авторизованного пользователя Happ. (GET /auth/me)
- `happ_widget_customize` — Настраивает внешний вид чат-виджета: тема, акцентный цвет, позиция, размер, форма углов, подпись на кнопке, тип лаунчера, отступы. Передавай только то, что нужно изменить — остальное сохраняется. (PATCH /widget/:id (customization))
- `happ_widget_embed_code` — Возвращает код для вставки уже существующего виджета на сайт (html / gtm / wordpress / nextjs), его widgetId, разрешённые домены и testUrl — ссылку для теста клиентом (агент на весь экран, без сайта и кабинета). Виджет ищется по companyI…
- `happ_zoho_watch_renew` — Продлевает/пересоздаёт подписку Happ на события Zoho CRM (Leads/Deals/Contacts), по которой работают автозвонки и обновления. Обычно продлевается автоматически; вызывай, если события из Zoho перестали приходить. (POST /zoho/:id/watch)
- `happ_access_token_create` — Создаёт API-ключ компании. Ключ happ_... показывается ОДИН раз — сразу сохрани его. (POST /companies/:companyId/access-tokens)
- `happ_assistant_commit` — Коммит: фиксирует текущее состояние ассистента как версию с сообщением. ПРЕДЛАГАЙ этот шаг человеку после каждой серии правок ассистента (update/prompt_edit/тулзы/знания) — версия становится точкой отката. Если изменений с последней верс…
- `happ_assistant_copy` — Создаёт копию ассистента со всеми настройками, тулзами и знаниями. providerType переключает провайдера копии: голос и голосовая модель берутся из каталога нового провайдера (первые по списку, если не указаны voiceId/voiceLlmModelId — см.…
- `happ_assistant_create` — Создаёт AI-ассистента в компании. Обязательны companyId и name. Провайдера, голос и модели НЕ передавай, если пользователь их не назвал: платформа ставит стандарт нового агента (голос Gemini 3.8 Live, Erinome; текст gpt-5.4). Провижининг…
- `happ_assistant_draft_create` — Создаёт dev-черновик — безопасную копию для экспериментов с промптом/настройками/тулзами. fromVersionId — создать из конкретной версии (иначе из текущего состояния). Лимит: 3 черновика на ассистента. Правки делай на черновике (id чернови…
- `happ_assistant_draft_promote` — Мерж черновика в основного ассистента: промпт, настройки, тулзы и аудитор черновика перезаписывают основного; база знаний не затрагивается; черновик после мержа удаляется. Вызов БЕЗ mergeConfirmed вернёт предпросмотр (дифф + флаг конфлик…
- `happ_assistant_integration_settings_update` — Включает/выключает и настраивает функции CRM у ассистента: search (поиск клиента), create (создание лида/заявки/заказа с воронкой, стадией, ответственным), catalog (каталог товаров), callLog (запись итога звонка), bookVisit (запись на ви…
- `happ_assistant_llm_key_set` — Переводит ТЕКСТОВОГО ассистента на ключ клиента: привязывает интеграцию к ассистенту (если ещё нет), записывает выбранную модель в настройки привязки и делает её активной. Без модели ключ не используется — model обязательна (id из happ_l…
- `happ_assistant_prompt_edit` — Точечные правки промпта ассистента БЕЗ пересылки всего текста (анкерные замены как в редакторе: oldText → newText). Используй ВМЕСТО happ_assistant_update.promptText для любых больших промптов и вставок секций — не выгружай токен и не де…
- `happ_assistant_update` — Обновляет ассистента: имя, промпт, первое сообщение, язык, папка, таймзона; вкладки «Дополнительные» и «Расширенные» (eagerness, таймауты тишины, авто-возврат ИИ, отключение ИИ при ответе оператора, аудиоформаты, задержка стриминга, доля…
- `happ_assistant_version_restore` — Восстанавливает конфигурацию ассистента из версии. Это правка ЖИВОГО ассистента: голосовой агент пересинхронизируется, изменённые документы знаний переиндексируются. Текущее состояние автоматически бэкапится перед откатом (потерять его н…
- `happ_auditor_profile_set` — Создаёт или обновляет профиль аудитора. Это PATCH: переданы только нужные поля, остальные сохраняют текущие значения. ВАЖНО про порядок включения: сначала mode='shadow' — аудитор считает вердикты и пишет их в аудит чата, но НИЧЕГО не бло…
- `happ_call_assign_manager` — Назначает менеджера на звонок. (PATCH /calls-history/:id/assign-manager)
- `happ_call_queue_add_numbers` — Добавляет номера телефонов в очередь обзвона. variables — переменные для промпта ассистента (имя, долг, заказ) для каждого контакта. (POST /call-queues/:id/numbers)
- `happ_call_queue_create` — Создаёт очередь массового обзвона для ассистента (черновик, звонки не начинаются). Номера добавляются happ_call_queue_add_numbers, запуск — happ_call_queue_start. (POST /call-queues)
- `happ_call_queue_resume` — Возобновляет очередь после паузы — звонки продолжатся. (POST /call-queues/:id/resume)
- `happ_call_queue_update` — Меняет настройки очереди: название, окна, политику перезвона, линии (одновременные звонки), даты. Черновик/пауза — любые поля; у запущенной очереди можно менять только concurrencyLimit (линии). (PATCH /call-queues/:id)
- `happ_call_reply_update` — Правит текст или спикера реплики транскрипта. (PATCH /calls-history/:callId/replies/:replyId)
- `happ_chat_ai_settings_set` — Меняет настройки AI-помощника оператора: подсказки ответов, ассистент-источник, авто-черновик, число вариантов, стиль по умолчанию, источники контекста, провайдер/модель. (PATCH /ai-tools/config)
- `happ_chat_assign_assistant` — Назначает ассистента на чат или снимает его (unassign=true). (PATCH /chats/:id/assign-assistant)
- `happ_chat_assign_manager` — Назначает менеджера (пользователя компании) на чат. (PATCH /chats/:id/assign-manager)
- `happ_chat_send_message` — Отправляет сообщение клиенту в чат от имени оператора. Сообщение реально уйдёт клиенту в мессенджер — используй осознанно. (POST /messages)
- `happ_company_create` — Создаёт новую компанию. Текущий пользователь становится владельцем. (POST /companies)
- `happ_company_invite_user` — Отправляет приглашение по email. (POST /company-invitations/:companyId/invitations)
- `happ_company_update` — Обновляет название/описание компании. Требует роль owner или admin. (PATCH /companies/:id)
- `happ_crm_contact_create` — Создать контакт в CRM Happ (и во внешней CRM, если включено зеркалирование two_way). Нужен телефон или email. Если контакт с таким телефоном уже есть — вернётся он (created=false), пустые поля дозаполняются. (POST /crm/contacts)
- `happ_crm_deal_create` — Создать сделку/заказ в CRM Happ и во внешней CRM (через outbox с повторами). Сначала найди или создай контакт. (POST /crm/deals)
- `happ_crm_deal_update` — Сменить стадию, название, сумму или причину потери у одной сделки. Стадия — id из happ_crm_schema. Изменение уезжает во внешнюю CRM, если адаптер это умеет. Обязательно передавай dealTitle (название сделки) и stageName (название новой ст…
- `happ_crm_lead_create` — Создать ЛИД (заявку, обращение, inquiry) в CRM Happ и во внешней CRM. «Заявка», «звернення», «лид», «запрос», «inquiry» — это лид, не сделка: у RO App / Uspacy / KeepinCRM / Creatio / Zoho заявки и сделки — разные сущности. Заказ, сделка…
- `happ_crm_lead_update` — Сменить стадию, название, сумму или причину потери у одного ЛИДА (заявки). Стадия — id из happ_crm_schema (воронка с entity=lead). Изменение уезжает во внешнюю CRM, если адаптер это умеет. Обязательно передавай leadTitle и stageName — он…
- `happ_crm_note_add` — Заметка к контакту, сделке или лиду (нужен хотя бы один id). Попадёт в ленту активностей и во внешнюю CRM как комментарий. (POST /crm/notes)
- `happ_crm_pull_setup` — Подготовка pull-кампании: что умеет CRM (воронки, точность «дней на стадии»), какие поля и операторы доступны для условий, список воронок/статусов. Поддерживаются только keycrm, nethunt, salesdrive — для других CRM отвечай честно, что вы…
- `happ_crm_pull_source_create` — Создаёт pull-источник: записи CRM (keycrm, nethunt, salesdrive) по условиям попадают в очередь обзвона — первый импорт стартует сразу, и если очередь запущена, начнутся реальные звонки. Перед созданием: happ_crm_pull_setup → happ_crm_pul…
- `happ_crm_pull_source_resume` — Снимает паузу и сразу запускает прогон (сбрасывает счётчик ошибок). (POST /crm-pull/sources/:id/resume)
- `happ_crm_pull_source_update` — Меняет название, условия, расписание, дедупликацию или лимит pull-источника. CRM и очередь поменять нельзя — создай новый источник. (PATCH /crm-pull/sources/:id)
- `happ_crm_sync_enable` — Включить зеркалирование подключённой CRM в Happ: стартует первичный импорт (справочники → контакты → лиды → сделки), дальше дельта каждые несколько минут. Одна компания — одна CRM. companyIntegrationId — из happ_integrations_list (только…
- `happ_folder_create` — Создаёт папку для группировки ассистентов. (POST /assistant-folders-new)
- `happ_folder_move_assistant` — Перемещает ассистента в папку или убирает из папки. folderId не указан — ассистент остаётся без папки. (POST /assistant-folders-new/add-assistant)
- `happ_folder_update` — Обновляет папку ассистентов. (PATCH /assistant-folders-new/:id)
- `happ_integration_update` — Обновляет config интеграции/канала или включает её обратно (isActive=true). Паузы у интеграций в Happ нет: isActive=false отклоняется — «отключить интеграцию» = happ_integration_delete (в кабинете кнопка «Отключить» удаляет подключение),…
- `happ_knowledge_create` — Добавляет запись в базу знаний ассистента: текст (type=text + resourceContent), ссылку (type=url + resourceUrl) или загруженный файл (type=file + fileId — текст извлекается платформой, перепечатывать содержимое не нужно). (POST /assistan…
- `happ_knowledge_update` — Обновляет запись базы знаний. Системные записи менять нельзя. (PATCH /assistant-knowledge-new/:id)
- `happ_message_style_create` — Создаёт свой стиль переписывания сообщений: название, инструкции для LLM, язык, длина (shorter / same / longer), эмодзи, подпись, видимость (personal / team). (POST /message-styles)
- `happ_message_style_update` — Частично обновляет свой стиль сообщений (системные стили менять нельзя). (PATCH /message-styles/:id)
- `happ_notification_preferences_set` — Меняет личные настройки уведомлений пользователя в компании: уровень (all / important / none), ежедневный дайджест и час его отправки. (PATCH /notification-preferences)
- `happ_notification_rules_set` — Меняет правила уведомлений канала (Telegram-push / Slack-push / mobile push / email) безопасно: читает текущий блок, применяет изменения и записывает целиком (остальные правила и отметки дайджестов сохраняются). aiDialogs — пуши о заверш…
- `happ_permissions_set` — Полностью заменяет права участника. Каждое право: accessLevel (read|write) + scopeType (product|assistant|company_integration) + соответствующий ключ: productKey (analytics|calls|assistants|chats|integrations|billing|crm), assistantId ил…
- `happ_phone_attach` — Привязывает существующий телефон к ассистенту. (POST /assistant-phones-new/attach)
- `happ_phone_create` — Регистрирует SIP-телефон клиента. Happ НЕ выдаёт номера: нужны реальные данные SIP-транка, которые клиент получил у своего провайдера телефонии (номер, логин, пароль, хост). Никогда не подставляй примеры — спроси данные у пользователя. К…
- `happ_phone_update` — Обновляет SIP-настройки телефона. Передавай только изменяемые поля. Если телефон привязан к ассистенту — VA-регистрация пере-синкнется. (PATCH /assistant-phones-new/:id)
- `happ_playground_send` — Отправляет сообщение в playground-чат от имени клиента и ЖДЁТ ответ ассистента (до ~30 с) — возвращает его в поле reply. Так проверяют, как ассистент отвечает: приветствие, реакцию на вопрос, соблюдение промпта. Если reply=null — ответ н…
- `happ_profile_phone_set` — Сохраняет контактный телефон в профиль текущего пользователя (раздел Аккаунт), чтобы обращения в поддержку и заявки больше его не спрашивали. Только телефон, который человек назвал сам и согласился запомнить. (PATCH /users/:id)
- `happ_quick_reply_create` — Создаёт шаблон быстрого ответа для операторов чата. Название словами (в т.ч. кириллицей, с пробелами) — это title; shortcut — необязательный короткий латинский код для вставки (например price), без пробелов и кириллицы; если пользователь…
- `happ_quick_reply_folder_create` — Создаёт папку для группировки быстрых ответов. (POST /quick-replies/folders)
- `happ_quick_reply_update` — Частично обновляет быстрый ответ: текст, название, шорткат, папку, видимость, закрепление. (PATCH /quick-replies/:id)
- `happ_report_schedule_delete` — Удаляет расписание. Уже собранные отчёты остаются. (DELETE /conversation-analytics/report-schedules/:id)
- `happ_report_schedule_set` — Ставит отчёт на расписание: раз в неделю или раз в месяц. КАЖДЫЙ выпуск разбирает разговоры периода и списывает кредиты — цена считается на момент запуска и зависит от объёма. Скажи об этом человеку до вызова. (POST /conversation-analyti…
- `happ_sheets_pull_setup` — Что нужно, чтобы обзванивать контакты из Google-таблицы: email сервис-аккаунта, которому пользователь должен открыть доступ «Читатель» (таблице «всем по ссылке» шаринг не нужен), лимит строк за прогон и порог подтверждения. Начинай с это…
- `happ_sheets_pull_source_create` — Создаёт источник: строки листа с номером в phoneColumn попадают в очередь обзвона, mapped-колонки становятся переменными промпта. Первый импорт стартует сразу, и если очередь запущена, начнутся реальные звонки. Перед созданием: happ_shee…
- `happ_sheets_pull_source_resume` — Снимает паузу или статус broken (после того как пользователь починил таблицу) и сразу запускает прогон. (POST /sheets-pull/sources/:id/resume)
- `happ_sheets_pull_source_update` — Меняет название, таблицу/лист, колонку телефона, маппинг, расписание или дедупликацию источника. Очередь поменять нельзя — создай новый источник. Смена таблицы/колонок проверяется чтением листа. (PATCH /sheets-pull/sources/:id)
- `happ_slack_push_connect_url` — Ссылка авторизации Slack для компании. Открывает её человек: Slack сам показывает выбор канала и возвращает incoming-webhook, привязанный именно к нему. Этой же ссылкой подключают ВТОРОЙ канал и переподключают workspace — сам по себе кан…
- `happ_slack_push_destinations` — Каналы, куда компания может слать уведомления, и текущая маршрутизация по видам событий . Канал появляется здесь после авторизации в Slack, где его выбрал человек. (GET /slack-push-notifications/:companyId/destinations)
- `happ_slack_push_destinations_set` — Задаёт каналы по видам событий. aiDialogs — завершённые диалоги и звонки, handoff — передача разговора менеджеру. Список каналов: id из happ_slack_push_destinations. Канал появляется там после того, как его выбрали в окне Slack при подкл…
- `happ_slack_push_link_create` — Создаёт ссылку, POST на которую доставляет сообщение в выбранные каналы Slack . Тело запроса: {"text": "..."} либо произвольный JSON — он отрендерится построчно. Типичное применение: вебхук-инструмент ассистента шлёт карточку лида. ВАЖНО…
- `happ_slack_push_link_delete` — Удаляет ссылку. Необратимо: её токен сразу перестаёт работать. Чтобы временно заглушить ссылку, не удаляя — happ_slack_push_link_update с destinations: []. (DELETE /slack-push-notifications/:companyId/webhooks/:webhookId)
- `happ_slack_push_link_rotate` — Выдаёт новый токен вместо старого. Прежняя ссылка перестаёт работать немедленно — после ротации нужно вписать новый url во все инструменты, которые её использовали. Применять при утечке токена или когда url потерян. (POST /slack-push-not…
- `happ_slack_push_link_update` — Меняет название или каналы ссылки. Токен при этом не меняется — уже настроенные инструменты продолжают работать. Список каналов: id из happ_slack_push_destinations. Канал появляется там после того, как его выбрали в окне Slack при подклю…
- `happ_slack_push_links_list` — Ссылки компании: название, каналы, когда создана и когда последний раз использовалась. Сам url не отдаётся никогда — платформа хранит только хэш токена. lastUsedAt — единственный способ убедиться, что инструмент ассистента реально попада…
- `happ_social_comment_get` — Один отзыв, вопрос или комментарий целиком: полный текст, оценка, автор, статус, товар/пост со ссылкой, что выше по ветке и какие ответы уже даны (ассистентом или оператором). (GET /social-comments/:id)
- `happ_social_comment_mode` — Передаёт ветку комментария ассистенту (isUnderAiControl=true) или оператору (false). Применяется к корню ветки, даже если передан id ответа внутри неё. (PATCH /social-comments/:id/mode)
- `happ_social_comment_reply` — Публикует ответ от имени магазина/страницы под отзывом, вопросом или комментарием. Ответ реально появится на площадке — используй осознанно. На Rozetka ответ сначала попадает на модерацию площадки (status=moderation), затем становится re…
- `happ_social_post_update` — Включает или выключает автоматические ответы ассистента на комментарии и вопросы под постом или товаром. (PATCH /social-posts/:id)
- `happ_telegram_bot_connect` — Подключает Telegram-бота как канал компании. Нужен токен бота от @BotFather. (POST /telegram-bot/:companyId/connect)
- `happ_telegram_push_connect` — Выдаёт код авторизации для подключения Telegram Push. Дальше человек должен открыть бота и отправить ему этот код — до этого интеграция неактивна и адресатов у неё нет. (POST /telegram-push-notifications/generate-auth-code)
- `happ_telegram_push_destinations` — Чаты, куда компания может слать уведомления (личка + группы, куда добавлен бот), и текущая маршрутизация по видам событий . Группа появляется здесь после того, как бота добавили в неё. (GET /telegram-push-notifications/:companyId/destina…
- `happ_telegram_push_destinations_set` — Задаёт адресатов по видам событий. aiDialogs — завершённые диалоги и звонки, handoff — передача разговора менеджеру. Список чатов: 'personal' (личка владельца интеграции) и/или telegram chat_id групп из happ_telegram_push_destinations. Н…
- `happ_telegram_push_link_create` — Создаёт ссылку, POST на которую доставляет сообщение в выбранные чаты . Типичное применение: HTTP-инструмент ассистента шлёт уведомление о заказе. Тело запроса: {"text": "..."} либо произвольный JSON — он отрендерится построчно. ВАЖНО: u…
- `happ_telegram_push_link_delete` — Удаляет ссылку. Необратимо: её токен сразу перестаёт работать. Чтобы временно заглушить ссылку, не удаляя — happ_telegram_push_link_update с destinations: []. (DELETE /telegram-push-notifications/:companyId/webhooks/:webhookId)
- `happ_telegram_push_link_rotate` — Выдаёт новый токен вместо старого. Прежняя ссылка перестаёт работать немедленно — после ротации нужно вписать новый url во все инструменты, которые её использовали. Применять при утечке токена или когда url потерян. (POST /telegram-push-…
- `happ_telegram_push_link_update` — Меняет название или адресатов ссылки. Токен при этом не меняется — уже настроенные инструменты продолжают работать. Список чатов: 'personal' (личка владельца интеграции) и/или telegram chat_id групп из happ_telegram_push_destinations. Не…
- `happ_telegram_push_links_list` — Ссылки компании: название, адресаты, когда создана и когда последний раз использовалась. Сам url не отдаётся никогда — платформа хранит только хэш токена. (GET /telegram-push-notifications/:companyId/webhooks)
- `happ_telephony_connect` — Подключает провайдера телефонии. Ключи по провайдерам: binotel — key+secret; phonet — domain+apiKey; ringostat — authKey; unitalk — apiKey. (POST /integrations/<provider>/:companyId/connect)
- `happ_text_campaign_add_recipients` — Добавляет получателей в рассылку. Дубли номеров отбрасываются автоматически (в т.ч. против уже загруженных). Ответ: {received, created, invalid, duplicates}. (POST /text-campaigns/:id/recipients, до 10 000 за запрос)
- `happ_text_campaign_create` — Создаёт текстовую Viber-рассылку через DirectHub-интеграцию ассистента. Кампания создаётся черновиком и НЕ отправляется — запуск отдельным happ_text_campaign_start. text — шаблон: {{плейсхолдеры}} подставляются из variables каждого получ…
- `happ_text_campaign_image_upload` — Загружает картинку рекламной рассылки и возвращает imageUrl для happ_text_campaign_create/update. Источник — ровно один из: filePath (путь к файлу, ~ поддерживается), clipboard=true (картинка из буфера обмена macOS), url (прямая ссылка).…
- `happ_text_campaign_resume` — Возобновляет рассылку из паузы — в т.ч. после автопаузы config_error (см. pauseReason в happ_text_campaign_get): сначала почините интеграцию/токен DirectHub, потом возобновляйте. Отправка продолжится с оставшихся waiting-получателей, дуб…
- `happ_text_campaign_update` — Частичное обновление рассылки. Редактировать можно только черновик или поставленную на паузу кампанию. Наполнение проверяется целиком после слияния: снятие одной только картинки может сделать кампанию невалидной. DirectHub принимает рекл…
- `happ_tool_create` — Создаёт инструмент (function-calling tool) для ассистента — обычно вебхук, который ассистент вызывает во время диалога (запись на приём, проверка заказа и т.п.). (POST /assistant-tools-new)
- `happ_tool_update` — Обновляет инструмент ассистента. (PATCH /assistant-tools-new/:id)
- `happ_whatsapp_connect` — Подключает WhatsApp по номеру телефона через Wasender. (POST /whatsapp-wasender/:companyId/connect)
- `happ_widget_connect` — Создаёт чат-виджет для сайта и сразу возвращает widgetId, testUrl (агент на весь экран — ссылку можно отправить клиенту для теста) и готовый код для вставки (html / gtm / wordpress / nextjs). allowedOrigins — домены сайта без протокола (…
- `happ_widget_update` — Обновляет настройки веб-виджета: название, описание, список доменов (заменяется целиком). Возвращает актуальный код для вставки. (PATCH /widget/:id)

## Related servers

- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Ainumbers Mcp Apps (745 tools) — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Nitrostack (697 tools) — https://policylayer.com/tools/nitrostack.md
- Yaver (678 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Vibecontrols (672 tools) — https://policylayer.com/tools/vibecontrols-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=happ-ai-platform-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/happ-ai-platform-mcp
