diff --git a/gracedb/api.py b/gracedb/api.py
index 496d62fd53726a9d507d41cf0e03963035b5f93e..01d7e25897d8182e48b598c79cc058fc8f66550f 100644
--- a/gracedb/api.py
+++ b/gracedb/api.py
@@ -815,6 +815,10 @@ class EventSlot(APIView):
             return Response("Event does not exist.",
                     status=status.HTTP_404_NOT_FOUND)
 
+        if not slotname:
+            return Response(dict([(s.name, s.value)
+                for s in Slot.objects.filter(event=event)]))
+
         try:
             slot = Slot.objects.filter(event=event).filter(name=slotname)[0]
         except:
diff --git a/gracedb/models.py b/gracedb/models.py
index d4629b170630b5c8b3187dc38b5fd0f5842e0f67..9da94cab5a7d535297165b364a9b0cb01a35a3ef 100644
--- a/gracedb/models.py
+++ b/gracedb/models.py
@@ -243,6 +243,8 @@ class MultiBurstEvent(Event):
 class Slot(models.Model):
     """Slot Model"""
     # Does the slot need to have a submitter column?
+    class Meta:
+        unique_together = (('event', 'name'))
     event = models.ForeignKey(Event)
     name  = models.CharField(max_length=100)
     value = models.CharField(max_length=100)