diff --git a/classy-influxdb-simple.cabal b/classy-influxdb-simple.cabal
--- a/classy-influxdb-simple.cabal
+++ b/classy-influxdb-simple.cabal
@@ -1,5 +1,5 @@
 name:                classy-influxdb-simple
-version:             0.1.0.4
+version:             0.2.0.0
 synopsis:            Super simple InfluxDB package in Classy-MTL style
 -- description:
 homepage:            https://github.com/mankyKitty/classy-influxdb-simple#readme
@@ -17,6 +17,7 @@
   hs-source-dirs:      src
   exposed-modules:     Database.InfluxDB.Simple.Classy
                      , Database.InfluxDB.Simple.Classy.Types
+                     , Database.InfluxDB.Simple.Classy.Types.Precision
   build-depends:       base >= 4.7 && < 5
                      , wreq
                      , lens
diff --git a/src/Database/InfluxDB/Simple/Classy.hs b/src/Database/InfluxDB/Simple/Classy.hs
--- a/src/Database/InfluxDB/Simple/Classy.hs
+++ b/src/Database/InfluxDB/Simple/Classy.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE OverloadedStrings     #-}
-{-# LANGUAGE TemplateHaskell       #-}
 module Database.InfluxDB.Simple.Classy
   ( writeData
   , queryData
@@ -22,6 +21,7 @@
 
 import           Database.InfluxDB.Simple.Classy.Types (AsInfluxDbError (..),
                                                         CanInflux,
+                                                        Precision,
                                                         HasInfluxDBConfig (..),
                                                         InfluxDBConfig,
                                                         InfluxDbError (..),
@@ -74,13 +74,14 @@
      )
   => InfluxDBConfig
   -> db
+  -> Precision
   -> l
   -> m ()
-writeData c db l =
+writeData c db prec l =
   runInflux (W.postWith o (writeUrl c) (toLine l)) Write win
   where
     win = pure . const ()
-    o = basicInfluxOpts W.defaults c db
+    o = basicInfluxOpts W.defaults c db prec
 
 -- |
 -- Ask Influx for some data and return any results in CSV format:
@@ -105,12 +106,13 @@
      )
   => InfluxDBConfig
   -> db
+  -> Precision
   -> InfluxQuery
   -> m ByteString
-queryDataToCSV c db (InfluxQuery q) =
+queryDataToCSV c db prec (InfluxQuery q) =
   runInflux (W.getWith o (queryUrl c)) QueryCSV (pure . view W.responseBody)
   where
-    o = basicInfluxOpts W.defaults c db
+    o = basicInfluxOpts W.defaults c db prec
       & W.param "q" .~ [Text.decodeUtf8 q]
       & W.header "Accept" .~ ["application/csv"]
 
@@ -123,13 +125,14 @@
      )
   => InfluxDBConfig
   -> db
+  -> Precision
   -> InfluxQuery
   -> m Value
-queryData c db (InfluxQuery q) =
+queryData c db prec (InfluxQuery q) =
   runInflux (W.getWith o (queryUrl c)) Query success
   where
     success r = either (throwing _ParseError . BS8.pack)
       pure $ r ^. W.responseBody . to A.eitherDecode
 
-    o = basicInfluxOpts W.defaults c db
+    o = basicInfluxOpts W.defaults c db prec
       & W.param "q" .~ [Text.decodeUtf8 q]
diff --git a/src/Database/InfluxDB/Simple/Classy/Types.hs b/src/Database/InfluxDB/Simple/Classy/Types.hs
--- a/src/Database/InfluxDB/Simple/Classy/Types.hs
+++ b/src/Database/InfluxDB/Simple/Classy/Types.hs
@@ -11,32 +11,39 @@
   , HasInfluxDBConfig (..)
   , InfluxDbError (..)
   , AsInfluxDbError (..)
+  , Precision (..)
+  , AsPrecision (..)
   , CanInflux
   , basicInfluxOpts
   , rqWinCode
   ) where
 
