diff --git a/unisportomat/quiz/views.py b/unisportomat/quiz/views.py
index 8aca5df270a261fb923e99f11c5f9c8fb85060d1..7207d88ef558aabcd8c067abd98f2eb689da85b3 100644
--- a/unisportomat/quiz/views.py
+++ b/unisportomat/quiz/views.py
@@ -6,6 +6,7 @@ Defines the views for the API
 from rest_framework import viewsets
 from rest_framework.views import APIView
 from rest_framework.response import Response
+from django.http import JsonResponse
 from .serializers import (
     SmallSportListSerializer,
     SportListSerializer,
@@ -57,49 +58,10 @@ class SmallSportListView(viewsets.ViewSet):
     TODO: More Documentation
     """
 
-    # GET for api/admin/sport/
-    def list(self, request):
-
-        return Response({"test": "Showing all Entries"})
-
-    # POST for api/admin/sport/
-    def create(self, request):
-
-        return Response({"test": "Creating a new Entry"})
-
-    # GET for api/admin/sport/<id>/
-    def retrieve(self, request, pk=None):
-
-        return Response({"test": "Getting a Single Entry"})
-
-    # PUT for api/admin/sport/<id>/
-    def update(self, request, pk=None):
-
-        return Response({"test": "Updating a Single Entry"})
-
-    # DELETE for api/admin/sport/<id>/
-    def destroy(self, request, pk=None):
-
-        return Response({"test": "Removing a Single Entry"})
-
-
-# Dev Notes:
-# - This is a singular APIView which isn't meant to expose complete lists
-# - It cannot be written into the Router, as it isn't a Viewset, so it is written directly into the urls.py's urlspatterns like this:
-# path(r"api/admin/single-small-sport-list", views.SmallSportListAPIView.as_view())
-# - The API isn't in the list in /api/admin because of that, but needs to be called manually here:
-# http://localhost:8000/api/admin/single-small-sport-list
-
-
-class SmallSportListAPIView(APIView):
-    """
-    View for the List of Sports on the Sport Homepage
-    TODO: More Documentation
-    """
-
     authentication_classes = []
 
-    def get(self, request):
+    # GET for api/admin/sport/
+    def list(self, request):
 
         sports = Sport.objects.all()
         criteria = Criterion.objects.all()
@@ -128,31 +90,8 @@ class SmallSportListAPIView(APIView):
 
         return Response(serializer.data)
 
-
-class SingleSportAPIView(APIView):
-
-    authentication_classes = []
-
-    def get(self, request, pk):
-
-        return Response(SingleSportSerializer(Sport.objects.get(pk=pk)).data)
-
-    def put(self, request, pk):
-
-        data_dict = SingleSportSerializer().to_internal_value(request)
-
-        sport = Sport.objects.get(pk=pk)
-
-        print(data_dict)
-
-        return Response([])
-
-
-class CreateSportAPIView(APIView):
-
-    authentication_classes = []
-
-    def post(self, request):
+    # POST for api/admin/sport/
+    def create(self, request):
 
         data_dict = SingleSportSerializer().to_internal_value(request)
 
@@ -176,3 +115,46 @@ class CreateSportAPIView(APIView):
         response = SingleSportSerializer(new_sport)
 
         return Response(response.data)
+
+    # GET for api/admin/sport/<id>/
+    def retrieve(self, request, pk=None):
+
+        try:
+            sport = Sport.objects.get(pk=pk)
+        except:
+            return JsonResponse(
+                {
+                    "status_code": 404,
+                    "error": f"No Sport with ID {pk} found",
+                },
+                status=404,
+            )
+
+        return Response(SingleSportSerializer(sport).data)
+
+    # PUT for api/admin/sport/<id>/
+    def update(self, request, pk=None):
+        """
+        TODO
+        """
+
+        data_dict = SingleSportSerializer().to_internal_value(request)
+
+        sport = Sport.objects.get(pk=pk)
+
+        print(data_dict)
+
+        return Response({"test": "Updating a Single Entry"})
+
+    # DELETE for api/admin/sport/<id>/
+    def destroy(self, request, pk=None):
+
+        return Response({"test": "Removing a Single Entry"})
+
+
+# Dev Notes:
+# - This is a singular APIView which isn't meant to expose complete lists
+# - It cannot be written into the Router, as it isn't a Viewset, so it is written directly into the urls.py's urlspatterns like this:
+# path(r"api/admin/single-small-sport-list", views.SmallSportListAPIView.as_view())
+# - The API isn't in the list in /api/admin because of that, but needs to be called manually here:
+# http://localhost:8000/api/admin/single-small-sport-list
diff --git a/unisportomat/unisportomat/urls.py b/unisportomat/unisportomat/urls.py
index de0f819dfbd215935161f5771f64d36cfe83785f..06f8bb10976e1bc4354e850e4d1688d026b4a68f 100644
--- a/unisportomat/unisportomat/urls.py
+++ b/unisportomat/unisportomat/urls.py
@@ -27,7 +27,4 @@ router.register(r"small-sport-list", views.SmallSportListView, "small-sport-list
 urlpatterns = [
     path("admin/", admin.site.urls),
     path("api/admin/", include(router.urls)),
-    path("api/admin/single-small-sport-list", views.SmallSportListAPIView.as_view()),
-    path("api/admin/single-sport/<int:pk>", views.SingleSportAPIView.as_view()),
-    path("api/admin/single-sport", views.CreateSportAPIView.as_view()),
 ]