Skip to main content

Request DTOs

All request DTOs used for API input validation.


CreateDocumentRequest

Used when creating a new document.

{
"title": "Document Title",
"workspaceId": "UUID (required)",
"parentId": "UUID (optional)",
"content": [],
"icon": "📄",
"coverImageUrl": "https://..."
}
FieldTypeRequiredValidation
titleStringNoMax 500 characters
workspaceIdUUIDYesNot null
parentIdUUIDNo-
contentObjectNoBlockNote JSON format
iconStringNoMax 50 characters
coverImageUrlStringNo-

UpdateDocumentRequest

Used when updating an existing document.

{
"title": "Updated Title",
"content": [],
"icon": "📝",
"coverImageUrl": "https://...",
"isArchived": false
}
FieldTypeRequiredValidation
titleStringNoMax 500 characters
contentObjectNoBlockNote JSON format
iconStringNoMax 50 characters
coverImageUrlStringNo-
isArchivedBooleanNo-

MoveDocumentRequest

Used when moving a document to a new parent.

{
"parentId": "UUID or null"
}
FieldTypeRequiredDescription
parentIdUUIDNoNew parent ID. null = move to root

CreateWorkspaceRequest

{
"name": "Workspace Name",
"description": "Description",
"icon": "🚀",
"color": "#FF5733"
}
FieldTypeRequiredValidation
nameStringYesNot blank, max 255 characters
descriptionStringNoMax 1000 characters
iconStringNoMax 50 characters
colorStringNoMax 20 characters

UpdateWorkspaceRequest

{
"name": "Updated Name",
"description": "Updated description",
"icon": "📋",
"color": "#28A745",
"isArchived": false
}
FieldTypeRequiredValidation
nameStringNoMax 255 characters
descriptionStringNoMax 1000 characters
iconStringNoMax 50 characters
colorStringNoMax 20 characters
isArchivedBooleanNo-

InviteMemberRequest

{
"email": "[email protected]",
"role": "EDITOR",
"message": "Welcome to our team!"
}
FieldTypeRequiredValidation
emailStringYesValid email, max 255 characters
roleWorkspaceRoleYesNot null
messageStringNoMax 500 characters

UpdateMemberRoleRequest

{
"role": "ADMIN"
}
FieldTypeRequiredValidation
roleWorkspaceRoleYesNot null

TransferOwnershipRequest

{
"newOwnerId": "UUID"
}
FieldTypeRequiredValidation
newOwnerIdUUIDYesNot null

CreateCommentThreadRequest

{
"anchor": {
"blockId": "block-123",
"startOffset": 10,
"endOffset": 25,
"selectedText": "highlighted text"
},
"comment": {
"content": "This needs revision"
}
}
FieldTypeRequiredValidation
anchorMap<String, Object>YesNot null
commentCommentContentYesNot null, valid
comment.contentStringYesNot blank

CreateCommentRequest

{
"content": "I agree with this"
}
FieldTypeRequiredValidation
contentStringYesNot blank

UpdateCommentRequest

{
"content": "Updated comment"
}
FieldTypeRequiredValidation
contentStringYesNot blank

UpdateUserPreferenceRequest

{
"lastDocumentId": "UUID",
"lastWorkspaceId": "UUID",
"theme": "dark",
"sidebarCollapsed": true,
"locale": "en",
"notificationsEnabled": true
}
FieldTypeRequiredValidation
lastDocumentIdUUIDNo-
lastWorkspaceIdUUIDNo-
themeStringNoMust be light, dark, or system
sidebarCollapsedBooleanNo-
localeStringNoMax 10 characters
notificationsEnabledBooleanNo-