{ "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": "GET", "path": "/api/v1/saved-filters" }, { "file": "routes/saved_filters.py", "method": "POST", "path": "/api/v1/saved-filters" }, { "file": "routes/saved_filters.py", "method": "DELETE", "path": "/api/v1/saved-filters/{filter_id}" }, { "file": "routes/audit.py", "method": "GET", "path": "/api/v1/audit-log" }, { "file": "routes/audit.py", "method": "GET", "path": "/api/v1/audit-log/export" }, { "file": "routes/audit.py", "method": "DELETE", "path": "/api/v1/audit-log/retention" }, { "file": "routes/api_tokens.py", "method": "POST", "path": "/api/v1/tokens" }, { "file": "routes/api_tokens.py", "method": "GET", "path": "/api/v1/tokens" }, { "file": "routes/api_tokens.py", "method": "DELETE", "path": "/api/v1/tokens/{token_id}" }, { "file": "routes/sequences.py", "method": "GET", "path": "/api/v1/sequences" }, { "file": "routes/sequences.py", "method": "POST", "path": "/api/v1/sequences" }, { "file": "routes/sequences.py", "method": "PATCH", "path": "/api/v1/sequences/{sequence_id}" }, { "file": "routes/sequences.py", "method": "DELETE", "path": "/api/v1/sequences/{sequence_id}" }, { "file": "routes/delegations.py", "method": "GET", "path": "/api/v1/delegations" }, { "file": "routes/delegations.py", "method": "POST", "path": "/api/v1/delegations" }, { "file": "routes/delegations.py", "method": "PUT", "path": "/api/v1/delegations/{delegation_id}" }, { "file": "routes/delegations.py", "method": "DELETE", "path": "/api/v1/delegations/{delegation_id}" }, { "file": "routes/delegations.py", "method": "GET", "path": "/api/v1/delegations/active" }, { "file": "routes/owner_transfer.py", "method": "POST", "path": "/api/v1/ownership/transfer" }, { "file": "routes/guests.py", "method": "POST", "path": "/api/v1/guests/invite" }, { "file": "routes/guests.py", "method": "GET", "path": "/api/v1/guests" }, { "file": "routes/guests.py", "method": "DELETE", "path": "/api/v1/guests/{guest_id}" }, { "file": "routes/tenants.py", "method": "GET", "path": "/api/v1/tenants" }, { "file": "routes/tenants.py", "method": "POST", "path": "/api/v1/tenants" }, { "file": "routes/tenants.py", "method": "GET", "path": "/api/v1/tenants/{tenant_id}/users" }, { "file": "routes/tenants.py", "method": "POST", "path": "/api/v1/tenants/{tenant_id}/users" }, { "file": "routes/custom_field_definitions.py", "method": "GET", "path": "/api/v1/custom-fields/definitions" }, { "file": "routes/custom_field_definitions.py", "method": "POST", "path": "/api/v1/custom-fields/definitions" }, { "file": "routes/custom_field_definitions.py", "method": "PATCH", "path": "/api/v1/custom-fields/definitions/{definition_id}" }, { "file": "routes/custom_field_definitions.py", "method": "DELETE", "path": "/api/v1/custom-fields/definitions/{definition_id}" }, { "file": "routes/saved_views.py", "method": "GET", "path": "/api/v1/saved-views" }, { "file": "routes/saved_views.py", "method": "POST", "path": "/api/v1/saved-views" }, { "file": "routes/saved_views.py", "method": "PUT", "path": "/api/v1/saved-views/{view_id}" }, { "file": "routes/saved_views.py", "method": "DELETE", "path": "/api/v1/saved-views/{view_id}" }, { "file": "routes/roles.py", "method": "GET", "path": "/api/v1/roles/permissions" }, { "file": "routes/roles.py", "method": "GET", "path": "/api/v1/roles" }, { "file": "routes/roles.py", "method": "POST", "path": "/api/v1/roles" }, { "file": "routes/roles.py", "method": "PATCH", "path": "/api/v1/roles/{role_id}" }, { "file": "routes/roles.py", "method": "DELETE", "path": "/api/v1/roles/{role_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/api/v1/groups" }, { "file": "routes/groups.py", "method": "POST", "path": "/api/v1/groups" }, { "file": "routes/groups.py", "method": "GET", "path": "/api/v1/groups/{group_id}" }, { "file": "routes/groups.py", "method": "PATCH", "path": "/api/v1/groups/{group_id}" }, { "file": "routes/groups.py", "method": "DELETE", "path": "/api/v1/groups/{group_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/api/v1/groups/{group_id}/members" }, { "file": "routes/groups.py", "method": "POST", "path": "/api/v1/groups/{group_id}/members" }, { "file": "routes/groups.py", "method": "DELETE", "path": "/api/v1/groups/{group_id}/members/{user_id}" }, { "file": "routes/groups.py", "method": "GET", "path": "/api/v1/groups/user/{user_id}" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/api/v1/workspaces" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/api/v1/workspaces/my" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/api/v1/workspaces/context" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/api/v1/workspaces" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/api/v1/workspaces/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "PUT", "path": "/api/v1/workspaces/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/api/v1/workspaces/{workspace_id}" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/api/v1/workspaces/{workspace_id}/modules" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/api/v1/workspaces/{workspace_id}/users" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/api/v1/workspaces/{workspace_id}/users/{user_id}" }, { "file": "routes/workspaces.py", "method": "GET", "path": "/api/v1/workspaces/{workspace_id}/widgets" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/api/v1/workspaces/{workspace_id}/widgets" }, { "file": "routes/workspaces.py", "method": "PUT", "path": "/api/v1/workspaces/{workspace_id}/widgets/{widget_id}" }, { "file": "routes/workspaces.py", "method": "DELETE", "path": "/api/v1/workspaces/{workspace_id}/widgets/{widget_id}" }, { "file": "routes/workspaces.py", "method": "POST", "path": "/api/v1/workspaces/{workspace_id}/set-default" }, { "file": "routes/dashboard.py", "method": "GET", "path": "/api/v1/dashboard/widgets" }, { "file": "routes/dashboard.py", "method": "GET", "path": "/api/v1/dashboard/counts" }, { "file": "routes/backups.py", "method": "GET", "path": "/api/v1/backups" }, { "file": "routes/backups.py", "method": "POST", "path": "/api/v1/backups" }, { "file": "routes/backups.py", "method": "POST", "path": "/api/v1/backups/{backup_id}/restore" }, { "file": "routes/backups.py", "method": "DELETE", "path": "/api/v1/backups/{backup_id}" }, { "file": "routes/custom_fields.py", "method": "GET", "path": "/api/v1/contacts/{contact_id}/custom-fields" }, { "file": "routes/custom_fields.py", "method": "PATCH", "path": "/api/v1/contacts/{contact_id}/custom-fields" }, { "file": "routes/auth.py", "method": "POST", "path": "/api/v1/auth/login" }, { "file": "routes/auth.py", "method": "POST", "path": "/api/v1/auth/logout" }, { "file": "routes/auth.py", "method": "GET", "path": "/api/v1/auth/me" }, { "file": "routes/auth.py", "method": "GET", "path": "/api/v1/auth/me/permissions" }, { "file": "routes/auth.py", "method": "POST", "path": "/api/v1/auth/switch-tenant" }, { "file": "routes/auth.py", "method": "POST", "path": "/api/v1/auth/password-reset/request" }, { "file": "routes/auth.py", "method": "POST", "path": "/api/v1/auth/password-reset/confirm" }, { "file": "routes/users.py", "method": "GET", "path": "/api/v1/users" }, { "file": "routes/users.py", "method": "POST", "path": "/api/v1/users" }, { "file": "routes/users.py", "method": "GET", "path": "/api/v1/users/{user_id}" }, { "file": "routes/users.py", "method": "PATCH", "path": "/api/v1/users/{user_id}" }, { "file": "routes/users.py", "method": "DELETE", "path": "/api/v1/users/{user_id}" }, { "file": "routes/users.py", "method": "GET", "path": "/api/v1/users/me/menu-order" }, { "file": "routes/users.py", "method": "PUT", "path": "/api/v1/users/me/menu-order" }, { "file": "routes/bank_accounts.py", "method": "GET", "path": "/api/v1/bank-accounts" }, { "file": "routes/bank_accounts.py", "method": "POST", "path": "/api/v1/bank-accounts" }, { "file": "routes/bank_accounts.py", "method": "PATCH", "path": "/api/v1/bank-accounts/{account_id}" }, { "file": "routes/bank_accounts.py", "method": "DELETE", "path": "/api/v1/bank-accounts/{account_id}" }, { "file": "routes/webhooks.py", "method": "GET", "path": "/api/v1/webhooks" }, { "file": "routes/webhooks.py", "method": "POST", "path": "/api/v1/webhooks" }, { "file": "routes/webhooks.py", "method": "GET", "path": "/api/v1/webhooks/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "PATCH", "path": "/api/v1/webhooks/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "DELETE", "path": "/api/v1/webhooks/{webhook_id}" }, { "file": "routes/webhooks.py", "method": "POST", "path": "/api/v1/webhooks/{webhook_id}/test" }, { "file": "routes/errors.py", "method": "POST", "path": "/api/v1/errors" }, { "file": "routes/addresses.py", "method": "GET", "path": "/api/v1/addresses" }, { "file": "routes/addresses.py", "method": "POST", "path": "/api/v1/addresses" }, { "file": "routes/addresses.py", "method": "PATCH", "path": "/api/v1/addresses/{address_id}" }, { "file": "routes/addresses.py", "method": "DELETE", "path": "/api/v1/addresses/{address_id}" }, { "file": "routes/taxes.py", "method": "GET", "path": "/api/v1/taxes" }, { "file": "routes/taxes.py", "method": "POST", "path": "/api/v1/taxes" }, { "file": "routes/taxes.py", "method": "PATCH", "path": "/api/v1/taxes/{tax_id}" }, { "file": "routes/taxes.py", "method": "DELETE", "path": "/api/v1/taxes/{tax_id}" }, { "file": "routes/notifications.py", "method": "GET", "path": "/api/v1/notifications" }, { "file": "routes/notifications.py", "method": "PATCH", "path": "/api/v1/notifications/{notification_id}/read" }, { "file": "routes/notifications.py", "method": "GET", "path": "/api/v1/notifications/unread-count" }, { "file": "routes/notifications.py", "method": "GET", "path": "/api/v1/notifications/types" }, { "file": "routes/notifications.py", "method": "GET", "path": "/api/v1/notifications/preferences" }, { "file": "routes/notifications.py", "method": "PATCH", "path": "/api/v1/notifications/preferences/{type_key}" }, { "file": "routes/import_export.py", "method": "POST", "path": "/api/v1/import" }, { "file": "routes/import_export.py", "method": "POST", "path": "/api/v1/import/preview" }, { "file": "routes/import_export.py", "method": "POST", "path": "/api/v1/import/validate" }, { "file": "routes/import_export.py", "method": "GET", "path": "/api/v1/import/status/{job_id}" }, { "file": "routes/import_export.py", "method": "POST", "path": "/api/v1/import/contacts" }, { "file": "routes/import_export.py", "method": "POST", "path": "/api/v1/import/companies" }, { "file": "routes/import_export.py", "method": "GET", "path": "/api/v1/export" }, { "file": "routes/attachments.py", "method": "POST", "path": "/api/v1/attachments" }, { "file": "routes/attachments.py", "method": "GET", "path": "/api/v1/attachments" }, { "file": "routes/attachments.py", "method": "GET", "path": "/api/v1/attachments/{attachment_id}" }, { "file": "routes/attachments.py", "method": "DELETE", "path": "/api/v1/attachments/{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": "/api/v1/workflows" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows" }, { "file": "routes/workflows.py", "method": "GET", "path": "/api/v1/workflows/instances" }, { "file": "routes/workflows.py", "method": "GET", "path": "/api/v1/workflows/{workflow_id}" }, { "file": "routes/workflows.py", "method": "PATCH", "path": "/api/v1/workflows/{workflow_id}" }, { "file": "routes/workflows.py", "method": "DELETE", "path": "/api/v1/workflows/{workflow_id}" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/{workflow_id}/instances" }, { "file": "routes/workflows.py", "method": "GET", "path": "/api/v1/workflows/instances/{instance_id}" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/advance" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/cancel" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/resume" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/{workflow_id}/trigger" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/webhook/{token}" }, { "file": "routes/workflows.py", "method": "GET", "path": "/api/v1/workflows/instances/{instance_id}/history" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/approve" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/reject" }, { "file": "routes/workflows.py", "method": "GET", "path": "/api/v1/workflows/templates" }, { "file": "routes/workflows.py", "method": "POST", "path": "/api/v1/workflows/templates/{template_id}/instantiate" }, { "file": "routes/outbox.py", "method": "GET", "path": "/api/v1/outbox/stats" }, { "file": "routes/outbox.py", "method": "GET", "path": "/api/v1/outbox/failed" }, { "file": "routes/outbox.py", "method": "POST", "path": "/api/v1/outbox/replay/{event_id}" }, { "file": "routes/outbox.py", "method": "POST", "path": "/api/v1/outbox/replay-all" }, { "file": "routes/outbox.py", "method": "GET", "path": "/api/v1/outbox/consumer-registry" }, { "file": "routes/outbox.py", "method": "POST", "path": "/api/v1/outbox/recover-stuck" }, { "file": "routes/outbox.py", "method": "POST", "path": "/api/v1/outbox/cleanup-published" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/api/v1/system-settings" }, { "file": "routes/system_settings.py", "method": "PUT", "path": "/api/v1/system-settings" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/api/v1/system-settings/backup-config" }, { "file": "routes/system_settings.py", "method": "PUT", "path": "/api/v1/system-settings/backup-config" }, { "file": "routes/system_settings.py", "method": "POST", "path": "/api/v1/system-settings/backup-now" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/api/v1/system-settings/backup-history" }, { "file": "routes/system_settings.py", "method": "GET", "path": "/api/v1/system-settings/dsgvo-export/{user_id}" }, { "file": "routes/system_settings.py", "method": "POST", "path": "/api/v1/system-settings/dsar/{user_id}" }, { "file": "routes/ai_copilot.py", "method": "POST", "path": "/api/v1/ai/copilot/query" }, { "file": "routes/ai_copilot.py", "method": "POST", "path": "/api/v1/ai/copilot/execute" }, { "file": "routes/ai_copilot.py", "method": "GET", "path": "/api/v1/ai/copilot/history" }, { "file": "routes/metrics.py", "method": "GET", "path": "/api/v1/metrics" }, { "file": "routes/entity_history.py", "method": "GET", "path": "/api/v1/entity-history/{entity_type}/{entity_id}" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/api/v1/entity-history/restore" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/api/v1/entity-history/undo/{entity_type}/{entity_id}" }, { "file": "routes/entity_history.py", "method": "GET", "path": "/api/v1/entity-history/trash" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/api/v1/entity-history/bulk-restore" }, { "file": "routes/entity_history.py", "method": "POST", "path": "/api/v1/entity-history/retention/archive" }, { "file": "routes/policies.py", "method": "GET", "path": "/api/v1/policies/{entity_type}" }, { "file": "routes/policies.py", "method": "POST", "path": "/api/v1/policies" }, { "file": "routes/policies.py", "method": "PUT", "path": "/api/v1/policies/{policy_id}" }, { "file": "routes/policies.py", "method": "DELETE", "path": "/api/v1/policies/{policy_id}" }, { "file": "routes/permission_templates.py", "method": "GET", "path": "/api/v1/permission-templates" }, { "file": "routes/permission_templates.py", "method": "POST", "path": "/api/v1/permission-templates" }, { "file": "routes/permission_templates.py", "method": "PUT", "path": "/api/v1/permission-templates/{template_id}" }, { "file": "routes/permission_templates.py", "method": "DELETE", "path": "/api/v1/permission-templates/{template_id}" }, { "file": "routes/permission_templates.py", "method": "POST", "path": "/api/v1/permission-templates/apply" }, { "file": "routes/currencies.py", "method": "GET", "path": "/api/v1/currencies" }, { "file": "routes/currencies.py", "method": "POST", "path": "/api/v1/currencies" }, { "file": "routes/currencies.py", "method": "PATCH", "path": "/api/v1/currencies/{currency_id}" }, { "file": "routes/currencies.py", "method": "DELETE", "path": "/api/v1/currencies/{currency_id}" }, { "file": "routes/user_preferences.py", "method": "GET", "path": "/api/v1/user/preferences" }, { "file": "routes/user_preferences.py", "method": "GET", "path": "/api/v1/user/preferences/{key}" }, { "file": "routes/user_preferences.py", "method": "PUT", "path": "/api/v1/user/preferences/{key}" }, { "file": "routes/user_preferences.py", "method": "DELETE", "path": "/api/v1/user/preferences/{key}" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/api/v1/permissions/{entity_type}/{entity_id}" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/api/v1/permissions/{entity_type}/{entity_id}" }, { "file": "routes/entity_permissions.py", "method": "PUT", "path": "/api/v1/permissions/{entity_type}/{entity_id}/{permission_id}" }, { "file": "routes/entity_permissions.py", "method": "DELETE", "path": "/api/v1/permissions/{entity_type}/{entity_id}/{permission_id}" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/api/v1/permissions/{entity_type}/{entity_id}/access" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/api/v1/permissions/all" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/api/v1/permissions/registry" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/api/v1/permissions/bulk" }, { "file": "routes/entity_permissions.py", "method": "POST", "path": "/api/v1/permissions/bulk/unshare" }, { "file": "routes/entity_permissions.py", "method": "GET", "path": "/api/v1/permissions/analytics" }, { "file": "routes/plugins.py", "method": "GET", "path": "/api/v1/plugins" }, { "file": "routes/plugins.py", "method": "GET", "path": "/api/v1/plugins/manifest" }, { "file": "routes/plugins.py", "method": "GET", "path": "/api/v1/plugins/updates" }, { "file": "routes/plugins.py", "method": "GET", "path": "/api/v1/plugins/active-manifests" }, { "file": "routes/plugins.py", "method": "GET", "path": "/api/v1/plugins/{name}/config" }, { "file": "routes/plugins.py", "method": "PATCH", "path": "/api/v1/plugins/{name}/config" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/{name}/install" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/{name}/activate" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/{name}/deactivate" }, { "file": "routes/plugins.py", "method": "DELETE", "path": "/api/v1/plugins/{name}" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/upload" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/install-url" }, { "file": "routes/plugins.py", "method": "POST", "path": "/api/v1/plugins/install-marketplace" }, { "file": "routes/compliance.py", "method": "GET", "path": "/api/v1/compliance/ai-registry" }, { "file": "routes/compliance.py", "method": "GET", "path": "/api/v1/compliance/dpia-template" }, { "file": "routes/compliance.py", "method": "GET", "path": "/api/v1/compliance/incidents" }, { "file": "routes/compliance.py", "method": "POST", "path": "/api/v1/compliance/incidents" }, { "file": "routes/compliance.py", "method": "PATCH", "path": "/api/v1/compliance/incidents/{incident_id}" }, { "file": "routes/compliance.py", "method": "GET", "path": "/api/v1/compliance/retention-policies" }, { "file": "routes/compliance.py", "method": "PATCH", "path": "/api/v1/compliance/retention-policies/{key}" }, { "file": "routes/approvals.py", "method": "POST", "path": "/api/v1/approvals" }, { "file": "routes/approvals.py", "method": "GET", "path": "/api/v1/approvals" }, { "file": "routes/approvals.py", "method": "GET", "path": "/api/v1/approvals/{request_id}" }, { "file": "routes/approvals.py", "method": "POST", "path": "/api/v1/approvals/{request_id}/approve" }, { "file": "routes/approvals.py", "method": "POST", "path": "/api/v1/approvals/{request_id}/reject" }, { "file": "routes/approvals.py", "method": "POST", "path": "/api/v1/approvals/{request_id}/expire" }, { "file": "routes/system_dashboard.py", "method": "GET", "path": "/api/v1/system/dashboard" }, { "file": "routes/system_dashboard.py", "method": "GET", "path": "/api/v1/system/alerts" }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "GET", "path": "/api/v1/mcp-client/servers", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "POST", "path": "/api/v1/mcp-client/servers", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "PATCH", "path": "/api/v1/mcp-client/servers/{server_id}", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "DELETE", "path": "/api/v1/mcp-client/servers/{server_id}", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "GET", "path": "/api/v1/mcp-client/servers/{server_id}/tools", "is_plugin": true }, { "file": "plugins/builtins/mcp_client/routes.py", "method": "POST", "path": "/api/v1/mcp-client/servers/{server_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/forgejo_error_reporter/routes.py", "method": "GET", "path": "/api/v1/forgejo-error-reporter/status", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/runs/recent", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/miniapps", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/miniapps", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "DELETE", "path": "/api/v1/automation/miniapps/{app_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/settings", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/api/v1/automation/settings", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/api/v1/automation/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "DELETE", "path": "/api/v1/automation/{automation_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/{automation_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/{automation_id}/dry-run", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/{automation_id}/runs", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/{automation_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/{automation_id}/versions/{version_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/subtasks", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/subtasks", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "GET", "path": "/api/v1/automation/subtasks/{subtask_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "PATCH", "path": "/api/v1/automation/subtasks/{subtask_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/subtasks/{subtask_id}/cancel", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/subtasks/{subtask_id}/wait", "is_plugin": true }, { "file": "plugins/builtins/automation/routes.py", "method": "POST", "path": "/api/v1/automation/subtasks/aggregate", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "GET", "path": "/api/v1/skills", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "POST", "path": "/api/v1/skills/", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "GET", "path": "/api/v1/skills/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "PATCH", "path": "/api/v1/skills/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/skill_routes.py", "method": "DELETE", "path": "/api/v1/skills/{skill_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/tools", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/runs/recent", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "PATCH", "path": "/api/v1/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/{agent_id}/ai-use-case", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "PATCH", "path": "/api/v1/agents/{agent_id}/ai-use-case", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "DELETE", "path": "/api/v1/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/{agent_id}/execute", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/{agent_id}/test-run", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/{agent_id}/runs", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "GET", "path": "/api/v1/agents/{agent_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/{agent_id}/versions/{version_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/{id}/send-message", "is_plugin": true }, { "file": "plugins/builtins/automation/agent_routes.py", "method": "POST", "path": "/api/v1/agents/{id}/stream", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/folders", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/folders", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "PATCH", "path": "/api/v1/dms/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/api/v1/dms/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/upload", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/files", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/folders/{folder_id}/files", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "PATCH", "path": "/api/v1/dms/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/api/v1/dms/files/{file_id}", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/{file_id}/restore", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/files/{file_id}/preview", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/files/{file_id}/download", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/{file_id}/edit-session", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/{file_id}/share", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "DELETE", "path": "/api/v1/dms/files/{file_id}/share", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/search", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "GET", "path": "/api/v1/dms/shared-with-me", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/bulk-move", "is_plugin": true }, { "file": "plugins/builtins/dms/routes.py", "method": "POST", "path": "/api/v1/dms/files/bulk-delete", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/accounts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/accounts/shared", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/api/v1/mail/accounts/{account_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/api/v1/mail/accounts/{account_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts/{account_id}/users", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts/{account_id}/delegates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts/{account_id}/send-permissions", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts/{account_id}/test-connection", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/accounts/{account_id}/sync", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/folders", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/folders", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/api/v1/mail/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/api/v1/mail/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/folders/{folder_id}/empty", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/folders/{folder_id}/sync", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/upload-attachment", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/send", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/search", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/threads", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/templates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/templates", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/templates/substitute", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/signatures", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/signatures", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/api/v1/mail/rules/{rule_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/vacation", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/vacation/test-dedup", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/pgp/keys", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/pgp/keys", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/pgp/encrypt", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/contacts/{contact_id}/pgp-key", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/apply-rules", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/reply", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/forward", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PATCH", "path": "/api/v1/mail/{mail_id}/flags", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/{mail_id}/attachments/{att_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/link", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/create-event", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/labels", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/drafts", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "PUT", "path": "/api/v1/mail/drafts/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "DELETE", "path": "/api/v1/mail/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "POST", "path": "/api/v1/mail/{mail_id}/move", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail", "is_plugin": true }, { "file": "plugins/builtins/mail/routes.py", "method": "GET", "path": "/api/v1/mail/{mail_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/api/v1/wiki/articles", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/api/v1/wiki/articles", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/api/v1/wiki/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "PATCH", "path": "/api/v1/wiki/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "DELETE", "path": "/api/v1/wiki/articles/{article_id}", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/api/v1/wiki/articles/{article_id}/versions", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/api/v1/wiki/articles/{article_id}/versions/{version}/restore", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "GET", "path": "/api/v1/wiki/categories", "is_plugin": true }, { "file": "plugins/builtins/wiki/routes.py", "method": "POST", "path": "/api/v1/wiki/categories", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "GET", "path": "/api/v1/contacts", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "GET", "path": "/api/v1/contacts/export", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "POST", "path": "/api/v1/contacts", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "GET", "path": "/api/v1/contacts/merge-history", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "GET", "path": "/api/v1/contacts/{contact_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "PUT", "path": "/api/v1/contacts/{contact_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "DELETE", "path": "/api/v1/contacts/{contact_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "GET", "path": "/api/v1/contacts/{contact_id}/persons", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "POST", "path": "/api/v1/contacts/{contact_id}/persons", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "PUT", "path": "/api/v1/contacts/{contact_id}/persons/{person_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "DELETE", "path": "/api/v1/contacts/{contact_id}/persons/{person_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "POST", "path": "/api/v1/contacts/duplicates", "is_plugin": true }, { "file": "plugins/builtins/contacts/routes.py", "method": "POST", "path": "/api/v1/contacts/merge", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "GET", "path": "/api/v1/contact-folders", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "POST", "path": "/api/v1/contact-folders", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "PUT", "path": "/api/v1/contact-folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "DELETE", "path": "/api/v1/contact-folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "PUT", "path": "/api/v1/contact-folders/{folder_id}/reorder", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_routes.py", "method": "PUT", "path": "/api/v1/contact-folders/contacts/{contact_id}/move", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_permission_routes.py", "method": "GET", "path": "/api/v1/contact-folders/{folder_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_permission_routes.py", "method": "POST", "path": "/api/v1/contact-folders/{folder_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_permission_routes.py", "method": "PUT", "path": "/api/v1/contact-folders/{folder_id}/permissions/{permission_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_permission_routes.py", "method": "DELETE", "path": "/api/v1/contact-folders/{folder_id}/permissions/{permission_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/folder_permission_routes.py", "method": "GET", "path": "/api/v1/contact-folders/{folder_id}/access", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "GET", "path": "/api/v1/companies", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "POST", "path": "/api/v1/companies", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "GET", "path": "/api/v1/companies/export", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "GET", "path": "/api/v1/companies/{company_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "PUT", "path": "/api/v1/companies/{company_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "DELETE", "path": "/api/v1/companies/{company_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "POST", "path": "/api/v1/companies/{company_id}/contacts/{contact_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "DELETE", "path": "/api/v1/companies/{company_id}/contacts/{contact_id}", "is_plugin": true }, { "file": "plugins/builtins/contacts/company_routes.py", "method": "GET", "path": "/api/v1/companies/{company_id}/emails", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "GET", "path": "/api/v1/tasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "GET", "path": "/api/v1/tasks/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "PATCH", "path": "/api/v1/tasks/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "DELETE", "path": "/api/v1/tasks/{task_id}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks/{task_id}/assign", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks/{task_id}/status", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks/{task_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "GET", "path": "/api/v1/tasks/{task_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks/{task_id}/dependencies", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "DELETE", "path": "/api/v1/tasks/{task_id}/dependencies/{depends_on}", "is_plugin": true }, { "file": "plugins/builtins/tasks/routes.py", "method": "POST", "path": "/api/v1/tasks/{task_id}/decompose", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendars", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendars", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "PATCH", "path": "/api/v1/calendars/{calendar_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "DELETE", "path": "/api/v1/calendars/{calendar_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendars/{calendar_id}/share", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendars/{calendar_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendar/entries", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/entries", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendar/entries/export", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "PATCH", "path": "/api/v1/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "DELETE", "path": "/api/v1/calendar/entries/{entry_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/entries/{entry_id}/link", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/entries/{entry_id}/subtasks", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "PATCH", "path": "/api/v1/calendar/entries/{entry_id}/subtasks/{sub_id}", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/entries/bulk", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendar/kanban", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "GET", "path": "/api/v1/calendar/{calendar_id}/ics-feed", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/import", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/resources", "is_plugin": true }, { "file": "plugins/builtins/calendar/routes.py", "method": "POST", "path": "/api/v1/calendar/entries/{entry_id}/book-resource", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/api/v1/search", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/api/v1/search/facets", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/api/v1/search/suggest", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search/similar", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search/reindex", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search/rebuild/{entity_type}/{entity_id}", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search/purge/{entity_type}/{entity_id}", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/api/v1/search/providers", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "POST", "path": "/api/v1/search/providers/{entity_type}/toggle", "is_plugin": true }, { "file": "plugins/builtins/unified_search/routes.py", "method": "GET", "path": "/api/v1/search/stats", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "POST", "path": "/api/v1/agent-memory", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "GET", "path": "/api/v1/agent-memory", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "GET", "path": "/api/v1/agent-memory/search", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "PATCH", "path": "/api/v1/agent-memory/{memory_id}", "is_plugin": true }, { "file": "plugins/builtins/agent_memory/routes.py", "method": "DELETE", "path": "/api/v1/agent-memory/{memory_id}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/api/v1/marketplace/listings", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/api/v1/marketplace/listings/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "POST", "path": "/api/v1/marketplace/install/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "POST", "path": "/api/v1/marketplace/verify/{name}", "is_plugin": true }, { "file": "plugins/builtins/marketplace/routes.py", "method": "GET", "path": "/api/v1/marketplace/categories", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "POST", "path": "/api/v1/graph/relationships", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "GET", "path": "/api/v1/graph/relationships", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "POST", "path": "/api/v1/graph/traverse", "is_plugin": true }, { "file": "plugins/builtins/graph_rag/routes.py", "method": "DELETE", "path": "/api/v1/graph/relationships/{relationship_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/api/v1/reports/presets", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/api/v1/reports/presets/generate", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/api/v1/reports/templates", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/api/v1/reports/templates", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/api/v1/reports/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "PUT", "path": "/api/v1/reports/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "DELETE", "path": "/api/v1/reports/templates/{template_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/api/v1/reports/generate", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "POST", "path": "/api/v1/reports/generate/async", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/api/v1/reports/{report_id}", "is_plugin": true }, { "file": "plugins/builtins/report_generator/routes.py", "method": "GET", "path": "/api/v1/reports/{report_id}/download", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/api/v1/knowledge/extract", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/api/v1/knowledge/ask", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "GET", "path": "/api/v1/knowledge/review", "is_plugin": true }, { "file": "plugins/builtins/knowledge/routes.py", "method": "POST", "path": "/api/v1/knowledge/review/{extraction_id}", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "POST", "path": "/api/v1/entity-links/files/{file_id}/link", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "DELETE", "path": "/api/v1/entity-links/files/{file_id}/link", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "GET", "path": "/api/v1/entity-links/files/{file_id}/links", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "GET", "path": "/api/v1/contacts/{contact_id}/files", "is_plugin": true }, { "file": "plugins/builtins/entity_links/routes.py", "method": "GET", "path": "/api/v1/companies/{company_id}/files", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/api/v1/comm/conversations", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/api/v1/comm/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/api/v1/comm/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/conversations/{conversation_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/pin", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/conversations/{conversation_id}/pin", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/mute", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/conversations/{conversation_id}/mute", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/participants", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/conversations/{conversation_id}/participants/{participant_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/api/v1/comm/conversations/{conversation_id}/participants/{participant_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/api/v1/comm/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "PATCH", "path": "/api/v1/comm/messages/{message_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/messages/{message_id}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/messages/{message_id}/attachments", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/messages/{message_id}/reactions", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "DELETE", "path": "/api/v1/comm/messages/{message_id}/reactions/{emoji}", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/read", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/api/v1/comm/miniapps", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "POST", "path": "/api/v1/comm/conversations/{conversation_id}/miniapps", "is_plugin": true }, { "file": "plugins/builtins/kommunikation/routes.py", "method": "GET", "path": "/api/v1/comm/block-types", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/api/v1/ai-proactive/context", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/api/v1/ai-proactive/suggestions", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/api/v1/ai-proactive/suggestions/{suggestion_id}/dismiss", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "POST", "path": "/api/v1/ai-proactive/suggestions/{suggestion_id}/act", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/api/v1/ai-proactive/suggestions/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/api/v1/ai-proactive/settings", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "PUT", "path": "/api/v1/ai-proactive/settings", "is_plugin": true }, { "file": "plugins/builtins/ai_proactive/routes.py", "method": "GET", "path": "/api/v1/ai-proactive/stats", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "POST", "path": "/api/v1/external/agent/{agent_id}/run", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "GET", "path": "/api/v1/external/agent/{agent_id}/status", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/external_api.py", "method": "POST", "path": "/api/v1/external/agent/{agent_id}/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/providers", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/providers", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/api/v1/ai/providers/{provider_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/api/v1/ai/providers/{provider_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/models", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/models", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/api/v1/ai/models/{model_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/api/v1/ai/models/{model_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/presets", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/presets", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/api/v1/ai/presets/{preset_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/api/v1/ai/presets/{preset_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/agents", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/agents", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/api/v1/ai/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/api/v1/ai/agents/{agent_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/tools", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/folders", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/folders", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "PUT", "path": "/api/v1/ai/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "DELETE", "path": "/api/v1/ai/folders/{folder_id}", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "POST", "path": "/api/v1/ai/conversations/{conversation_id}/stream", "is_plugin": true }, { "file": "plugins/builtins/ai_assistant/routes.py", "method": "GET", "path": "/api/v1/ai/conversations/{conversation_id}/messages", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "GET", "path": "/api/v1/tags", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "POST", "path": "/api/v1/tags", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "PATCH", "path": "/api/v1/tags/{tag_id}", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "POST", "path": "/api/v1/tags/assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "DELETE", "path": "/api/v1/tags/assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "DELETE", "path": "/api/v1/tags/{tag_id}", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "POST", "path": "/api/v1/tags/bulk-assign", "is_plugin": true }, { "file": "plugins/builtins/tags/routes.py", "method": "GET", "path": "/api/v1/tags/{tag_id}/entities", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "GET", "path": "/api/v1/permissions/files/{file_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "POST", "path": "/api/v1/permissions/files/{file_id}/permissions", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "DELETE", "path": "/api/v1/permissions/files/{file_id}/permissions/{user_id}", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "POST", "path": "/api/v1/permissions/files/{file_id}/share-link", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "DELETE", "path": "/api/v1/permissions/share-links/{link_id}", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "GET", "path": "/api/public/share/{token}", "is_plugin": true }, { "file": "plugins/builtins/permissions/routes.py", "method": "POST", "path": "/api/public/share/{token}", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "GET", "path": "/api/v1/public/share/{token}", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "POST", "path": "/api/v1/public/share/{token}/verify", "is_plugin": true }, { "file": "plugins/builtins/permissions/public_routes.py", "method": "GET", "path": "/api/v1/public/share/{token}/download", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "GET", "path": "/api/v1/mcp/tools", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "POST", "path": "/api/v1/mcp/tools/{tool_name}/execute", "is_plugin": true }, { "file": "plugins/builtins/mcp_server/routes.py", "method": "GET", "path": "/api/v1/mcp/config", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "POST", "path": "/api/v1/ai-ui-control/command", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "GET", "path": "/api/v1/ai-ui-control/command/{command_id}/status", "is_plugin": true }, { "file": "plugins/builtins/ai_ui_control/routes.py", "method": "GET", "path": "/api/v1/ai-ui-control/online-users", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/signals/collect", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/api/v1/improvement/signals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/patterns/detect", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/api/v1/improvement/patterns", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/proposals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/api/v1/improvement/proposals", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "GET", "path": "/api/v1/improvement/proposals/{proposal_id}", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/proposals/{proposal_id}/evaluate", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/proposals/{proposal_id}/request-approval", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/proposals/{proposal_id}/activate", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/proposals/{proposal_id}/rollback", "is_plugin": true }, { "file": "plugins/builtins/self_improvement/routes.py", "method": "POST", "path": "/api/v1/improvement/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": "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": "/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": "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": "/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": "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": "/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/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/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/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/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": "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}${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": "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": "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": "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": "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": "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": "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/labels/{param}", "file": "api/mail.ts", "severity": "HIGH", "message": "Frontend calls DELETE /mail/labels/{param} but no matching backend endpoint found" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/audit-log", "file": "routes/audit.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/audit-log is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/audit-log/export", "file": "routes/audit.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/audit-log/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/audit-log/retention", "file": "routes/audit.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/audit-log/retention is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/tokens", "file": "routes/api_tokens.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/tokens is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/tokens", "file": "routes/api_tokens.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/tokens is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/tokens/{token_id}", "file": "routes/api_tokens.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/tokens/{token_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/delegations", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/delegations is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/delegations", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/delegations is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/delegations/{delegation_id}", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/delegations/{delegation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/delegations/{delegation_id}", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/delegations/{delegation_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/delegations/active", "file": "routes/delegations.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/delegations/active is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ownership/transfer", "file": "routes/owner_transfer.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ownership/transfer is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/guests/invite", "file": "routes/guests.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/guests/invite is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/guests", "file": "routes/guests.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/guests is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/guests/{guest_id}", "file": "routes/guests.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/guests/{guest_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/tenants", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/tenants is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/tenants", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/tenants is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/tenants/{tenant_id}/users", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/tenants/{tenant_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/tenants/{tenant_id}/users", "file": "routes/tenants.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/tenants/{tenant_id}/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/custom-fields/definitions", "file": "routes/custom_field_definitions.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/custom-fields/definitions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/saved-views", "file": "routes/saved_views.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/saved-views is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/groups/{group_id}", "file": "routes/groups.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/groups/{group_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/workspaces/{workspace_id}", "file": "routes/workspaces.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/workspaces/{workspace_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/dashboard/counts", "file": "routes/dashboard.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/dashboard/counts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/auth/me/permissions", "file": "routes/auth.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/auth/me/permissions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/users", "file": "routes/users.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/bank-accounts", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/bank-accounts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/bank-accounts", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/bank-accounts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/bank-accounts/{account_id}", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/bank-accounts/{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/bank-accounts/{account_id}", "file": "routes/bank_accounts.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/bank-accounts/{account_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/webhooks", "file": "routes/webhooks.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/webhooks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/errors", "file": "routes/errors.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/errors is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/notifications", "file": "routes/notifications.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/notifications is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/import", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/import is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/import/preview", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/import/preview is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/import/validate", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/import/validate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/import/status/{job_id}", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/import/status/{job_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/import/contacts", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/import/contacts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/import/companies", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/import/companies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/export", "file": "routes/import_export.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/attachments", "file": "routes/attachments.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/attachments is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/attachments/{attachment_id}", "file": "routes/attachments.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/attachments/{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": "POST", "path": "/api/v1/workflows/instances/{instance_id}/resume", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/instances/{instance_id}/resume is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/workflows/{workflow_id}/trigger", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/{workflow_id}/trigger is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/workflows/webhook/{token}", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/webhook/{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/workflows/instances/{instance_id}/history", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/workflows/instances/{instance_id}/history is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/approve", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/instances/{instance_id}/approve is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/workflows/instances/{instance_id}/reject", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/instances/{instance_id}/reject is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/workflows/templates", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/workflows/templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/workflows/templates/{template_id}/instantiate", "file": "routes/workflows.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/workflows/templates/{template_id}/instantiate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/outbox/stats", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/outbox/stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/outbox/failed", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/outbox/failed is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/outbox/replay/{event_id}", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/outbox/replay/{event_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/outbox/replay-all", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/outbox/replay-all is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/outbox/consumer-registry", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/outbox/consumer-registry is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/outbox/recover-stuck", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/outbox/recover-stuck is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/outbox/cleanup-published", "file": "routes/outbox.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/outbox/cleanup-published is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/system-settings", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/system-settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/system-settings/dsgvo-export/{user_id}", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/system-settings/dsgvo-export/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/system-settings/dsar/{user_id}", "file": "routes/system_settings.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/system-settings/dsar/{user_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai/copilot/query", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai/copilot/query is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai/copilot/execute", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai/copilot/execute is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai/copilot/history", "file": "routes/ai_copilot.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai/copilot/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": "POST", "path": "/api/v1/entity-history/restore", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/entity-history/restore is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/entity-history/retention/archive", "file": "routes/entity_history.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/entity-history/retention/archive is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/policies", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/policies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/policies/{policy_id}", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/policies/{policy_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/policies/{policy_id}", "file": "routes/policies.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/policies/{policy_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/permission-templates", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/permission-templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/permission-templates", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/permission-templates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/permission-templates/{template_id}", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/permission-templates/{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/permission-templates/{template_id}", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/permission-templates/{template_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/permission-templates/apply", "file": "routes/permission_templates.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/permission-templates/apply is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/permissions/bulk", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/permissions/bulk is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/permissions/bulk/unshare", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/permissions/bulk/unshare is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/permissions/analytics", "file": "routes/entity_permissions.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/permissions/analytics is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/plugins/manifest", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/plugins/manifest is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/plugins/updates", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/plugins/updates is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/plugins/{name}/config", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/plugins/{name}/config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/plugins/{name}/config", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/plugins/{name}/config is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/plugins/upload", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/plugins/upload is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/plugins/install-url", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/plugins/install-url is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/plugins/install-marketplace", "file": "routes/plugins.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/plugins/install-marketplace is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/approvals", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/approvals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/approvals", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/approvals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/approvals/{request_id}", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/approvals/{request_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/approvals/{request_id}/approve", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/approvals/{request_id}/approve is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/approvals/{request_id}/reject", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/approvals/{request_id}/reject is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/approvals/{request_id}/expire", "file": "routes/approvals.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/approvals/{request_id}/expire is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/forgejo-error-reporter/status", "file": "plugins/builtins/forgejo_error_reporter/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/forgejo-error-reporter/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/automation/runs/recent", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/automation/runs/recent is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/automation/subtasks", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/automation/subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/automation/subtasks", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/automation/subtasks is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/automation/subtasks/{subtask_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/automation/subtasks/{subtask_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/automation/subtasks/{subtask_id}", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/automation/subtasks/{subtask_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/automation/subtasks/{subtask_id}/cancel", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/automation/subtasks/{subtask_id}/cancel is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/automation/subtasks/{subtask_id}/wait", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/automation/subtasks/{subtask_id}/wait is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/automation/subtasks/aggregate", "file": "plugins/builtins/automation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/automation/subtasks/aggregate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/skills", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/skills is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/skills/", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/skills/ is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/skills/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/skills/{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/skills/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/skills/{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/skills/{skill_id}", "file": "plugins/builtins/automation/skill_routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/skills/{skill_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/agents/{agent_id}/ai-use-case", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/agents/{agent_id}/ai-use-case is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/agents/{agent_id}/ai-use-case", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/agents/{agent_id}/ai-use-case is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/agents/{id}/stream", "file": "plugins/builtins/automation/agent_routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/agents/{id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/dms/files/{file_id}/preview", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/dms/files/{file_id}/preview is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/dms/files/{file_id}/download", "file": "plugins/builtins/dms/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/dms/files/{file_id}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/mail/upload-attachment", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/mail/upload-attachment is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/mail/{mail_id}/apply-rules", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/mail/{mail_id}/apply-rules is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/mail/{mail_id}/attachments/{att_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/mail/{mail_id}/attachments/{att_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/mail/drafts/{mail_id}", "file": "plugins/builtins/mail/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/mail/drafts/{mail_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/wiki/articles", "file": "plugins/builtins/wiki/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/wiki/articles is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/contacts", "file": "plugins/builtins/contacts/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/contacts is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/contacts/export", "file": "plugins/builtins/contacts/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/contacts/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/companies", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/companies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/companies", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/companies is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/companies/export", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/companies/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/companies/{company_id}", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/companies/{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/companies/{company_id}", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/companies/{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/companies/{company_id}", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/companies/{company_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/companies/{company_id}/contacts/{contact_id}", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/companies/{company_id}/contacts/{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/companies/{company_id}/contacts/{contact_id}", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/companies/{company_id}/contacts/{contact_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/companies/{company_id}/emails", "file": "plugins/builtins/contacts/company_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/companies/{company_id}/emails is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/calendar/entries", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/calendar/entries is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/calendar/entries/export", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/calendar/entries/export is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/calendar/entries/{entry_id}/link", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/calendar/entries/{entry_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/calendar/entries/bulk", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/calendar/entries/bulk is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/calendar/{calendar_id}/ics-feed", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/calendar/{calendar_id}/ics-feed is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/calendar/import", "file": "plugins/builtins/calendar/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/calendar/import is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/search", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/search/facets", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/search/facets is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/search/suggest", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/search/suggest is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search/similar", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search/similar is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search/reindex", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search/reindex is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search/rebuild/{entity_type}/{entity_id}", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search/rebuild/{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search/purge/{entity_type}/{entity_id}", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search/purge/{entity_type}/{entity_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/search/providers", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/search/providers is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/search/providers/{entity_type}/toggle", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/search/providers/{entity_type}/toggle is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/search/stats", "file": "plugins/builtins/unified_search/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/search/stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/agent-memory", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/agent-memory is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/agent-memory", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/agent-memory is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/agent-memory/search", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/agent-memory/search is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PATCH", "path": "/api/v1/agent-memory/{memory_id}", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint PATCH /api/v1/agent-memory/{memory_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/agent-memory/{memory_id}", "file": "plugins/builtins/agent_memory/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/agent-memory/{memory_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/marketplace/listings", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/marketplace/listings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/marketplace/listings/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/marketplace/listings/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/marketplace/install/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/marketplace/install/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/marketplace/verify/{name}", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/marketplace/verify/{name} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/marketplace/categories", "file": "plugins/builtins/marketplace/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/marketplace/categories is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/graph/relationships", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/graph/relationships is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/graph/relationships", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/graph/relationships is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/graph/traverse", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/graph/traverse is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/graph/relationships/{relationship_id}", "file": "plugins/builtins/graph_rag/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/graph/relationships/{relationship_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/reports/presets/generate", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/reports/presets/generate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/reports/generate", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/reports/generate is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/reports/generate/async", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/reports/generate/async is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/reports/{report_id}", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/reports/{report_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/reports/{report_id}/download", "file": "plugins/builtins/report_generator/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/reports/{report_id}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/knowledge/extract", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/knowledge/extract is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/knowledge/review", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/knowledge/review is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/knowledge/review/{extraction_id}", "file": "plugins/builtins/knowledge/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/knowledge/review/{extraction_id} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/entity-links/files/{file_id}/link", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/entity-links/files/{file_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "DELETE", "path": "/api/v1/entity-links/files/{file_id}/link", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint DELETE /api/v1/entity-links/files/{file_id}/link is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/entity-links/files/{file_id}/links", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/entity-links/files/{file_id}/links is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/contacts/{contact_id}/files", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/contacts/{contact_id}/files is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/companies/{company_id}/files", "file": "plugins/builtins/entity_links/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/companies/{company_id}/files is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/comm/messages/{message_id}/attachments", "file": "plugins/builtins/kommunikation/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/comm/messages/{message_id}/attachments is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai-proactive/context", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai-proactive/context is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-proactive/suggestions", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-proactive/suggestions is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai-proactive/suggestions/{suggestion_id}/dismiss", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai-proactive/suggestions/{suggestion_id}/dismiss is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai-proactive/suggestions/{suggestion_id}/act", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai-proactive/suggestions/{suggestion_id}/act is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-proactive/suggestions/stream", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-proactive/suggestions/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-proactive/settings", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-proactive/settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "PUT", "path": "/api/v1/ai-proactive/settings", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint PUT /api/v1/ai-proactive/settings is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-proactive/stats", "file": "plugins/builtins/ai_proactive/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-proactive/stats is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/external/agent/{agent_id}/run", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/external/agent/{agent_id}/run is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/external/agent/{agent_id}/status", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/external/agent/{agent_id}/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/external/agent/{agent_id}/stream", "file": "plugins/builtins/ai_assistant/external_api.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/external/agent/{agent_id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai/conversations/{conversation_id}/stream", "file": "plugins/builtins/ai_assistant/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai/conversations/{conversation_id}/stream is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/public/share/{token}", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/public/share/{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/public/share/{token}", "file": "plugins/builtins/permissions/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/public/share/{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/public/share/{token}", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/public/share/{token} is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/public/share/{token}/verify", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/public/share/{token}/verify is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/public/share/{token}/download", "file": "plugins/builtins/permissions/public_routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/public/share/{token}/download is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "POST", "path": "/api/v1/ai-ui-control/command", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint POST /api/v1/ai-ui-control/command is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-ui-control/command/{command_id}/status", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-ui-control/command/{command_id}/status is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/ai-ui-control/online-users", "file": "plugins/builtins/ai_ui_control/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/ai-ui-control/online-users is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/improvement/signals", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/improvement/signals is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/improvement/patterns", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/improvement/patterns is never called by frontend" }, { "type": "backend_endpoint_no_frontend", "method": "GET", "path": "/api/v1/improvement/proposals", "file": "plugins/builtins/self_improvement/routes.py", "severity": "LOW", "message": "Backend endpoint GET /api/v1/improvement/proposals is never called by frontend" } ], "summary": { "total_frontend_calls": 405, "total_backend_endpoints": 556, "total_issues": 218, "high_severity": 22, "low_severity": 196 } }