diff --git a/gen/Network/Google/Fitness.hs b/gen/Network/Google/Fitness.hs
--- a/gen/Network/Google/Fitness.hs
+++ b/gen/Network/Google/Fitness.hs
@@ -50,6 +50,9 @@
     -- ** fitness.users.dataSources.create
     , module Network.Google.Resource.Fitness.Users.DataSources.Create
 
+    -- ** fitness.users.dataSources.dataPointChanges.list
+    , module Network.Google.Resource.Fitness.Users.DataSources.DataPointChanges.List
+
     -- ** fitness.users.dataSources.datasets.delete
     , module Network.Google.Resource.Fitness.Users.DataSources.DataSets.Delete
 
@@ -255,6 +258,14 @@
     , dtField
     , dtName
 
+    -- ** ListDataPointChangesResponse
+    , ListDataPointChangesResponse
+    , listDataPointChangesResponse
+    , ldpcrNextPageToken
+    , ldpcrInsertedDataPoint
+    , ldpcrDataSourceId
+    , ldpcrDeletedDataPoint
+
     -- ** Session
     , Session
     , session
@@ -279,6 +290,7 @@
 import           Network.Google.Prelude
 import           Network.Google.Resource.Fitness.Users.DataSet.Aggregate
 import           Network.Google.Resource.Fitness.Users.DataSources.Create
+import           Network.Google.Resource.Fitness.Users.DataSources.DataPointChanges.List
 import           Network.Google.Resource.Fitness.Users.DataSources.DataSets.Delete
 import           Network.Google.Resource.Fitness.Users.DataSources.DataSets.Get
 import           Network.Google.Resource.Fitness.Users.DataSources.DataSets.Patch
@@ -301,6 +313,7 @@
        UsersDataSourcesDataSetsPatchResource
        :<|> UsersDataSourcesDataSetsGetResource
        :<|> UsersDataSourcesDataSetsDeleteResource
+       :<|> UsersDataSourcesDataPointChangesListResource
        :<|> UsersDataSourcesListResource
        :<|> UsersDataSourcesPatchResource
        :<|> UsersDataSourcesGetResource
diff --git a/gen/Network/Google/Fitness/Types.hs b/gen/Network/Google/Fitness/Types.hs
--- a/gen/Network/Google/Fitness/Types.hs
+++ b/gen/Network/Google/Fitness/Types.hs
@@ -206,6 +206,14 @@
     , dtField
     , dtName
 
+    -- * ListDataPointChangesResponse
+    , ListDataPointChangesResponse
+    , listDataPointChangesResponse
+    , ldpcrNextPageToken
+    , ldpcrInsertedDataPoint
+    , ldpcrDataSourceId
+    , ldpcrDeletedDataPoint
+
     -- * Session
     , Session
     , session
diff --git a/gen/Network/Google/Fitness/Types/Product.hs b/gen/Network/Google/Fitness/Types/Product.hs
--- a/gen/Network/Google/Fitness/Types/Product.hs
+++ b/gen/Network/Google/Fitness/Types/Product.hs
@@ -778,9 +778,7 @@
   = lens _dpValue (\ s a -> s{_dpValue = a}) . _Default
       . _Coerce
 
--- | Used for version checking during transformation; that is, a datapoint
--- can only replace another datapoint that has an older computation time
--- stamp.
+-- | DO NOT USE THIS FIELD. It is ignored, and not stored.
 dpComputationTimeMillis :: Lens' DataPoint (Maybe Int64)
 dpComputationTimeMillis
   = lens _dpComputationTimeMillis
@@ -1279,7 +1277,7 @@
 -- type:dataType.name:developer project
 -- number:device.manufacturer:device.model:device.uid:dataStreamName When
 -- any of the optional fields that comprise of the data stream ID are
--- blank, they will be omitted from the data stream ID. The minnimum viable
+-- blank, they will be omitted from the data stream ID. The minimum viable
 -- data stream ID would be: type:dataType.name:developer project number
 -- Finally, the developer project number is obfuscated when read by any
 -- REST or Android client that did not create the data source. Only the
@@ -1511,6 +1509,86 @@
           = object
               (catMaybes
                  [("field" .=) <$> _dtField, ("name" .=) <$> _dtName])
