Files
gochat/docs/parity/chatwoot_routes_static.md
T

22 KiB

Chatwoot Route Source Declarations

Source: reference/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]
59 resources :agents, only: [:index, :create, :update, :destroy] do
60 post :bulk_create, on: :collection
62 namespace :captain do
63 resource :preferences, only: [:show, :update]
64 resources :assistants do
66 post :playground
69 get :tools
71 resources :inboxes, only: [:index, :create, :destroy], param: :inbox_id
72 resources :scenarios
74 resources :assistant_responses
75 resources :bulk_actions, only: [:create]
76 resources :copilot_threads, only: [:index, :create] do
77 resources :copilot_messages, only: [:index, :create]
79 resources :custom_tools do
80 post :test, on: :collection
82 resources :documents, only: [:index, :show, :create, :destroy] do
83 post :sync, on: :member
85 resource :tasks, only: [], controller: 'tasks' do
86 post :rewrite
87 post :summarize
88 post :reply_suggestion
89 post :label_suggestion
90 post :follow_up
93 resource :saml_settings, only: [:show, :create, :update, :destroy]
94 resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do
95 delete :avatar, on: :member
96 post :reset_access_token, on: :member
97 post :reset_secret, on: :member
99 resources :contact_inboxes, only: [] do
101 post :filter
104 resources :assignable_agents, only: [:index]
105 resource :audit_logs, only: [:show]
106 resources :callbacks, only: [] do
108 post :register_facebook_page
109 get :register_facebook_page
110 post :facebook_pages
111 post :reauthorize_page
114 resources :canned_responses, only: [:index, :create, :update, :destroy]
115 resources :automation_rules, only: [:index, :create, :show, :update, :destroy] do
116 post :clone
118 resources :macros, only: [:index, :create, :show, :update, :destroy] do
119 post :execute, on: :member
121 resources :sla_policies, only: [:index, :create, :show, :update, :destroy]
122 resources :custom_roles, only: [:index, :create, :show, :update, :destroy]
123 resources :agent_capacity_policies, only: [:index, :create, :show, :update, :destroy] do
124 scope module: :agent_capacity_policies do
125 resources :users, only: [:index, :create, :destroy]
126 resources :inbox_limits, only: [:create, :update, :destroy]
129 resources :campaigns, only: [:index, :create, :show, :update, :destroy]
130 resources :dashboard_apps, only: [:index, :show, :create, :update, :destroy]
131 namespace :channels do
132 resource :twilio_channel, only: [:create]
134 resources :conversations, only: [:index, :create, :show, :update, :destroy] do
136 get :meta
137 get :search
138 get :unread_counts, to: 'conversations/unread_counts#index'
139 post :filter
141 scope module: :conversations do
142 resources :messages, only: [:index, :create, :destroy, :update] do
144 post :translate
145 post :retry
148 resources :assignments, only: [:create]
149 resources :labels, only: [:create, :index]
150 resource :participants, only: [:show, :create, :update, :destroy]
151 resource :direct_uploads, only: [:create]
152 resource :draft_messages, only: [:show, :update, :destroy]
155 post :mute
156 post :unmute
157 post :transcript
158 post :toggle_status
159 post :toggle_priority
160 post :toggle_typing_status
161 post :update_last_seen
162 post :unread
163 post :custom_attributes
164 get :attachments
165 get :inbox_assistant
166 get :reporting_events if ChatwootApp.enterprise?
170 resources :search, only: [:index] do
172 get :conversations
173 get :messages
174 get :contacts
175 get :articles
179 resources :companies, only: [:index, :show, :create, :update, :destroy] do
181 get :search
184 post :destroy_custom_attributes
185 delete :avatar
187 scope module: :companies do
188 resources :contacts, only: [:index, :create, :destroy] do
190 get :search
193 resources :conversations, only: [:index]
194 resources :notes, only: [:index]
197 resources :contacts, only: [:index, :show, :update, :create, :destroy] do
199 get :active
200 get :search
201 post :filter
202 post :import
203 post :export
206 get :contactable_inboxes
207 post :destroy_custom_attributes
208 delete :avatar
210 scope module: :contacts do
211 resources :conversations, only: [:index]
212 resources :contact_inboxes, only: [:create]
213 resources :labels, only: [:create, :index]
214 resources :notes
215 get :attachments, to: 'attachments#index'
216 post :call, on: :member, to: 'calls#create' if ChatwootApp.enterprise?
219 resources :csat_survey_responses, only: [:index] do
221 get :metrics
222 get :download
225 patch :update if ChatwootApp.enterprise?
228 resources :applied_slas, only: [:index] do
230 get :metrics
231 get :download
234 resources :reporting_events, only: [:index] if ChatwootApp.enterprise?
237 resources :whatsapp_calls, only: [:show] do
239 post :accept
240 post :reject
241 post :terminate
242 post :upload_recording
245 post :initiate
250 resources :custom_attribute_definitions, only: [:index, :show, :create, :update, :destroy]
251 resources :custom_filters, only: [:index, :show, :create, :update, :destroy]
252 resources :inboxes, only: [:index, :show, :create, :update, :destroy] do
253 get :assignable_agents, on: :member
254 get :campaigns, on: :member
255 get :agent_bot, on: :member
256 post :set_agent_bot, on: :member
257 delete :avatar, on: :member
258 post :sync_templates, on: :member
259 get :health, on: :member
260 post :register_webhook, on: :member
261 post :reset_secret, on: :member
263 resource :conference, only: %i[create destroy], controller: 'conference' do
264 get :token, on: :member
266 post :enable_whatsapp_calling, on: :member
267 post :disable_whatsapp_calling, on: :member
270 resource :csat_template, only: [:show, :create], controller: 'inbox_csat_templates' do
271 post :analyze, on: :collection
275 resources :inbox_members, only: [:create, :show], param: :inbox_id do
277 delete :destroy
278 patch :update
281 resources :labels, only: [:index, :show, :create, :update, :destroy]
283 resources :notifications, only: [:index, :update, :destroy] do
285 post :read_all
286 get :unread_count
287 post :destroy_all
290 post :snooze
291 post :unread
294 resource :notification_settings, only: [:show, :update]
296 resources :teams do
297 resources :team_members, only: [:index, :create] do
299 delete :destroy
300 patch :update
306 resources :assignment_policies do
307 resources :inboxes, only: [:index, :create, :destroy], module: :assignment_policies
310 resources :inboxes, only: [] do
311 resource :assignment_policy, only: [:show, :create, :destroy], module: :inboxes
314 namespace :twitter do
315 resource :authorization, only: [:create]
318 namespace :microsoft do
319 resource :authorization, only: [:create]
322 namespace :google do
323 resource :authorization, only: [:create]
326 namespace :instagram do
327 resource :authorization, only: [:create]
330 namespace :tiktok do
331 resource :authorization, only: [:create]
334 namespace :notion do
335 resource :authorization, only: [:create]
338 namespace :whatsapp do
339 resource :authorization, only: [:create]
342 resources :webhooks, only: [:index, :create, :update, :destroy]
343 namespace :integrations do
344 resources :apps, only: [:index, :show]
345 resources :hooks, only: [:show, :create, :update, :destroy] do
347 post :process_event
350 resource :slack, only: [:create, :update, :destroy], controller: 'slack' do
352 get :list_all_channels
355 resource :dyte, controller: 'dyte', only: [] do
357 post :create_a_meeting
358 post :add_participant_to_meeting
361 resource :shopify, controller: 'shopify', only: [:destroy] do
363 post :auth
364 get :orders
367 resource :linear, controller: 'linear', only: [] do
369 delete :destroy
370 get :teams
371 get :team_entities
372 post :create_issue
373 post :link_issue
374 post :unlink_issue
375 get :search_issue
376 get :linked_issues
379 resource :notion, controller: 'notion', only: [] do
381 delete :destroy
385 resources :portals do
387 patch :archive
388 delete :logo
389 post :send_instructions
390 get :ssl_status
392 resources :categories do
393 post :reorder, on: :collection
395 namespace :articles do
396 resource :bulk_actions, only: [] do
397 post :translate
398 patch :update_status
399 patch :update_category
400 delete :delete_articles
403 resources :articles do
404 post :reorder, on: :collection
408 resources :upload, only: [:create]
414 namespace :integrations do
415 resources :webhooks, only: [:create]
419 post 'auth/saml_login', to: 'auth#saml_login'
421 resource :profile, only: [:show, :update] do
422 delete :avatar, on: :collection
424 post :availability
425 post :auto_offline
426 put :set_active_account
427 post :resend_confirmation
428 post :reset_access_token
432 scope module: 'profile' do
433 resource :mfa, controller: 'mfa', only: [:show, :create, :destroy] do
434 post :verify
435 post :backup_codes
440 resource :notification_subscriptions, only: [:create, :destroy]
442 namespace :widget do
443 resource :direct_uploads, only: [:create]
444 resource :config, only: [:create]
445 resources :campaigns, only: [:index]
446 resources :events, only: [:create]
447 resources :messages, only: [:index, :create, :update]
448 resources :conversations, only: [:index, :create] do
450 post :destroy_custom_attributes
451 post :set_custom_attributes
452 post :update_last_seen
453 post :toggle_typing
454 post :transcript
455 get :toggle_status
458 resource :contact, only: [:show, :update] do
460 post :destroy_custom_attributes
461 patch :set_user
464 resources :inbox_members, only: [:index]
465 resources :labels, only: [:create, :destroy]
466 namespace :integrations do
467 resource :dyte, controller: 'dyte', only: [] do
469 post :add_participant_to_meeting
476 namespace :v2 do
477 resources :accounts, only: [:create] do
478 scope module: :accounts do
479 resources :summary_reports, only: [] do
481 get :agent
482 get :team
483 get :inbox
484 get :label
485 get :channel
488 resources :reports, only: [:index] do
490 get :summary
491 get :bot_summary
492 get :agents
493 get :inboxes
494 get :labels
495 get :teams
496 get :conversations
497 get :conversations_summary
498 get :conversation_traffic
499 get :bot_metrics
500 get :inbox_label_matrix
501 get :first_response_time_distribution
502 get :outgoing_messages_count
505 resource :year_in_review, only: [:show]
506 resources :live_reports, only: [] do
508 get :conversation_metrics
509 get :grouped_conversation_metrics
518 namespace :enterprise, defaults: { format: 'json' } do
519 namespace :api do
520 namespace :v1 do
521 resources :accounts do
523 post :checkout
524 post :subscription
525 get :limits
526 post :toggle_deletion
527 post :topup_checkout
533 post 'webhooks/stripe', to: 'webhooks/stripe#process_payload'
534 post 'webhooks/firecrawl', to: 'webhooks/firecrawl#process_payload'
540 namespace :platform, defaults: { format: 'json' } do
541 namespace :api do
542 namespace :v1 do
543 resources :users, only: [:create, :show, :update, :destroy] do
545 get :login
546 post :token
549 resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do
550 delete :avatar, on: :member
552 resources :accounts, only: [:index, :create, :show, :update, :destroy] do
553 resources :account_users, only: [:index, :create] do
555 delete :destroy
558 resources :email_channel_migrations, only: [:create]
566 namespace :public, defaults: { format: 'json' } do
567 namespace :api do
568 namespace :v1 do
569 resources :inboxes do
570 scope module: :inboxes do
571 resources :contacts, only: [:create, :show, :update] do
572 resources :conversations, only: [:index, :create, :show] do
574 post :toggle_status
575 post :toggle_typing
576 post :update_last_seen
579 resources :messages, only: [:index, :create, :update]
585 resources :csat_survey, only: [:show, :update]
590 get 'hc/:slug', to: 'public/api/v1/portals#show'
591 get 'hc/:slug/sitemap.xml', to: 'public/api/v1/portals#sitemap'
592 get 'hc/:slug/:locale', to: 'public/api/v1/portals#show', as: :public_portal_locale
593 get 'hc/:slug/:locale/search', to: 'public/api/v1/portals/search#index', as: :portal_search
594 get 'hc/:slug/:locale/articles', to: 'public/api/v1/portals/articles#index'
595 get 'hc/:slug/:locale/categories', to: 'public/api/v1/portals/categories#index'
596 get 'hc/:slug/:locale/categories/:category_slug', to: 'public/api/v1/portals/categories#show', as: :public_portal_category
597 get 'hc/:slug/:locale/categories/:category_slug/articles', to: 'public/api/v1/portals/articles#index'
598 get 'hc/:slug/articles/:article_slug.png', to: 'public/api/v1/portals/articles#tracking_pixel'
599 get 'hc/:slug/articles/:article_slug.md', to: 'public/api/v1/portals/articles#show_markdown', as: :public_portal_article_markdown,
601 get 'hc/:slug/articles/:article_slug', to: 'public/api/v1/portals/articles#show', as: :public_portal_article
605 resource :app, only: [:index] do
606 resources :accounts do
607 resources :conversations, only: [:show]
613 mount Facebook::Messenger::Server, at: 'bot'
614 get 'webhooks/twitter', to: 'api/v1/webhooks#twitter_crc'
615 post 'webhooks/twitter', to: 'api/v1/webhooks#twitter_events'
616 post 'webhooks/line/:line_channel_id', to: 'webhooks/line#process_payload'
617 post 'webhooks/telegram/:bot_token', to: 'webhooks/telegram#process_payload'
618 post 'webhooks/sms/:phone_number', to: 'webhooks/sms#process_payload'
619 get 'webhooks/whatsapp/:phone_number', to: 'webhooks/whatsapp#verify'
620 post 'webhooks/whatsapp/:phone_number', to: 'webhooks/whatsapp#process_payload'
621 get 'webhooks/instagram', to: 'webhooks/instagram#verify'
622 post 'webhooks/instagram', to: 'webhooks/instagram#events'
623 post 'webhooks/tiktok', to: 'webhooks/tiktok#events'
624 post 'webhooks/shopify', to: 'webhooks/shopify#events'
626 namespace :twitter do
627 resource :callback, only: [:show]
630 namespace :linear do
631 resource :callback, only: [:show]
634 namespace :shopify do
635 resource :callback, only: [:show]
638 namespace :twilio do
639 resources :callback, only: [:create]
640 resources :delivery_status, only: [:create]
643 post 'voice/call/:phone', to: 'voice#call_twiml', as: :voice_call
644 post 'voice/status/:phone', to: 'voice#status', as: :voice_status
645 post 'voice/conference_status/:phone', to: 'voice#conference_status', as: :voice_conference_status
646 post 'voice/recording_status/:phone', to: 'voice#recording_status', as: :voice_recording_status
650 get 'microsoft/callback', to: 'microsoft/callbacks#show'
651 get 'google/callback', to: 'google/callbacks#show'
652 get 'instagram/callback', to: 'instagram/callbacks#show'
653 get 'tiktok/callback', to: 'tiktok/callbacks#show'
654 get 'notion/callback', to: 'notion/callbacks#show'
657 get '.well-known/assetlinks.json' => 'android_app#assetlinks'
658 get '.well-known/apple-app-site-association' => 'apple_app#site_association'
659 get '.well-known/microsoft-identity-association.json' => 'microsoft#identity_association'
660 get '.well-known/cf-custom-hostname-challenge/:id', to: 'custom_domains#verify'
669 get 'super_admin/logout', to: 'super_admin/devise/sessions#destroy'
670 namespace :super_admin do
673 resource :app_config, only: [:show, :create]
674 resource :push_diagnostics, only: [:show, :create] do
675 post :destroy_subscriptions, on: :collection
679 resources :accounts, only: [:index, :new, :create, :show, :edit, :update, :destroy] do
680 post :seed, on: :member
681 post :reset_cache, on: :member
683 resources :users, only: [:index, :new, :create, :show, :edit, :update, :destroy] do
684 delete :avatar, on: :member, action: :destroy_avatar
687 resources :access_tokens, only: [:index, :show]
688 resources :installation_configs, only: [:index, :new, :create, :show, :edit, :update]
689 resources :agent_bots, only: [:index, :new, :create, :show, :edit, :update, :destroy] do
690 delete :avatar, on: :member, action: :destroy_avatar
692 resources :platform_apps, only: [:index, :new, :create, :show, :edit, :update, :destroy]
693 resources :platform_banners
694 resource :instance_status, only: [:show]
696 resource :settings, only: [:show] do
697 get :refresh, on: :collection
701 resources :account_users, only: [:new, :create, :show, :destroy]
704 mount Sidekiq::Web => '/monitoring/sidekiq'
708 namespace :installation do
709 get 'onboarding', to: 'onboarding#index'
710 post 'onboarding', to: 'onboarding#create'
715 get '/swagger/*path', to: 'swagger#respond'
716 get '/swagger', to: 'swagger#respond'
720 resources :widget_tests, only: [:index] unless Rails.env.production?