diff --git a/antiope-dynamodb.cabal b/antiope-dynamodb.cabal
--- a/antiope-dynamodb.cabal
+++ b/antiope-dynamodb.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.2
 
 name:               antiope-dynamodb
-version:            7.2.0
+version:            7.2.1
 synopsis:           Please see the README on Github at <https://github.com/arbor/antiope#readme>
 description:        Please see the README on Github at <https://github.com/arbor/antiope#readme>.
 category:           Services
@@ -29,7 +29,8 @@
   default-extensions: BangPatterns GeneralizedNewtypeDeriving OverloadedStrings TupleSections
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -msse4.2
   build-depends:
-      amazonka
+      aeson
+    , amazonka
     , amazonka-core
     , amazonka-dynamodb
     , antiope-core
diff --git a/src/Antiope/DynamoDB/Types.hs b/src/Antiope/DynamoDB/Types.hs
--- a/src/Antiope/DynamoDB/Types.hs
+++ b/src/Antiope/DynamoDB/Types.hs
@@ -2,6 +2,7 @@
 
 module Antiope.DynamoDB.Types where
 
+import Data.Aeson
 import Data.String           (IsString)
 import Data.Text             (Text)
 import GHC.Generics
@@ -9,3 +10,9 @@
 
 newtype TableName = TableName Text
   deriving (Eq, Show, IsString, ToText, FromText, Generic)
+
+instance ToJSON TableName where
+  toJSON (TableName t) = toJSON t
+
+instance FromJSON TableName where
+  parseJSON v = TableName <$> parseJSON v