+
+--
+-- /See:/ 'listDataPointChangesResponse' smart constructor.
+data ListDataPointChangesResponse = ListDataPointChangesResponse'
+    { _ldpcrNextPageToken     :: !(Maybe Text)
+    , _ldpcrInsertedDataPoint :: !(Maybe [DataPoint])
+    , _ldpcrDataSourceId      :: !(Maybe Text)
+    , _ldpcrDeletedDataPoint  :: !(Maybe [DataPoint])
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'ListDataPointChangesResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ldpcrNextPageToken'
+--
+-- * 'ldpcrInsertedDataPoint'
+--
+-- * 'ldpcrDataSourceId'
+--
+-- * 'ldpcrDeletedDataPoint'
+listDataPointChangesResponse
+    :: ListDataPointChangesResponse
+listDataPointChangesResponse =
+    ListDataPointChangesResponse'
+    { _ldpcrNextPageToken = Nothing
+    , _ldpcrInsertedDataPoint = Nothing
+    , _ldpcrDataSourceId = Nothing
+    , _ldpcrDeletedDataPoint = Nothing
+    }
+
+-- | The continuation token, which is used to page through large result sets.
+-- Provide this value in a subsequent request to return the next page of
+-- results.
+ldpcrNextPageToken :: Lens' ListDataPointChangesResponse (Maybe Text)
+ldpcrNextPageToken
+  = lens _ldpcrNextPageToken
+      (\ s a -> s{_ldpcrNextPageToken = a})
+
+-- | Inserted data points for the user.
+ldpcrInsertedDataPoint :: Lens' ListDataPointChangesResponse [DataPoint]
+ldpcrInsertedDataPoint
+  = lens _ldpcrInsertedDataPoint
+      (\ s a -> s{_ldpcrInsertedDataPoint = a})
+      . _Default
+      . _Coerce
+
+-- | The data stream ID of the data source with data point changes.
+ldpcrDataSourceId :: Lens' ListDataPointChangesResponse (Maybe Text)
+ldpcrDataSourceId
+  = lens _ldpcrDataSourceId
+      (\ s a -> s{_ldpcrDataSourceId = a})
+
+-- | Deleted data points for the user. Note, for modifications this should be
+-- parsed before handling insertions.
+ldpcrDeletedDataPoint :: Lens' ListDataPointChangesResponse [DataPoint]
+ldpcrDeletedDataPoint
+  = lens _ldpcrDeletedDataPoint
+      (\ s a -> s{_ldpcrDeletedDataPoint = a})
+      . _Default
+      . _Coerce
+
+instance FromJSON ListDataPointChangesResponse where
+        parseJSON
+          = withObject "ListDataPointChangesResponse"
+              (\ o ->
+                 ListDataPointChangesResponse' <$>
+                   (o .:? "nextPageToken") <*>
+                     (o .:? "insertedDataPoint" .!= mempty)
+                     <*> (o .:? "dataSourceId")
+                     <*> (o .:? "deletedDataPoint" .!= mempty))
+
+instance ToJSON ListDataPointChangesResponse where
+        toJSON ListDataPointChangesResponse'{..}
+          = object
+              (catMaybes
+                 [("nextPageToken" .=) <$> _ldpcrNextPageToken,
+                  ("insertedDataPoint" .=) <$> _ldpcrInsertedDataPoint,
+                  ("dataSourceId" .=) <$> _ldpcrDataSourceId,
+                  ("deletedDataPoint" .=) <$> _ldpcrDeletedDataPoint])
 
 -- | Sessions contain metadata, such as a user-friendly name and time
 -- interval information.
diff --git a/gen/Network/Google/Fitness/Types/Sum.hs b/gen/Network/Google/Fitness/Types/Sum.hs
--- a/gen/Network/Google/Fitness/Types/Sum.hs
+++ b/gen/Network/Google/Fitness/Types/Sum.hs
@@ -16,7 +16,7 @@
 --
 module Network.Google.Fitness.Types.Sum where
 
-import           Network.Google.Prelude
+import           Network.Google.Prelude hiding (Bytes)
 
 -- | The type of a bucket signifies how the data aggregation is performed in
 -- the bucket.
diff --git a/gen/Network/Google/Resource/Fitness/Users/DataSources/DataPointChanges/List.hs b/gen/Network/Google/Resource/Fitness/Users/DataSources/DataPointChanges/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/Google/Resource/Fitness/Users/DataSources/DataPointChanges/List.hs
@@ -0,0 +1,155 @@
+{-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE NoImplicitPrelude  #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+{-# LANGUAGE TypeOperators      #-}
+
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds      #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
+
+-- |
+-- Module      : Network.Google.Resource.Fitness.Users.DataSources.DataPointChanges.List
+-- Copyright   : (c) 2015-2016 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Queries for user\'s data point changes for a particular data source.
+--
+-- /See:/ <https://developers.google.com/fit/rest/ Fitness Reference> for @fitness.users.dataSources.dataPointChanges.list@.
+module Network.Google.Resource.Fitness.Users.DataSources.DataPointChanges.List
+    (
+    -- * REST Resource
+      UsersDataSourcesDataPointChangesListResource
+
+    -- * Creating a Request
+    , usersDataSourcesDataPointChangesList
+    , UsersDataSourcesDataPointChangesList
+
+    -- * Request Lenses
+    , udsdpclDataSourceId
+    , udsdpclUserId
+    , udsdpclLimit
+    , udsdpclPageToken
+    ) where
+
+import           Network.Google.Fitness.Types
+import           Network.Google.Prelude
+
+-- | A resource alias for @fitness.users.dataSources.dataPointChanges.list@ method which the
+-- 'UsersDataSourcesDataPointChangesList' request conforms to.
+type UsersDataSourcesDataPointChangesListResource =
+     "fitness" :>
+       "v1" :>
+         "users" :>
+           Capture "userId" Text :>
+             "dataSources" :>
+               Capture "dataSourceId" Text :>
+                 "dataPointChanges" :>
+                   QueryParam "limit" (Textual Int32) :>
+                     QueryParam "pageToken" Text :>
+                       QueryParam "alt" AltJSON :>
+                         Get '[JSON] ListDataPointChangesResponse
+
+-- | Queries for user\'s data point changes for a particular data source.
+--
+-- /See:/ 'usersDataSourcesDataPointChangesList' smart constructor.
+data UsersDataSourcesDataPointChangesList = UsersDataSourcesDataPointChangesList'
+    { _udsdpclDataSourceId :: !Text
+    , _udsdpclUserId       :: !Text
+    , _udsdpclLimit        :: !(Maybe (Textual Int32))
+    , _udsdpclPageToken    :: !(Maybe Text)
+    } deriving (Eq,Show,Data,Typeable,Generic)
+
+-- | Creates a value of 'UsersDataSourcesDataPointChangesList' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'udsdpclDataSourceId'
+--
+-- * 'udsdpclUserId'
+--
+-- * 'udsdpclLimit'
+--
+-- * 'udsdpclPageToken'
+usersDataSourcesDataPointChangesList
+    :: Text -- ^ 'udsdpclDataSourceId'
+    -> Text -- ^ 'udsdpclUserId'
+    -> UsersDataSourcesDataPointChangesList
+usersDataSourcesDataPointChangesList pUdsdpclDataSourceId_ pUdsdpclUserId_ =
+    UsersDataSourcesDataPointChangesList'
+    { _udsdpclDataSourceId = pUdsdpclDataSourceId_
+    , _udsdpclUserId = pUdsdpclUserId_
+    , _udsdpclLimit = Nothing
+    , _udsdpclPageToken = Nothing
+    }
+
+-- | The data stream ID of the data source that created the dataset.
+udsdpclDataSourceId :: Lens' UsersDataSourcesDataPointChangesList Text
+udsdpclDataSourceId
+  = lens _udsdpclDataSourceId
+      (\ s a -> s{_udsdpclDataSourceId = a})
+
+-- | List data points for the person identified. Use me to indicate the
+-- authenticated user. Only me is supported at this time.
+udsdpclUserId :: Lens' UsersDataSourcesDataPointChangesList Text
+udsdpclUserId
+  = lens _udsdpclUserId
+      (\ s a -> s{_udsdpclUserId = a})
+
+-- | If specified, no more than this many data point changes will be included
+-- in the response.
+udsdpclLimit :: Lens' UsersDataSourcesDataPointChangesList (Maybe Int32)
+udsdpclLimit
+  = lens _udsdpclLimit (\ s a -> s{_udsdpclLimit = a})
+      . mapping _Coerce
+
+-- | The continuation token, which is used to page through large result sets.
+-- To get the next page of results, set this parameter to the value of
+-- nextPageToken from the previous response.
+udsdpclPageToken :: Lens' UsersDataSourcesDataPointChangesList (Maybe Text)
+udsdpclPageToken
+  = lens _udsdpclPageToken
+      (\ s a -> s{_udsdpclPageToken = a})
+
+instance GoogleRequest
+         UsersDataSourcesDataPointChangesList where
+        type Rs UsersDataSourcesDataPointChangesList =
+             ListDataPointChangesResponse
+        type Scopes UsersDataSourcesDataPointChangesList =
+             '["https://www.googleapis.com/auth/fitness.activity.read",
+               "https://www.googleapis.com/auth/fitness.activity.write",
+               "https://www.googleapis.com/auth/fitness.blood_glucose.read",
+               "https://www.googleapis.com/auth/fitness.blood_glucose.write",
+               "https://www.googleapis.com/auth/fitness.blood_pressure.read",
+               "https://www.googleapis.com/auth/fitness.blood_pressure.write",
+               "https://www.googleapis.com/auth/fitness.body.read",
+               "https://www.googleapis.com/auth/fitness.body.write",
+               "https://www.googleapis.com/auth/fitness.body_temperature.read",
+               "https://www.googleapis.com/auth/fitness.body_temperature.write",
+               "https://www.googleapis.com/auth/fitness.location.read",
+               "https://www.googleapis.com/auth/fitness.location.write",
+               "https://www.googleapis.com/auth/fitness.nutrition.read",
+               "https://www.googleapis.com/auth/fitness.nutrition.write",
+               "https://www.googleapis.com/auth/fitness.oxygen_saturation.read",
+               "https://www.googleapis.com/auth/fitness.oxygen_saturation.write",
+               "https://www.googleapis.com/auth/fitness.reproductive_health.read",
+               "https://www.googleapis.com/auth/fitness.reproductive_health.write"]
+        requestClient
+          UsersDataSourcesDataPointChangesList'{..}
+          = go _udsdpclUserId _udsdpclDataSourceId
+              _udsdpclLimit
+              _udsdpclPageToken
+              (Just AltJSON)
+              fitnessService
+          where go
+                  = buildClient
+                      (Proxy ::
+                         Proxy UsersDataSourcesDataPointChangesListResource)
+                      mempty
diff --git a/gen/Network/Google/Resource/Fitness/Users/Sessions/List.hs b/gen/Network/Google/Resource/Fitness/Users/Sessions/List.hs
--- a/gen/Network/Google/Resource/Fitness/Users/Sessions/List.hs
+++ b/gen/Network/Google/Resource/Fitness/Users/Sessions/List.hs
@@ -112,9 +112,14 @@
 uslEndTime
   = lens _uslEndTime (\ s a -> s{_uslEndTime = a})
 
--- | The continuation token, which is used to page through large result sets.
--- To get the next page of results, set this parameter to the value of
--- nextPageToken from the previous response.
+-- | The continuation token, which is used for incremental syncing. To get
+-- the next batch of changes, set this parameter to the value of
+-- nextPageToken from the previous response. This token is treated as a
+-- timestamp (in millis since epoch). If specified, the API returns
+-- sessions modified since this time. The page token is ignored if either
+-- start or end time is specified. If none of start time, end time, and the
+-- page token is specified, sessions modified in the last 7 days are
+-- returned.
 uslPageToken :: Lens' UsersSessionsList (Maybe Text)
 uslPageToken
   = lens _uslPageToken (\ s a -> s{_uslPageToken = a})
diff --git a/gogol-fitness.cabal b/gogol-fitness.cabal
--- a/gogol-fitness.cabal
+++ b/gogol-fitness.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-fitness
-version:               0.3.0
+version:               0.4.0
 synopsis:              Google Fitness SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -38,6 +38,7 @@
         , Network.Google.Fitness.Types
         , Network.Google.Resource.Fitness.Users.DataSet.Aggregate
         , Network.Google.Resource.Fitness.Users.DataSources.Create
+        , Network.Google.Resource.Fitness.Users.DataSources.DataPointChanges.List
         , Network.Google.Resource.Fitness.Users.DataSources.DataSets.Delete
         , Network.Google.Resource.Fitness.Users.DataSources.DataSets.Get
         , Network.Google.Resource.Fitness.Users.DataSources.DataSets.Patch
@@ -55,5 +56,5 @@
         , Network.Google.Fitness.Types.Sum
 
     build-depends:
-          gogol-core == 0.3.0.*
+          gogol-core == 0.4.0.*
         , base       >= 4.7 && < 5
