diff --git a/antiope-sqs.cabal b/antiope-sqs.cabal
--- a/antiope-sqs.cabal
+++ b/antiope-sqs.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 0f6f3d2eecda5e123fe534587a05489e19cbdc7b7bf00a03996401b70989f8f2
+-- hash: 4958f16654a42939e6825e585d5cad3ba3c54cf3265428db90ea75a78a03c8f8
 
 name:           antiope-sqs
-version:        5.0.0
+version:        5.0.1
 description:    Please see the README on Github at <https://github.com/arbor/antiope#readme>
 category:       Services
 homepage:       https://github.com/arbor/antiope#readme
@@ -26,6 +26,11 @@
   location: https://github.com/arbor/antiope
 
 library
+  exposed-modules:
+      Antiope.SQS
+      Antiope.SQS.Types
+  other-modules:
+      Paths_antiope_sqs
   hs-source-dirs:
       src
   default-extensions: BangPatterns GeneralizedNewtypeDeriving OverloadedStrings TupleSections
@@ -36,6 +41,7 @@
     , amazonka-core
     , amazonka-s3
     , amazonka-sqs
+    , antiope-messages
     , antiope-s3
     , base >=4.7 && <5
     , generic-lens
@@ -45,16 +51,13 @@
     , network-uri
     , text
     , unliftio-core
-  exposed-modules:
-      Antiope.SQS
-      Antiope.SQS.Types
-  other-modules:
-      Paths_antiope_sqs
   default-language: Haskell2010
 
 test-suite antiope-sqs-test
   type: exitcode-stdio-1.0
   main-is: Spec.hs
+  other-modules:
+      Paths_antiope_sqs
   hs-source-dirs:
       test
   default-extensions: BangPatterns GeneralizedNewtypeDeriving OverloadedStrings TupleSections
@@ -65,6 +68,7 @@
     , amazonka-core
     , amazonka-s3
     , amazonka-sqs
+    , antiope-messages
     , antiope-s3
     , antiope-sqs
     , base >=4.7 && <5
@@ -75,6 +79,4 @@
     , network-uri
     , text
     , unliftio-core
-  other-modules:
-      Paths_antiope_sqs
   default-language: Haskell2010
diff --git a/src/Antiope/SQS.hs b/src/Antiope/SQS.hs
--- a/src/Antiope/SQS.hs
+++ b/src/Antiope/SQS.hs
@@ -17,13 +17,12 @@
 import Control.Monad.Loops (unfoldWhileM)
 import Data.Aeson.Lens
 import Data.Maybe          (catMaybes)
-import Data.Text           (Text, pack, unpack)
+import Data.Text           (Text, pack)
 import Network.AWS         (MonadAWS)
-import Network.AWS.S3      (BucketName (BucketName), ObjectKey (ObjectKey))
 import Network.AWS.SQS
 
-import qualified Network.AWS as AWS
-import qualified Network.URI as URI
+import qualified Antiope.Messages as Z
+import qualified Network.AWS      as AWS
 
 -- | Reads the specified SQS queue once returning a bath of messages
 readQueue :: MonadAWS m
@@ -65,16 +64,15 @@
 -- Extract the "Message" content in the body if have
 messageInBody :: Text -> Maybe Text
 messageInBody body = body ^? key "Message" . _String
+{-# DEPRECATED messageInBody
+    "The export of messageInBody is deprecated.  Use the one from Antiope.Messages instead" #-}
 
 messageToS3Uri :: Message -> Maybe S3Uri
-messageToS3Uri msg = join $ messageToS3Uri' <$> msg ^. mBody
+messageToS3Uri = Z.messageToS3Uri
+{-# DEPRECATED messageToS3Uri
+    "The export of messageToS3Uri is deprecated.  Use the one from Antiope.Messages instead" #-}
 
 messageToS3Uri' :: Text -> Maybe S3Uri
-messageToS3Uri' msg = do
-  s3m <- messageInBody msg ^? _Just . key "Records" . nth 0 . key "s3"
-  b   <- s3m ^? key "bucket" . key "name" . _String
-  k   <- s3m ^? key "object" . key "key" . _String
-  pure $ S3Uri (BucketName b) (ObjectKey $ uriDecode k)
-
-uriDecode :: Text -> Text
-uriDecode = pack . URI.unEscapeString . unpack
+messageToS3Uri' = Z.messageToS3Uri'
+{-# DEPRECATED messageToS3Uri'
+  "The export of messageToS3Uri' is deprecated.  Use the one from Antiope.Messages instead" #-}
diff --git a/src/Antiope/SQS/Types.hs b/src/Antiope/SQS/Types.hs
--- a/src/Antiope/SQS/Types.hs
+++ b/src/Antiope/SQS/Types.hs
@@ -1,17 +1,5 @@
-{-# LANGUAGE DeriveGeneric #-}
-
 module Antiope.SQS.Types
-  ( QueueUrl(..)
-  , SQSError(..)
+  ( module X
   ) where
 
-import Data.String           (IsString)
-import Data.Text             (Text)
-import GHC.Generics
-import Network.AWS.Data.Text (FromText (..), ToText (..))
-
-data SQSError = DeleteMessageBatchError
-  deriving (Eq, Show, Generic)
-
-newtype QueueUrl = QueueUrl Text
-  deriving (Show, Eq, IsString, FromText, ToText, Generic)
+import Antiope.Messages.Types as X
