Skip to content

Route posture

What each endpoint demands of its caller. Regenerate with npm run route-table; CI fails when this file is stale, so a change in authorization shows up here as a diff rather than staying buried in 14 controllers.

175 routes.

  • admin: 13
  • admin (checked in body): 23
  • anonymous: 17
  • any logged-in user: 122
Verb URL Handler Requires CSRF
GET /api/v1/pages api#listPages any logged-in user exempt
POST /api/v1/pages api#createPage any logged-in user required
GET /api/v1/pages/{id} api#getPage any logged-in user exempt
PUT /api/v1/pages/{id} api#updatePage any logged-in user required
DELETE /api/v1/pages/{id} api#deletePage any logged-in user required
POST /api/v1/pages/{pageId}/media mediaApi#uploadMedia any logged-in user required
GET /api/v1/pages/{pageId}/media mediaApi#listMedia any logged-in user exempt
GET /api/v1/pages/{pageId}/media/{filename} mediaApi#getMedia any logged-in user exempt
POST /api/pages api#createPage any logged-in user required
GET /api/pages api#listPages any logged-in user exempt
GET /api/pages/tree api#getPageTree any logged-in user exempt
POST /api/pages/reorder api#reorderPages any logged-in user required
POST /api/pages/copy api#copyPage any logged-in user required
POST /api/pages/move api#movePage any logged-in user required
GET /api/pages/{id} api#getPage any logged-in user exempt
PUT /api/pages/{id} api#updatePage any logged-in user required
DELETE /api/pages/{id} api#deletePage any logged-in user required
POST /api/pages/{pageId}/media mediaApi#uploadMedia any logged-in user required
POST /api/pages/{pageId}/media/check mediaApi#checkMediaDuplicate any logged-in user required
POST /api/pages/{pageId}/media/upload mediaApi#uploadMediaWithName any logged-in user required
GET /api/pages/{pageId}/media/list mediaApi#listMedia any logged-in user exempt
GET /api/pages/{pageId}/media/{filename} mediaApi#getMedia any logged-in user exempt
GET /api/resources/media/{folder}/{filename} mediaApi#getResourcesMediaWithFolder any logged-in user exempt
GET /api/resources/media/{filename} mediaApi#getResourcesMedia any logged-in user exempt
GET /api/pages/{pageId}/versions pageContentApi#getPageVersions any logged-in user exempt
POST /api/pages/{pageId}/versions/{timestamp} pageContentApi#restorePageVersion any logged-in user required
PUT /api/pages/{pageId}/versions/{timestamp}/label pageContentApi#updateVersionLabel any logged-in user required
GET /api/pages/{pageId}/versions/{timestamp}/content pageContentApi#getVersionContent any logged-in user exempt
GET /api/pages/{pageId}/content pageContentApi#getCurrentPageContent any logged-in user exempt
GET /api/pages/{pageId}/metadata pageContentApi#getPageMetadata any logged-in user exempt
PUT /api/pages/{pageId}/metadata pageContentApi#updatePageMetadata any logged-in user required
GET /api/pages/{pageId}/lock pageLock#getLock any logged-in user exempt
POST /api/pages/{pageId}/lock pageLock#acquireLock any logged-in user required
PUT /api/pages/{pageId}/lock pageLock#refreshLock any logged-in user required
DELETE /api/pages/{pageId}/lock pageLock#releaseLock any logged-in user required
POST /api/pages/{pageId}/lock/force-release pageLock#forceReleaseLock admin (checked in body) required
GET /api/page/{pageId}/cache-status pageContentApi#checkPageCacheStatus any logged-in user exempt
GET /api/search api#searchPages any logged-in user exempt
GET /api/news api#getNews any logged-in user exempt
GET /api/pages/{id}/breadcrumb api#getBreadcrumb any logged-in user exempt
GET /api/metavox/status pageContentApi#getMetavoxStatus any logged-in user exempt
GET /api/metavox/fields pageContentApi#getMetavoxFields any logged-in user exempt
GET /api/permissions api#getPermissions any logged-in user exempt
GET /api/navigation navigation#get any logged-in user exempt
POST /api/navigation navigation#save any logged-in user required
GET /api/footer footer#get any logged-in user exempt
POST /api/footer footer#save any logged-in user required
POST /api/homepage api#setHomepage any logged-in user required
POST /api/pages/{pageId}/translations translationApi#linkTranslation any logged-in user required
DELETE /api/pages/{pageId}/translations translationApi#unlinkTranslation any logged-in user required
GET /api/pages/{pageId}/translation-candidates translationApi#getTranslationCandidates any logged-in user required
POST /api/pages/{pageId}/translations/create translationApi#createTranslation any logged-in user required
GET /api/pages/{pageId}/translatable-languages translationApi#getTranslatableLanguages any logged-in user required
POST /api/setup api#runSetup admin (checked in body) required
GET /api/demo-data/status demoData#getStatus any logged-in user required
GET /api/demo-data/languages demoData#getLanguages any logged-in user required
POST /api/demo-data/import demoData#importDemoData admin required
POST /api/demo-data/clean-start demoData#cleanStart admin required
GET /api/languages language#list admin required
GET /api/languages/content-status language#contentStatus any logged-in user required
POST /api/languages/primary language#setPrimary admin required
POST /api/languages/{code}/add language#addLanguage admin required
DELETE /api/languages/{code} language#removeLanguage admin required
POST /api/languages/enabled language#setEnabled admin required
POST /api/languages/{code}/empty-homepage language#createEmptyHomepage admin required
GET /api/settings/video-domains settingsApi#getVideoDomains any logged-in user exempt
POST /api/settings/video-domains settingsApi#setVideoDomains admin (checked in body) required
GET /api/settings/upload-limit mediaApi#getUploadLimit any logged-in user exempt
GET /api/settings/engagement settingsApi#getEngagementSettings any logged-in user exempt
POST /api/settings/engagement settingsApi#setEngagementSettings admin (checked in body) required
GET /api/settings/publication settingsApi#getPublicationSettings any logged-in user exempt
POST /api/settings/publication settingsApi#setPublicationSettings admin (checked in body) required
GET /api/settings/public-share-people settingsApi#getPublicSharePeopleSetting any logged-in user exempt
POST /api/settings/public-share-people settingsApi#setPublicSharePeopleSetting admin (checked in body) required
GET /api/export/languages export#getExportableLanguages any logged-in user exempt
GET /api/export/language/{language} export#exportLanguage any logged-in user exempt
GET /api/export/language/{language}/zip export#exportLanguageZip any logged-in user exempt
GET /api/export/page/{uniqueId} export#exportPage any logged-in user exempt
POST /api/import/zip importApi#import_zip admin (checked in body) required
POST /api/import/confluence/html importApi#import_confluence_html admin (checked in body) required
GET /api/pages/{pageId}/comments comment#getComments any logged-in user exempt
POST /api/pages/{pageId}/comments comment#createComment any logged-in user required
PUT /api/comments/{commentId} comment#updateComment any logged-in user required
DELETE /api/comments/{commentId} comment#deleteComment any logged-in user required
GET /api/pages/{pageId}/reactions comment#getPageReactions any logged-in user exempt
POST /api/pages/{pageId}/reactions/{emoji} comment#addPageReaction any logged-in user required
DELETE /api/pages/{pageId}/reactions/{emoji} comment#removePageReaction any logged-in user required
GET /api/comments/{commentId}/reactions comment#getCommentReactions any logged-in user exempt
POST /api/comments/{commentId}/reactions/{emoji} comment#addCommentReaction any logged-in user required
DELETE /api/comments/{commentId}/reactions/{emoji} comment#removeCommentReaction any logged-in user required
POST /api/analytics/track/{pageId} analytics#trackView any logged-in user required
GET /api/analytics/page/{pageId} analytics#getPageStats any logged-in user exempt
GET /api/analytics/top analytics#getTopPages any logged-in user exempt
GET /api/analytics/dashboard analytics#getDashboard admin (checked in body) exempt
GET /api/analytics/settings analytics#getSettings admin (checked in body) exempt
POST /api/analytics/settings analytics#setSettings admin (checked in body) required
POST /api/bulk/validate bulk#validateOperation admin (checked in body) required
POST /api/bulk/delete bulk#deletePages admin (checked in body) required
POST /api/bulk/move bulk#movePages admin (checked in body) required
POST /api/bulk/update bulk#updatePages admin (checked in body) required
GET /api/orphaned/scan orphanedData#scan admin required
GET /api/orphaned/{id}/details orphanedData#getDetails admin required
DELETE /api/orphaned/{id} orphanedData#cleanup admin required
POST /api/orphaned/{id}/migrate orphanedData#migrate admin required
GET /api/license/stats license#getStats admin (checked in body) exempt
POST /api/license/telemetry license#sendTelemetry admin (checked in body) required
GET /api/license/instance license#getInstanceInfo admin (checked in body) exempt
POST /api/settings/license license#saveSettings admin (checked in body) required
POST /api/license/validate license#validate admin (checked in body) required
POST /api/license/update-usage license#updateUsage admin (checked in body) required
POST /api/settings/telemetry settingsApi#setTelemetrySettings admin (checked in body) required
GET /api/templates templateApi#listTemplates any logged-in user required
GET /api/templates/{id} templateApi#getTemplate any logged-in user required
POST /api/templates templateApi#saveAsTemplate any logged-in user required
DELETE /api/templates/{id} templateApi#deleteTemplate any logged-in user required
POST /api/pages/from-template templateApi#createPageFromTemplate any logged-in user required
GET /api/pages/{uniqueId}/share-info shareAdminApi#getShareInfo any logged-in user exempt
GET /api/admin/shares shareAdminApi#getActiveShares admin (checked in body) required
GET /api/users/search people#searchUsers any logged-in user exempt
POST /api/users people#getUsers any logged-in user required
GET /api/users/groups people#getGroups any logged-in user exempt
GET /api/users/fields people#getUserFields any logged-in user exempt
GET /api/people people#getPeople any logged-in user exempt
GET /api/people/facet-preflight people#facetPreflight any logged-in user exempt
GET /api/calendar/calendars calendar#getCalendars any logged-in user exempt
GET /api/calendar/events calendar#getEvents any logged-in user exempt
GET /api/feed/external feedReader#getFeed any logged-in user exempt
GET /api/feed/preview feedReader#getPreview any logged-in user required
GET /api/feed/image feedReader#proxyImage any logged-in user exempt
GET /api/feed/courses/{connectionId} feedReader#getCourses any logged-in user exempt
GET /api/feed/sharepoint-lists/{connectionId} feedReader#getSharePointLists any logged-in user exempt
GET /api/feed/jira-projects/{connectionId} feedReader#getJiraProjects any logged-in user exempt
GET /api/feed/moodle-forums/{connectionId} feedReader#getMoodleForums any logged-in user exempt
GET /api/settings/feed-connections feedReader#getConnections any logged-in user exempt
POST /api/settings/feed-connections feedReader#setConnections admin required
GET /api/lms/connections lmsOAuth#getUserConnections any logged-in user exempt
POST /api/lms/connect/{connectionId} lmsOAuth#startOAuth any logged-in user required
GET /api/lms/callback lmsOAuth#callback any logged-in user exempt
POST /api/lms/token/{connectionId} lmsOAuth#saveManualToken any logged-in user required
DELETE /api/lms/token/{connectionId} lmsOAuth#disconnect any logged-in user required
GET /feed/{token} feed#getFeed anonymous exempt
GET /feed/{token}/media/{pageId}/{filename} feed#getFeedMedia anonymous exempt
GET /api/feed/token feed#getToken any logged-in user exempt
POST /api/feed/token feed#regenerateToken any logged-in user required
DELETE /api/feed/token feed#revokeToken any logged-in user required
PUT /api/feed/config feed#updateConfig any logged-in user required
GET /api/share/{token}/page/{uniqueId} publicShare#getPageByShare anonymous exempt
GET /api/share/{token}/page/{uniqueId}/media/{filename} publicShare#getMediaByShare anonymous exempt
GET /api/share/{token}/resources/media/{filename} publicShare#getResourcesMediaByShare anonymous exempt
GET /api/share/{token}/resources/media/{folder}/{filename} publicShare#getResourcesMediaWithFolderByShare anonymous exempt
GET /api/share/{token}/navigation publicShare#getNavigationByShare anonymous exempt
GET /api/share/{token}/tree publicShare#getPageTreeByShare anonymous exempt
GET /api/share/{token}/news publicShare#getNewsByShare anonymous exempt
GET /api/share/{token}/people publicShare#getPeopleByShare anonymous exempt
GET /api/share/{token}/calendar/events publicShare#getEventsByShare anonymous exempt
GET /api/share/{token}/feed/external publicShare#getFeedByShare anonymous exempt
GET /api/share/{token}/feed/image publicShare#proxyImageByShare anonymous exempt
GET /api/health api#health anonymous exempt
GET /api/photo-story/photos photoStory#photos any logged-in user exempt
GET /api/photo-story/clusters photoStory#clusters any logged-in user exempt
GET /api/photo-story/capabilities photoStory#capabilities any logged-in user exempt
GET /api/photo-story/photo-exif photoStory#photoExif any logged-in user exempt
GET /api/photo-story/open-in-files photoStory#openInFiles any logged-in user exempt
GET /api/photo-story/video photoStory#video any logged-in user exempt
GET /api/photo-story/metavox-fields photoStory#metaVoxFields any logged-in user exempt
GET /api/file-story/files fileStory#files any logged-in user exempt
GET /api/file-story/capabilities fileStory#capabilities any logged-in user exempt
GET /api/file-story/metavox-fields fileStory#metaVoxFields any logged-in user exempt
GET /api/preview preview#fetch any logged-in user exempt
POST /api/preview/warmup preview#warmup any logged-in user exempt
GET / page#index anonymous exempt
GET /s/{shareToken} page#shareAccess anonymous exempt
POST /s/{shareToken}/authenticate page#shareAuthenticate anonymous exempt
GET /page/{id} page#show any logged-in user exempt
GET /p/{uniqueId} page#showByUniqueId any logged-in user exempt