diff --git a/json-spec-openapi.cabal b/json-spec-openapi.cabal
--- a/json-spec-openapi.cabal
+++ b/json-spec-openapi.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                json-spec-openapi
-version:             0.3.0.0
+version:             0.3.1.0
 synopsis:            json-spec-openapi
 description:
   This package provides a way to produce
@@ -64,7 +64,7 @@
     , aeson                     >= 2.2.1.0  && < 2.3
     , base                      >= 4.19.0.0 && < 4.20
     , insert-ordered-containers >= 0.2.5.3  && < 0.3
-    , json-spec                 >= 0.3.0.0  && < 0.4
+    , json-spec                 >= 0.5.0.0  && < 0.6
     , lens                      >= 5.2.3    && < 5.3
     , openapi3                  >= 3.2.4    && < 3.3
     , text                      >= 2.1      && < 2.2
@@ -96,6 +96,6 @@
   build-depends:
     , json-spec-openapi
 
-    , hspec      >= 2.11.1   && < 2.12
-    , time       >= 1.12.2   && < 1.13
+    , hspec      >= 2.11.1 && < 2.12
+    , time       >= 1.12.2 && < 1.13
 
diff --git a/src/Data/JsonSpec/OpenApi.hs b/src/Data/JsonSpec/OpenApi.hs
--- a/src/Data/JsonSpec/OpenApi.hs
+++ b/src/Data/JsonSpec/OpenApi.hs
@@ -104,8 +104,8 @@
 import Data.JsonSpec (FieldSpec(Optional, Required),
   HasJsonDecodingSpec(DecodingSpec), HasJsonEncodingSpec(EncodingSpec),
   Specification(JsonArray, JsonBool, JsonDateTime, JsonEither, JsonInt,
-  JsonLet, JsonNullable, JsonNum, JsonObject, JsonRef, JsonString,
-  JsonTag))
+  JsonLet, JsonNullable, JsonNum, JsonObject, JsonRaw, JsonRef,
+  JsonString, JsonTag))
 import Data.OpenApi (AdditionalProperties(AdditionalPropertiesAllowed),
   HasAdditionalProperties(additionalProperties), HasEnum(enum_),
   HasFormat(format), HasItems(items), HasOneOf(oneOf),
@@ -306,7 +306,6 @@
       pure $
         schema
           & over required (sym @key:)
-
 instance (Schemaable spec) => Schemaable ('JsonArray spec) where
   schemaable Proxy = do
     elementSchema <- schemaable (Proxy @spec)
@@ -384,6 +383,11 @@
             , Inline schema
             ]
         )
+instance Schemaable JsonRaw where
+  schemaable Proxy =
+    pure $
+      mempty
+      & set type_ (Just OpenApiObject)
 
 
 {-| Go through and make a declaration for each item in a JsonLet.  -}
diff --git a/test/test.hs b/test/test.hs
--- a/test/test.hs
+++ b/test/test.hs
@@ -13,13 +13,13 @@
 module Main (main) where
 
 import Control.Lens (At(at), (&), set)
-import Data.Aeson (ToJSON(toJSON), FromJSON, encode)
-import Data.JsonSpec (Field(Field, unField), FieldSpec(Optional,
+import Data.Aeson (ToJSON(toJSON), FromJSON)
+import Data.JsonSpec (Field(Field), FieldSpec(Optional,
   Required), HasJsonDecodingSpec(DecodingSpec, fromJSONStructure),
   HasJsonEncodingSpec(EncodingSpec, toJSONStructure), SpecJSON(SpecJSON),
   Specification(JsonArray, JsonBool, JsonDateTime, JsonEither, JsonInt,
-  JsonLet, JsonNullable, JsonNum, JsonObject, JsonRef, JsonString,
-  JsonTag))
+  JsonLet, JsonNullable, JsonNum, JsonObject, JsonRaw, JsonRef,
+  JsonString, JsonTag), unField)
 import Data.JsonSpec.OpenApi (EncodingSchema, toOpenApiSchema)
 import Data.OpenApi (Definitions, ToSchema)
 import Data.Proxy (Proxy(Proxy))
@@ -28,6 +28,7 @@
 import Prelude (Applicative(pure), Bool(False), Functor(fmap),
   Maybe(Just), Monoid(mempty), ($), Eq, IO, Show)
 import Test.Hspec (describe, hspec, it, shouldBe)
+import qualified Data.Aeson as Aeson
 import qualified Data.HashMap.Strict.InsOrd as HMI
 import qualified Data.OpenApi as OA
 
@@ -134,6 +135,19 @@
         in
           actual `shouldBe` expected
 
+      it "raw" $
+        let
+          actual :: (Definitions OA.Schema, OA.Schema)
+          actual = toOpenApiSchema (Proxy @JsonRaw)
+
+          expected :: (Definitions OA.Schema, OA.Schema)
+          expected =
+            ( mempty
+            , mempty & set OA.type_ (Just OA.OpenApiObject)
+            )
+        in
+          actual `shouldBe` expected
+
       it "num" $
         let
           actual :: (Definitions OA.Schema, OA.Schema)
@@ -213,7 +227,7 @@
                 )
             )
         in
-          encode actual `shouldBe` encode expected
+          Aeson.encode actual `shouldBe` Aeson.encode expected
 
       it "optional" $
         let
@@ -242,7 +256,7 @@
                     (Just (OA.AdditionalPropertiesAllowed False))
             )
         in
-          encode actual `shouldBe` encode expected
+          Aeson.encode actual `shouldBe` Aeson.encode expected
 
       it "date-time" $
         let
@@ -362,7 +376,7 @@
                   (Just (OA.AdditionalPropertiesAllowed False))
 
         in
-          encode actual `shouldBe` encode expected
+          Aeson.encode actual `shouldBe` Aeson.encode expected
 
 
 {-