-import           Control.Exception      (SomeException)
-import           Control.Lens           (makeClassy, makeClassyPrisms, (.~),
-                                         (?~), (^.))
-import           Control.Monad.Except   (MonadError)
-import           Control.Monad.IO.Class (MonadIO)
+import           Control.Exception                               (SomeException)
+import           Control.Lens                                    (makeClassy, makeClassyPrisms,
+                                                                  prism', re,
+                                                                  (.~), (?~),
+                                                                  (^.))
+import           Control.Monad.Except                            (MonadError)
+import           Control.Monad.IO.Class                          (MonadIO)
 
-import           Data.ByteString        (ByteString)
-import qualified Data.ByteString.Char8  as BS8
+import           Data.ByteString                                 (ByteString)
+import qualified Data.ByteString.Char8                           as BS8
+import           Data.String                                     (IsString (..))
 
-import           Data.Function          ((&))
+import           Data.Function                                   ((&))
 
-import           Data.Text              (Text)
+import           Data.Text                                       (Text)
 
-import           Data.Vector            (Vector)
-import qualified Data.Vector            as V
+import           Data.Vector                                     (Vector)
+import qualified Data.Vector                                     as V
 
-import           GHC.Word               (Word32)
+import           GHC.Word                                        (Word32)
 
-import           Network.Wreq           (Options)
-import qualified Network.Wreq           as W
+import           Network.Wreq                                    (Options)
+import qualified Network.Wreq                                    as W
 
+import           Database.InfluxDB.Simple.Classy.Types.Precision (AsPrecision (..),
+                                                                  Precision (..))
 -- |
 -- Used to differentiate what action we were trying to perform on the InfluxDB
 -- when an error occurred.
@@ -111,9 +118,11 @@
   => Options
   -> InfluxDBConfig
   -> a
+  -> Precision
   -> Options
-basicInfluxOpts o env db = o
+basicInfluxOpts o env db prec = o
   & W.param "db" .~ [toDbName db]
+  & W.param "precision" .~ [prec ^. re _Precision]
   & W.auth ?~ W.basicAuth user' pass'
   where
     user' = env ^. idbUser
diff --git a/src/Database/InfluxDB/Simple/Classy/Types/Precision.hs b/src/Database/InfluxDB/Simple/Classy/Types/Precision.hs
new file mode 100644
--- /dev/null
+++ b/src/Database/InfluxDB/Simple/Classy/Types/Precision.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE LambdaCase        #-}
+{-# LANGUAGE RankNTypes        #-}
+{-# LANGUAGE TemplateHaskell   #-}
+module Database.InfluxDB.Simple.Classy.Types.Precision
+  ( Precision (..)
+  , AsPrecision (..)
+  ) where
+
+import           Control.Lens         (Lens', Prism', makeClassyPrisms, preview,
+                                       prism', re, view, (^?))
+
+import           Data.ByteString      (ByteString)
+import           Data.ByteString.Lens (packedChars, unpackedChars)
+import           Data.Text            (Text)
+import           Data.Text.Lens       (packed, unpacked)
+
+-- |
+-- Precision of the timestamp in the writes or queries to Influx
+--  [n,u,ms,s,m,h]
+data Precision
+  = Nanoseconds
+  | Microseconds
+  | Milliseconds
+  | Seconds
+  | Minutes
+  | Hours
+  deriving (Eq, Ord, Enum)
+makeClassyPrisms ''Precision
+
+instance AsPrecision String where
+  _Precision = prism'
+    (\case
+      Nanoseconds  -> "n"
+      Microseconds -> "u"
+      Milliseconds -> "ms"
+      Seconds      -> "s"
+      Minutes      -> "m"
+      Hours        -> "h"
+    )
+    (\case
+       "n"  -> Just Nanoseconds
+       "u"  -> Just Microseconds
+       "ms" -> Just Milliseconds
+       "s"  -> Just Seconds
+       "m"  -> Just Minutes
+       "h"  -> Just Hours
+       _    -> Nothing
+    )
+
+{-# INLINABLE pris' #-}
+pris' :: Lens' a String -> Lens' String a -> Prism' a Precision
+pris' f t = prism' (view (re _Precision . t)) (preview (f . _Precision))
+
+instance AsPrecision Text where
+  _Precision = pris' unpacked packed
+
+instance AsPrecision ByteString where
+  _Precision = pris' unpackedChars packedChars
+
+instance Show Precision where
+  show = view (re _Precision)
