Files
leocrm/scripts/test_suite/results_trace_api_contracts.json

7303 lines
205 KiB
JSON

{
"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
}
}