My App
BoardKitBackend

REST Controllers

HTTP endpoints for boards, pages, assets, export, and sharing

BoardModule.register() registers 5 REST controllers that provide the HTTP API.

BoardController

Board CRUD operations.

MethodPathDescriptionRequired Role
POST/boardsCreate a new boardAuthenticated
GET/boardsList user's boardsAuthenticated
GET/boards/:idGet board detailsviewer
PATCH/boards/:idUpdate boardowner
DELETE/boards/:idDelete boardowner
POST/boards/:id/archiveArchive boardowner

PageController

Page management within a board.

MethodPathDescriptionRequired Role
POST/boards/:boardId/pagesAdd a pageeditor
GET/boards/:boardId/pagesList pagesviewer
GET/boards/:boardId/pages/:pageId/elementsGet page elementsviewer
PUT/boards/:boardId/pages/reorderReorder pageseditor
DELETE/boards/:boardId/pages/:pageIdDelete a pageeditor

AssetController

File upload and management.

MethodPathDescriptionRequired Role
POST/boards/:boardId/assetsUpload an asseteditor
GET/boards/:boardId/assets/:storageKeyGet asset URLviewer
DELETE/boards/:boardId/assets/:storageKeyDelete an asseteditor
GET/boards/:boardId/assets/usageGet board storage usageviewer

ExportController

Board export to various formats.

MethodPathDescriptionRequired Role
POST/boards/:boardId/exportExport boardviewer

Request body:

{
    "format": "png" | "svg" | "pdf",
    "pageIds": ["page-1", "page-2"]  // optional, defaults to all pages
}

ShareController

Share link management.

MethodPathDescriptionRequired Role
POST/boards/:boardId/sharesCreate share linkowner
GET/shares/:tokenResolve share linkPublic
DELETE/boards/:boardId/shares/:idDelete share linkowner

Authentication

All controllers extract the Bearer token from the Authorization header and call BoardAuthGuard.validateRequest(). Unauthenticated requests receive a 401 response.

Authorization: Bearer <token>

After authentication, role-based access is checked via PermissionService.checkAccess().

On this page