diff --git a/gopro-plus.cabal b/gopro-plus.cabal
--- a/gopro-plus.cabal
+++ b/gopro-plus.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           gopro-plus
-version:        0.6.6.0
+version:        0.6.6.3
 synopsis:       GoPro Plus Client API.
 description:    Please see the README on GitHub at <https://github.com/dustin/gopro-plus#readme>
 category:       Web
diff --git a/src/GoPro/Plus/Arbitrary.hs b/src/GoPro/Plus/Arbitrary.hs
--- a/src/GoPro/Plus/Arbitrary.hs
+++ b/src/GoPro/Plus/Arbitrary.hs
@@ -16,7 +16,7 @@
 import qualified Data.Text                      as T
 import           Generic.Random                 (genericArbitrary, uniform)
 import           Test.QuickCheck                (Arbitrary (..), Gen, NonNegative (..), arbitraryBoundedEnum, choose,
-                                                 elements, listOf, oneof, vector)
+                                                 elements, listOf, oneof, vector, vectorOf)
 import           Test.QuickCheck.Instances.Time ()
 
 import           GoPro.Plus.Auth
@@ -53,20 +53,34 @@
 gMaybe :: Gen a -> Gen (Maybe a)
 gMaybe a = oneof [pure Nothing, Just <$> a]
 
+aCamera :: Gen String
+aCamera = elements [
+  "GoPro Max",
+  "HERO11 Black",
+  "HERO3+Silver Edition",
+  "HERO4 Black",
+  "HERO5 Black",
+  "HERO5 Session",
+  "HERO8 Black",
+  "HERO9 Black"]
+
+genID :: Gen MediumID
+genID = T.pack <$> vectorOf 13 (elements (['a'..'z'] <> ['A'..'Z'] <> ['0'..'9']))
+
 instance Arbitrary Medium where
   arbitrary = Medium
-    <$> aText
-    <*> gMaybe aString
-    <*> arbitrary
-    <*> arbitrary
+    <$> genID
+    <*> gMaybe aCamera
     <*> arbitrary
     <*> arbitrary
+    <*> (fmap getNonNegative <$> arbitrary)
+    <*> (getNonNegative <$> arbitrary)
     <*> arbitrary
     <*> gMaybe aString
     <*> arbitrary
     <*> aString
-    <*> arbitrary
-    <*> arbitrary
+    <*> (fmap getNonNegative <$> arbitrary)
+    <*> (fmap getNonNegative <$> arbitrary)
     <*> gMaybe aString
 
 instance Arbitrary Moment where arbitrary = Moment <$> aText <*> arbitrary
