diff --git a/apps/note/api/views.py b/apps/note/api/views.py
index 3a29b522eb076910ada8f9206574e903cb15c26b..40fc4f4ed2d753c4f938804c354e97f32785177f 100644
--- a/apps/note/api/views.py
+++ b/apps/note/api/views.py
@@ -2,10 +2,14 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 
 from django.db.models import Q
+from django.core.exceptions import ValidationError
 from django_filters.rest_framework import DjangoFilterBackend
 from rest_framework.filters import OrderingFilter, SearchFilter
-from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 from rest_framework import viewsets
+from rest_framework.response import Response
+from rest_framework import status
+
+from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 
 from .serializers import NotePolymorphicSerializer, AliasSerializer, TemplateCategorySerializer, \
     TransactionTemplateSerializer, TransactionPolymorphicSerializer
@@ -59,7 +63,16 @@ class AliasViewSet(viewsets.ModelViewSet):
             #alias owner cannot be change once establish
             setattr(serializer_class.Meta, 'read_only_fields', ('note',))
         return serializer_class
-
+    
+    def destroy(self, request, *args, **kwargs):
+        instance = self.get_object()
+        try:
+            self.perform_destroy(instance)
+        except ValidationError as e:
+            print(e)
+            return Response({e.code:e.message},status.HTTP_400_BAD_REQUEST)
+        return Response(status=status.HTTP_204_NO_CONTENT)
+    
     def get_queryset(self):
         """
         Parse query and apply filters.
diff --git a/apps/note/models/notes.py b/apps/note/models/notes.py
index 2fa6390693d95aee0cd0a9b0edbcf7a6a13c8501..43faabfe59aedf8dc71ae3bf85139c8967eea3fd 100644
--- a/apps/note/models/notes.py
+++ b/apps/note/models/notes.py
@@ -249,5 +249,5 @@ class Alias(models.Model):
     def delete(self, using=None, keep_parents=False):
         if self.name == str(self.note):
             raise ValidationError(_("You can't delete your main alias."),
-                                  code="cant_delete_main_alias")
+                                  code="main_alias")
         return super().delete(using, keep_parents)