{ "frontend_calls": [ { "file": "api/webhooks.ts", "method": "GET", "url": "/webhooks{param}", "raw_url": "/webhooks${params}" }, { "file": "api/webhooks.ts", "method": "GET", "url": "/webhooks/{param}", "raw_url": "/webhooks/${id}" }, { "file": "api/webhooks.ts", "method": "POST", "url": "/webhooks", "raw_url": "/webhooks" }, { "file": "api/webhooks.ts", "method": "POST", "url": "/webhooks/{param}/test", "raw_url": "/webhooks/${id}/test" }, { "file": "api/webhooks.ts", "method": "PATCH", "url": "/webhooks/{param}", "raw_url": "/webhooks/${id}" }, { "file": "api/webhooks.ts", "method": "DELETE", "url": "/webhooks/{param}", "raw_url": "/webhooks/${id}" }, { "file": "api/notifications.ts", "method": "GET", "url": "/notifications/unread-count", "raw_url": "/notifications/unread-count" }, { "file": "api/notifications.ts", "method": "GET", "url": "/notifications/types", "raw_url": "/notifications/types" }, { "file": "api/notifications.ts", "method": "GET", "url": "/notifications/preferences", "raw_url": "/notifications/preferences" }, { "file": "api/notifications.ts", "method": "PATCH", "url": "/notifications/{param}/read", "raw_url": "/notifications/${id}/read" }, { "file": "api/notifications.ts", "method": "PATCH", "url": "/notifications/preferences/{param}", "raw_url": "/notifications/preferences/${typeKey}" }, { "file": "api/notifications.ts", "method": "DELETE", "url": "/notifications/{param}", "raw_url": "/notifications/${id}" }, { "file": "api/calendar.ts", "method": "GET", "url": "/calendars", "raw_url": "/calendars" }, { "file": "api/calendar.ts", "method": "GET", "url": "/calendars/{param}/permissions", "raw_url": "/calendars/${calendarId}/permissions" }, { "file": "api/calendar.ts", "method": "GET", "url": "/calendar/entries${qs ", "raw_url": "/calendar/entries${qs ? " }, { "file": "api/calendar.ts", "method": "GET", "url": "/calendar/entries/{param}", "raw_url": "/calendar/entries/${entryId}" }, { "file": "api/calendar.ts", "method": "GET", "url": "/calendar/kanban", "raw_url": "/calendar/kanban" }, { "file": "api/calendar.ts", "method": "POST", "url": "/calendars", "raw_url": "/calendars" }, { "file": "api/calendar.ts", "method": "POST", "url": "/calendars/{param}/share", "raw_url": "/calendars/${calendarId}/share" }, { "file": "api/calendar.ts", "method": "POST", "url": "/calendar/entries", "raw_url": "/calendar/entries" }, { "file": "api/calendar.ts", "method": "POST", "url": "/calendar/entries/{param}/subtasks", "raw_url": "/calendar/entries/${entryId}/subtasks" }, { "file": "api/calendar.ts", "method": "POST", "url": "/resources", "raw_url": "/resources" }, { "file": "api/calendar.ts", "method": "POST", "url": "/calendar/entries/{param}/book-resource", "raw_url": "/calendar/entries/${entryId}/book-resource" }, { "file": "api/calendar.ts", "method": "PATCH", "url": "/calendars/{param}", "raw_url": "/calendars/${calendarId}" }, { "file": "api/calendar.ts", "method": "PATCH", "url": "/calendar/entries/{param}", "raw_url": "/calendar/entries/${entryId}" }, { "file": "api/calendar.ts", "method": "PATCH", "url": "/calendar/entries/{param}/subtasks/{param}", "raw_url": "/calendar/entries/${entryId}/subtasks/${subId}" }, { "file": "api/calendar.ts", "method": "DELETE", "url": "/calendars/{param}", "raw_url": "/calendars/${calendarId}" }, { "file": "api/calendar.ts", "method": "DELETE", "url": "/calendar/entries/{param}", "raw_url": "/calendar/entries/${entryId}" }, { "file": "api/userPreferences.ts", "method": "GET", "url": "/user/preferences", "raw_url": "/user/preferences" }, { "file": "api/userPreferences.ts", "method": "GET", "url": "/user/preferences/{param}", "raw_url": "/user/preferences/${key}" }, { "file": "api/userPreferences.ts", "method": "PUT", "url": "/user/preferences/{param}", "raw_url": "/user/preferences/${key}" }, { "file": "api/userPreferences.ts", "method": "DELETE", "url": "/user/preferences/{param}", "raw_url": "/user/preferences/${key}" }, { "file": "api/plugins.ts", "method": "GET", "url": "/plugins", "raw_url": "/plugins" }, { "file": "api/plugins.ts", "method": "POST", "url": "/plugins/{param}/install", "raw_url": "/plugins/${name}/install" }, { "file": "api/plugins.ts", "method": "POST", "url": "/plugins/{param}/activate", "raw_url": "/plugins/${name}/activate" }, { "file": "api/plugins.ts", "method": "POST", "url": "/plugins/{param}/deactivate", "raw_url": "/plugins/${name}/deactivate" }, { "file": "api/plugins.ts", "method": "DELETE", "url": "/plugins/{param}", "raw_url": "/plugins/${name}?remove_data=${removeData}" }, { "file": "api/groups.ts", "method": "GET", "url": "/groups", "raw_url": "/groups" }, { "file": "api/groups.ts", "method": "GET", "url": "/groups/{param}/members", "raw_url": "/groups/${groupId}/members" }, { "file": "api/groups.ts", "method": "GET", "url": "/groups/user/{param}", "raw_url": "/groups/user/${userId}" }, { "file": "api/groups.ts", "method": "POST", "url": "/groups", "raw_url": "/groups" }, { "file": "api/groups.ts", "method": "POST", "url": "/groups/{param}/members", "raw_url": "/groups/${groupId}/members" }, { "file": "api/groups.ts", "method": "PATCH", "url": "/groups/{param}", "raw_url": "/groups/${id}" }, { "file": "api/groups.ts", "method": "DELETE", "url": "/groups/{param}", "raw_url": "/groups/${id}" }, { "file": "api/groups.ts", "method": "DELETE", "url": "/groups/{param}/members/{param}", "raw_url": "/groups/${groupId}/members/${userId}" }, { "file": "api/entityPermissions.ts", "method": "GET", "url": "/permissions/{param}/{param}", "raw_url": "/permissions/${entityType}/${entityId}" }, { "file": "api/entityPermissions.ts", "method": "GET", "url": "/permissions/{param}/{param}/access", "raw_url": "/permissions/${entityType}/${entityId}/access" }, { "file": "api/entityPermissions.ts", "method": "GET", "url": "/permissions/all", "raw_url": "/permissions/all" }, { "file": "api/entityPermissions.ts", "method": "GET", "url": "/permissions/registry", "raw_url": "/permissions/registry" }, { "file": "api/entityPermissions.ts", "method": "POST", "url": "/permissions/{param}/{param}", "raw_url": "/permissions/${entityType}/${entityId}" }, { "file": "api/entityPermissions.ts", "method": "PUT", "url": "/permissions/{param}/{param}/{param}", "raw_url": "/permissions/${entityType}/${entityId}/${permId}" }, { "file": "api/entityPermissions.ts", "method": "DELETE", "url": "/permissions/{param}/{param}/{param}", "raw_url": "/permissions/${entityType}/${entityId}/${permId}" }, { "file": "api/attachments.ts", "method": "GET", "url": "/attachments", "raw_url": "/attachments?${params.toString()}" }, { "file": "api/attachments.ts", "method": "GET", "url": "/addresses", "raw_url": "/addresses?entity_type=${entityType}&entity_id=${entityId}" }, { "file": "api/attachments.ts", "method": "POST", "url": "/addresses", "raw_url": "/addresses" }, { "file": "api/attachments.ts", "method": "PATCH", "url": "/addresses/{param}", "raw_url": "/addresses/${id}" }, { "file": "api/attachments.ts", "method": "DELETE", "url": "/attachments/{param}", "raw_url": "/attachments/${id}" }, { "file": "api/attachments.ts", "method": "DELETE", "url": "/addresses/{param}", "raw_url": "/addresses/${id}" }, { "file": "api/comm.ts", "method": "GET", "url": "/comm/conversations", "raw_url": "/comm/conversations" }, { "file": "api/comm.ts", "method": "GET", "url": "/comm/conversations/{param}", "raw_url": "/comm/conversations/${id}" }, { "file": "api/comm.ts", "method": "GET", "url": "/comm/conversations/{param}/messages", "raw_url": "/comm/conversations/${convId}/messages" }, { "file": "api/comm.ts", "method": "GET", "url": "/comm/miniapps", "raw_url": "/comm/miniapps" }, { "file": "api/comm.ts", "method": "GET", "url": "/comm/block-types", "raw_url": "/comm/block-types" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations", "raw_url": "/comm/conversations" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/pin", "raw_url": "/comm/conversations/${id}/pin" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/mute", "raw_url": "/comm/conversations/${id}/mute" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/participants", "raw_url": "/comm/conversations/${convId}/participants" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/messages", "raw_url": "/comm/conversations/${convId}/messages" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/messages/{param}/reactions", "raw_url": "/comm/messages/${msgId}/reactions" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/read", "raw_url": "/comm/conversations/${convId}/read" }, { "file": "api/comm.ts", "method": "POST", "url": "/comm/conversations/{param}/miniapps", "raw_url": "/comm/conversations/${convId}/miniapps" }, { "file": "api/comm.ts", "method": "PATCH", "url": "/comm/conversations/{param}", "raw_url": "/comm/conversations/${id}" }, { "file": "api/comm.ts", "method": "PATCH", "url": "/comm/conversations/{param}/participants/{param}", "raw_url": "/comm/conversations/${convId}/participants/${pid}" }, { "file": "api/comm.ts", "method": "PATCH", "url": "/comm/messages/{param}", "raw_url": "/comm/messages/${id}" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/conversations/{param}", "raw_url": "/comm/conversations/${id}" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/conversations/{param}/pin", "raw_url": "/comm/conversations/${id}/pin" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/conversations/{param}/mute", "raw_url": "/comm/conversations/${id}/mute" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/conversations/{param}/participants/{param}", "raw_url": "/comm/conversations/${convId}/participants/${pid}" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/messages/{param}", "raw_url": "/comm/messages/${id}" }, { "file": "api/comm.ts", "method": "DELETE", "url": "/comm/messages/{param}/reactions/{param}", "raw_url": "/comm/messages/${msgId}/reactions/${encodeURIComponent(emoji)}" }, { "file": "api/dashboard.ts", "method": "GET", "url": "/dashboard/widgets", "raw_url": "/dashboard/widgets" }, { "file": "api/customFields.ts", "method": "GET", "url": "/contacts/{param}/custom-fields", "raw_url": "/contacts/${contactId}/custom-fields" }, { "file": "api/customFields.ts", "method": "PATCH", "url": "/contacts/{param}/custom-fields", "raw_url": "/contacts/${contactId}/custom-fields" }, { "file": "api/roles.ts", "method": "GET", "url": "/roles", "raw_url": "/roles" }, { "file": "api/roles.ts", "method": "GET", "url": "/roles/permissions", "raw_url": "/roles/permissions" }, { "file": "api/roles.ts", "method": "POST", "url": "/roles", "raw_url": "/roles" }, { "file": "api/roles.ts", "method": "PATCH", "url": "/roles/{param}", "raw_url": "/roles/${id}" }, { "file": "api/roles.ts", "method": "DELETE", "url": "/roles/{param}", "raw_url": "/roles/${id}" }, { "file": "api/knowledge.ts", "method": "GET", "url": "/wiki/articles${qs ", "raw_url": "/wiki/articles${qs ? " }, { "file": "api/knowledge.ts", "method": "GET", "url": "/wiki/articles/{param}", "raw_url": "/wiki/articles/${articleId}" }, { "file": "api/knowledge.ts", "method": "GET", "url": "/wiki/articles/{param}/versions", "raw_url": "/wiki/articles/${articleId}/versions" }, { "file": "api/knowledge.ts", "method": "GET", "url": "/wiki/categories", "raw_url": "/wiki/categories" }, { "file": "api/knowledge.ts", "method": "GET", "url": "/graph/relationships${qs ", "raw_url": "/graph/relationships${qs ? " }, { "file": "api/knowledge.ts", "method": "POST", "url": "/wiki/articles", "raw_url": "/wiki/articles" }, { "file": "api/knowledge.ts", "method": "POST", "url": "/wiki/articles/{param}/versions/{param}/restore", "raw_url": "/wiki/articles/${articleId}/versions/${version}/restore" }, { "file": "api/knowledge.ts", "method": "POST", "url": "/wiki/categories", "raw_url": "/wiki/categories" }, { "file": "api/knowledge.ts", "method": "POST", "url": "/knowledge/ask", "raw_url": "/knowledge/ask" }, { "file": "api/knowledge.ts", "method": "PATCH", "url": "/wiki/articles/{param}", "raw_url": "/wiki/articles/${articleId}" }, { "file": "api/knowledge.ts", "method": "DELETE", "url": "/wiki/articles/{param}", "raw_url": "/wiki/articles/${articleId}" }, { "file": "api/mcp.ts", "method": "GET", "url": "/mcp/tools", "raw_url": "/mcp/tools" }, { "file": "api/mcp.ts", "method": "GET", "url": "/mcp/config", "raw_url": "/mcp/config" }, { "file": "api/mcp.ts", "method": "POST", "url": "/mcp/tools/{param}/execute", "raw_url": "/mcp/tools/${toolName}/execute" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/folders", "raw_url": "/dms/folders" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/files/{param}", "raw_url": "/dms/files/${fileId}" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/search", "raw_url": "/dms/search?${qs}" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/shared-with-me", "raw_url": "/dms/shared-with-me" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/folders/{param}/files", "raw_url": "/dms/folders/${folderId}/files" }, { "file": "api/dms.ts", "method": "GET", "url": "/dms/files", "raw_url": "/dms/files" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/folders", "raw_url": "/dms/folders" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/upload", "raw_url": "/dms/files/upload" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/{param}/restore", "raw_url": "/dms/files/${fileId}/restore" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/{param}/edit-session", "raw_url": "/dms/files/${fileId}/edit-session" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/{param}/share", "raw_url": "/dms/files/${fileId}/share" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/bulk-move", "raw_url": "/dms/files/bulk-move" }, { "file": "api/dms.ts", "method": "POST", "url": "/dms/files/bulk-delete", "raw_url": "/dms/files/bulk-delete" }, { "file": "api/dms.ts", "method": "PATCH", "url": "/dms/folders/{param}", "raw_url": "/dms/folders/${folderId}" }, { "file": "api/dms.ts", "method": "PATCH", "url": "/dms/files/{param}", "raw_url": "/dms/files/${fileId}" }, { "file": "api/dms.ts", "method": "DELETE", "url": "/dms/folders/{param}", "raw_url": "/dms/folders/${folderId}" }, { "file": "api/dms.ts", "method": "DELETE", "url": "/dms/files/{param}", "raw_url": "/dms/files/${fileId}" }, { "file": "api/dms.ts", "method": "DELETE", "url": "/dms/files/{param}/share", "raw_url": "/dms/files/${fileId}/share" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation", "raw_url": "/automation" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation/{param}", "raw_url": "/automation/${id}" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation/{param}/runs", "raw_url": "/automation/${automationId}/runs" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation/{param}/versions", "raw_url": "/automation/${automationId}/versions" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation/settings", "raw_url": "/automation/settings" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents", "raw_url": "/agents" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/{param}", "raw_url": "/agents/${id}" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/{param}/runs", "raw_url": "/agents/${agentId}/runs" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/{param}/versions", "raw_url": "/agents/${agentId}/versions" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/tools", "raw_url": "/agents/tools" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/tools", "raw_url": "/agents/tools" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/skills", "raw_url": "/agents/skills" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/{param}/runs", "raw_url": "/agents/${agentId}/runs" }, { "file": "api/automation.ts", "method": "GET", "url": "/agents/runs/recent", "raw_url": "/agents/runs/recent?limit=${limit}" }, { "file": "api/automation.ts", "method": "GET", "url": "/automation/miniapps", "raw_url": "/automation/miniapps" }, { "file": "api/automation.ts", "method": "POST", "url": "/automation", "raw_url": "/automation" }, { "file": "api/automation.ts", "method": "POST", "url": "/automation/{param}/execute", "raw_url": "/automation/${id}/execute" }, { "file": "api/automation.ts", "method": "POST", "url": "/automation/{param}/dry-run", "raw_url": "/automation/${id}/dry-run" }, { "file": "api/automation.ts", "method": "POST", "url": "/automation/{param}/versions/{param}/restore", "raw_url": "/automation/${id}/versions/${versionId}/restore" }, { "file": "api/automation.ts", "method": "POST", "url": "/agents", "raw_url": "/agents" }, { "file": "api/automation.ts", "method": "POST", "url": "/agents/{param}/execute", "raw_url": "/agents/${id}/execute" }, { "file": "api/automation.ts", "method": "POST", "url": "/agents/{param}/test-run", "raw_url": "/agents/${id}/test-run" }, { "file": "api/automation.ts", "method": "POST", "url": "/agents/{param}/versions/{param}/restore", "raw_url": "/agents/${id}/versions/${versionId}/restore" }, { "file": "api/automation.ts", "method": "POST", "url": "/agents/{param}/send-message", "raw_url": "/agents/${id}/send-message" }, { "file": "api/automation.ts", "method": "POST", "url": "/automation/miniapps", "raw_url": "/automation/miniapps" }, { "file": "api/automation.ts", "method": "PATCH", "url": "/automation/{param}", "raw_url": "/automation/${id}" }, { "file": "api/automation.ts", "method": "PATCH", "url": "/automation/settings", "raw_url": "/automation/settings" }, { "file": "api/automation.ts", "method": "PATCH", "url": "/agents/{param}", "raw_url": "/agents/${id}" }, { "file": "api/automation.ts", "method": "DELETE", "url": "/automation/{param}", "raw_url": "/automation/${id}" }, { "file": "api/automation.ts", "method": "DELETE", "url": "/agents/{param}", "raw_url": "/agents/${id}" }, { "file": "api/automation.ts", "method": "DELETE", "url": "/automation/miniapps/{param}", "raw_url": "/automation/miniapps/${appId}" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/providers", "raw_url": "/ai/providers" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/models", "raw_url": "/ai/models" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/presets", "raw_url": "/ai/presets" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/agents", "raw_url": "/ai/agents" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/tools", "raw_url": "/ai/tools" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/folders", "raw_url": "/ai/folders" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/sessions", "raw_url": "/ai/sessions" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/conversations/{param}/messages", "raw_url": "/ai/conversations/${conversationId}/messages" }, { "file": "api/ai.ts", "method": "GET", "url": "/ai/sessions/{param}/attachments", "raw_url": "/ai/sessions/${sessionId}/attachments" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/providers", "raw_url": "/ai/providers" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/models", "raw_url": "/ai/models" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/presets", "raw_url": "/ai/presets" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/agents", "raw_url": "/ai/agents" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/folders", "raw_url": "/ai/folders" }, { "file": "api/ai.ts", "method": "POST", "url": "/ai/sessions", "raw_url": "/ai/sessions" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/providers/{param}", "raw_url": "/ai/providers/${id}" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/models/{param}", "raw_url": "/ai/models/${id}" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/presets/{param}", "raw_url": "/ai/presets/${id}" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/agents/{param}", "raw_url": "/ai/agents/${id}" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/folders/{param}", "raw_url": "/ai/folders/${id}" }, { "file": "api/ai.ts", "method": "PUT", "url": "/ai/sessions/{param}", "raw_url": "/ai/sessions/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/providers/{param}", "raw_url": "/ai/providers/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/models/{param}", "raw_url": "/ai/models/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/presets/{param}", "raw_url": "/ai/presets/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/agents/{param}", "raw_url": "/ai/agents/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/folders/{param}", "raw_url": "/ai/folders/${id}" }, { "file": "api/ai.ts", "method": "DELETE", "url": "/ai/sessions/{param}", "raw_url": "/ai/sessions/${id}" }, { "file": "api/auth.ts", "method": "GET", "url": "/auth/me", "raw_url": "/auth/me" }, { "file": "api/auth.ts", "method": "POST", "url": "/auth/login", "raw_url": "/auth/login" }, { "file": "api/auth.ts", "method": "POST", "url": "/auth/logout", "raw_url": "/auth/logout" }, { "file": "api/auth.ts", "method": "POST", "url": "/auth/password-reset/request", "raw_url": "/auth/password-reset/request" }, { "file": "api/auth.ts", "method": "POST", "url": "/auth/password-reset/confirm", "raw_url": "/auth/password-reset/confirm" }, { "file": "api/auth.ts", "method": "POST", "url": "/auth/switch-tenant", "raw_url": "/auth/switch-tenant" }, { "file": "api/entityHistory.ts", "method": "GET", "url": "/entity-history/{param}/{param}", "raw_url": "/entity-history/${entityType}/${entityId}?limit=${limit}" }, { "file": "api/entityHistory.ts", "method": "GET", "url": "/entity-history/trash", "raw_url": "/entity-history/trash?${params.toString()}" }, { "file": "api/entityHistory.ts", "method": "POST", "url": "/entity-history/bulk-restore", "raw_url": "/entity-history/bulk-restore" }, { "file": "api/entityHistory.ts", "method": "POST", "url": "/entity-history/undo/{param}/{param}", "raw_url": "/entity-history/undo/${entityType}/${entityId}" }, { "file": "api/settings.ts", "method": "GET", "url": "/system-settings", "raw_url": "/system-settings" }, { "file": "api/settings.ts", "method": "GET", "url": "/currencies", "raw_url": "/currencies" }, { "file": "api/settings.ts", "method": "GET", "url": "/taxes", "raw_url": "/taxes" }, { "file": "api/settings.ts", "method": "GET", "url": "/sequences", "raw_url": "/sequences" }, { "file": "api/settings.ts", "method": "POST", "url": "/currencies", "raw_url": "/currencies" }, { "file": "api/settings.ts", "method": "POST", "url": "/taxes", "raw_url": "/taxes" }, { "file": "api/settings.ts", "method": "POST", "url": "/sequences", "raw_url": "/sequences" }, { "file": "api/settings.ts", "method": "PATCH", "url": "/currencies/{param}", "raw_url": "/currencies/${id}" }, { "file": "api/settings.ts", "method": "PATCH", "url": "/taxes/{param}", "raw_url": "/taxes/${id}" }, { "file": "api/settings.ts", "method": "PATCH", "url": "/sequences/{param}", "raw_url": "/sequences/${id}" }, { "file": "api/settings.ts", "method": "DELETE", "url": "/currencies/{param}", "raw_url": "/currencies/${id}" }, { "file": "api/settings.ts", "method": "DELETE", "url": "/taxes/{param}", "raw_url": "/taxes/${id}" }, { "file": "api/settings.ts", "method": "DELETE", "url": "/sequences/{param}", "raw_url": "/sequences/${id}" }, { "file": "api/tags.ts", "method": "GET", "url": "/tags", "raw_url": "/tags" }, { "file": "api/tags.ts", "method": "GET", "url": "/tags/{param}/entities", "raw_url": "/tags/${tagId}/entities" }, { "file": "api/tags.ts", "method": "POST", "url": "/tags", "raw_url": "/tags" }, { "file": "api/tags.ts", "method": "POST", "url": "/tags/assign", "raw_url": "/tags/assign" }, { "file": "api/tags.ts", "method": "POST", "url": "/tags/bulk-assign", "raw_url": "/tags/bulk-assign" }, { "file": "api/tags.ts", "method": "PATCH", "url": "/tags/{param}", "raw_url": "/tags/${tagId}" }, { "file": "api/tags.ts", "method": "DELETE", "url": "/tags/{param}", "raw_url": "/tags/${tagId}" }, { "file": "api/tags.ts", "method": "DELETE", "url": "/tags/assign", "raw_url": "/tags/assign" }, { "file": "api/pluginManifests.ts", "method": "GET", "url": "/plugins/active-manifests", "raw_url": "/plugins/active-manifests" }, { "file": "api/permissions.ts", "method": "GET", "url": "/permissions/files/{param}/permissions", "raw_url": "/permissions/files/${fileId}/permissions" }, { "file": "api/permissions.ts", "method": "POST", "url": "/permissions/files/{param}/permissions", "raw_url": "/permissions/files/${fileId}/permissions" }, { "file": "api/permissions.ts", "method": "POST", "url": "/permissions/files/{param}/share-link", "raw_url": "/permissions/files/${fileId}/share-link" }, { "file": "api/permissions.ts", "method": "DELETE", "url": "/permissions/files/{param}/permissions/{param}", "raw_url": "/permissions/files/${fileId}/permissions/${userId}" }, { "file": "api/permissions.ts", "method": "DELETE", "url": "/permissions/share-links/{param}", "raw_url": "/permissions/share-links/${linkId}" }, { "file": "api/tasks.ts", "method": "GET", "url": "/tasks", "raw_url": "/tasks?${params.toString()}" }, { "file": "api/tasks.ts", "method": "GET", "url": "/tasks/{param}", "raw_url": "/tasks/${id}" }, { "file": "api/tasks.ts", "method": "GET", "url": "/tasks/{param}/subtasks", "raw_url": "/tasks/${parentId}/subtasks" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks", "raw_url": "/tasks" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks/{param}/assign", "raw_url": "/tasks/${id}/assign" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks/{param}/status", "raw_url": "/tasks/${id}/status" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks/{param}/subtasks", "raw_url": "/tasks/${parentId}/subtasks" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks/{param}/dependencies", "raw_url": "/tasks/${id}/dependencies" }, { "file": "api/tasks.ts", "method": "POST", "url": "/tasks/{param}/decompose", "raw_url": "/tasks/${goalId}/decompose" }, { "file": "api/tasks.ts", "method": "PATCH", "url": "/tasks/{param}", "raw_url": "/tasks/${id}" }, { "file": "api/tasks.ts", "method": "DELETE", "url": "/tasks/{param}", "raw_url": "/tasks/${id}" }, { "file": "api/tasks.ts", "method": "DELETE", "url": "/tasks/{param}/dependencies/{param}", "raw_url": "/tasks/${id}/dependencies/${dependsOn}" }, { "file": "api/contacts.ts", "method": "GET", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/contacts.ts", "method": "GET", "url": "/contact-folders", "raw_url": "/contact-folders" }, { "file": "api/contacts.ts", "method": "GET", "url": "/contact-folders/{param}/permissions", "raw_url": "/contact-folders/${folderId}/permissions" }, { "file": "api/contacts.ts", "method": "POST", "url": "/contacts", "raw_url": "/contacts" }, { "file": "api/contacts.ts", "method": "POST", "url": "/contact-folders", "raw_url": "/contact-folders" }, { "file": "api/contacts.ts", "method": "POST", "url": "/contact-folders/{param}/permissions", "raw_url": "/contact-folders/${folderId}/permissions" }, { "file": "api/contacts.ts", "method": "PUT", "url": "/contact-folders/{param}", "raw_url": "/contact-folders/${id}" }, { "file": "api/contacts.ts", "method": "PUT", "url": "/contact-folders/contacts/{param}/move", "raw_url": "/contact-folders/contacts/${contactId}/move" }, { "file": "api/contacts.ts", "method": "PUT", "url": "/contact-folders/{param}/permissions/{param}", "raw_url": "/contact-folders/${folderId}/permissions/${permissionId}" }, { "file": "api/contacts.ts", "method": "PATCH", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/contacts.ts", "method": "DELETE", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/contacts.ts", "method": "DELETE", "url": "/contact-folders/{param}", "raw_url": "/contact-folders/${id}" }, { "file": "api/contacts.ts", "method": "DELETE", "url": "/contact-folders/{param}/permissions/{param}", "raw_url": "/contact-folders/${folderId}/permissions/${permissionId}" }, { "file": "api/workflows.ts", "method": "GET", "url": "/workflows", "raw_url": "/workflows?${params.toString()}" }, { "file": "api/workflows.ts", "method": "GET", "url": "/workflows/{param}", "raw_url": "/workflows/${id}" }, { "file": "api/workflows.ts", "method": "GET", "url": "/workflows/instances", "raw_url": "/workflows/instances?${params.toString()}" }, { "file": "api/workflows.ts", "method": "GET", "url": "/workflows/instances/{param}", "raw_url": "/workflows/instances/${id}" }, { "file": "api/workflows.ts", "method": "POST", "url": "/workflows", "raw_url": "/workflows" }, { "file": "api/workflows.ts", "method": "POST", "url": "/workflows/{param}/instances", "raw_url": "/workflows/${workflowId}/instances" }, { "file": "api/workflows.ts", "method": "POST", "url": "/workflows/instances/{param}/advance", "raw_url": "/workflows/instances/${instanceId}/advance" }, { "file": "api/workflows.ts", "method": "POST", "url": "/workflows/instances/{param}/cancel", "raw_url": "/workflows/instances/${instanceId}/cancel" }, { "file": "api/workflows.ts", "method": "PATCH", "url": "/workflows/{param}", "raw_url": "/workflows/${id}" }, { "file": "api/workflows.ts", "method": "DELETE", "url": "/workflows/{param}", "raw_url": "/workflows/${id}" }, { "file": "api/backups.ts", "method": "GET", "url": "/backups", "raw_url": "/backups" }, { "file": "api/backups.ts", "method": "GET", "url": "/system-settings/backup-config", "raw_url": "/system-settings/backup-config" }, { "file": "api/backups.ts", "method": "GET", "url": "/system-settings/backup-history", "raw_url": "/system-settings/backup-history" }, { "file": "api/backups.ts", "method": "POST", "url": "/backups", "raw_url": "/backups" }, { "file": "api/backups.ts", "method": "POST", "url": "/backups/{param}/restore", "raw_url": "/backups/${backupId}/restore" }, { "file": "api/backups.ts", "method": "POST", "url": "/system-settings/backup-now", "raw_url": "/system-settings/backup-now" }, { "file": "api/backups.ts", "method": "PUT", "url": "/system-settings/backup-config", "raw_url": "/system-settings/backup-config" }, { "file": "api/backups.ts", "method": "DELETE", "url": "/backups/{param}", "raw_url": "/backups/${backupId}" }, { "file": "api/unifiedContacts.ts", "method": "GET", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/unifiedContacts.ts", "method": "GET", "url": "/contacts/{param}/persons", "raw_url": "/contacts/${contactId}/persons" }, { "file": "api/unifiedContacts.ts", "method": "GET", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/unifiedContacts.ts", "method": "GET", "url": "/contacts/{param}/persons", "raw_url": "/contacts/${contactId}/persons" }, { "file": "api/unifiedContacts.ts", "method": "POST", "url": "/contacts", "raw_url": "/contacts" }, { "file": "api/unifiedContacts.ts", "method": "POST", "url": "/contacts/{param}/persons", "raw_url": "/contacts/${contactId}/persons" }, { "file": "api/unifiedContacts.ts", "method": "POST", "url": "/contacts", "raw_url": "/contacts" }, { "file": "api/unifiedContacts.ts", "method": "POST", "url": "/contacts/{param}/persons", "raw_url": "/contacts/${contactId}/persons" }, { "file": "api/unifiedContacts.ts", "method": "PUT", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/unifiedContacts.ts", "method": "PUT", "url": "/contacts/{param}/persons/{param}", "raw_url": "/contacts/${contactId}/persons/${personId}" }, { "file": "api/unifiedContacts.ts", "method": "PUT", "url": "/contacts/{param}", "raw_url": "/contacts/${id}" }, { "file": "api/unifiedContacts.ts", "method": "PUT", "url": "/contacts/{param}/persons/{param}", "raw_url": "/contacts/${contactId}/persons/${personId}" }, { "file": "api/unifiedContacts.ts", "method": "DELETE", "url": "/contacts/{param}${hard ", "raw_url": "/contacts/${id}${hard ? " }, { "file": "api/unifiedContacts.ts", "method": "DELETE", "url": "/contacts/{param}/persons/{param}", "raw_url": "/contacts/${contactId}/persons/${personId}" }, { "file": "api/unifiedContacts.ts", "method": "DELETE", "url": "/contacts/{param}${hard ", "raw_url": "/contacts/${id}${hard ? " }, { "file": "api/unifiedContacts.ts", "method": "DELETE", "url": "/contacts/{param}/persons/{param}", "raw_url": "/contacts/${contactId}/persons/${personId}" }, { "file": "api/reports.ts", "method": "GET", "url": "/reports/templates", "raw_url": "/reports/templates" }, { "file": "api/reports.ts", "method": "GET", "url": "/reports/templates/{param}", "raw_url": "/reports/templates/${templateId}" }, { "file": "api/reports.ts", "method": "GET", "url": "/reports/presets", "raw_url": "/reports/presets" }, { "file": "api/reports.ts", "method": "POST", "url": "/reports/templates", "raw_url": "/reports/templates" }, { "file": "api/reports.ts", "method": "PUT", "url": "/reports/templates/{param}", "raw_url": "/reports/templates/${id}" }, { "file": "api/reports.ts", "method": "DELETE", "url": "/reports/templates/{param}", "raw_url": "/reports/templates/${id}" }, { "file": "api/customFieldDefinitions.ts", "method": "GET", "url": "/custom-fields/definitions{param}", "raw_url": "/custom-fields/definitions${params}" }, { "file": "api/customFieldDefinitions.ts", "method": "POST", "url": "/custom-fields/definitions", "raw_url": "/custom-fields/definitions" }, { "file": "api/customFieldDefinitions.ts", "method": "PATCH", "url": "/custom-fields/definitions/{param}", "raw_url": "/custom-fields/definitions/${id}" }, { "file": "api/customFieldDefinitions.ts", "method": "DELETE", "url": "/custom-fields/definitions/{param}", "raw_url": "/custom-fields/definitions/${id}" }, { "file": "api/mcpClient.ts", "method": "GET", "url": "/mcp-client/servers", "raw_url": "/mcp-client/servers" }, { "file": "api/mcpClient.ts", "method": "GET", "url": "/mcp-client/servers/{param}/tools", "raw_url": "/mcp-client/servers/${serverId}/tools" }, { "file": "api/mcpClient.ts", "method": "POST", "url": "/mcp-client/servers", "raw_url": "/mcp-client/servers" }, { "file": "api/mcpClient.ts", "method": "POST", "url": "/mcp-client/servers/{param}/execute", "raw_url": "/mcp-client/servers/${serverId}/execute" }, { "file": "api/mcpClient.ts", "method": "PATCH", "url": "/mcp-client/servers/{param}", "raw_url": "/mcp-client/servers/${id}" }, { "file": "api/mcpClient.ts", "method": "DELETE", "url": "/mcp-client/servers/{param}", "raw_url": "/mcp-client/servers/${id}" }, { "file": "api/dedup.ts", "method": "GET", "url": "/contacts/merge-history", "raw_url": "/contacts/merge-history?page=${page}&page_size=${pageSize}" }, { "file": "api/dedup.ts", "method": "POST", "url": "/contacts/duplicates", "raw_url": "/contacts/duplicates" }, { "file": "api/dedup.ts", "method": "POST", "url": "/contacts/merge", "raw_url": "/contacts/merge" }, { "file": "api/users.ts", "method": "GET", "url": "/users/{param}", "raw_url": "/users/${id}" }, { "file": "api/users.ts", "method": "GET", "url": "/users/me/menu-order", "raw_url": "/users/me/menu-order" }, { "file": "api/users.ts", "method": "POST", "url": "/users", "raw_url": "/users" }, { "file": "api/users.ts", "method": "PUT", "url": "/users/me/menu-order", "raw_url": "/users/me/menu-order" }, { "file": "api/users.ts", "method": "PATCH", "url": "/users/{param}", "raw_url": "/users/${id}" }, { "file": "api/users.ts", "method": "DELETE", "url": "/users/{param}", "raw_url": "/users/${id}" }, { "file": "api/contactFolders.ts", "method": "GET", "url": "/contact-folders", "raw_url": "/contact-folders" }, { "file": "api/contactFolders.ts", "method": "GET", "url": "/contact-folders/{param}/permissions", "raw_url": "/contact-folders/${folderId}/permissions" }, { "file": "api/contactFolders.ts", "method": "GET", "url": "/contact-folders/{param}/access", "raw_url": "/contact-folders/${folderId}/access" }, { "file": "api/contactFolders.ts", "method": "POST", "url": "/contact-folders", "raw_url": "/contact-folders" }, { "file": "api/contactFolders.ts", "method": "POST", "url": "/contact-folders/{param}/permissions", "raw_url": "/contact-folders/${folderId}/permissions" }, { "file": "api/contactFolders.ts", "method": "PUT", "url": "/contact-folders/{param}", "raw_url": "/contact-folders/${id}" }, { "file": "api/contactFolders.ts", "method": "PUT", "url": "/contact-folders/{param}/reorder", "raw_url": "/contact-folders/${folderId}/reorder" }, { "file": "api/contactFolders.ts", "method": "PUT", "url": "/contact-folders/contacts/{param}/move", "raw_url": "/contact-folders/contacts/${contactId}/move" }, { "file": "api/contactFolders.ts", "method": "PUT", "url": "/contact-folders/{param}/permissions/{param}", "raw_url": "/contact-folders/${folderId}/permissions/${permissionId}" }, { "file": "api/contactFolders.ts", "method": "DELETE", "url": "/contact-folders/{param}", "raw_url": "/contact-folders/${id}" }, { "file": "api/contactFolders.ts", "method": "DELETE", "url": "/contact-folders/{param}/permissions/{param}", "raw_url": "/contact-folders/${folderId}/permissions/${permissionId}" }, { "file": "api/compliance.ts", "method": "GET", "url": "/compliance/ai-registry", "raw_url": "/compliance/ai-registry" }, { "file": "api/compliance.ts", "method": "GET", "url": "/compliance/dpia-template", "raw_url": "/compliance/dpia-template" }, { "file": "api/compliance.ts", "method": "GET", "url": "/compliance/incidents", "raw_url": "/compliance/incidents" }, { "file": "api/compliance.ts", "method": "GET", "url": "/compliance/retention-policies", "raw_url": "/compliance/retention-policies" }, { "file": "api/compliance.ts", "method": "POST", "url": "/compliance/incidents", "raw_url": "/compliance/incidents" }, { "file": "api/compliance.ts", "method": "PATCH", "url": "/compliance/incidents/{param}", "raw_url": "/compliance/incidents/${id}" }, { "file": "api/compliance.ts", "method": "PATCH", "url": "/compliance/retention-policies/{param}", "raw_url": "/compliance/retention-policies/${key}" }, { "file": "api/savedFilters.ts", "method": "GET", "url": "/saved-filters", "raw_url": "/saved-filters?${params.toString()}" }, { "file": "api/savedFilters.ts", "method": "POST", "url": "/saved-filters", "raw_url": "/saved-filters" }, { "file": "api/savedFilters.ts", "method": "DELETE", "url": "/saved-filters/{param}", "raw_url": "/saved-filters/${id}" }, { "file": "api/systemDashboard.ts", "method": "GET", "url": "/system/dashboard", "raw_url": "/system/dashboard" }, { "file": "api/systemDashboard.ts", "method": "GET", "url": "/system/alerts", "raw_url": "/system/alerts" }, { "file": "api/improvement.ts", "method": "GET", "url": "/improvement/proposals/{param}", "raw_url": "/improvement/proposals/${id}" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/signals/collect", "raw_url": "/improvement/signals/collect" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/patterns/detect", "raw_url": "/improvement/patterns/detect" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals", "raw_url": "/improvement/proposals" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals/{param}/evaluate", "raw_url": "/improvement/proposals/${proposalId}/evaluate" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals/{param}/request-approval", "raw_url": "/improvement/proposals/${proposalId}/request-approval" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals/{param}/activate", "raw_url": "/improvement/proposals/${proposalId}/activate" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals/{param}/rollback", "raw_url": "/improvement/proposals/${proposalId}/rollback" }, { "file": "api/improvement.ts", "method": "POST", "url": "/improvement/proposals/{param}/measure", "raw_url": "/improvement/proposals/${proposalId}/measure" }, { "file": "api/policies.ts", "method": "GET", "url": "/policies/{param}", "raw_url": "/policies/${entityType}" }, { "file": "api/policies.ts", "method": "GET", "url": "/policies/{param}/{param}", "raw_url": "/policies/${entityType}/${policyId}" }, { "file": "api/policies.ts", "method": "POST", "url": "/policies/{param}", "raw_url": "/policies/${entityType}" }, { "file": "api/policies.ts", "method": "PUT", "url": "/policies/{param}/{param}", "raw_url": "/policies/${entityType}/${policyId}" }, { "file": "api/policies.ts", "method": "DELETE", "url": "/policies/{param}/{param}", "raw_url": "/policies/${entityType}/${policyId}" }, { "file": "api/savedViews.ts", "method": "GET", "url": "/saved-views{param}", "raw_url": "/saved-views${qs}" }, { "file": "api/savedViews.ts", "method": "POST", "url": "/saved-views", "raw_url": "/saved-views" }, { "file": "api/savedViews.ts", "method": "PUT", "url": "/saved-views/{param}", "raw_url": "/saved-views/${id}" }, { "file": "api/savedViews.ts", "method": "DELETE", "url": "/saved-views/{param}", "raw_url": "/saved-views/${id}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/accounts", "raw_url": "/mail/accounts" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/accounts/shared", "raw_url": "/mail/accounts/shared" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/folders", "raw_url": "/mail/folders?${qs}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail", "raw_url": "/mail?${params.toString()}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/{param}", "raw_url": "/mail/${mailId}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/search", "raw_url": "/mail/search?${qs}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/threads", "raw_url": "/mail/threads?${qs}" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/templates", "raw_url": "/mail/templates" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/signatures", "raw_url": "/mail/signatures" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/rules", "raw_url": "/mail/rules" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/pgp/keys", "raw_url": "/mail/pgp/keys" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/contacts/pgp-keys", "raw_url": "/mail/contacts/pgp-keys" }, { "file": "api/mail.ts", "method": "GET", "url": "/mail/labels", "raw_url": "/mail/labels" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts", "raw_url": "/mail/accounts" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts/{param}/users", "raw_url": "/mail/accounts/${accountId}/users" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts/{param}/delegates", "raw_url": "/mail/accounts/${accountId}/delegates" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts/{param}/send-permissions", "raw_url": "/mail/accounts/${accountId}/send-permissions" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts/{param}/test-connection", "raw_url": "/mail/accounts/${accountId}/test-connection" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/accounts/{param}/sync", "raw_url": "/mail/accounts/${accountId}/sync" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/folders", "raw_url": "/mail/folders" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/folders/{param}/empty", "raw_url": "/mail/folders/${folderId}/empty" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/folders/{param}/sync", "raw_url": "/mail/folders/${folderId}/sync" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/send", "raw_url": "/mail/send" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/reply", "raw_url": "/mail/${mailId}/reply" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/forward", "raw_url": "/mail/${mailId}/forward" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/link", "raw_url": "/mail/${mailId}/link" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/create-event", "raw_url": "/mail/${mailId}/create-event" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/labels", "raw_url": "/mail/${mailId}/labels" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/templates", "raw_url": "/mail/templates" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/templates/substitute", "raw_url": "/mail/templates/substitute" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/signatures", "raw_url": "/mail/signatures" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/rules", "raw_url": "/mail/rules" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/vacation", "raw_url": "/mail/vacation" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/vacation/test-dedup", "raw_url": "/mail/vacation/test-dedup" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/pgp/keys", "raw_url": "/mail/pgp/keys" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/pgp/encrypt", "raw_url": "/mail/pgp/encrypt" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/contacts/{param}/pgp-key", "raw_url": "/mail/contacts/${contactId}/pgp-key" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/labels", "raw_url": "/mail/labels" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/{param}/move", "raw_url": "/mail/${mailId}/move" }, { "file": "api/mail.ts", "method": "POST", "url": "/mail/drafts", "raw_url": "/mail/drafts" }, { "file": "api/mail.ts", "method": "PATCH", "url": "/mail/accounts/{param}", "raw_url": "/mail/accounts/${accountId}" }, { "file": "api/mail.ts", "method": "PATCH", "url": "/mail/folders/{param}", "raw_url": "/mail/folders/${folderId}" }, { "file": "api/mail.ts", "method": "PATCH", "url": "/mail/{param}/flags", "raw_url": "/mail/${mailId}/flags" }, { "file": "api/mail.ts", "method": "PATCH", "url": "/mail/signatures/{param}", "raw_url": "/mail/signatures/${signatureId}" }, { "file": "api/mail.ts", "method": "PATCH", "url": "/mail/drafts/{param}", "raw_url": "/mail/drafts/${mailId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/accounts/{param}", "raw_url": "/mail/accounts/${accountId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/folders/{param}", "raw_url": "/mail/folders/${folderId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/signatures/{param}", "raw_url": "/mail/signatures/${signatureId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/rules/{param}", "raw_url": "/mail/rules/${ruleId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/labels/{param}", "raw_url": "/mail/labels/${labelId}" }, { "file": "api/mail.ts", "method": "DELETE", "url": "/mail/{param}", "raw_url": "/mail/${mailId}" }, { "file": "api/hooks/workspaces.ts", "method": "GET", "url": "/api/v1/workspaces", "raw_url": "/api/v1/workspaces" }, { "file": "api/hooks/workspaces.ts", "method": "GET", "url": "/api/v1/workspaces/my", "raw_url": "/api/v1/workspaces/my" }, { "file": "api/hooks/workspaces.ts", "method": "GET", "url": "/api/v1/workspaces/context", "raw_url": "/api/v1/workspaces/context" }, { "file": "api/hooks/workspaces.ts", "method": "GET", "url": "/api/v1/workspaces/{param}/widgets", "raw_url": "/api/v1/workspaces/${workspaceId}/widgets" }, { "file": "api/hooks/workspaces.ts", "method": "POST", "url": "/api/v1/workspaces", "raw_url": "/api/v1/workspaces" }, { "file": "api/hooks/workspaces.ts", "method": "POST", "url": "/api/v1/workspaces/{param}/modules", "raw_url": "/api/v1/workspaces/${workspaceId}/modules" }, { "file": "api/hooks/workspaces.ts", "method": "POST", "url": "/api/v1/workspaces/{param}/users", "raw_url": "/api/v1/workspaces/${workspaceId}/users" }, { "file": "api/hooks/workspaces.ts", "method": "POST", "url": "/api/v1/workspaces/{param}/widgets", "raw_url": "/api/v1/workspaces/${workspaceId}/widgets" }, { "file": "api/hooks/workspaces.ts", "method": "POST", "url": "/api/v1/workspaces/{param}/set-default", "raw_url": "/api/v1/workspaces/${workspaceId}/set-default" }, { "file": "api/hooks/workspaces.ts", "method": "PUT", "url": "/api/v1/workspaces/{param}", "raw_url": "/api/v1/workspaces/${id}" }, { "file": "api/hooks/workspaces.ts", "method": "PUT", "url": "/api/v1/workspaces/{param}/widgets/{param}", "raw_url": "/api/v1/workspaces/${workspaceId}/widgets/${widgetId}" }, { "file": "api/hooks/workspaces.ts", "method": "DELETE", "url": "/api/v1/workspaces/{param}", "raw_url": "/api/v1/workspaces/${id}" }, { "file": "api/hooks/workspaces.ts", "method": "DELETE", "url": "/api/v1/workspaces/{param}/users/{param}", "raw_url": "/api/v1/workspaces/${workspaceId}/users/${userId}" }, { "file": "api/hooks/workspaces.ts", "method": "DELETE", "url": "/api/v1/workspaces/{param}/widgets/{param}", "raw_url": "/api/v1/workspaces/${workspaceId}/widgets/${widgetId}" } ], "backend_endpoints": [ { "file": "routes/saved_filters.py", "method": "DELETE", "path": "/{filter_id}" }, { "file": "routes/audit.py", "method": "GET", "path": "/export" }, { "file": "routes/audit.py", "method": "DELETE", "path": "/retention" }, { "file": "routes/api_tokens.py", "method": "DELETE", "path": "/{token_id}" }, { "file": "routes/sequences.py", "method": "PATCH", "path": "/{sequence_id}" }, { "file": "routes/sequences.py", "method": "DELETE", "path": "/{sequence_id}" }, { "file": "routes/companies.py", "method": "GET", "path": "/export" }, { "file": "routes/companies.py", "method": "GET", "path": "/{company_id}" }, { "file": "routes/companies.py", "method": "PUT", "path": "/{company_id}" }, { "file": "routes/companies.py", "method": "DELETE", "path": "/{company_id}" }, { "file": "routes/companies.py", "method": "POST", "path": "/{company_id}/contacts/{contact_id}" }, { "file": "routes/companies.py", "method": "DELETE", "path": "/{company_id}/contacts/{contact_id}" }, { "file": "routes/companies.py", "method": "GET", "path": "/{company_id}/emails" }, { "file": "routes/contact_folders.py", "method": "PUT", "path": "/{folder_id}" }, { "file": "routes/contact_folders.py", "method": "DELETE", "path": "/{folder_id}" }, { "file": "routes/contact_folders.py", "method": "PUT", "path": "/{folder_id}/reorder" }, { "file": "routes/contact_folders.py", "method": "PUT", "path": "/contacts/{contact_id}/move" }, { "file": "routes/delegations.py", "method": "PUT", "path": "/{delegation_id}" }, { "file": "routes/delegations.py", "method": "DELETE", "path": "/{delegation_id}" }, { "file": "routes/delegations.py", "method": "GET", "path": "/active" }, { "file": "routes/owner_transfer.py", "method": "POST", "path": "/transfer" }, { "file": "routes/contacts.py", "method": "GET", "path": "/export" }, { "file": "routes/contacts.py", "method": "GET", "path": "/merge-history" }, { "file": "routes/contacts.py", "method": "GET", "path": "/{contact_id}" }, { "file": "routes/contacts.py", "method": "PUT", "path": "/{contact_id}" }, { "file": "routes/contacts.py", "method": "DELETE", "path": "/{contact_id}" }, { "file": "routes/contacts.py", "method": "GET", "path": "/{contact_id}/persons" }, { "file": "routes/contacts.py", "method": "POST", "path": "/{contact_id}/persons" }, { "file": "routes/contacts.py", "method": "PUT", "path": "/{contact_id}/persons/{person_id}" }, { "file": "routes/contacts.py", "method": "DELETE", "path": "/{contact_id}/persons/{person_id}" }, { "file": "routes/contacts.py", "method": "POST", "path": "/duplicates" }, { "file": "routes/contacts.py", "method": "POST", "path": "/merge" }, { "file": "routes/guests.py", "method": "POST", "path": "/invite" }, { "file": "routes/guests.py", "method": "DELETE", "path": "/{guest_id}" }, { "file": "routes/tenants.py", "method": "GET", "path": "/{tenant_id}/users" }, { "file": "routes/tenants.py", "method": "POST", "path": "/{tenant_id}/users" }, { "file": "routes/custom_field_definitions.py", "method": "GET", "path": "/definitions" }, { "file": "routes/custom_field_definitions.py", "method": "POST", "path": "/definitions" }, { "file": "routes/custom_field_definitions.py", "method": "PATCH", "path": "/definitions/{definition_id}" }, { "file": "routes/custom_field_definitions.py", "method": "DELETE", "path": "/definitions/{definition_id}" }, { "file": "routes/saved_views.py", "method": "PUT", "path": "/{view_id}" }, { "file": "routes/saved_views.py", "method": "DELETE", "path": "/{view_id}" }, { "file": "routes/roles.py", "method": "GET", "path": "/permissions" }, { "file": "routes/roles.py", "method": "PATCH", "path": "/{role_id}" }, { "file": "routes/roles.py", "method": "DELETE", "path": "/{role_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/{group_id}" }, { "file": "routes/groups.py", "method": "PATCH", "path": "/{group_id}" }, { "file": "routes/groups.py", "method": "DELETE", "path": "/{group_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/{group_id}/members" }, { "file": "routes/groups.py", "method": "POST", "path": "/{group_id}/members" }, { "file": "routes/groups.py", "method": "DELETE", "path": "/{group_id}/members/{user_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/user/{user_id}" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/my" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/context" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "PUT", "path": "/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/{workspace_id}/modules" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/{workspace_id}/users" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/{workspace_id}/users/{user_id}" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/{workspace_id}/widgets" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/{workspace_id}/widgets" }, { "file": "routes/workspaces.py", "method": "PUT", "path": "/{workspace_id}/widgets/{widget_id}" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/{workspace_id}/widgets/{widget_id}" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/{workspace_id}/set-default" }, { "file": "routes/dashboard.py", "method": "GET", "path": "/widgets" }, { "file": "routes/dashboard.py", "method": "GET", "path": "/counts" }, { "file": "routes/backups.py", "method": "POST", "path": "/{backup_id}/restore" }, { "file": "routes/backups.py", "method": "DELETE", "path": "/{backup_id}" }, { "file": "routes/custom_fields.py", "method": "GET", "path": "/{contact_id}/custom-fields" }, { "file": "routes/custom_fields.py", "method": "PATCH", "path": "/{contact_id}/custom-fields" }, { "file": "routes/auth.py", "method": "POST", "path": "/login" }, { "file": "routes/auth.py", "method": "POST", "path": "/logout" }, { "file": "routes/auth.py", "method": "GET", "path": "/me" }, { "file": "routes/auth.py", "method": "GET", "path": "/me/permissions" }, { "file": "routes/auth.py", "method": "POST", "path": "/switch-tenant" }, { "file": "routes/auth.py", "method": "POST", "path": "/password-reset/request" }, { "file": "routes/auth.py", "method": "POST", "path": "/password-reset/confirm" }, { "file": "routes/users.py", "method": "GET", "path": "/{user_id}" }, { "file": "routes/users.py", "method": "PATCH", "path": "/{user_id}" }, { "file": "routes/users.py", "method": "DELETE", "path": "/{user_id}" }, { "file": "routes/users.py", "method": "GET", "path": "/me/menu-order" }, { "file": "routes/users.py", "method": "PUT", "path": "/me/menu-order" }, { "file": "routes/bank_accounts.py", "method": "PATCH", "path": "/{account_id}" }, { "file": "routes/bank_accounts.py", "method": "DELETE", "path": "/{account_id}" }, { "file": "routes/webhooks.py", "method": "GET", "path": "/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "PATCH", "path": "/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "DELETE", "path": "/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "POST", "path": "/{webhook_id}/test" }, { "file": "routes/addresses.py", "method": "PATCH", "path": "/{address_id}" }, { "file": "routes/addresses.py", "method": "DELETE", "path": "/{address_id}" }, { "file": "routes/contact_folder_permissions.py", "method": "GET", "path": "/{folder_id}/permissions" }, { "file": "routes/contact_folder_permissions.py", "method": "POST", "path": "/{folder_id}/permissions" }, { "file": "routes/contact_folder_permissions.py", "method": "PUT", "path": "/{folder_id}/permissions/{permission_id}" }, { "file": "routes/contact_folder_permissions.py", "method": "DELETE", "path": "/{folder_id}/permissions/{permission_id}" }, { "file": "routes/contact_folder_permissions.py", "method": "GET", "path": "/{folder_id}/access" }, { "file": "routes/taxes.py", "method": "PATCH", "path": "/{tax_id}" }, { "file": "routes/taxes.py", "method": "DELETE", "path": "/{tax_id}" }, { "file": "routes/notifications.py", "method": "PATCH", "path": "/{notification_id}/read" }, { "file": "routes/notifications.py", "method": "GET", "path": "/unread-count" }, { "file": "routes/notifications.py", "method": "GET", "path": "/types" }, { "file": "routes/notifications.py", "method": "GET", "path": "/preferences" }, { "file": "routes/notifications.py", "method": "PATCH", "path": "/preferences/{type_key}" }, { "file": "routes/import_export.py", "method": "POST", "path": "/import" }, { "file": "routes/import_export.py", "method": "POST", "path": "/import/preview" }, { "file": "routes/import_export.py", "method": "POST", "path": "/import/validate" }, { "file": "routes/import_export.py", "method": "GET", "path": "/import/status/{job_id}" }, { "file": "routes/import_export.py", "method": "POST", "path": "/import/contacts" }, { "file": "routes/import_export.py", "method": "POST", "path": "/import/companies" }, { "file": "routes/import_export.py", "method": "GET", "path": "/export" }, { "file": "routes/attachments.py", "method": "GET", "path": "/{attachment_id}" }, { "file": "routes/attachments.py", "method": "DELETE", "path": "/{attachment_id}" }, { "file": "routes/health.py", "method": "GET", "path": "/health/live" }, { "file": "routes/health.py", "method": "GET", "path": "/health/ready" }, { "file": "routes/health.py", "method": "GET", "path": "/api/v1/health" }, { "file": "routes/workflows.py", "method": "GET", "path": "/instances" }, { "file": "routes/workflows.py", "method": "GET", "path": "/{workflow_id}" }, { "file": "routes/workflows.py", "method": "PATCH", "path": "/{workflow_id}" }, { "file": "routes/workflows.py", "method": "DELETE", "path": "/{workflow_id}" }, { "file": "routes/workflows.py", "method": "POST", "path": "/{workflow_id}/instances" }, { "file": "routes/workflows.py", "method": "GET", "path": "/instances/{instance_id}" }, { "file": "routes/workflows.py", "method": "POST", "path": "/instances/{instance_id}/advance" }, { "file": "routes/workflows.py", "method": "POST", "path": "/instances/{instance_id}/cancel" }, { "file": "routes/workflows.py", "method": "POST", "path": "/instances/{instance_id}/resume" }, { "file": "routes/workflows.py", "method": "POST", "path": "/{workflow_id}/trigger" }, { "file": "routes/workflows.py", "method": "POST", "path": "/webhook/{token}" }, { "file": "routes/workflows.py", "method": "GET", "path": "/instances/{instance_id}/history" }, { "file": "routes/workflows.py", "method": "POST", "path": "/instances/{instance_id}/approve" }, { "file": "routes/workflows.py", "method": "POST", "path": "/instances/{instance_id}/reject" }, { "file": "routes/workflows.py", "method": "GET", "path": "/templates" }, { "file": "routes/workflows.py", "method": "POST", "path": "/templates/{template_id}/instantiate" }, { "file": "routes/outbox.py", "method": "GET", "path": "/stats" }, { "file": "routes/outbox.py", "method": "GET", "path": "/failed" }, { "file": "routes/outbox.py", "method": "POST", "path": "/replay/{event_id}" }, { "file": "routes/outbox.py", "method": "POST", "path": "/replay-all" }, { "file": "routes/outbox.py", "method": "GET", "path": "/consumer-registry" }, { "file": "routes/outbox.py", "method": "POST", "path": "/recover-stuck" }, { "file": "routes/outbox.py", "method": "POST", "path": "/cleanup-published" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/backup-config" }, { "file": "routes/system_settings.py", "method": "PUT", "path": "/backup-config" }, { "file": "routes/system_settings.py", "method": "POST", "path": "/backup-now" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/backup-history" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/dsgvo-export/{user_id}" }, { "file": "routes/system_settings.py", "method": "POST", "path": "/dsar/{user_id}" }, { "file": "routes/ai_copilot.py", "method": "POST", "path": "/query" }, { "file": "routes/ai_copilot.py", "method": "POST", "path": "/execute" }, { "file": "routes/ai_copilot.py", "method": "GET", "path": "/history" }, { "file": "routes/metrics.py", "method": "GET", "path": "/api/v1/metrics" }, { "file": "routes/entity_history.py", "method": "GET", "path": "/{entity_type}/{entity_id}" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/restore" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/undo/{entity_type}/{entity_id}" }, { "file": "routes/entity_history.py", "method": "GET", "path": "/trash" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/bulk-restore" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/retention/archive" }, { "file": "routes/policies.py", "method": "GET", "path": "/{entity_type}" }, { "file": "routes/policies.py", "method": "PUT", "path": "/{policy_id}" }, { "file": "routes/policies.py", "method": "DELETE", "path": "/{policy_id}" }, { "file": "routes/permission_templates.py", "method": "PUT", "path": "/{template_id}" }, { "file": "routes/permission_templates.py", "method": "DELETE", "path": "/{template_id}" }, { "file": "routes/permission_templates.py", "method": "POST", "path": "/apply" }, { "file": "routes/currencies.py", "method": "PATCH", "path": "/{currency_id}" }, { "file": "routes/currencies.py", "method": "DELETE", "path": "/{currency_id}" }, { "file": "routes/user_preferences.py", "method": "GET", "path": "/{key}" }, { "file": "routes/user_preferences.py", "method": "PUT", "path": "/{key}" }, { "file": "routes/user_preferences.py", "method": "DELETE", "path": "/{key}" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/{entity_type}/{entity_id}" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/{entity_type}/{entity_id}" }, { "file": "routes/entity_permissions.py", "method": "PUT", "path": "/{entity_type}/{entity_id}/{permission_id}" }, { "file": "routes/entity_permissions.py", "method": "DELETE", "path": "/{entity_type}/{entity_id}/{permission_id}" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/{entity_type}/{entity_id}/access" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/all" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/registry" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/bulk" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/bulk/unshare" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/analytics" }, { "file": "routes/plugins.py", "method": "GET", "path": "/manifest" }, { "file": "routes/plugins.py", "method": "GET", "path": "/updates" }, { "file": "routes/plugins.py", "method": "GET", "path": "/active-manifests" }, { "file": "routes/plugins.py", "method": "GET", "path": "/{name}/config" }, { "file": "routes/plugins.py", "method": "PATCH", "path": "/{name}/config" }, { "file": "routes/plugins.py", "method": "POST", "path": "/{name}/install" }, { "file": "routes/plugins.py", "method": "POST", "path": "/{name}/activate" }, { "file": "routes/plugins.py", "method": "POST", "path": "/{name}/deactivate" }, { "file": "routes/plugins.py", "method": "DELETE", "path": "/{name}" }, { "file": "routes/plugins.py", "method": "POST", "path": "/upload" }, { "file": "routes/plugins.py", "method": "POST", "path": "/install-url" }, { "file": "routes/plugins.py", "method": "POST", "path": "/install-marketplace" }, { "file": "routes/compliance.py", "method": "GET", "path": "/ai-registry" }, { "file": "routes/compliance.py", "method": "GET", "path": "/dpia-template" }, { "file": "routes/compliance.py", "method": "GET", "path": "/incidents" }, { "file": "routes/compliance.py", "method": "POST", "path": "/incidents" }, { "file": "routes/compliance.py", "method": "PATCH", "path": "/incidents/{incident_id}" }, { "file": "routes/compliance.py", "method": "GET", "path": "/retention-policies" }, { "file": "routes/compliance.py", "method": "PATCH", "path": "/retention-policies/{key}" }, { "file": "routes/approvals.py", "method": "GET", "path": "/{request_id}" }, { "file": "routes/approvals.py", "method": "POST", "path": "/{request_id}/approve" }, { "file": "routes/approvals.py", "method": "POST", "path": "/{request_id}/reject" }, { "file": "routes/approvals.py", "method": "POST", "path": "/{request_id}/expire" }, { "file": "routes/system_dashboard.py", "method": "GET", "path": "/dashboard" }, { "file": "routes/system_dashboard.py", "method": "GET", "path": "/alerts" }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "GET", "path": "/servers", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "POST", "path": "/servers", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "PATCH", "path": "/servers/{server_id}", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "DELETE", "path": "/servers/{server_id}", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "GET", "path": "/servers/{server_id}/tools", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "POST", "path": "/servers/{server_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/forgejo_error_reporter/routes.py", "method": "GET", "path": "/status", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/runs/recent", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/miniapps", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/miniapps", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "DELETE", "path": "/miniapps/{app_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/settings", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/settings", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "DELETE", "path": "/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/{automation_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/{automation_id}/dry-run", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/{automation_id}/runs", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/{automation_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/{automation_id}/versions/{version_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/subtasks", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/subtasks", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/subtasks/{subtask_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/subtasks/{subtask_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/subtasks/{subtask_id}/cancel", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/subtasks/{subtask_id}/wait", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/subtasks/aggregate", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "POST", "path": "/", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "GET", "path": "/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "PATCH", "path": "/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "DELETE", "path": "/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/tools", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/runs/recent", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "PATCH", "path": "/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/{agent_id}/ai-use-case", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "PATCH", "path": "/{agent_id}/ai-use-case", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "DELETE", "path": "/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/{agent_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/{agent_id}/test-run", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/{agent_id}/runs", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/{agent_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/{agent_id}/versions/{version_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/{id}/send-message", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/{id}/stream", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "PATCH", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/upload", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/files", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/folders/{folder_id}/files", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "PATCH", "path": "/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/{file_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/files/{file_id}/preview", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/files/{file_id}/download", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/{file_id}/edit-session", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/{file_id}/share", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/files/{file_id}/share", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/search", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/shared-with-me", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/bulk-move", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/files/bulk-delete", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/accounts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/accounts/shared", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/accounts/{account_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/accounts/{account_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts/{account_id}/users", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts/{account_id}/delegates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts/{account_id}/send-permissions", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts/{account_id}/test-connection", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/accounts/{account_id}/sync", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/folders/{folder_id}/empty", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/folders/{folder_id}/sync", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/upload-attachment", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/send", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/search", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/threads", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/templates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/templates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/templates/substitute", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/signatures", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/signatures", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/rules/{rule_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/vacation", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/vacation/test-dedup", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/pgp/keys", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/pgp/keys", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/pgp/encrypt", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/contacts/{contact_id}/pgp-key", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/apply-rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/reply", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/forward", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/{mail_id}/flags", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/{mail_id}/attachments/{att_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/link", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/create-event", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/drafts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PUT", "path": "/drafts/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/{mail_id}/move", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/articles", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/articles", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "PATCH", "path": "/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "DELETE", "path": "/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/articles/{article_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/articles/{article_id}/versions/{version}/restore", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/categories", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/categories", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "GET", "path": "/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "PATCH", "path": "/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "DELETE", "path": "/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/{task_id}/assign", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/{task_id}/status", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/{task_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "GET", "path": "/{task_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/{task_id}/dependencies", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "DELETE", "path": "/{task_id}/dependencies/{depends_on}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/{task_id}/decompose", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/calendar/entries", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/entries", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/calendar/entries/export", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "PATCH", "path": "/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "DELETE", "path": "/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/entries/{entry_id}/link", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/entries/{entry_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "PATCH", "path": "/calendar/entries/{entry_id}/subtasks/{sub_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/entries/bulk", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/calendar/kanban", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/calendar/{calendar_id}/ics-feed", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/import", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/calendar/entries/{entry_id}/book-resource", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/facets", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/suggest", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/similar", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/reindex", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/rebuild/{entity_type}/{entity_id}", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/purge/{entity_type}/{entity_id}", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/providers", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/providers/{entity_type}/toggle", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/stats", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "GET", "path": "/search", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "PATCH", "path": "/{memory_id}", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "DELETE", "path": "/{memory_id}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/listings", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/listings/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "POST", "path": "/install/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "POST", "path": "/verify/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/categories", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "POST", "path": "/relationships", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "GET", "path": "/relationships", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "POST", "path": "/traverse", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "DELETE", "path": "/relationships/{relationship_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/presets", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/presets/generate", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/templates", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/templates", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "PUT", "path": "/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "DELETE", "path": "/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/generate", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/generate/async", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/{report_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/{report_id}/download", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/extract", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/ask", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "GET", "path": "/review", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/review/{extraction_id}", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "POST", "path": "/files/{file_id}/link", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "DELETE", "path": "/files/{file_id}/link", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "GET", "path": "/files/{file_id}/links", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/conversations", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/pin", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/conversations/{conversation_id}/pin", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/mute", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/conversations/{conversation_id}/mute", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/participants", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/conversations/{conversation_id}/participants/{participant_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/conversations/{conversation_id}/participants/{participant_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/messages/{message_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/messages/{message_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/messages/{message_id}/attachments", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/messages/{message_id}/reactions", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/messages/{message_id}/reactions/{emoji}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/read", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/miniapps", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/miniapps", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/block-types", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/context", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/suggestions", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/suggestions/{suggestion_id}/dismiss", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/suggestions/{suggestion_id}/act", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/suggestions/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/settings", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "PUT", "path": "/settings", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/stats", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "POST", "path": "/{agent_id}/run", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "GET", "path": "/{agent_id}/status", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "POST", "path": "/{agent_id}/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/providers", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/providers", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/providers/{provider_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/providers/{provider_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/models", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/models", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/models/{model_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/models/{model_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/presets", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/presets", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/presets/{preset_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/presets/{preset_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/agents", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/agents", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/tools", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/folders", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/conversations/{conversation_id}/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "PATCH", "path": "/{tag_id}", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "POST", "path": "/assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "DELETE", "path": "/assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "DELETE", "path": "/{tag_id}", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "POST", "path": "/bulk-assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "GET", "path": "/{tag_id}/entities", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "GET", "path": "/files/{file_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "POST", "path": "/files/{file_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "DELETE", "path": "/files/{file_id}/permissions/{user_id}", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "POST", "path": "/files/{file_id}/share-link", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "DELETE", "path": "/share-links/{link_id}", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "GET", "path": "/{token}", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "POST", "path": "/{token}/verify", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "GET", "path": "/{token}/download", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "GET", "path": "/tools", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "POST", "path": "/tools/{tool_name}/execute", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "GET", "path": "/config", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "POST", "path": "/command", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "GET", "path": "/command/{command_id}/status", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "GET", "path": "/online-users", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/signals/collect", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/signals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/patterns/detect", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/patterns", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/proposals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/proposals/{proposal_id}", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals/{proposal_id}/evaluate", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals/{proposal_id}/request-approval", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals/{proposal_id}/activate", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals/{proposal_id}/rollback", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/proposals/{proposal_id}/measure", "is_plugin": true } ], "issues": [ { "type": "frontend_call_no_backend", "method": "GET", "url": "/webhooks{param}", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls GET /webhooks{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/webhooks/{param}", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls GET /webhooks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/webhooks", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls POST /webhooks but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/webhooks/{param}/test", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls POST /webhooks/{param}/test but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/webhooks/{param}", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls PATCH /webhooks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/webhooks/{param}", "file": "api/webhooks.ts", "severity": "HIGH", "message": "Frontend calls DELETE /webhooks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/notifications/unread-count", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls GET /notifications/unread-count but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/notifications/types", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls GET /notifications/types but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/notifications/preferences", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls GET /notifications/preferences but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/notifications/{param}/read", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls PATCH /notifications/{param}/read but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/notifications/preferences/{param}", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls PATCH /notifications/preferences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/notifications/{param}", "file": "api/notifications.ts", "severity": "HIGH", "message": "Frontend calls DELETE /notifications/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/calendars", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls GET /calendars but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/calendars/{param}/permissions", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls GET /calendars/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/calendar/entries${qs ", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls GET /calendar/entries${qs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/calendars", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls POST /calendars but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/calendars/{param}/share", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls POST /calendars/{param}/share but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/resources", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls POST /resources but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/calendars/{param}", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls PATCH /calendars/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/calendars/{param}", "file": "api/calendar.ts", "severity": "HIGH", "message": "Frontend calls DELETE /calendars/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/user/preferences", "file": "api/userPreferences.ts", "severity": "HIGH", "message": "Frontend calls GET /user/preferences but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/user/preferences/{param}", "file": "api/userPreferences.ts", "severity": "HIGH", "message": "Frontend calls GET /user/preferences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/user/preferences/{param}", "file": "api/userPreferences.ts", "severity": "HIGH", "message": "Frontend calls PUT /user/preferences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/user/preferences/{param}", "file": "api/userPreferences.ts", "severity": "HIGH", "message": "Frontend calls DELETE /user/preferences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/plugins", "file": "api/plugins.ts", "severity": "HIGH", "message": "Frontend calls GET /plugins but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/plugins/{param}/install", "file": "api/plugins.ts", "severity": "HIGH", "message": "Frontend calls POST /plugins/{param}/install but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/plugins/{param}/activate", "file": "api/plugins.ts", "severity": "HIGH", "message": "Frontend calls POST /plugins/{param}/activate but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/plugins/{param}/deactivate", "file": "api/plugins.ts", "severity": "HIGH", "message": "Frontend calls POST /plugins/{param}/deactivate but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/plugins/{param}", "file": "api/plugins.ts", "severity": "HIGH", "message": "Frontend calls DELETE /plugins/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/groups", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls GET /groups but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/groups/{param}/members", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls GET /groups/{param}/members but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/groups/user/{param}", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls GET /groups/user/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/groups", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls POST /groups but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/groups/{param}/members", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls POST /groups/{param}/members but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/groups/{param}", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls PATCH /groups/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/groups/{param}", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls DELETE /groups/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/groups/{param}/members/{param}", "file": "api/groups.ts", "severity": "HIGH", "message": "Frontend calls DELETE /groups/{param}/members/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/permissions/{param}/{param}", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls GET /permissions/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/permissions/{param}/{param}/access", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls GET /permissions/{param}/{param}/access but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/permissions/all", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls GET /permissions/all but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/permissions/registry", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls GET /permissions/registry but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/permissions/{param}/{param}", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls POST /permissions/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/permissions/{param}/{param}/{param}", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls PUT /permissions/{param}/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/permissions/{param}/{param}/{param}", "file": "api/entityPermissions.ts", "severity": "HIGH", "message": "Frontend calls DELETE /permissions/{param}/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/attachments", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls GET /attachments but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/addresses", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls GET /addresses but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/addresses", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls POST /addresses but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/addresses/{param}", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls PATCH /addresses/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/attachments/{param}", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls DELETE /attachments/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/addresses/{param}", "file": "api/attachments.ts", "severity": "HIGH", "message": "Frontend calls DELETE /addresses/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/comm/conversations", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls GET /comm/conversations but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/comm/conversations/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls GET /comm/conversations/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/comm/conversations/{param}/messages", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls GET /comm/conversations/{param}/messages but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/comm/miniapps", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls GET /comm/miniapps but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/comm/block-types", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls GET /comm/block-types but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/pin", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/pin but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/mute", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/mute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/participants", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/participants but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/messages", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/messages but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/messages/{param}/reactions", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/messages/{param}/reactions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/read", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/read but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/comm/conversations/{param}/miniapps", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls POST /comm/conversations/{param}/miniapps but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/comm/conversations/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls PATCH /comm/conversations/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/comm/conversations/{param}/participants/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls PATCH /comm/conversations/{param}/participants/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/comm/messages/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls PATCH /comm/messages/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/conversations/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/conversations/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/conversations/{param}/pin", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/conversations/{param}/pin but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/conversations/{param}/mute", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/conversations/{param}/mute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/conversations/{param}/participants/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/conversations/{param}/participants/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/messages/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/messages/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/comm/messages/{param}/reactions/{param}", "file": "api/comm.ts", "severity": "HIGH", "message": "Frontend calls DELETE /comm/messages/{param}/reactions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dashboard/widgets", "file": "api/dashboard.ts", "severity": "HIGH", "message": "Frontend calls GET /dashboard/widgets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}/custom-fields", "file": "api/customFields.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param}/custom-fields but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/contacts/{param}/custom-fields", "file": "api/customFields.ts", "severity": "HIGH", "message": "Frontend calls PATCH /contacts/{param}/custom-fields but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/roles", "file": "api/roles.ts", "severity": "HIGH", "message": "Frontend calls GET /roles but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/roles/permissions", "file": "api/roles.ts", "severity": "HIGH", "message": "Frontend calls GET /roles/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/roles", "file": "api/roles.ts", "severity": "HIGH", "message": "Frontend calls POST /roles but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/roles/{param}", "file": "api/roles.ts", "severity": "HIGH", "message": "Frontend calls PATCH /roles/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/roles/{param}", "file": "api/roles.ts", "severity": "HIGH", "message": "Frontend calls DELETE /roles/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/wiki/articles${qs ", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls GET /wiki/articles${qs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/wiki/articles/{param}", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls GET /wiki/articles/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/wiki/articles/{param}/versions", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls GET /wiki/articles/{param}/versions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/wiki/categories", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls GET /wiki/categories but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/graph/relationships${qs ", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls GET /graph/relationships${qs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/wiki/articles", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls POST /wiki/articles but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/wiki/articles/{param}/versions/{param}/restore", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls POST /wiki/articles/{param}/versions/{param}/restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/wiki/categories", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls POST /wiki/categories but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/knowledge/ask", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls POST /knowledge/ask but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/wiki/articles/{param}", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls PATCH /wiki/articles/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/wiki/articles/{param}", "file": "api/knowledge.ts", "severity": "HIGH", "message": "Frontend calls DELETE /wiki/articles/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mcp/tools", "file": "api/mcp.ts", "severity": "HIGH", "message": "Frontend calls GET /mcp/tools but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mcp/config", "file": "api/mcp.ts", "severity": "HIGH", "message": "Frontend calls GET /mcp/config but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mcp/tools/{param}/execute", "file": "api/mcp.ts", "severity": "HIGH", "message": "Frontend calls POST /mcp/tools/{param}/execute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/folders", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/files/{param}", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/files/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/search", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/search but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/shared-with-me", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/shared-with-me but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/folders/{param}/files", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/folders/{param}/files but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/dms/files", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls GET /dms/files but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/folders", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/upload", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/upload but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/{param}/restore", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/{param}/restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/{param}/edit-session", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/{param}/edit-session but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/{param}/share", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/{param}/share but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/bulk-move", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/bulk-move but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/dms/files/bulk-delete", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls POST /dms/files/bulk-delete but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/dms/folders/{param}", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls PATCH /dms/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/dms/files/{param}", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls PATCH /dms/files/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/dms/folders/{param}", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls DELETE /dms/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/dms/files/{param}", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls DELETE /dms/files/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/dms/files/{param}/share", "file": "api/dms.ts", "severity": "HIGH", "message": "Frontend calls DELETE /dms/files/{param}/share but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation/{param}", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation/{param}/runs", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation/{param}/runs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation/{param}/versions", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation/{param}/versions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation/settings", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation/settings but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/{param}/runs", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/{param}/runs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/{param}/versions", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/{param}/versions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/tools", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/tools but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/tools", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/tools but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/skills", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/skills but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/{param}/runs", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/{param}/runs but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/agents/runs/recent", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /agents/runs/recent but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/automation/miniapps", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls GET /automation/miniapps but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/automation", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /automation but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/automation/{param}/execute", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /automation/{param}/execute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/automation/{param}/dry-run", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /automation/{param}/dry-run but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/automation/{param}/versions/{param}/restore", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /automation/{param}/versions/{param}/restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/agents/{param}/execute", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /agents/{param}/execute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/agents/{param}/test-run", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /agents/{param}/test-run but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/agents/{param}/versions/{param}/restore", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /agents/{param}/versions/{param}/restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/agents/{param}/send-message", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /agents/{param}/send-message but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/automation/miniapps", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls POST /automation/miniapps but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/automation/{param}", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls PATCH /automation/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/automation/settings", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls PATCH /automation/settings but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/automation/{param}", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls DELETE /automation/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/automation/miniapps/{param}", "file": "api/automation.ts", "severity": "HIGH", "message": "Frontend calls DELETE /automation/miniapps/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/providers", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/providers but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/models", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/models but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/presets", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/presets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/agents", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/agents but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/tools", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/tools but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/folders", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/sessions", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/sessions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/conversations/{param}/messages", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/conversations/{param}/messages but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/ai/sessions/{param}/attachments", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls GET /ai/sessions/{param}/attachments but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/providers", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/providers but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/models", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/models but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/presets", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/presets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/agents", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/agents but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/folders", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/ai/sessions", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls POST /ai/sessions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/providers/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/providers/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/models/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/models/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/presets/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/presets/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/agents/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/agents/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/folders/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/ai/sessions/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls PUT /ai/sessions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/providers/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/providers/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/models/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/models/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/presets/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/presets/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/agents/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/agents/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/folders/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/ai/sessions/{param}", "file": "api/ai.ts", "severity": "HIGH", "message": "Frontend calls DELETE /ai/sessions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/auth/me", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls GET /auth/me but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/auth/login", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls POST /auth/login but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/auth/logout", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls POST /auth/logout but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/auth/password-reset/request", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls POST /auth/password-reset/request but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/auth/password-reset/confirm", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls POST /auth/password-reset/confirm but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/auth/switch-tenant", "file": "api/auth.ts", "severity": "HIGH", "message": "Frontend calls POST /auth/switch-tenant but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/entity-history/{param}/{param}", "file": "api/entityHistory.ts", "severity": "HIGH", "message": "Frontend calls GET /entity-history/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/entity-history/trash", "file": "api/entityHistory.ts", "severity": "HIGH", "message": "Frontend calls GET /entity-history/trash but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/entity-history/bulk-restore", "file": "api/entityHistory.ts", "severity": "HIGH", "message": "Frontend calls POST /entity-history/bulk-restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/entity-history/undo/{param}/{param}", "file": "api/entityHistory.ts", "severity": "HIGH", "message": "Frontend calls POST /entity-history/undo/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/system-settings", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls GET /system-settings but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/currencies", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls GET /currencies but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/taxes", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls GET /taxes but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/sequences", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls GET /sequences but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/currencies", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls POST /currencies but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/taxes", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls POST /taxes but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/sequences", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls POST /sequences but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/currencies/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls PATCH /currencies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/taxes/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls PATCH /taxes/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/sequences/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls PATCH /sequences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/currencies/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls DELETE /currencies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/taxes/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls DELETE /taxes/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/sequences/{param}", "file": "api/settings.ts", "severity": "HIGH", "message": "Frontend calls DELETE /sequences/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/tags", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls GET /tags but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/tags/{param}/entities", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls GET /tags/{param}/entities but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tags", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls POST /tags but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tags/assign", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls POST /tags/assign but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tags/bulk-assign", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls POST /tags/bulk-assign but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/tags/{param}", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls PATCH /tags/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/tags/{param}", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls DELETE /tags/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/tags/assign", "file": "api/tags.ts", "severity": "HIGH", "message": "Frontend calls DELETE /tags/assign but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/plugins/active-manifests", "file": "api/pluginManifests.ts", "severity": "HIGH", "message": "Frontend calls GET /plugins/active-manifests but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/permissions/files/{param}/permissions", "file": "api/permissions.ts", "severity": "HIGH", "message": "Frontend calls GET /permissions/files/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/permissions/files/{param}/permissions", "file": "api/permissions.ts", "severity": "HIGH", "message": "Frontend calls POST /permissions/files/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/permissions/files/{param}/share-link", "file": "api/permissions.ts", "severity": "HIGH", "message": "Frontend calls POST /permissions/files/{param}/share-link but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/permissions/files/{param}/permissions/{param}", "file": "api/permissions.ts", "severity": "HIGH", "message": "Frontend calls DELETE /permissions/files/{param}/permissions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/permissions/share-links/{param}", "file": "api/permissions.ts", "severity": "HIGH", "message": "Frontend calls DELETE /permissions/share-links/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/tasks", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls GET /tasks but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/tasks/{param}", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls GET /tasks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/tasks/{param}/subtasks", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls GET /tasks/{param}/subtasks but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks/{param}/assign", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks/{param}/assign but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks/{param}/status", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks/{param}/status but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks/{param}/subtasks", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks/{param}/subtasks but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks/{param}/dependencies", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks/{param}/dependencies but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/tasks/{param}/decompose", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls POST /tasks/{param}/decompose but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/tasks/{param}", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls PATCH /tasks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/tasks/{param}", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls DELETE /tasks/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/tasks/{param}/dependencies/{param}", "file": "api/tasks.ts", "severity": "HIGH", "message": "Frontend calls DELETE /tasks/{param}/dependencies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contact-folders", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contact-folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contact-folders/{param}/permissions", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contact-folders/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contact-folders", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contact-folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contact-folders/{param}/permissions", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contact-folders/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/contacts/{param}/move", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/contacts/{param}/move but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/{param}/permissions/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/{param}/permissions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/contacts/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls PATCH /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contacts/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contact-folders/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contact-folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contact-folders/{param}/permissions/{param}", "file": "api/contacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contact-folders/{param}/permissions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/workflows", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls GET /workflows but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/workflows/{param}", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls GET /workflows/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/workflows/instances", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls GET /workflows/instances but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/workflows/instances/{param}", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls GET /workflows/instances/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/workflows", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls POST /workflows but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/workflows/{param}/instances", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls POST /workflows/{param}/instances but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/workflows/instances/{param}/advance", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls POST /workflows/instances/{param}/advance but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/workflows/instances/{param}/cancel", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls POST /workflows/instances/{param}/cancel but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/workflows/{param}", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls PATCH /workflows/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/workflows/{param}", "file": "api/workflows.ts", "severity": "HIGH", "message": "Frontend calls DELETE /workflows/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/backups", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls GET /backups but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/system-settings/backup-config", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls GET /system-settings/backup-config but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/system-settings/backup-history", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls GET /system-settings/backup-history but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/backups", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls POST /backups but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/backups/{param}/restore", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls POST /backups/{param}/restore but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/system-settings/backup-now", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls POST /system-settings/backup-now but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/system-settings/backup-config", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls PUT /system-settings/backup-config but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/backups/{param}", "file": "api/backups.ts", "severity": "HIGH", "message": "Frontend calls DELETE /backups/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}/persons", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param}/persons but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/{param}/persons", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/{param}/persons but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts/{param}/persons", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts/{param}/persons but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts/{param}/persons", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts/{param}/persons but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contacts/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contacts/{param}/persons/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contacts/{param}/persons/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contacts/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contacts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contacts/{param}/persons/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls PUT /contacts/{param}/persons/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contacts/{param}${hard ", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contacts/{param}${hard but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contacts/{param}/persons/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contacts/{param}/persons/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contacts/{param}${hard ", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contacts/{param}${hard but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contacts/{param}/persons/{param}", "file": "api/unifiedContacts.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contacts/{param}/persons/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/reports/templates", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls GET /reports/templates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/reports/templates/{param}", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls GET /reports/templates/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/reports/presets", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls GET /reports/presets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/reports/templates", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls POST /reports/templates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/reports/templates/{param}", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls PUT /reports/templates/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/reports/templates/{param}", "file": "api/reports.ts", "severity": "HIGH", "message": "Frontend calls DELETE /reports/templates/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/custom-fields/definitions{param}", "file": "api/customFieldDefinitions.ts", "severity": "HIGH", "message": "Frontend calls GET /custom-fields/definitions{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/custom-fields/definitions", "file": "api/customFieldDefinitions.ts", "severity": "HIGH", "message": "Frontend calls POST /custom-fields/definitions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/custom-fields/definitions/{param}", "file": "api/customFieldDefinitions.ts", "severity": "HIGH", "message": "Frontend calls PATCH /custom-fields/definitions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/custom-fields/definitions/{param}", "file": "api/customFieldDefinitions.ts", "severity": "HIGH", "message": "Frontend calls DELETE /custom-fields/definitions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mcp-client/servers", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls GET /mcp-client/servers but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mcp-client/servers/{param}/tools", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls GET /mcp-client/servers/{param}/tools but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mcp-client/servers", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls POST /mcp-client/servers but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mcp-client/servers/{param}/execute", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls POST /mcp-client/servers/{param}/execute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mcp-client/servers/{param}", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mcp-client/servers/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mcp-client/servers/{param}", "file": "api/mcpClient.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mcp-client/servers/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contacts/merge-history", "file": "api/dedup.ts", "severity": "HIGH", "message": "Frontend calls GET /contacts/merge-history but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts/duplicates", "file": "api/dedup.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts/duplicates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contacts/merge", "file": "api/dedup.ts", "severity": "HIGH", "message": "Frontend calls POST /contacts/merge but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/users/{param}", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls GET /users/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/users/me/menu-order", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls GET /users/me/menu-order but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/users", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls POST /users but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/users/me/menu-order", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls PUT /users/me/menu-order but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/users/{param}", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls PATCH /users/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/users/{param}", "file": "api/users.ts", "severity": "HIGH", "message": "Frontend calls DELETE /users/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contact-folders", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls GET /contact-folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contact-folders/{param}/permissions", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls GET /contact-folders/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/contact-folders/{param}/access", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls GET /contact-folders/{param}/access but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contact-folders", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls POST /contact-folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/contact-folders/{param}/permissions", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls POST /contact-folders/{param}/permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/{param}", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/{param}/reorder", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/{param}/reorder but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/contacts/{param}/move", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/contacts/{param}/move but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/contact-folders/{param}/permissions/{param}", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls PUT /contact-folders/{param}/permissions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contact-folders/{param}", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contact-folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/contact-folders/{param}/permissions/{param}", "file": "api/contactFolders.ts", "severity": "HIGH", "message": "Frontend calls DELETE /contact-folders/{param}/permissions/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/compliance/ai-registry", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls GET /compliance/ai-registry but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/compliance/dpia-template", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls GET /compliance/dpia-template but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/compliance/incidents", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls GET /compliance/incidents but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/compliance/retention-policies", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls GET /compliance/retention-policies but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/compliance/incidents", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls POST /compliance/incidents but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/compliance/incidents/{param}", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls PATCH /compliance/incidents/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/compliance/retention-policies/{param}", "file": "api/compliance.ts", "severity": "HIGH", "message": "Frontend calls PATCH /compliance/retention-policies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/saved-filters", "file": "api/savedFilters.ts", "severity": "HIGH", "message": "Frontend calls GET /saved-filters but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/saved-filters", "file": "api/savedFilters.ts", "severity": "HIGH", "message": "Frontend calls POST /saved-filters but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/saved-filters/{param}", "file": "api/savedFilters.ts", "severity": "HIGH", "message": "Frontend calls DELETE /saved-filters/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/system/dashboard", "file": "api/systemDashboard.ts", "severity": "HIGH", "message": "Frontend calls GET /system/dashboard but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/system/alerts", "file": "api/systemDashboard.ts", "severity": "HIGH", "message": "Frontend calls GET /system/alerts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/improvement/proposals/{param}", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls GET /improvement/proposals/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/signals/collect", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/signals/collect but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/patterns/detect", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/patterns/detect but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals/{param}/evaluate", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals/{param}/evaluate but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals/{param}/request-approval", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals/{param}/request-approval but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals/{param}/activate", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals/{param}/activate but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals/{param}/rollback", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals/{param}/rollback but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/improvement/proposals/{param}/measure", "file": "api/improvement.ts", "severity": "HIGH", "message": "Frontend calls POST /improvement/proposals/{param}/measure but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/policies/{param}", "file": "api/policies.ts", "severity": "HIGH", "message": "Frontend calls GET /policies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/policies/{param}/{param}", "file": "api/policies.ts", "severity": "HIGH", "message": "Frontend calls GET /policies/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/policies/{param}", "file": "api/policies.ts", "severity": "HIGH", "message": "Frontend calls POST /policies/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/policies/{param}/{param}", "file": "api/policies.ts", "severity": "HIGH", "message": "Frontend calls PUT /policies/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/policies/{param}/{param}", "file": "api/policies.ts", "severity": "HIGH", "message": "Frontend calls DELETE /policies/{param}/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/saved-views{param}", "file": "api/savedViews.ts", "severity": "HIGH", "message": "Frontend calls GET /saved-views{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/saved-views", "file": "api/savedViews.ts", "severity": "HIGH", "message": "Frontend calls POST /saved-views but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/saved-views/{param}", "file": "api/savedViews.ts", "severity": "HIGH", "message": "Frontend calls PUT /saved-views/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/saved-views/{param}", "file": "api/savedViews.ts", "severity": "HIGH", "message": "Frontend calls DELETE /saved-views/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/accounts", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/accounts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/accounts/shared", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/accounts/shared but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/folders", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/search", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/search but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/threads", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/threads but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/templates", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/templates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/signatures", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/signatures but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/rules", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/rules but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/pgp/keys", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/pgp/keys but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/contacts/pgp-keys", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/contacts/pgp-keys but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/mail/labels", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls GET /mail/labels but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts/{param}/users", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts/{param}/users but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts/{param}/delegates", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts/{param}/delegates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts/{param}/send-permissions", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts/{param}/send-permissions but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts/{param}/test-connection", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts/{param}/test-connection but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/accounts/{param}/sync", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/accounts/{param}/sync but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/folders", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/folders but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/folders/{param}/empty", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/folders/{param}/empty but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/folders/{param}/sync", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/folders/{param}/sync but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/send", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/send but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/reply", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/reply but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/forward", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/forward but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/link", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/link but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/create-event", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/create-event but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/labels", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/labels but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/templates", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/templates but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/templates/substitute", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/templates/substitute but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/signatures", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/signatures but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/rules", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/rules but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/vacation", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/vacation but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/vacation/test-dedup", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/vacation/test-dedup but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/pgp/keys", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/pgp/keys but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/pgp/encrypt", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/pgp/encrypt but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/contacts/{param}/pgp-key", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/contacts/{param}/pgp-key but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/labels", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/labels but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/{param}/move", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/{param}/move but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/mail/drafts", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls POST /mail/drafts but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mail/accounts/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mail/accounts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mail/folders/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mail/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mail/{param}/flags", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mail/{param}/flags but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mail/signatures/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mail/signatures/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PATCH", "url": "/mail/drafts/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls PATCH /mail/drafts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/accounts/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/accounts/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/folders/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/folders/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/signatures/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/signatures/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/rules/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/rules/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/labels/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/labels/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/mail/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/api/v1/workspaces", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls GET /api/v1/workspaces but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/api/v1/workspaces/my", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls GET /api/v1/workspaces/my but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/api/v1/workspaces/context", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls GET /api/v1/workspaces/context but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "GET", "url": "/api/v1/workspaces/{param}/widgets", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls GET /api/v1/workspaces/{param}/widgets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/api/v1/workspaces", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls POST /api/v1/workspaces but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/api/v1/workspaces/{param}/modules", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls POST /api/v1/workspaces/{param}/modules but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/api/v1/workspaces/{param}/users", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls POST /api/v1/workspaces/{param}/users but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/api/v1/workspaces/{param}/widgets", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls POST /api/v1/workspaces/{param}/widgets but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "POST", "url": "/api/v1/workspaces/{param}/set-default", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls POST /api/v1/workspaces/{param}/set-default but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/api/v1/workspaces/{param}", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls PUT /api/v1/workspaces/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "PUT", "url": "/api/v1/workspaces/{param}/widgets/{param}", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls PUT /api/v1/workspaces/{param}/widgets/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/api/v1/workspaces/{param}", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls DELETE /api/v1/workspaces/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/api/v1/workspaces/{param}/users/{param}", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls DELETE /api/v1/workspaces/{param}/users/{param} but no matching backend endpoint found" }, { "type": "frontend_call_no_backend", "method": "DELETE", "url": "/api/v1/workspaces/{param}/widgets/{param}", "file": "api/hooks/workspaces.ts", "severity": "HIGH", "message": "Frontend calls DELETE /api/v1/workspaces/{param}/widgets/{param} but no matching backend endpoint found" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{filter_id}", "file": "routes/saved_filters.py", "severity": "LOW", "message": "Backend endpoint DELETE /{filter_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/export", "file": "routes/audit.py", "severity": "LOW", "message": "Backend endpoint GET /export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/retention", "file": "routes/audit.py", "severity": "LOW", "message": "Backend endpoint DELETE /retention is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{token_id}", "file": "routes/api_tokens.py", "severity": "LOW", "message": "Backend endpoint DELETE /{token_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{sequence_id}", "file": "routes/sequences.py", "severity": "LOW", "message": "Backend endpoint PATCH /{sequence_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{sequence_id}", "file": "routes/sequences.py", "severity": "LOW", "message": "Backend endpoint DELETE /{sequence_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/export", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint GET /export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{company_id}", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint GET /{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{company_id}", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint PUT /{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{company_id}", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint DELETE /{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{company_id}/contacts/{contact_id}", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint POST /{company_id}/contacts/{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{company_id}/contacts/{contact_id}", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint DELETE /{company_id}/contacts/{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{company_id}/emails", "file": "routes/companies.py", "severity": "LOW", "message": "Backend endpoint GET /{company_id}/emails is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{folder_id}", "file": "routes/contact_folders.py", "severity": "LOW", "message": "Backend endpoint PUT /{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{folder_id}", "file": "routes/contact_folders.py", "severity": "LOW", "message": "Backend endpoint DELETE /{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{folder_id}/reorder", "file": "routes/contact_folders.py", "severity": "LOW", "message": "Backend endpoint PUT /{folder_id}/reorder is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/contacts/{contact_id}/move", "file": "routes/contact_folders.py", "severity": "LOW", "message": "Backend endpoint PUT /contacts/{contact_id}/move is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{delegation_id}", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint PUT /{delegation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{delegation_id}", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint DELETE /{delegation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/active", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint GET /active is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/transfer", "file": "routes/owner_transfer.py", "severity": "LOW", "message": "Backend endpoint POST /transfer is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/export", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint GET /export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/merge-history", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint GET /merge-history is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{contact_id}", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint GET /{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{contact_id}", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint PUT /{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{contact_id}", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint DELETE /{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{contact_id}/persons", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint GET /{contact_id}/persons is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{contact_id}/persons", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint POST /{contact_id}/persons is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{contact_id}/persons/{person_id}", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint PUT /{contact_id}/persons/{person_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{contact_id}/persons/{person_id}", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint DELETE /{contact_id}/persons/{person_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/duplicates", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint POST /duplicates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/merge", "file": "routes/contacts.py", "severity": "LOW", "message": "Backend endpoint POST /merge is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/invite", "file": "routes/guests.py", "severity": "LOW", "message": "Backend endpoint POST /invite is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{guest_id}", "file": "routes/guests.py", "severity": "LOW", "message": "Backend endpoint DELETE /{guest_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{tenant_id}/users", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint GET /{tenant_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{tenant_id}/users", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint POST /{tenant_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/definitions", "file": "routes/custom_field_definitions.py", "severity": "LOW", "message": "Backend endpoint GET /definitions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/definitions", "file": "routes/custom_field_definitions.py", "severity": "LOW", "message": "Backend endpoint POST /definitions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/definitions/{definition_id}", "file": "routes/custom_field_definitions.py", "severity": "LOW", "message": "Backend endpoint PATCH /definitions/{definition_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/definitions/{definition_id}", "file": "routes/custom_field_definitions.py", "severity": "LOW", "message": "Backend endpoint DELETE /definitions/{definition_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{view_id}", "file": "routes/saved_views.py", "severity": "LOW", "message": "Backend endpoint PUT /{view_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{view_id}", "file": "routes/saved_views.py", "severity": "LOW", "message": "Backend endpoint DELETE /{view_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/permissions", "file": "routes/roles.py", "severity": "LOW", "message": "Backend endpoint GET /permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{role_id}", "file": "routes/roles.py", "severity": "LOW", "message": "Backend endpoint PATCH /{role_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{role_id}", "file": "routes/roles.py", "severity": "LOW", "message": "Backend endpoint DELETE /{role_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{group_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint GET /{group_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{group_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint PATCH /{group_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{group_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint DELETE /{group_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{group_id}/members", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint GET /{group_id}/members is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{group_id}/members", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint POST /{group_id}/members is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{group_id}/members/{user_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint DELETE /{group_id}/members/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/user/{user_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint GET /user/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/my", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint GET /my is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/context", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint GET /context is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{workspace_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint GET /{workspace_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{workspace_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint PUT /{workspace_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{workspace_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint DELETE /{workspace_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workspace_id}/modules", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint POST /{workspace_id}/modules is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workspace_id}/users", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint POST /{workspace_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{workspace_id}/users/{user_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint DELETE /{workspace_id}/users/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{workspace_id}/widgets", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint GET /{workspace_id}/widgets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workspace_id}/widgets", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint POST /{workspace_id}/widgets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{workspace_id}/widgets/{widget_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint PUT /{workspace_id}/widgets/{widget_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{workspace_id}/widgets/{widget_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint DELETE /{workspace_id}/widgets/{widget_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workspace_id}/set-default", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint POST /{workspace_id}/set-default is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/widgets", "file": "routes/dashboard.py", "severity": "LOW", "message": "Backend endpoint GET /widgets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/counts", "file": "routes/dashboard.py", "severity": "LOW", "message": "Backend endpoint GET /counts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{backup_id}/restore", "file": "routes/backups.py", "severity": "LOW", "message": "Backend endpoint POST /{backup_id}/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{backup_id}", "file": "routes/backups.py", "severity": "LOW", "message": "Backend endpoint DELETE /{backup_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{contact_id}/custom-fields", "file": "routes/custom_fields.py", "severity": "LOW", "message": "Backend endpoint GET /{contact_id}/custom-fields is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{contact_id}/custom-fields", "file": "routes/custom_fields.py", "severity": "LOW", "message": "Backend endpoint PATCH /{contact_id}/custom-fields is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/login", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint POST /login is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/logout", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint POST /logout is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/me", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint GET /me is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/me/permissions", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint GET /me/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/switch-tenant", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint POST /switch-tenant is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/password-reset/request", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint POST /password-reset/request is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/password-reset/confirm", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint POST /password-reset/confirm is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{user_id}", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint GET /{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{user_id}", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint PATCH /{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{user_id}", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint DELETE /{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/me/menu-order", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint GET /me/menu-order is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/me/menu-order", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint PUT /me/menu-order is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{account_id}", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint PATCH /{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{account_id}", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint DELETE /{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{webhook_id}", "file": "routes/webhooks.py", "severity": "LOW", "message": "Backend endpoint GET /{webhook_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{webhook_id}", "file": "routes/webhooks.py", "severity": "LOW", "message": "Backend endpoint PATCH /{webhook_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{webhook_id}", "file": "routes/webhooks.py", "severity": "LOW", "message": "Backend endpoint DELETE /{webhook_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{webhook_id}/test", "file": "routes/webhooks.py", "severity": "LOW", "message": "Backend endpoint POST /{webhook_id}/test is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{address_id}", "file": "routes/addresses.py", "severity": "LOW", "message": "Backend endpoint PATCH /{address_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{address_id}", "file": "routes/addresses.py", "severity": "LOW", "message": "Backend endpoint DELETE /{address_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{folder_id}/permissions", "file": "routes/contact_folder_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /{folder_id}/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{folder_id}/permissions", "file": "routes/contact_folder_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /{folder_id}/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{folder_id}/permissions/{permission_id}", "file": "routes/contact_folder_permissions.py", "severity": "LOW", "message": "Backend endpoint PUT /{folder_id}/permissions/{permission_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{folder_id}/permissions/{permission_id}", "file": "routes/contact_folder_permissions.py", "severity": "LOW", "message": "Backend endpoint DELETE /{folder_id}/permissions/{permission_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{folder_id}/access", "file": "routes/contact_folder_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /{folder_id}/access is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{tax_id}", "file": "routes/taxes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{tax_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{tax_id}", "file": "routes/taxes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{tax_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{notification_id}/read", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint PATCH /{notification_id}/read is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/unread-count", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint GET /unread-count is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/types", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint GET /types is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/preferences", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint GET /preferences is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/preferences/{type_key}", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint PATCH /preferences/{type_key} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/import", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /import is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/import/preview", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /import/preview is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/import/validate", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /import/validate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/import/status/{job_id}", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint GET /import/status/{job_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/import/contacts", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /import/contacts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/import/companies", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /import/companies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/export", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint GET /export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{attachment_id}", "file": "routes/attachments.py", "severity": "LOW", "message": "Backend endpoint GET /{attachment_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{attachment_id}", "file": "routes/attachments.py", "severity": "LOW", "message": "Backend endpoint DELETE /{attachment_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/health/live", "file": "routes/health.py", "severity": "LOW", "message": "Backend endpoint GET /health/live is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/health/ready", "file": "routes/health.py", "severity": "LOW", "message": "Backend endpoint GET /health/ready is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/health", "file": "routes/health.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/health is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/instances", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /instances is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{workflow_id}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /{workflow_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{workflow_id}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint PATCH /{workflow_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{workflow_id}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint DELETE /{workflow_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workflow_id}/instances", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /{workflow_id}/instances is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/instances/{instance_id}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /instances/{instance_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/instances/{instance_id}/advance", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /instances/{instance_id}/advance is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/instances/{instance_id}/cancel", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /instances/{instance_id}/cancel is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/instances/{instance_id}/resume", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /instances/{instance_id}/resume is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{workflow_id}/trigger", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /{workflow_id}/trigger is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/webhook/{token}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /webhook/{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/instances/{instance_id}/history", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /instances/{instance_id}/history is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/instances/{instance_id}/approve", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /instances/{instance_id}/approve is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/instances/{instance_id}/reject", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /instances/{instance_id}/reject is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/templates", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/templates/{template_id}/instantiate", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /templates/{template_id}/instantiate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/stats", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/failed", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /failed is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/replay/{event_id}", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /replay/{event_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/replay-all", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /replay-all is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/consumer-registry", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /consumer-registry is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/recover-stuck", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /recover-stuck is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/cleanup-published", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /cleanup-published is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/backup-config", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint GET /backup-config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/backup-config", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint PUT /backup-config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/backup-now", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint POST /backup-now is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/backup-history", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint GET /backup-history is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/dsgvo-export/{user_id}", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint GET /dsgvo-export/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/dsar/{user_id}", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint POST /dsar/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/query", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint POST /query is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/execute", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint POST /execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/history", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint GET /history is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/metrics", "file": "routes/metrics.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/metrics is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{entity_type}/{entity_id}", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint GET /{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/restore", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/undo/{entity_type}/{entity_id}", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /undo/{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/trash", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint GET /trash is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/bulk-restore", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /bulk-restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/retention/archive", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /retention/archive is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{entity_type}", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint GET /{entity_type} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{policy_id}", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint PUT /{policy_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{policy_id}", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint DELETE /{policy_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{template_id}", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint PUT /{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{template_id}", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint DELETE /{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/apply", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint POST /apply is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{currency_id}", "file": "routes/currencies.py", "severity": "LOW", "message": "Backend endpoint PATCH /{currency_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{currency_id}", "file": "routes/currencies.py", "severity": "LOW", "message": "Backend endpoint DELETE /{currency_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{key}", "file": "routes/user_preferences.py", "severity": "LOW", "message": "Backend endpoint GET /{key} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{key}", "file": "routes/user_preferences.py", "severity": "LOW", "message": "Backend endpoint PUT /{key} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{key}", "file": "routes/user_preferences.py", "severity": "LOW", "message": "Backend endpoint DELETE /{key} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{entity_type}/{entity_id}", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{entity_type}/{entity_id}", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/{entity_type}/{entity_id}/{permission_id}", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint PUT /{entity_type}/{entity_id}/{permission_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{entity_type}/{entity_id}/{permission_id}", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint DELETE /{entity_type}/{entity_id}/{permission_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{entity_type}/{entity_id}/access", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /{entity_type}/{entity_id}/access is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/all", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /all is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/registry", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /registry is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/bulk", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /bulk is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/bulk/unshare", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /bulk/unshare is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/analytics", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /analytics is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/manifest", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /manifest is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/updates", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /updates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/active-manifests", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /active-manifests is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{name}/config", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /{name}/config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{name}/config", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint PATCH /{name}/config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{name}/install", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /{name}/install is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{name}/activate", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /{name}/activate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{name}/deactivate", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /{name}/deactivate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{name}", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint DELETE /{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/upload", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /upload is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/install-url", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /install-url is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/install-marketplace", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /install-marketplace is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/ai-registry", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint GET /ai-registry is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/dpia-template", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint GET /dpia-template is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/incidents", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint GET /incidents is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/incidents", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint POST /incidents is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/incidents/{incident_id}", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint PATCH /incidents/{incident_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/retention-policies", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint GET /retention-policies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/retention-policies/{key}", "file": "routes/compliance.py", "severity": "LOW", "message": "Backend endpoint PATCH /retention-policies/{key} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{request_id}", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint GET /{request_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{request_id}/approve", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /{request_id}/approve is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{request_id}/reject", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /{request_id}/reject is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{request_id}/expire", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /{request_id}/expire is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/dashboard", "file": "routes/system_dashboard.py", "severity": "LOW", "message": "Backend endpoint GET /dashboard is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/alerts", "file": "routes/system_dashboard.py", "severity": "LOW", "message": "Backend endpoint GET /alerts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/servers", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint GET /servers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/servers", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint POST /servers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/servers/{server_id}", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /servers/{server_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/servers/{server_id}", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /servers/{server_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/servers/{server_id}/tools", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint GET /servers/{server_id}/tools is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/servers/{server_id}/execute", "file": "plugins/builtins/mcp_client/routes.py", "severity": "LOW", "message": "Backend endpoint POST /servers/{server_id}/execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/status", "file": "plugins/builtins/forgejo_error_reporter/routes.py", "severity": "LOW", "message": "Backend endpoint GET /status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST / is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/runs/recent", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /runs/recent is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/miniapps", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /miniapps is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/miniapps", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /miniapps is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/miniapps/{app_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /miniapps/{app_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/settings", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/settings", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{automation_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{automation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{automation_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{automation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{automation_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{automation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{automation_id}/execute", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{automation_id}/execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{automation_id}/dry-run", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{automation_id}/dry-run is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{automation_id}/runs", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{automation_id}/runs is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{automation_id}/versions", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{automation_id}/versions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{automation_id}/versions/{version_id}/restore", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{automation_id}/versions/{version_id}/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/subtasks", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/subtasks", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/subtasks/{subtask_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /subtasks/{subtask_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/subtasks/{subtask_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /subtasks/{subtask_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/subtasks/{subtask_id}/cancel", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /subtasks/{subtask_id}/cancel is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/subtasks/{subtask_id}/wait", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /subtasks/{subtask_id}/wait is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/subtasks/aggregate", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /subtasks/aggregate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint POST / is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST / is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/tools", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /tools is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/runs/recent", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /runs/recent is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{agent_id}", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{agent_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{agent_id}", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{agent_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{agent_id}/ai-use-case", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{agent_id}/ai-use-case is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{agent_id}/ai-use-case", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{agent_id}/ai-use-case is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{agent_id}", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{agent_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{agent_id}/execute", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{agent_id}/execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{agent_id}/test-run", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{agent_id}/test-run is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{agent_id}/runs", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{agent_id}/runs is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{agent_id}/versions", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{agent_id}/versions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{agent_id}/versions/{version_id}/restore", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{agent_id}/versions/{version_id}/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{id}/send-message", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{id}/send-message is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{id}/stream", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/folders", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/folders", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/folders/{folder_id}", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/folders/{folder_id}", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/upload", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/upload is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files/{file_id}", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files/{file_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/folders/{folder_id}/files", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /folders/{folder_id}/files is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/files/{file_id}", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /files/{file_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/files/{file_id}", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /files/{file_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/restore", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files/{file_id}/preview", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files/{file_id}/preview is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files/{file_id}/download", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files/{file_id}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/edit-session", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/edit-session is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/share", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/share is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/files/{file_id}/share", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /files/{file_id}/share is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/search", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/shared-with-me", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /shared-with-me is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/bulk-move", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/bulk-move is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/bulk-delete", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/bulk-delete is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/accounts", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /accounts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/accounts/shared", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /accounts/shared is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/accounts/{account_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /accounts/{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/accounts/{account_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /accounts/{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts/{account_id}/users", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts/{account_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts/{account_id}/delegates", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts/{account_id}/delegates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts/{account_id}/send-permissions", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts/{account_id}/send-permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts/{account_id}/test-connection", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts/{account_id}/test-connection is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/accounts/{account_id}/sync", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /accounts/{account_id}/sync is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/folders", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/folders", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/folders/{folder_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/folders/{folder_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/folders/{folder_id}/empty", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /folders/{folder_id}/empty is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/folders/{folder_id}/sync", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /folders/{folder_id}/sync is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/upload-attachment", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /upload-attachment is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/send", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /send is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/search", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/threads", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /threads is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/templates", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/templates", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/templates/substitute", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /templates/substitute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/signatures", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /signatures is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/signatures", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /signatures is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/rules", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /rules is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/rules", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /rules is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/rules/{rule_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /rules/{rule_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/vacation", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /vacation is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/vacation/test-dedup", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /vacation/test-dedup is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/pgp/keys", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /pgp/keys is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/pgp/keys", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /pgp/keys is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/pgp/encrypt", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /pgp/encrypt is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/labels", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /labels is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/labels", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /labels is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/contacts/{contact_id}/pgp-key", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /contacts/{contact_id}/pgp-key is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/apply-rules", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/apply-rules is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/reply", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/reply is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/forward", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/forward is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{mail_id}/flags", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{mail_id}/flags is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{mail_id}/attachments/{att_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{mail_id}/attachments/{att_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/link", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/create-event", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/create-event is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/labels", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/labels is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/drafts", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /drafts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/drafts/{mail_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /drafts/{mail_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{mail_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{mail_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{mail_id}/move", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{mail_id}/move is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{mail_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{mail_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/articles", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint GET /articles is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/articles", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint POST /articles is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/articles/{article_id}", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint GET /articles/{article_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/articles/{article_id}", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /articles/{article_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/articles/{article_id}", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /articles/{article_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/articles/{article_id}/versions", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint GET /articles/{article_id}/versions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/articles/{article_id}/versions/{version}/restore", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint POST /articles/{article_id}/versions/{version}/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/categories", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint GET /categories is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/categories", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint POST /categories is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{task_id}", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{task_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{task_id}", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{task_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{task_id}", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{task_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{task_id}/assign", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{task_id}/assign is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{task_id}/status", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{task_id}/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{task_id}/subtasks", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{task_id}/subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{task_id}/subtasks", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{task_id}/subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{task_id}/dependencies", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{task_id}/dependencies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{task_id}/dependencies/{depends_on}", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{task_id}/dependencies/{depends_on} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{task_id}/decompose", "file": "plugins/builtins/tasks/routes.py", "severity": "LOW", "message": "Backend endpoint POST /{task_id}/decompose is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/calendar/entries", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /calendar/entries is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/calendar/entries/export", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /calendar/entries/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/calendar/entries/{entry_id}/link", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /calendar/entries/{entry_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/calendar/entries/bulk", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /calendar/entries/bulk is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/calendar/{calendar_id}/ics-feed", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /calendar/{calendar_id}/ics-feed is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/calendar/import", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /calendar/import is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/facets", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /facets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/suggest", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /suggest is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/similar", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /similar is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/reindex", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /reindex is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/rebuild/{entity_type}/{entity_id}", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /rebuild/{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/purge/{entity_type}/{entity_id}", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /purge/{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/providers", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /providers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/providers/{entity_type}/toggle", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /providers/{entity_type}/toggle is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/stats", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/search", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint GET /search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{memory_id}", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{memory_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{memory_id}", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{memory_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/listings", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /listings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/listings/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /listings/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/install/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint POST /install/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/verify/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint POST /verify/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/categories", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /categories is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/relationships", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint POST /relationships is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/relationships", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint GET /relationships is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/traverse", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint POST /traverse is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/relationships/{relationship_id}", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /relationships/{relationship_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/presets", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /presets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/presets/generate", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /presets/generate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/templates", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/templates", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/templates/{template_id}", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /templates/{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/templates/{template_id}", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /templates/{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/templates/{template_id}", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /templates/{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/generate", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /generate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/generate/async", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /generate/async is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{report_id}", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{report_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{report_id}/download", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{report_id}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/extract", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint POST /extract is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/ask", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint POST /ask is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/review", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint GET /review is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/review/{extraction_id}", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint POST /review/{extraction_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/link", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/files/{file_id}/link", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /files/{file_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files/{file_id}/links", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files/{file_id}/links is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/conversations", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /conversations is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/conversations/{conversation_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /conversations/{conversation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/conversations/{conversation_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /conversations/{conversation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/conversations/{conversation_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /conversations/{conversation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/pin", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/pin is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/conversations/{conversation_id}/pin", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /conversations/{conversation_id}/pin is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/mute", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/mute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/conversations/{conversation_id}/mute", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /conversations/{conversation_id}/mute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/participants", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/participants is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/conversations/{conversation_id}/participants/{participant_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /conversations/{conversation_id}/participants/{participant_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/conversations/{conversation_id}/participants/{participant_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /conversations/{conversation_id}/participants/{participant_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/conversations/{conversation_id}/messages", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /conversations/{conversation_id}/messages is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/messages", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/messages is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/messages/{message_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /messages/{message_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/messages/{message_id}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /messages/{message_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/messages/{message_id}/attachments", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /messages/{message_id}/attachments is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/messages/{message_id}/reactions", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /messages/{message_id}/reactions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/messages/{message_id}/reactions/{emoji}", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /messages/{message_id}/reactions/{emoji} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/read", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/read is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/miniapps", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /miniapps is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/miniapps", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/miniapps is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/block-types", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /block-types is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/context", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /context is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/suggestions", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /suggestions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/suggestions/{suggestion_id}/dismiss", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /suggestions/{suggestion_id}/dismiss is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/suggestions/{suggestion_id}/act", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /suggestions/{suggestion_id}/act is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/suggestions/stream", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /suggestions/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/settings", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/settings", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/stats", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{agent_id}/run", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint POST /{agent_id}/run is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{agent_id}/status", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint GET /{agent_id}/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{agent_id}/stream", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint POST /{agent_id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/providers", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /providers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/providers", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /providers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/providers/{provider_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /providers/{provider_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/providers/{provider_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /providers/{provider_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/models", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /models is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/models", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /models is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/models/{model_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /models/{model_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/models/{model_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /models/{model_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/presets", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /presets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/presets", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /presets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/presets/{preset_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /presets/{preset_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/presets/{preset_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /presets/{preset_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/agents/{agent_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /agents/{agent_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/tools", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /tools is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/folders", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/folders", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /folders is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/folders/{folder_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/folders/{folder_id}", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /folders/{folder_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/conversations/{conversation_id}/stream", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /conversations/{conversation_id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/conversations/{conversation_id}/messages", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint GET /conversations/{conversation_id}/messages is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/{tag_id}", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /{tag_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/assign", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint POST /assign is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/assign", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /assign is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/{tag_id}", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /{tag_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/bulk-assign", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint POST /bulk-assign is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{tag_id}/entities", "file": "plugins/builtins/tags/routes.py", "severity": "LOW", "message": "Backend endpoint GET /{tag_id}/entities is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/files/{file_id}/permissions", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint GET /files/{file_id}/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/permissions", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/files/{file_id}/permissions/{user_id}", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /files/{file_id}/permissions/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/files/{file_id}/share-link", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint POST /files/{file_id}/share-link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/share-links/{link_id}", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /share-links/{link_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{token}", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/{token}/verify", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint POST /{token}/verify is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/{token}/download", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint GET /{token}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/tools", "file": "plugins/builtins/mcp_server/routes.py", "severity": "LOW", "message": "Backend endpoint GET /tools is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/tools/{tool_name}/execute", "file": "plugins/builtins/mcp_server/routes.py", "severity": "LOW", "message": "Backend endpoint POST /tools/{tool_name}/execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/config", "file": "plugins/builtins/mcp_server/routes.py", "severity": "LOW", "message": "Backend endpoint GET /config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/command", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint POST /command is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/command/{command_id}/status", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint GET /command/{command_id}/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/online-users", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint GET /online-users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/signals/collect", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /signals/collect is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/signals", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /signals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/patterns/detect", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /patterns/detect is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/patterns", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /patterns is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/proposals", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /proposals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/proposals/{proposal_id}", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /proposals/{proposal_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals/{proposal_id}/evaluate", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals/{proposal_id}/evaluate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals/{proposal_id}/request-approval", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals/{proposal_id}/request-approval is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals/{proposal_id}/activate", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals/{proposal_id}/activate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals/{proposal_id}/rollback", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals/{proposal_id}/rollback is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/proposals/{proposal_id}/measure", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint POST /proposals/{proposal_id}/measure is never called by frontend" } ], "summary": { "total_frontend_calls": 405, "total_backend_endpoints": 478, "total_issues": 859, "high_severity": 392, "low_severity": 467 } }