16 KiB
Route Parity Report
Generated from:
- GoChat route dump:
docs/parity/gochat_routes.txt - Chatwoot route source:
reference/chatwoot/config/routes.rb
This first report covers frontend-critical API v1 account routes from reference/chatwoot/config/routes.rb. Ruby is not installed in the workspace, so Chatwoot routes are sourced from static route declarations instead of bin/rails routes.
Summary: 81 exact, 0 method-compatible, 0 parameter-compatible, 0 missing out of 81 tracked critical routes.
Missing Critical Routes
| Method | Chatwoot Path | GoChat Match | Controller | Source | Status |
|---|---|---|---|---|---|
| - | - | - | - | - | none |
Method-Compatible Routes
These routes exist at the same path but with a compatible HTTP method. Rails resource update routes expose both PATCH and PUT; GoChat currently exposes only one method for some update endpoints. Keep these tracked until both methods are registered or the frontend is proven to call only the implemented method.
| Method | Chatwoot Path | GoChat Match | Controller | Source | Status |
|---|---|---|---|---|---|
| - | - | - | - | - | none |
Parameter-Compatible Routes
These routes exist with equivalent method and path shape but different parameter names. They need handler/serializer parity review, and exact external path compatibility must be preserved.
| Method | Chatwoot Path | GoChat Match | Controller | Source | Status |
|---|---|---|---|---|---|
| - | - | - | - | - | none |
Exact Critical Routes
| Method | Chatwoot Path | GoChat Match | Controller | Source | Status |
|---|---|---|---|---|---|
| DELETE | /api/v1/accounts/:account_id/automation_rules/:automation_id |
/api/v1/accounts/:account_id/automation_rules/:automation_id |
api/v1/accounts/automation_rules#destroy |
routes.rb:115 |
exact |
| DELETE | /api/v1/accounts/:account_id/companies/:company_id |
/api/v1/accounts/:account_id/companies/:company_id |
api/v1/accounts/companies#destroy |
routes.rb:179 |
exact |
| DELETE | /api/v1/accounts/:account_id/companies/:company_id/contacts/:contact_id |
/api/v1/accounts/:account_id/companies/:company_id/contacts/:contact_id |
api/v1/accounts/companies/contacts#destroy |
routes.rb:188 |
exact |
| DELETE | /api/v1/accounts/:account_id/contacts/:contact_id |
/api/v1/accounts/:account_id/contacts/:contact_id |
api/v1/accounts/contacts#destroy |
routes.rb:197 |
exact |
| DELETE | /api/v1/accounts/:account_id/conversations/:conversation_id |
/api/v1/accounts/:account_id/conversations/:conversation_id |
api/v1/accounts/conversations#destroy |
routes.rb:134 |
exact |
| DELETE | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id |
api/v1/accounts/conversations/messages#destroy |
routes.rb:142 |
exact |
| DELETE | /api/v1/accounts/:account_id/inboxes/:inbox_id |
/api/v1/accounts/:account_id/inboxes/:inbox_id |
api/v1/accounts/inboxes#destroy |
routes.rb:252 |
exact |
| DELETE | /api/v1/accounts/:account_id/macros/:macro_id |
/api/v1/accounts/:account_id/macros/:macro_id |
api/v1/accounts/macros#destroy |
routes.rb:118 |
exact |
| DELETE | /api/v1/accounts/:account_id/sla_policies/:id |
/api/v1/accounts/:account_id/sla_policies/:id |
api/v1/accounts/sla_policies#destroy |
routes.rb:121 |
exact |
| GET | /api/v1/accounts/:account_id |
/api/v1/accounts/:account_id |
api/v1/accounts#show |
routes.rb:47 |
exact |
| GET | /api/v1/accounts/:account_id/agent_capacity_policies/ |
/api/v1/accounts/:account_id/agent_capacity_policies/ |
api/v1/accounts/agent_capacity_policies#index |
routes.rb:123 |
exact |
| GET | /api/v1/accounts/:account_id/automation_rules/ |
/api/v1/accounts/:account_id/automation_rules/ |
api/v1/accounts/automation_rules#index |
routes.rb:115 |
exact |
| GET | /api/v1/accounts/:account_id/automation_rules/:automation_id |
/api/v1/accounts/:account_id/automation_rules/:automation_id |
api/v1/accounts/automation_rules#show |
routes.rb:115 |
exact |
| GET | /api/v1/accounts/:account_id/cache_keys |
/api/v1/accounts/:account_id/cache_keys |
api/v1/accounts#cache_keys |
routes.rb:50 |
exact |
| GET | /api/v1/accounts/:account_id/companies/ |
/api/v1/accounts/:account_id/companies/ |
api/v1/accounts/companies#index |
routes.rb:179 |
exact |
| GET | /api/v1/accounts/:account_id/companies/:company_id |
/api/v1/accounts/:account_id/companies/:company_id |
api/v1/accounts/companies#show |
routes.rb:179 |
exact |
| GET | /api/v1/accounts/:account_id/companies/:company_id/contacts |
/api/v1/accounts/:account_id/companies/:company_id/contacts |
api/v1/accounts/companies/contacts#index |
routes.rb:188 |
exact |
| GET | /api/v1/accounts/:account_id/companies/search |
/api/v1/accounts/:account_id/companies/search |
api/v1/accounts/companies#search |
routes.rb:181 |
exact |
| GET | /api/v1/accounts/:account_id/contacts/ |
/api/v1/accounts/:account_id/contacts/ |
api/v1/accounts/contacts#index |
routes.rb:197 |
exact |
| GET | /api/v1/accounts/:account_id/contacts/:contact_id |
/api/v1/accounts/:account_id/contacts/:contact_id |
api/v1/accounts/contacts#show |
routes.rb:197 |
exact |
| GET | /api/v1/accounts/:account_id/contacts/:contact_id/conversations |
/api/v1/accounts/:account_id/contacts/:contact_id/conversations |
api/v1/accounts/contacts/conversations#index |
routes.rb:211 |
exact |
| GET | /api/v1/accounts/:account_id/contacts/:contact_id/notes |
/api/v1/accounts/:account_id/contacts/:contact_id/notes |
api/v1/accounts/contacts/notes#index |
routes.rb:214 |
exact |
| GET | /api/v1/accounts/:account_id/contacts/search |
/api/v1/accounts/:account_id/contacts/search |
api/v1/accounts/contacts#search |
routes.rb:201 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/ |
/api/v1/accounts/:account_id/conversations/ |
api/v1/accounts/conversations#index |
routes.rb:134 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/:conversation_id |
/api/v1/accounts/:account_id/conversations/:conversation_id |
api/v1/accounts/conversations#show |
routes.rb:134 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/:conversation_id/labels |
/api/v1/accounts/:account_id/conversations/:conversation_id/labels |
api/v1/accounts/conversations/labels#index |
routes.rb:149 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/ |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/ |
api/v1/accounts/conversations/messages#index |
routes.rb:142 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/meta |
/api/v1/accounts/:account_id/conversations/meta |
api/v1/accounts/conversations#meta |
routes.rb:136 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/search |
/api/v1/accounts/:account_id/conversations/search |
api/v1/accounts/conversations#search |
routes.rb:137 |
exact |
| GET | /api/v1/accounts/:account_id/conversations/unread_counts |
/api/v1/accounts/:account_id/conversations/unread_counts |
api/v1/accounts/conversations/unread_counts#index |
routes.rb:138 |
exact |
| GET | /api/v1/accounts/:account_id/csat_survey_responses/ |
/api/v1/accounts/:account_id/csat_survey_responses/ |
api/v1/accounts/csat_survey_responses#index |
routes.rb:219 |
exact |
| GET | /api/v1/accounts/:account_id/csat_survey_responses/metrics |
/api/v1/accounts/:account_id/csat_survey_responses/metrics |
api/v1/accounts/csat_survey_responses#metrics |
routes.rb:221 |
exact |
| GET | /api/v1/accounts/:account_id/custom_roles/ |
/api/v1/accounts/:account_id/custom_roles/ |
api/v1/accounts/custom_roles#index |
routes.rb:122 |
exact |
| GET | /api/v1/accounts/:account_id/inboxes/ |
/api/v1/accounts/:account_id/inboxes/ |
api/v1/accounts/inboxes#index |
routes.rb:252 |
exact |
| GET | /api/v1/accounts/:account_id/inboxes/:inbox_id |
/api/v1/accounts/:account_id/inboxes/:inbox_id |
api/v1/accounts/inboxes#show |
routes.rb:252 |
exact |
| GET | /api/v1/accounts/:account_id/inboxes/:inbox_id/assignable_agents |
/api/v1/accounts/:account_id/inboxes/:inbox_id/assignable_agents |
api/v1/accounts/inboxes#assignable_agents |
routes.rb:253 |
exact |
| GET | /api/v1/accounts/:account_id/inboxes/:inbox_id/campaigns |
/api/v1/accounts/:account_id/inboxes/:inbox_id/campaigns |
api/v1/accounts/inboxes#campaigns |
routes.rb:254 |
exact |
| GET | /api/v1/accounts/:account_id/macros/ |
/api/v1/accounts/:account_id/macros/ |
api/v1/accounts/macros#index |
routes.rb:118 |
exact |
| GET | /api/v1/accounts/:account_id/macros/:macro_id |
/api/v1/accounts/:account_id/macros/:macro_id |
api/v1/accounts/macros#show |
routes.rb:118 |
exact |
| GET | /api/v1/accounts/:account_id/search |
/api/v1/accounts/:account_id/search |
api/v1/accounts/search#index |
routes.rb:170 |
exact |
| GET | /api/v1/accounts/:account_id/search/articles |
/api/v1/accounts/:account_id/search/articles |
api/v1/accounts/search#articles |
routes.rb:176 |
exact |
| GET | /api/v1/accounts/:account_id/search/contacts |
/api/v1/accounts/:account_id/search/contacts |
api/v1/accounts/search#contacts |
routes.rb:175 |
exact |
| GET | /api/v1/accounts/:account_id/search/conversations |
/api/v1/accounts/:account_id/search/conversations |
api/v1/accounts/search#conversations |
routes.rb:173 |
exact |
| GET | /api/v1/accounts/:account_id/search/messages |
/api/v1/accounts/:account_id/search/messages |
api/v1/accounts/search#messages |
routes.rb:174 |
exact |
| GET | /api/v1/accounts/:account_id/sla_policies |
/api/v1/accounts/:account_id/sla_policies |
api/v1/accounts/sla_policies#index |
routes.rb:121 |
exact |
| GET | /api/v1/accounts/:account_id/sla_policies/:id |
/api/v1/accounts/:account_id/sla_policies/:id |
api/v1/accounts/sla_policies#show |
routes.rb:121 |
exact |
| POST | /api/v1/accounts/ |
/api/v1/accounts/ |
api/v1/accounts#create |
routes.rb:47 |
exact |
| POST | /api/v1/accounts/:account_id/automation_rules/ |
/api/v1/accounts/:account_id/automation_rules/ |
api/v1/accounts/automation_rules#create |
routes.rb:115 |
exact |
| POST | /api/v1/accounts/:account_id/automation_rules/:automation_id/clone |
/api/v1/accounts/:account_id/automation_rules/:automation_id/clone |
api/v1/accounts/automation_rules#clone |
routes.rb:116 |
exact |
| POST | /api/v1/accounts/:account_id/companies/ |
/api/v1/accounts/:account_id/companies/ |
api/v1/accounts/companies#create |
routes.rb:179 |
exact |
| POST | /api/v1/accounts/:account_id/companies/:company_id/contacts/:contact_id |
/api/v1/accounts/:account_id/companies/:company_id/contacts/:contact_id |
api/v1/accounts/companies/contacts#create |
routes.rb:188 |
exact |
| POST | /api/v1/accounts/:account_id/contacts/ |
/api/v1/accounts/:account_id/contacts/ |
api/v1/accounts/contacts#create |
routes.rb:197 |
exact |
| POST | /api/v1/accounts/:account_id/contacts/:contact_id/notes |
/api/v1/accounts/:account_id/contacts/:contact_id/notes |
api/v1/accounts/contacts/notes#create |
routes.rb:214 |
exact |
| POST | /api/v1/accounts/:account_id/contacts/export |
/api/v1/accounts/:account_id/contacts/export |
api/v1/accounts/contacts#export |
routes.rb:204 |
exact |
| POST | /api/v1/accounts/:account_id/contacts/filter |
/api/v1/accounts/:account_id/contacts/filter |
api/v1/accounts/contacts#filter |
routes.rb:202 |
exact |
| POST | /api/v1/accounts/:account_id/contacts/import |
/api/v1/accounts/:account_id/contacts/import |
api/v1/accounts/contacts#import |
routes.rb:203 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/ |
/api/v1/accounts/:account_id/conversations/ |
api/v1/accounts/conversations#create |
routes.rb:134 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/assignments |
/api/v1/accounts/:account_id/conversations/:conversation_id/assignments |
api/v1/accounts/conversations/assignments#create |
routes.rb:148 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/labels |
/api/v1/accounts/:account_id/conversations/:conversation_id/labels |
api/v1/accounts/conversations/labels#create |
routes.rb:149 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/ |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/ |
api/v1/accounts/conversations/messages#create |
routes.rb:142 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id/retry |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id/retry |
api/v1/accounts/conversations/messages#retry |
routes.rb:145 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id/translate |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id/translate |
api/v1/accounts/conversations/messages#translate |
routes.rb:144 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority |
/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_priority |
api/v1/accounts/conversations#toggle_priority |
routes.rb:159 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status |
/api/v1/accounts/:account_id/conversations/:conversation_id/toggle_status |
api/v1/accounts/conversations#toggle_status |
routes.rb:158 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/:conversation_id/transcript |
/api/v1/accounts/:account_id/conversations/:conversation_id/transcript |
api/v1/accounts/conversations#transcript |
routes.rb:157 |
exact |
| POST | /api/v1/accounts/:account_id/conversations/filter |
/api/v1/accounts/:account_id/conversations/filter |
api/v1/accounts/conversations#filter |
routes.rb:139 |
exact |
| POST | /api/v1/accounts/:account_id/inboxes/ |
/api/v1/accounts/:account_id/inboxes/ |
api/v1/accounts/inboxes#create |
routes.rb:252 |
exact |
| POST | /api/v1/accounts/:account_id/inboxes/:inbox_id/reset_secret |
/api/v1/accounts/:account_id/inboxes/:inbox_id/reset_secret |
api/v1/accounts/inboxes#reset_secret |
routes.rb:262 |
exact |
| POST | /api/v1/accounts/:account_id/macros/ |
/api/v1/accounts/:account_id/macros/ |
api/v1/accounts/macros#create |
routes.rb:118 |
exact |
| POST | /api/v1/accounts/:account_id/macros/:macro_id/execute |
/api/v1/accounts/:account_id/macros/:macro_id/execute |
api/v1/accounts/macros#execute |
routes.rb:119 |
exact |
| POST | /api/v1/accounts/:account_id/sla_policies |
/api/v1/accounts/:account_id/sla_policies |
api/v1/accounts/sla_policies#create |
routes.rb:121 |
exact |
| POST | /api/v1/accounts/:account_id/update_active_at |
/api/v1/accounts/:account_id/update_active_at |
api/v1/accounts#update_active_at |
routes.rb:49 |
exact |
| PUT | /api/v1/accounts/:account_id |
/api/v1/accounts/:account_id |
api/v1/accounts#update |
routes.rb:47 |
exact |
| PUT | /api/v1/accounts/:account_id/automation_rules/:automation_id |
/api/v1/accounts/:account_id/automation_rules/:automation_id |
api/v1/accounts/automation_rules#update |
routes.rb:115 |
exact |
| PUT | /api/v1/accounts/:account_id/companies/:company_id |
/api/v1/accounts/:account_id/companies/:company_id |
api/v1/accounts/companies#update |
routes.rb:179 |
exact |
| PUT | /api/v1/accounts/:account_id/contacts/:contact_id |
/api/v1/accounts/:account_id/contacts/:contact_id |
api/v1/accounts/contacts#update |
routes.rb:197 |
exact |
| PUT | /api/v1/accounts/:account_id/conversations/:conversation_id |
/api/v1/accounts/:account_id/conversations/:conversation_id |
api/v1/accounts/conversations#update |
routes.rb:134 |
exact |
| PUT | /api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id |
/api/v1/accounts/:account_id/conversations/:conversation_id/messages/:message_id |
api/v1/accounts/conversations/messages#update |
routes.rb:142 |
exact |
| PUT | /api/v1/accounts/:account_id/inboxes/:inbox_id |
/api/v1/accounts/:account_id/inboxes/:inbox_id |
api/v1/accounts/inboxes#update |
routes.rb:252 |
exact |
| PUT | /api/v1/accounts/:account_id/macros/:macro_id |
/api/v1/accounts/:account_id/macros/:macro_id |
api/v1/accounts/macros#update |
routes.rb:118 |
exact |
| PUT | /api/v1/accounts/:account_id/sla_policies/:id |
/api/v1/accounts/:account_id/sla_policies/:id |
api/v1/accounts/sla_policies#update |
routes.rb:121 |
exact |