diff --git a/openai-servant.cabal b/openai-servant.cabal
--- a/openai-servant.cabal
+++ b/openai-servant.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: fa6a579e19b730c3c7362a8966f384ff312aaceb6cf8cdceff036ed2ec48f90b
+-- hash: 27222b6af30e297958d20945ecd4e76ffe7b845bcf5513c5b23251ba3d290b5a
 
 name:           openai-servant
-version:        0.2.2.0
+version:        0.2.3.0
 synopsis:       Unofficial OpenAI servant types
 description:    Unofficial description of the OpenAI API using servant types
 category:       Web
diff --git a/src/OpenAI/Resources.hs b/src/OpenAI/Resources.hs
--- a/src/OpenAI/Resources.hs
+++ b/src/OpenAI/Resources.hs
@@ -255,32 +255,13 @@
   }
   deriving (Show, Eq)
 
-packDocuments :: [FileHunk] -> BSL.ByteString
-packDocuments docs =
-  BSL.intercalate "\n" $
-    map
-      ( \t -> A.encode $
-          case t of
-            FhSearch x -> A.toJSON x
-            FhClassifications x -> A.toJSON x
-            FhFineTune x -> A.toJSON x
-      )
-      docs
-
-instance ToMultipart Mem FileCreate where
-  toMultipart rfc =
-    MultipartData
-      [ Input "purpose" (fcPurpose rfc)
-      ]
-      [ FileData "file" "data.jsonl" "application/json" (packDocuments $ fcDocuments rfc)
-      ]
-
 newtype FileId = FileId {unFileId :: T.Text}
   deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
 
 data File = File
   { fId :: FileId,
     fCreatedAt :: TimeStamp,
+    fStatus :: T.Text,
     fPurpose :: T.Text
   }
   deriving (Show, Eq)
@@ -309,8 +290,8 @@
 
 $(deriveJSON (jsonOpts 2) ''OpenAIList)
 $(deriveJSON (jsonOpts 1) ''Engine)
-$(deriveJSON (jsonOpts 2) ''TextCompletion)
 $(deriveJSON (jsonOpts 3) ''TextCompletionChoice)
+$(deriveJSON (jsonOpts 2) ''TextCompletion)
 $(deriveJSON (jsonOpts 4) ''TextCompletionCreate)
 $(deriveJSON (jsonOpts 2) ''SearchResult)
 $(deriveJSON (jsonOpts 4) ''SearchResultCreate)
@@ -326,3 +307,23 @@
 $(deriveJSON (jsonOpts 2) ''SearchHunk)
 $(deriveJSON (jsonOpts 2) ''ClassificationHunk)
 $(deriveJSON (jsonOpts 3) ''FineTuneHunk)
+
+packDocuments :: [FileHunk] -> BSL.ByteString
+packDocuments docs =
+  BSL.intercalate "\n" $
+    map
+      ( \t -> A.encode $
+          case t of
+            FhSearch x -> A.toJSON x
+            FhClassifications x -> A.toJSON x
+            FhFineTune x -> A.toJSON x
+      )
+      docs
+
+instance ToMultipart Mem FileCreate where
+  toMultipart rfc =
+    MultipartData
+      [ Input "purpose" (fcPurpose rfc)
+      ]
+      [ FileData "file" "data.jsonl" "application/json" (packDocuments $ fcDocuments rfc)
+      ]
