apps/api/openapi.json
Rama main · réplica de lectura del repositorio original.
{
"openapi": "3.0.0",
"paths": {
"/boards/{boardPublicId}/members": {
"get": {
"operationId": "getBoardMembers",
"parameters": [
{
"name": "boardPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BoardMemberDto"
}
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "List a board's members",
"tags": [
"Board Members"
]
},
"post": {
"operationId": "addBoardMember",
"parameters": [
{
"name": "boardPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AddBoardMemberDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardMemberRoleResultDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Add a workspace member to a board",
"tags": [
"Board Members"
]
}
},
"/boards/{boardPublicId}/members/{workspaceMemberPublicId}": {
"put": {
"operationId": "updateBoardMemberRole",
"parameters": [
{
"name": "boardPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "workspaceMemberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateBoardMemberRoleDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardMemberRoleResultDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update a board member's role",
"tags": [
"Board Members"
]
},
"delete": {
"operationId": "removeBoardMember",
"parameters": [
{
"name": "boardPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "workspaceMemberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardMemberRemoveResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Remove a member from a board",
"tags": [
"Board Members"
]
}
},
"/checklists/{checklistPublicId}": {
"put": {
"operationId": "updateChecklist",
"parameters": [
{
"name": "checklistPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateChecklistDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update a checklist",
"tags": [
"Cards"
]
},
"delete": {
"operationId": "deleteChecklist",
"parameters": [
{
"name": "checklistPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteChecklistResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Delete a checklist",
"tags": [
"Cards"
]
}
},
"/checklists/{checklistPublicId}/items": {
"post": {
"operationId": "createChecklistItem",
"parameters": [
{
"name": "checklistPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateChecklistItemDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistItemResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Add an item to a checklist",
"tags": [
"Cards"
]
}
},
"/checklists/items/{checklistItemPublicId}": {
"patch": {
"operationId": "updateChecklistItem",
"parameters": [
{
"name": "checklistItemPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateChecklistItemDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistItemResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update a checklist item",
"tags": [
"Cards"
]
},
"delete": {
"operationId": "deleteChecklistItem",
"parameters": [
{
"name": "checklistItemPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteChecklistResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Delete a checklist item",
"tags": [
"Cards"
]
}
},
"/cards/{cardPublicId}/checklists": {
"post": {
"operationId": "createChecklist",
"parameters": [
{
"name": "cardPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateChecklistDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Add a checklist to a card",
"tags": [
"Cards"
]
}
},
"/feedback": {
"post": {
"operationId": "createFeedback",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateFeedbackDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateFeedbackResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Submit feedback",
"tags": [
"Feedback"
]
}
},
"/labels/{labelPublicId}": {
"get": {
"operationId": "getLabel",
"parameters": [
{
"name": "labelPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LabelResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get a label by public ID",
"tags": [
"Labels"
]
},
"put": {
"operationId": "updateLabel",
"parameters": [
{
"name": "labelPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateLabelDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LabelResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update a label",
"tags": [
"Labels"
]
},
"delete": {
"operationId": "deleteLabel",
"parameters": [
{
"name": "labelPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteLabelResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Delete a label",
"tags": [
"Labels"
]
}
},
"/labels": {
"post": {
"operationId": "createLabel",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateLabelDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LabelResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Create a label",
"tags": [
"Labels"
]
}
},
"/lists": {
"post": {
"operationId": "createList",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateListDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Create a list",
"tags": [
"Lists"
]
}
},
"/lists/{listPublicId}": {
"delete": {
"operationId": "deleteList",
"parameters": [
{
"name": "listPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteListResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Delete a list",
"tags": [
"Lists"
]
},
"put": {
"operationId": "updateList",
"parameters": [
{
"name": "listPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateListDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update a list",
"tags": [
"Lists"
]
}
},
"/mcp": {
"post": {
"operationId": "StreamableHttpController_handlePostRequest",
"parameters": [],
"responses": {
"201": {
"description": ""
}
},
"tags": [
"StreamableHttp"
]
},
"get": {
"operationId": "StreamableHttpController_handleGetRequest",
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"tags": [
"StreamableHttp"
]
},
"delete": {
"operationId": "StreamableHttpController_handleDeleteRequest",
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"tags": [
"StreamableHttp"
]
}
},
"/workspaces/{workspacePublicId}/members/invite": {
"post": {
"operationId": "inviteMember",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteMemberDto"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MemberInviteResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Invite a member to a workspace",
"tags": [
"Workspaces"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}": {
"delete": {
"operationId": "deleteMember",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteMemberResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Delete a member from a workspace",
"tags": [
"Workspaces"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}/role": {
"put": {
"operationId": "updateMemberRole",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMemberRoleDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMemberRoleResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Update member role",
"tags": [
"Workspaces"
]
}
},
"/workspaces/{workspacePublicId}/invite": {
"get": {
"operationId": "getActiveInviteLink",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveInviteLinkResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get active invite link for workspace",
"tags": [
"Workspaces"
]
}
},
"/workspaces/{workspacePublicId}/invites": {
"post": {
"operationId": "createInviteLink",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateInviteLinkResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Create invite link for workspace",
"tags": [
"Workspaces"
]
},
"delete": {
"operationId": "deactivateInviteLink",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeactivateInviteLinkResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Deactivate invite link for workspace",
"tags": [
"Workspaces"
]
}
},
"/invites/{inviteCode}": {
"get": {
"operationId": "getInviteByCode",
"parameters": [
{
"name": "inviteCode",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteByCodeResponseDto"
}
}
}
}
},
"summary": "Get invite information by code",
"tags": [
"Invite"
]
}
},
"/invites/accept": {
"post": {
"operationId": "acceptInviteLink",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcceptInviteLinkDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AcceptInviteLinkResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Accept an invite link",
"tags": [
"Invites"
]
}
},
"/workspaces/{workspacePublicId}/permissions/me": {
"get": {
"operationId": "getMyPermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetMyPermissionsResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get my permissions",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}/permissions": {
"get": {
"operationId": "getMemberPermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetMemberPermissionsResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get member permissions",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}/permissions/grant": {
"post": {
"operationId": "grantPermission",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionActionDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Grant permission to member",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}/permissions/revoke": {
"post": {
"operationId": "revokePermission",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionActionDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Revoke permission from member",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/members/{memberPublicId}/permissions/reset": {
"post": {
"operationId": "resetMemberPermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "memberPublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Reset member permissions to role defaults",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/members/permissions/reset": {
"post": {
"operationId": "resetWorkspaceMemberPermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Reset all member permission overrides in a workspace",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/roles": {
"get": {
"operationId": "getWorkspaceRoles",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetWorkspaceRolesResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get workspace roles",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/roles/permissions": {
"get": {
"operationId": "getWorkspaceRolePermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetWorkspaceRolePermissionsResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get workspace role permissions",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/roles/{rolePublicId}/permissions": {
"get": {
"operationId": "getRolePermissions",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "rolePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRolePermissionsResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Get role permissions",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/roles/{rolePublicId}/permissions/grant": {
"post": {
"operationId": "grantRolePermission",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "rolePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionActionDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Grant permission to role",
"tags": [
"Permissions"
]
}
},
"/workspaces/{workspacePublicId}/roles/{rolePublicId}/permissions/revoke": {
"post": {
"operationId": "revokeRolePermission",
"parameters": [
{
"name": "workspacePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
},
{
"name": "rolePublicId",
"required": true,
"in": "path",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionActionDto"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SuccessResponseDto"
}
}
}
}
},
"security": [
{
"bearer": []
}
],
"summary": "Revoke permission from role",
"tags": [
"Permissions"
]
}
}
},
"info": {
"title": "Kan API",
"description": "OpenAPI compliant REST API",
"version": "1.0.0",
"contact": {}
},
"tags": [],
"servers": [],
"components": {
"securitySchemes": {
"bearer": {
"scheme": "bearer",
"bearerFormat": "JWT",
"type": "http"
}
},
"schemas": {
"BoardMemberDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"admin",
"member"
]
},
"workspaceRole": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"email": {
"type": "string"
},
"image": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"name",
"email",
"image"
],
"nullable": true
}
},
"required": [
"publicId",
"email",
"status",
"role",
"workspaceRole",
"createdAt",
"user"
]
},
"AddBoardMemberDto": {
"type": "object",
"properties": {
"workspaceMemberPublicId": {
"type": "string",
"minLength": 12
},
"role": {
"default": "member",
"type": "string",
"enum": [
"admin",
"member"
]
}
},
"required": [
"workspaceMemberPublicId"
]
},
"BoardMemberRoleResultDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"admin",
"member"
]
}
},
"required": [
"publicId",
"role"
]
},
"UpdateBoardMemberRoleDto": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"admin",
"member"
]
}
},
"required": [
"role"
]
},
"BoardMemberRemoveResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
}
},
"required": [
"publicId"
]
},
"UpdateChecklistDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"required": [
"name"
]
},
"ChecklistResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"publicId",
"name"
]
},
"DeleteChecklistResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"CreateChecklistItemDto": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"title"
]
},
"ChecklistItemResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"title": {
"type": "string"
},
"completed": {
"type": "boolean"
}
},
"required": [
"publicId",
"title",
"completed"
]
},
"UpdateChecklistItemDto": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"completed": {
"type": "boolean"
},
"index": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"CreateChecklistDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"required": [
"name"
]
},
"CreateFeedbackDto": {
"type": "object",
"properties": {
"feedback": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string",
"minLength": 1
}
},
"required": [
"feedback",
"url"
]
},
"CreateFeedbackResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"LabelResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"name": {
"type": "string"
},
"colourCode": {
"type": "string",
"nullable": true
}
},
"required": [
"publicId",
"name",
"colourCode"
]
},
"CreateLabelDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"boardPublicId": {
"type": "string",
"minLength": 12
},
"colourCode": {
"type": "string",
"minLength": 7,
"maxLength": 7
}
},
"required": [
"name",
"boardPublicId",
"colourCode"
]
},
"UpdateLabelDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 36
},
"colourCode": {
"type": "string",
"minLength": 7,
"maxLength": 7
}
},
"required": [
"name",
"colourCode"
]
},
"DeleteLabelResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"CreateListDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"boardPublicId": {
"type": "string",
"minLength": 12
}
},
"required": [
"name",
"boardPublicId"
]
},
"ListResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"publicId",
"name"
]
},
"DeleteListResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"UpdateListDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"index": {
"type": "number"
}
}
},
"InviteMemberDto": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"email"
]
},
"MemberInviteResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
}
},
"required": [
"publicId"
]
},
"DeleteMemberResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"UpdateMemberRoleDto": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"admin",
"member",
"guest"
]
}
},
"required": [
"role"
]
},
"UpdateMemberRoleResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"role": {
"type": "string"
}
},
"required": [
"success",
"role"
]
},
"ActiveInviteLinkResponseDto": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"inviteCode": {
"type": "string"
},
"inviteLink": {
"type": "string"
},
"isActive": {
"type": "boolean"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"isActive"
]
},
"CreateInviteLinkResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"inviteCode": {
"type": "string"
},
"inviteLink": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"nullable": true
}
},
"required": [
"publicId",
"inviteCode",
"inviteLink",
"expiresAt"
]
},
"DeactivateInviteLinkResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"InviteByCodeResponseDto": {
"type": "object",
"properties": {
"publicId": {
"type": "string"
},
"status": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"nullable": true
}
},
"required": [
"publicId",
"status",
"expiresAt"
]
},
"AcceptInviteLinkDto": {
"type": "object",
"properties": {
"inviteCode": {
"type": "string",
"minLength": 12
}
},
"required": [
"inviteCode"
]
},
"AcceptInviteLinkResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"workspacePublicId": {
"type": "string"
},
"workspaceSlug": {
"type": "string"
}
},
"required": [
"success"
]
},
"GetMyPermissionsResponseDto": {
"type": "object",
"properties": {
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"role": {
"type": "string"
}
},
"required": [
"permissions",
"role"
]
},
"GetMemberPermissionsResponseDto": {
"type": "object",
"properties": {
"memberPublicId": {
"type": "string"
},
"role": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"overrides": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permission": {
"type": "string"
},
"granted": {
"type": "boolean"
}
},
"required": [
"permission",
"granted"
]
}
}
},
"required": [
"memberPublicId",
"role",
"permissions",
"overrides"
]
},
"PermissionActionDto": {
"type": "object",
"properties": {
"permission": {
"type": "string",
"enum": [
"workspace:view",
"workspace:edit",
"workspace:delete",
"workspace:manage",
"board:view",
"board:create",
"board:edit",
"board:delete",
"list:view",
"list:create",
"list:edit",
"list:delete",
"card:view",
"card:create",
"card:edit",
"card:delete",
"comment:view",
"comment:create",
"comment:edit",
"comment:delete",
"member:view",
"member:invite",
"member:edit",
"member:remove"
]
}
},
"required": [
"permission"
]
},
"SuccessResponseDto": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
},
"required": [
"success"
]
},
"GetWorkspaceRolesResponseDto": {
"type": "object",
"properties": {
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"publicId": {
"type": "string",
"minLength": 12
},
"name": {
"type": "string"
},
"description": {
"type": "string",
"nullable": true
},
"hierarchyLevel": {
"type": "number"
},
"isSystem": {
"type": "boolean"
}
},
"required": [
"publicId",
"name",
"description",
"hierarchyLevel",
"isSystem"
]
}
}
},
"required": [
"roles"
]
},
"GetWorkspaceRolePermissionsResponseDto": {
"type": "object",
"properties": {
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"publicId": {
"type": "string",
"minLength": 12
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"publicId",
"name",
"permissions"
]
}
}
},
"required": [
"roles"
]
},
"GetRolePermissionsResponseDto": {
"type": "object",
"properties": {
"rolePublicId": {
"type": "string"
},
"name": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"rolePublicId",
"name",
"permissions"
]
}
}
}
}