diff --git a/django/website/rest_api/tests/item_delete_tests.py b/django/website/rest_api/tests/item_delete_tests.py
index 030a459ad01b842e4985600df975033ff8a9980f..d2d9bc8da8d29d47fbc703faaa63770a645ad92b 100644
--- a/django/website/rest_api/tests/item_delete_tests.py
+++ b/django/website/rest_api/tests/item_delete_tests.py
@@ -17,26 +17,12 @@ def delete_item(id):
 
 @pytest.mark.django_db
 def test_delete_item():
+    ItemFactory(body="test1")
     item = ItemFactory()
-    assert Item.objects.count() == 1
+    assert Item.objects.count() == 2
 
     response = delete_item(item.id)
 
     assert status.is_success(response.status_code)
-    assert Item.objects.count() == 0
-
-
-def delete_items(item_ids):
-    request = APIRequestFactory().delete('/items/', {'ids': item_ids})
-    view = ItemViewSet.as_view(actions={'delete': 'bulk_destroy'})
-    return view(request)
-
-
-@pytest.mark.django_db
-def test_delete_items():
-    items = [ItemFactory().id for i in range(10)]
-
-    response = delete_items(items)
-
-    assert status.is_success(response.status_code)
-    assert Item.objects.count() == 0
+    assert Item.objects.count() == 1
+    assert Item.objects.get().body == "test1"
diff --git a/django/website/rest_api/views.py b/django/website/rest_api/views.py
index 0cf2c4329f5c4027bbc8c0ea2467adf95e899928..e2fdf3c8143f76416e53624d108e5b738f87cebd 100644
--- a/django/website/rest_api/views.py
+++ b/django/website/rest_api/views.py
@@ -1,4 +1,3 @@
-from rest_framework import generics
 from rest_framework_bulk.mixins import BulkDestroyModelMixin
 from rest_framework import viewsets
 
diff --git a/django/website/transport/__init__.py b/django/website/transport/__init__.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..839ec98e1fbb1d6f568bb1e14055e41a5fa96146 100644
--- a/django/website/transport/__init__.py
+++ b/django/website/transport/__init__.py
@@ -0,0 +1,3 @@
+import items
+
+__all__ = ['items', ]
diff --git a/django/website/transport/items.py b/django/website/transport/items.py
index 2476566c67fbeff9a3d2f66d0aca493962167450..3983a36c6383c922805bd8b531c5bfce0d2ba006 100644
--- a/django/website/transport/items.py
+++ b/django/website/transport/items.py
@@ -6,18 +6,20 @@ from rest_api.views import ItemViewSet
 from .exceptions import TransportException
 
 
-
-url_name = 'item-list'
 actions = {
     'get': 'list',
     'post': 'create',
-    'delete': 'bulk_destroy',
+    'delete': 'destroy',
 }
 request_factory = APIRequestFactory()
 
 
-def url():
-    return reverse(url_name)
+def list_url():
+    return reverse('item-list')
+
+
+def detail_url(id):
+    return reverse('item-detail', args=[id])
 
 
 def get_view():
@@ -32,13 +34,14 @@ def list(**kwargs):
     """
     # FIXME: currently only body exact filtering is supported
     view = get_view()
-    request = request_factory.get(url(), kwargs)
+    request = request_factory.get(list_url(), kwargs)
     return view(request).data
 
+
 def create(item):
     """ Create an Item from the given dict """
     view = get_view()
-    request = request_factory.post(url(), item)
+    request = request_factory.post(list_url(), item)
     response = view(request)
     if status.is_success(response.status_code):
         return response.data
@@ -46,18 +49,17 @@ def create(item):
         response.data['status_code'] = response.status_code
         raise TransportException(response.data)
 
-# TODO: I suspect we're actually not using this. Because the tool currently
-# uses bulk delete. And of course we could use bulk delete and filter for
-# the one item to delete.
+
 def delete(id):
     """ Delete the Item wit the given ID """
     view = get_view()
-    url = '/items/{}/'.format(id)
-    request = request_factory.delete(url)
+    request = request_factory.delete(detail_url(id))
     return view(request, pk=id)
 
+
 def bulk_delete(ids):
     """ Delete all Items whose ids appear in the given list """
-    view = get_view()
-    request = request_factory.delete(url(), ids=ids)
-    return view(request)
+    # DELETE http requests appear not to send query parameters so
+    # for the moment I'm mapping this onto multiple calls to delete()
+    for id in ids:
+        delete(id)
diff --git a/django/website/transport/tests/item_delete_tests.py b/django/website/transport/tests/item_delete_tests.py
index 8b983caacf8b77dc8aadd0b277b891c16dfa8ee3..9a459456b8a3870e1c1582decafec7035123666a 100644
--- a/django/website/transport/tests/item_delete_tests.py
+++ b/django/website/transport/tests/item_delete_tests.py
@@ -7,19 +7,21 @@ from transport import items
 
 @pytest.mark.django_db
 def test_delete_item():
+    ItemFactory()
     item = ItemFactory()
-    assert len(items.list()) == 1
+    assert len(items.list()) == 2
 
     items.delete(item.id)
 
-    assert len(items.list()) == 0
+    assert len(items.list()) == 1
 
 
 @pytest.mark.django_db
-def test_delete_items():
+def test_bulk_delete():
+    ItemFactory()
     ids = [ItemFactory().id for i in range(10)]
-    assert len(items.list()) == 10
+    assert len(items.list()) == 11
 
     items.bulk_delete(ids)
 
-    assert len(items.list()) == 0
+    assert len(items.list()) == 1