diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for hs-opentelemetry-persistent
 
+## 0.1.0.2
+
+- Relax `hs-opentelemetry-api` bounds to support 0.3.x
+
 ## 0.1.0.1
 
 - Support newer dependencies
diff --git a/hs-opentelemetry-instrumentation-persistent.cabal b/hs-opentelemetry-instrumentation-persistent.cabal
--- a/hs-opentelemetry-instrumentation-persistent.cabal
+++ b/hs-opentelemetry-instrumentation-persistent.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.36.0.
+-- This file has been generated from package.yaml by hpack version 0.37.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:               hs-opentelemetry-instrumentation-persistent
-version:            0.1.0.1
+version:            0.1.0.2
 description:        Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/instrumentation/persistent#readme>
 homepage:           https://github.com/iand675/hs-opentelemetry#readme
 bug-reports:        https://github.com/iand675/hs-opentelemetry/issues
@@ -33,7 +33,7 @@
   build-depends:
       base >=4.7 && <5
     , clock
-    , hs-opentelemetry-api ==0.2.*
+    , hs-opentelemetry-api ==0.3.*
     , mtl
     , persistent >=2.13.3
     , resourcet
diff --git a/src/OpenTelemetry/Instrumentation/Persistent.hs b/src/OpenTelemetry/Instrumentation/Persistent.hs
--- a/src/OpenTelemetry/Instrumentation/Persistent.hs
+++ b/src/OpenTelemetry/Instrumentation/Persistent.hs
@@ -20,10 +20,11 @@
 import Data.Text (Text)
 import qualified Data.Text as T
 import qualified Data.Vault.Strict as Vault
-import Database.Persist.Sql
+import Database.Persist.Sql (IsolationLevel (..), SqlReadBackend, SqlWriteBackend, Statement (..))
 import Database.Persist.SqlBackend (MkSqlBackendArgs (connRDBMS), emptySqlBackendHooks, getConnVault, getRDBMS, modifyConnVault, setConnHooks)
 import Database.Persist.SqlBackend.Internal
 import OpenTelemetry.Attributes (Attributes)
+import OpenTelemetry.Attributes.Map (AttributeMap)
 import OpenTelemetry.Common
 import OpenTelemetry.Context
 import OpenTelemetry.Context.ThreadLocal (adjustContext, getContext)
@@ -68,7 +69,7 @@
 lookupOriginalConnection = Vault.lookup originalConnectionKey . getConnVault
 
 
-connectionLevelAttributesKey :: Vault.Key (H.HashMap Text Attribute)
+connectionLevelAttributesKey :: Vault.Key AttributeMap
 connectionLevelAttributesKey = unsafePerformIO Vault.newKey
 {-# NOINLINE connectionLevelAttributesKey #-}
 
@@ -78,7 +79,7 @@
 -}
 wrapSqlBackend
   :: MonadIO m
-  => H.HashMap Text Attribute
+  => AttributeMap
   -- ^ Attributes that are specific to providers like MySQL, PostgreSQL, etc.
   -> SqlBackend
   -> m SqlBackend
@@ -93,7 +94,7 @@
 wrapSqlBackend'
   :: MonadIO m
   => TracerProvider
-  -> H.HashMap Text Attribute
+  -> AttributeMap
   -- ^ Attributes that are specific to providers like MySQL, PostgreSQL, etc.
   -> SqlBackend
   -> m SqlBackend
