22 KiB
22 KiB
Chatwoot Route Source Declarations
Source: ../docs/chatwoot/config/routes.rb
Ruby is unavailable in the current workspace, so this file records static route DSL declarations with source lines. It is a repeatable fallback until bin/rails routes can run.
| Line | Declaration |
|---|---|
| 3 | mount_devise_token_auth_for 'User', at: 'auth', controllers: { |
| 11 | post 'resend_confirmation', to: 'auth/resend_confirmations#create' |
| 19 | get '/app', to: 'dashboard#index' |
| 20 | get '/app/*params', to: 'dashboard#index' |
| 21 | get '/app/accounts/:account_id/settings/inboxes/new/twitter', to: 'dashboard#index', as: 'app_new_twitter_inbox' |
| 22 | get '/app/accounts/:account_id/settings/inboxes/new/microsoft', to: 'dashboard#index', as: 'app_new_microsoft_inbox' |
| 23 | get '/app/accounts/:account_id/settings/inboxes/new/instagram', to: 'dashboard#index', as: 'app_new_instagram_inbox' |
| 24 | get '/app/accounts/:account_id/settings/inboxes/new/tiktok', to: 'dashboard#index', as: 'app_new_tiktok_inbox' |
| 25 | get '/app/accounts/:account_id/settings/inboxes/new/:inbox_id/agents', to: 'dashboard#index', as: 'app_twitter_inbox_agents' |
| 26 | get '/app/accounts/:account_id/settings/inboxes/new/:inbox_id/agents', to: 'dashboard#index', as: 'app_email_inbox_agents' |
| 27 | get '/app/accounts/:account_id/settings/inboxes/new/:inbox_id/agents', to: 'dashboard#index', as: 'app_instagram_inbox_agents' |
| 28 | get '/app/accounts/:account_id/settings/inboxes/new/:inbox_id/agents', to: 'dashboard#index', as: 'app_tiktok_inbox_agents' |
| 29 | get '/app/accounts/:account_id/settings/inboxes/:inbox_id', to: 'dashboard#index', as: 'app_instagram_inbox_settings' |
| 30 | get '/app/accounts/:account_id/settings/inboxes/:inbox_id', to: 'dashboard#index', as: 'app_tiktok_inbox_settings' |
| 31 | get '/app/accounts/:account_id/settings/inboxes/:inbox_id', to: 'dashboard#index', as: 'app_email_inbox_settings' |
| 32 | get '/app/accounts/:account_id/onboarding/inbox-setup', to: 'dashboard#index', as: 'app_onboarding_inbox_setup' |
| 34 | resource :widget, only: [:show] |
| 35 | namespace :survey do |
| 36 | resources :responses, only: [:show] |
| 38 | resource :slack_uploads, only: [:show] |
| 41 | get '/health', to: 'health#show' |
| 42 | get '/api', to: 'api#index' |
| 43 | namespace :api, defaults: { format: 'json' } do |
| 44 | namespace :v1 do |
| 47 | resources :accounts, only: [:create, :show, :update] do |
| 49 | post :update_active_at |
| 50 | get :cache_keys |
| 53 | scope module: :accounts do |
| 54 | namespace :actions do |
| 55 | resource :contact_merge, only: [:create] |
| 57 | resource :bulk_actions, only: [:create] |
| 58 | resource :onboarding, only: [:update] do |
| 59 | get :help_center_generation |
| 61 | resources :agents, only: [:index, :create, :update, :destroy] do |
| 62 | post :bulk_create, on: :collection |
| 64 | namespace :captain do |
| 65 | resource :preferences, only: [:show, :update] |
| 66 | resources :assistants do |
| 68 | post :playground |
| 69 | get :stats |
| 70 | get :summary |
| 71 | get :drilldown |
| 74 | get :tools |
| 76 | resources :inboxes, only: [:index, :create, :destroy], param: :inbox_id |
| 77 | resources :scenarios |
| 79 | resources :assistant_responses |
| 80 | resources :message_reports, only: [:create] |
| 81 | resources :bulk_actions, only: [:create] |
| 82 | resources :copilot_threads, only: [:index, :create] do |
| 83 | resources :copilot_messages, only: [:index, :create] |
| 85 | resources :custom_tools do |
| 86 | post :test, on: :collection |
| 88 | resources :documents, only: [:index, :show, :create, :destroy] do |
| 89 | post :sync, on: :member |
| 91 | resource :tasks, only: [], controller: 'tasks' do |
| 92 | post :rewrite |
| 93 | post :summarize |
| 94 | post :reply_suggestion |
| 95 | post :label_suggestion |
| 96 | post :follow_up |
| 99 | resource :saml_settings, only: [:show, :create, :update, :destroy] |
| 100 | resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do |
| 101 | delete :avatar, on: :member |
| 102 | post :reset_access_token, on: :member |
| 103 | post :reset_secret, on: :member |
| 105 | resources :contact_inboxes, only: [] do |
| 107 | post :filter |
| 110 | resources :assignable_agents, only: [:index] |
| 111 | resource :audit_logs, only: [:show] |
| 112 | resources :callbacks, only: [] do |
| 114 | post :register_facebook_page |
| 115 | get :register_facebook_page |
| 116 | post :facebook_pages |
| 117 | post :reauthorize_page |
| 120 | resources :canned_responses, only: [:index, :create, :update, :destroy] |
| 121 | resources :automation_rules, only: [:index, :create, :show, :update, :destroy] do |
| 122 | post :clone |
| 124 | resources :macros, only: [:index, :create, :show, :update, :destroy] do |
| 125 | post :execute, on: :member |
| 127 | resources :sla_policies, only: [:index, :create, :show, :update, :destroy] |
| 128 | resources :custom_roles, only: [:index, :create, :show, :update, :destroy] |
| 129 | resources :agent_capacity_policies, only: [:index, :create, :show, :update, :destroy] do |
| 130 | scope module: :agent_capacity_policies do |
| 131 | resources :users, only: [:index, :create, :destroy] |
| 132 | resources :inbox_limits, only: [:create, :update, :destroy] |
| 135 | resources :campaigns, only: [:index, :create, :show, :update, :destroy] |
| 136 | resources :dashboard_apps, only: [:index, :show, :create, :update, :destroy] |
| 137 | namespace :channels do |
| 138 | resource :twilio_channel, only: [:create] |
| 140 | resources :conversations, only: [:index, :create, :show, :update, :destroy] do |
| 142 | get :meta |
| 143 | get :search |
| 144 | get :unread_counts, to: 'conversations/unread_counts#index' |
| 145 | post :filter |
| 147 | scope module: :conversations do |
| 148 | resources :messages, only: [:index, :create, :destroy, :update] do |
| 150 | post :translate |
| 151 | post :retry |
| 154 | resources :assignments, only: [:create] |
| 155 | resources :labels, only: [:create, :index] |
| 156 | resource :participants, only: [:show, :create, :update, :destroy] |
| 157 | resource :direct_uploads, only: [:create] |
| 158 | resource :draft_messages, only: [:show, :update, :destroy] |
| 161 | post :mute |
| 162 | post :unmute |
| 163 | post :transcript |
| 164 | post :toggle_status |
| 165 | post :toggle_priority |
| 166 | post :toggle_typing_status |
| 167 | post :update_last_seen |
| 168 | post :unread |
| 169 | post :custom_attributes |
| 170 | get :attachments |
| 171 | get :inbox_assistant |
| 172 | get :reporting_events if ChatwootApp.enterprise? |
| 176 | resources :search, only: [:index] do |
| 178 | get :conversations |
| 179 | get :messages |
| 180 | get :contacts |
| 181 | get :articles |
| 185 | resources :companies, only: [:index, :show, :create, :update, :destroy] do |
| 187 | get :search |
| 190 | post :destroy_custom_attributes |
| 191 | delete :avatar |
| 193 | scope module: :companies do |
| 194 | resources :contacts, only: [:index, :create, :destroy] do |
| 196 | get :search |
| 199 | resources :conversations, only: [:index] |
| 200 | resources :notes, only: [:index] |
| 203 | resources :contacts, only: [:index, :show, :update, :create, :destroy] do |
| 205 | get :active |
| 206 | get :search |
| 207 | post :filter |
| 208 | post :import |
| 209 | post :export |
| 212 | get :contactable_inboxes |
| 213 | post :destroy_custom_attributes |
| 214 | delete :avatar |
| 216 | scope module: :contacts do |
| 217 | resources :conversations, only: [:index] |
| 218 | resources :contact_inboxes, only: [:create] |
| 219 | resources :labels, only: [:create, :index] |
| 220 | resources :notes |
| 221 | get :attachments, to: 'attachments#index' |
| 222 | post :call, on: :member, to: 'calls#create' if ChatwootApp.enterprise? |
| 225 | resources :csat_survey_responses, only: [:index] do |
| 227 | get :metrics |
| 228 | get :download |
| 231 | patch :update if ChatwootApp.enterprise? |
| 234 | resources :applied_slas, only: [:index] do |
| 236 | get :metrics |
| 237 | get :download |
| 240 | resources :reporting_events, only: [:index] if ChatwootApp.enterprise? |
| 243 | resources :calls, only: [:index] |
| 244 | resources :whatsapp_calls, only: [:show] do |
| 246 | post :accept |
| 247 | post :reject |
| 248 | post :terminate |
| 249 | post :upload_recording |
| 252 | post :initiate |
| 257 | resources :custom_attribute_definitions, only: [:index, :show, :create, :update, :destroy] |
| 258 | resources :custom_filters, only: [:index, :show, :create, :update, :destroy] |
| 259 | resources :inboxes, only: [:index, :show, :create, :update, :destroy] do |
| 260 | get :assignable_agents, on: :member |
| 261 | get :campaigns, on: :member |
| 262 | get :agent_bot, on: :member |
| 263 | post :set_agent_bot, on: :member |
| 264 | delete :avatar, on: :member |
| 265 | post :sync_templates, on: :member |
| 266 | get :health, on: :member |
| 267 | post :register_webhook, on: :member |
| 268 | post :reset_secret, on: :member |
| 270 | resource :conference, only: %i[create destroy], controller: 'conference' do |
| 271 | get :token, on: :member |
| 273 | post :enable_whatsapp_calling, on: :member |
| 274 | post :disable_whatsapp_calling, on: :member |
| 275 | post :set_inbound_calls, on: :member |
| 278 | resource :csat_template, only: [:show, :create], controller: 'inbox_csat_templates' do |
| 279 | post :analyze, on: :collection |
| 283 | resources :inbox_members, only: [:create, :show], param: :inbox_id do |
| 285 | delete :destroy |
| 286 | patch :update |
| 289 | resources :labels, only: [:index, :show, :create, :update, :destroy] |
| 291 | resources :notifications, only: [:index, :update, :destroy] do |
| 293 | post :read_all |
| 294 | get :unread_count |
| 295 | post :destroy_all |
| 298 | post :snooze |
| 299 | post :unread |
| 302 | resource :notification_settings, only: [:show, :update] |
| 304 | resources :teams do |
| 305 | resources :team_members, only: [:index, :create] do |
| 307 | delete :destroy |
| 308 | patch :update |
| 314 | resources :assignment_policies do |
| 315 | resources :inboxes, only: [:index, :create, :destroy], module: :assignment_policies |
| 318 | resources :inboxes, only: [] do |
| 319 | resource :assignment_policy, only: [:show, :create, :destroy], module: :inboxes |
| 322 | namespace :twitter do |
| 323 | resource :authorization, only: [:create] |
| 326 | namespace :microsoft do |
| 327 | resource :authorization, only: [:create] |
| 330 | namespace :google do |
| 331 | resource :authorization, only: [:create] |
| 334 | namespace :instagram do |
| 335 | resource :authorization, only: [:create] |
| 338 | namespace :tiktok do |
| 339 | resource :authorization, only: [:create] |
| 342 | namespace :notion do |
| 343 | resource :authorization, only: [:create] |
| 346 | namespace :whatsapp do |
| 347 | resource :authorization, only: [:create] |
| 350 | resources :webhooks, only: [:index, :create, :update, :destroy] |
| 351 | namespace :integrations do |
| 352 | resources :apps, only: [:index, :show] |
| 353 | resources :hooks, only: [:show, :create, :update, :destroy] do |
| 355 | post :process_event |
| 358 | resource :slack, only: [:create, :update, :destroy], controller: 'slack' do |
| 360 | get :list_all_channels |
| 363 | resource :dyte, controller: 'dyte', only: [] do |
| 365 | post :create_a_meeting |
| 366 | post :add_participant_to_meeting |
| 369 | resource :shopify, controller: 'shopify', only: [:destroy] do |
| 371 | post :auth |
| 372 | get :orders |
| 375 | resource :linear, controller: 'linear', only: [] do |
| 377 | delete :destroy |
| 378 | get :teams |
| 379 | get :team_entities |
| 380 | post :create_issue |
| 381 | post :link_issue |
| 382 | post :unlink_issue |
| 383 | get :search_issue |
| 384 | get :linked_issues |
| 387 | resource :notion, controller: 'notion', only: [] do |
| 389 | delete :destroy |
| 393 | resources :portals do |
| 395 | patch :archive |
| 396 | delete :logo |
| 397 | post :send_instructions |
| 398 | get :ssl_status |
| 400 | resources :categories do |
| 401 | post :reorder, on: :collection |
| 403 | namespace :articles do |
| 404 | resource :bulk_actions, only: [] do |
| 405 | post :translate |
| 406 | patch :update_status |
| 407 | patch :update_category |
| 408 | delete :delete_articles |
| 411 | resources :articles do |
| 412 | post :reorder, on: :collection |
| 416 | resources :upload, only: [:create] |
| 422 | namespace :integrations do |
| 423 | resources :webhooks, only: [:create] |
| 427 | post 'auth/saml_login', to: 'auth#saml_login' |
| 429 | resource :profile, only: [:show, :update] do |
| 430 | delete :avatar, on: :collection |
| 432 | post :availability |
| 433 | post :auto_offline |
| 434 | put :set_active_account |
| 435 | post :resend_confirmation |
| 436 | post :reset_access_token |
| 440 | scope module: 'profile' do |
| 441 | resource :mfa, controller: 'mfa', only: [:show, :create, :destroy] do |
| 442 | post :verify |
| 443 | post :backup_codes |
| 445 | resources :sessions, only: [:index, :destroy] |
| 449 | resource :notification_subscriptions, only: [:create, :destroy] |
| 451 | namespace :widget do |
| 452 | resource :direct_uploads, only: [:create] |
| 453 | resource :config, only: [:create] |
| 454 | resources :campaigns, only: [:index] |
| 455 | resources :events, only: [:create] |
| 456 | resources :messages, only: [:index, :create, :update] |
| 457 | resources :conversations, only: [:index, :create] do |
| 459 | post :destroy_custom_attributes |
| 460 | post :set_custom_attributes |
| 461 | post :update_last_seen |
| 462 | post :toggle_typing |
| 463 | post :transcript |
| 464 | get :toggle_status |
| 467 | resource :contact, only: [:show, :update] do |
| 469 | post :destroy_custom_attributes |
| 470 | patch :set_user |
| 473 | resources :inbox_members, only: [:index] |
| 474 | resources :labels, only: [:create, :destroy] |
| 475 | namespace :integrations do |
| 476 | resource :dyte, controller: 'dyte', only: [] do |
| 478 | post :add_participant_to_meeting |
| 485 | namespace :v2 do |
| 486 | resources :accounts, only: [:create] do |
| 487 | scope module: :accounts do |
| 488 | resources :summary_reports, only: [] do |
| 490 | get :agent |
| 491 | get :team |
| 492 | get :inbox |
| 493 | get :label |
| 494 | get :channel |
| 497 | resources :reports, only: [:index] do |
| 499 | get :summary |
| 500 | get :bot_summary |
| 501 | get :agents |
| 502 | get :inboxes |
| 503 | get :labels |
| 504 | get :teams |
| 505 | get :conversations |
| 506 | get :conversations_summary |
| 507 | get :conversation_traffic |
| 508 | get :drilldown |
| 509 | get :bot_metrics |
| 510 | get :inbox_label_matrix |
| 511 | get :first_response_time_distribution |
| 512 | get :outgoing_messages_count |
| 515 | resource :year_in_review, only: [:show] |
| 516 | resources :live_reports, only: [] do |
| 518 | get :conversation_metrics |
| 519 | get :grouped_conversation_metrics |
| 528 | namespace :enterprise, defaults: { format: 'json' } do |
| 529 | namespace :api do |
| 530 | namespace :v1 do |
| 531 | resources :accounts do |
| 533 | post :checkout |
| 534 | post :subscription |
| 535 | post :select_billing_currency |
| 536 | get :limits |
| 537 | post :toggle_deletion |
| 538 | post :topup_checkout |
| 539 | get :topup_options |
| 545 | post 'webhooks/stripe', to: 'webhooks/stripe#process_payload' |
| 546 | post 'webhooks/firecrawl', to: 'webhooks/firecrawl#process_payload' |
| 552 | namespace :platform, defaults: { format: 'json' } do |
| 553 | namespace :api do |
| 554 | namespace :v1 do |
| 555 | resources :users, only: [:create, :show, :update, :destroy] do |
| 557 | get :login |
| 558 | post :token |
| 561 | resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do |
| 562 | delete :avatar, on: :member |
| 564 | resources :accounts, only: [:index, :create, :show, :update, :destroy] do |
| 565 | resources :account_users, only: [:index, :create] do |
| 567 | delete :destroy |
| 570 | resources :email_channel_migrations, only: [:create] |
| 578 | namespace :public, defaults: { format: 'json' } do |
| 579 | namespace :api do |
| 580 | namespace :v1 do |
| 581 | resources :inboxes do |
| 582 | scope module: :inboxes do |
| 583 | resources :contacts, only: [:create, :show, :update] do |
| 584 | resources :conversations, only: [:index, :create, :show] do |
| 586 | post :toggle_status |
| 587 | post :toggle_typing |
| 588 | post :update_last_seen |
| 591 | resources :messages, only: [:index, :create, :update] |
| 597 | resources :csat_survey, only: [:show, :update] |
| 602 | get 'hc/:slug', to: 'public/api/v1/portals#show' |
| 603 | get 'hc/:slug/sitemap.xml', to: 'public/api/v1/portals#sitemap' |
| 604 | get 'hc/:slug/:locale', to: 'public/api/v1/portals#show', as: :public_portal_locale |
| 605 | get 'hc/:slug/:locale/search', to: 'public/api/v1/portals/search#index', as: :portal_search |
| 606 | get 'hc/:slug/:locale/articles', to: 'public/api/v1/portals/articles#index' |
| 607 | get 'hc/:slug/:locale/categories', to: 'public/api/v1/portals/categories#index' |
| 608 | get 'hc/:slug/:locale/categories/:category_slug', to: 'public/api/v1/portals/categories#show', as: :public_portal_category |
| 609 | get 'hc/:slug/:locale/categories/:category_slug/articles', to: 'public/api/v1/portals/articles#index' |
| 610 | get 'hc/:slug/articles/:article_slug.png', to: 'public/api/v1/portals/articles#tracking_pixel' |
| 611 | get 'hc/:slug/articles/:article_slug.md', to: 'public/api/v1/portals/articles#show_markdown', as: :public_portal_article_markdown, |
| 613 | get 'hc/:slug/articles/:article_slug', to: 'public/api/v1/portals/articles#show', as: :public_portal_article |
| 617 | resource :app, only: [:index] do |
| 618 | resources :accounts do |
| 619 | resources :conversations, only: [:show] |
| 625 | mount Facebook::Messenger::Server, at: 'bot' |
| 626 | get 'webhooks/twitter', to: 'api/v1/webhooks#twitter_crc' |
| 627 | post 'webhooks/twitter', to: 'api/v1/webhooks#twitter_events' |
| 628 | post 'webhooks/line/:line_channel_id', to: 'webhooks/line#process_payload' |
| 629 | post 'webhooks/telegram/:bot_token', to: 'webhooks/telegram#process_payload' |
| 630 | post 'webhooks/sms/:phone_number', to: 'webhooks/sms#process_payload' |
| 631 | get 'webhooks/whatsapp/:phone_number', to: 'webhooks/whatsapp#verify' |
| 632 | post 'webhooks/whatsapp/:phone_number', to: 'webhooks/whatsapp#process_payload' |
| 633 | get 'webhooks/instagram', to: 'webhooks/instagram#verify' |
| 634 | post 'webhooks/instagram', to: 'webhooks/instagram#events' |
| 635 | post 'webhooks/tiktok', to: 'webhooks/tiktok#events' |
| 636 | post 'webhooks/shopify', to: 'webhooks/shopify#events' |
| 638 | namespace :twitter do |
| 639 | resource :callback, only: [:show] |
| 642 | namespace :linear do |
| 643 | resource :callback, only: [:show] |
| 646 | namespace :shopify do |
| 647 | resource :callback, only: [:show] |
| 650 | namespace :twilio do |
| 651 | resources :callback, only: [:create] |
| 652 | resources :delivery_status, only: [:create] |
| 655 | post 'voice/call/:phone', to: 'voice#call_twiml', as: :voice_call |
| 656 | post 'voice/status/:phone', to: 'voice#status', as: :voice_status |
| 657 | post 'voice/conference_status/:phone', to: 'voice#conference_status', as: :voice_conference_status |
| 658 | post 'voice/recording_status/:phone', to: 'voice#recording_status', as: :voice_recording_status |
| 662 | get 'microsoft/callback', to: 'microsoft/callbacks#show' |
| 663 | get 'google/callback', to: 'google/callbacks#show' |
| 664 | get 'instagram/callback', to: 'instagram/callbacks#show' |
| 665 | get 'tiktok/callback', to: 'tiktok/callbacks#show' |
| 666 | get 'notion/callback', to: 'notion/callbacks#show' |
| 669 | get '.well-known/assetlinks.json' => 'android_app#assetlinks' |
| 670 | get '.well-known/apple-app-site-association' => 'apple_app#site_association' |
| 671 | get '.well-known/microsoft-identity-association.json' => 'microsoft#identity_association' |
| 672 | get '.well-known/cf-custom-hostname-challenge/:id', to: 'custom_domains#verify' |
| 681 | get 'super_admin/logout', to: 'super_admin/devise/sessions#destroy' |
| 682 | namespace :super_admin do |
| 685 | resource :app_config, only: [:show, :create] |
| 686 | resource :push_diagnostics, only: [:show, :create] do |
| 687 | post :destroy_subscriptions, on: :collection |
| 691 | resources :accounts, only: [:index, :new, :create, :show, :edit, :update, :destroy] do |
| 692 | post :seed, on: :member |
| 693 | post :reset_cache, on: :member |
| 695 | resources :users, only: [:index, :new, :create, :show, :edit, :update, :destroy] do |
| 696 | delete :avatar, on: :member, action: :destroy_avatar |
| 699 | resources :access_tokens, only: [:index, :show] |
| 700 | resources :installation_configs, only: [:index, :new, :create, :show, :edit, :update] |
| 701 | resources :agent_bots, only: [:index, :new, :create, :show, :edit, :update, :destroy] do |
| 702 | delete :avatar, on: :member, action: :destroy_avatar |
| 704 | resources :platform_apps, only: [:index, :new, :create, :show, :edit, :update, :destroy] |
| 705 | resources :platform_banners |
| 706 | resource :instance_status, only: [:show] |
| 708 | resource :settings, only: [:show] do |
| 709 | get :refresh, on: :collection |
| 713 | resources :account_users, only: [:new, :create, :show, :destroy] |
| 716 | mount Sidekiq::Web => '/monitoring/sidekiq' |
| 720 | namespace :installation do |
| 721 | get 'onboarding', to: 'onboarding#index' |
| 722 | post 'onboarding', to: 'onboarding#create' |
| 727 | get '/swagger/*path', to: 'swagger#respond' |
| 728 | get '/swagger', to: 'swagger#respond' |
| 732 | resources :widget_tests, only: [:index] unless Rails.env.production? |