diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.0.1`
+`0.1.0`
 
 
 ## Description
@@ -18,9 +18,9 @@
 
 ## Contribute
 
-For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).
+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).
 
-> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.
+> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.
 
 
 ## Licence
diff --git a/gen/Network/Google/CloudTrace.hs b/gen/Network/Google/CloudTrace.hs
--- a/gen/Network/Google/CloudTrace.hs
+++ b/gen/Network/Google/CloudTrace.hs
@@ -7,14 +7,16 @@
 
 -- |
 -- Module      : Network.Google.CloudTrace
--- Copyright   : (c) 2015 Brendan Hay
+-- 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)
 --
--- The Google Cloud Trace API provides services for reading and writing
--- runtime trace data for Cloud applications.
+-- Send and retrieve trace data from Google Cloud Trace. Data is generated
+-- and available by default for all App Engine applications. Data from
+-- other applications can be written to Cloud Trace for display, reporting,
+-- and analysis.
 --
 -- /See:/ <https://cloud.google.com/tools/cloud-trace Google Cloud Trace API Reference>
 module Network.Google.CloudTrace
@@ -22,14 +24,16 @@
     -- * Service Configuration
       cloudTraceService
 
+    -- * OAuth Scopes
+    , traceAppendScope
+    , traceReadOnlyScope
+    , cloudPlatformScope
+
     -- * API Declaration
     , CloudTraceAPI
 
     -- * Resources
 
-    -- ** cloudtrace.getDiscovery
-    , module Network.Google.Resource.CloudTrace.GetDiscovery
-
     -- ** cloudtrace.projects.patchTraces
     , module Network.Google.Resource.CloudTrace.Projects.PatchTraces
 
@@ -82,7 +86,6 @@
 
 import           Network.Google.CloudTrace.Types
 import           Network.Google.Prelude
-import           Network.Google.Resource.CloudTrace.GetDiscovery
 import           Network.Google.Resource.CloudTrace.Projects.PatchTraces
 import           Network.Google.Resource.CloudTrace.Projects.Traces.Get
 import           Network.Google.Resource.CloudTrace.Projects.Traces.List
@@ -93,6 +96,6 @@
 
 -- | Represents the entirety of the methods and resources available for the Google Cloud Trace API service.
 type CloudTraceAPI =
-     GetDiscoveryResource :<|> ProjectsTracesListResource
-       :<|> ProjectsTracesGetResource
+     ProjectsTracesListResource :<|>
+       ProjectsTracesGetResource
        :<|> ProjectsPatchTracesResource
diff --git a/gen/Network/Google/CloudTrace/Types.hs b/gen/Network/Google/CloudTrace/Types.hs
--- a/gen/Network/Google/CloudTrace/Types.hs
+++ b/gen/Network/Google/CloudTrace/Types.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DataKinds          #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE NoImplicitPrelude  #-}
@@ -7,7 +8,7 @@
 
 -- |
 -- Module      : Network.Google.CloudTrace.Types
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -19,6 +20,8 @@
       cloudTraceService
 
     -- * OAuth Scopes
+    , traceAppendScope
+    , traceReadOnlyScope
     , cloudPlatformScope
 
     -- * Empty
@@ -65,11 +68,19 @@
 import           Network.Google.Prelude
 
 -- | Default request referring to version 'v1' of the Google Cloud Trace API. This contains the host and root path used as a starting point for constructing service requests.
-cloudTraceService :: Service
+cloudTraceService :: ServiceConfig
 cloudTraceService
   = defaultService (ServiceId "cloudtrace:v1")
       "cloudtrace.googleapis.com"
 
+-- | Write Trace data for a project or application
+traceAppendScope :: Proxy '["https://www.googleapis.com/auth/trace.append"]
+traceAppendScope = Proxy;
+
+-- | Read Trace data for a project or application
+traceReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/trace.readonly"]
+traceReadOnlyScope = Proxy;
+
 -- | View and manage your data across Google Cloud Platform services
-cloudPlatformScope :: OAuthScope
-cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";
+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
+cloudPlatformScope = Proxy;
diff --git a/gen/Network/Google/CloudTrace/Types/Product.hs b/gen/Network/Google/CloudTrace/Types/Product.hs
--- a/gen/Network/Google/CloudTrace/Types/Product.hs
+++ b/gen/Network/Google/CloudTrace/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.Google.CloudTrace.Types.Product
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -28,25 +28,25 @@
 --
 -- /See:/ 'empty' smart constructor.
 data Empty =
-    Empty
+    Empty'
     deriving (Eq,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'Empty' with the minimum fields required to make a request.
 --
 empty
     :: Empty
-empty = Empty
+empty = Empty'
 
 instance FromJSON Empty where
-        parseJSON = withObject "Empty" (\ o -> pure Empty)
+        parseJSON = withObject "Empty" (\ o -> pure Empty')
 
 instance ToJSON Empty where
         toJSON = const emptyObject
 
--- | Annotations via labels.
+-- | Collection of labels associated with the span.
 --
 -- /See:/ 'traceSpanLabels' smart constructor.
-newtype TraceSpanLabels = TraceSpanLabels
+newtype TraceSpanLabels = TraceSpanLabels'
     { _tslAddtional :: HashMap Text Text
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -59,7 +59,7 @@
     :: HashMap Text Text -- ^ 'tslAddtional'
     -> TraceSpanLabels
 traceSpanLabels pTslAddtional_ =
-    TraceSpanLabels
+    TraceSpanLabels'
     { _tslAddtional = _Coerce # pTslAddtional_
     }
 
@@ -71,15 +71,15 @@
 instance FromJSON TraceSpanLabels where
         parseJSON
           = withObject "TraceSpanLabels"
-              (\ o -> TraceSpanLabels <$> (parseJSONObject o))
+              (\ o -> TraceSpanLabels' <$> (parseJSONObject o))
 
 instance ToJSON TraceSpanLabels where
         toJSON = toJSON . _tslAddtional
 
--- | A list of traces for the PatchTraces method.
+-- | List of new or updated traces.
 --
 -- /See:/ 'traces' smart constructor.
-newtype Traces = Traces
+newtype Traces = Traces'
     { _tTraces :: Maybe [Trace]
     } deriving (Eq,Show,Data,Typeable,Generic)
 
@@ -91,11 +91,11 @@
 traces
     :: Traces
 traces =
-    Traces
+    Traces'
     { _tTraces = Nothing
     }
 
--- | A list of traces.
+-- | List of traces.
 tTraces :: Lens' Traces [Trace]
 tTraces
   = lens _tTraces (\ s a -> s{_tTraces = a}) . _Default
@@ -104,16 +104,20 @@
 instance FromJSON Traces where
         parseJSON
           = withObject "Traces"
-              (\ o -> Traces <$> (o .:? "traces" .!= mempty))
+              (\ o -> Traces' <$> (o .:? "traces" .!= mempty))
 
 instance ToJSON Traces where
-        toJSON Traces{..}
+        toJSON Traces'{..}
           = object (catMaybes [("traces" .=) <$> _tTraces])
 
--- | A span is the data recorded with a single span.
+-- | A span represents a single timed event within a trace. Spans can be
+-- nested and form a trace tree. Often, a trace contains a root span that
+-- describes the end-to-end latency of an operation and, optionally, one or
+-- more subspans for its suboperations. Spans do not need to be contiguous.
+-- There may be gaps between spans in a trace.
 --
 -- /See:/ 'traceSpan' smart constructor.
-data TraceSpan = TraceSpan
+data TraceSpan = TraceSpan'
     { _tsStartTime    :: !(Maybe Text)
     , _tsKind         :: !(Maybe Text)
     , _tsName         :: !(Maybe Text)
@@ -143,7 +147,7 @@
 traceSpan
     :: TraceSpan
 traceSpan =
-    TraceSpan
+    TraceSpan'
     { _tsStartTime = Nothing
     , _tsKind = Nothing
     , _tsName = Nothing
@@ -153,44 +157,43 @@
     , _tsSpanId = Nothing
     }
 
--- | The start time of the span in nanoseconds from the UNIX epoch.
+-- | Start time of the span in nanoseconds from the UNIX epoch.
 tsStartTime :: Lens' TraceSpan (Maybe Text)
 tsStartTime
   = lens _tsStartTime (\ s a -> s{_tsStartTime = a})
 
--- | SpanKind distinguishes spans generated in a particular context. For
--- example, two spans with the same name, one with the kind RPC_CLIENT, and
--- the other with RPC_SERVER can indicate the queueing latency associated
--- with the span.
+-- | Distinguishes between spans generated in a particular context. For
+-- example, two spans with the same name may be distinguished using
+-- \`RPC_CLIENT\` and \`RPC_SERVER\` to identify queueing latency
+-- associated with the span.
 tsKind :: Lens' TraceSpan (Maybe Text)
 tsKind = lens _tsKind (\ s a -> s{_tsKind = a})
 
--- | The name of the trace. This is sanitized and displayed on the UI. This
--- may be a method name or some other per-callsite name. For the same
--- binary and the same call point, it is a good practice to choose a
--- consistent name in order to correlate cross-trace spans.
+-- | Name of the trace. The trace name is sanitized and displayed in the
+-- Stackdriver Trace tool in the {% dynamic print site_values.console_name
+-- %}. The name may be a method name or some other per-call site name. For
+-- the same executable and the same call point, a best practice is to use a
+-- consistent name, which makes it easier to correlate cross-trace spans.
 tsName :: Lens' TraceSpan (Maybe Text)
 tsName = lens _tsName (\ s a -> s{_tsName = a})
 
--- | The end time of the span in nanoseconds from the UNIX epoch.
+-- | End time of the span in nanoseconds from the UNIX epoch.
 tsEndTime :: Lens' TraceSpan (Maybe Text)
 tsEndTime
   = lens _tsEndTime (\ s a -> s{_tsEndTime = a})
 
--- | Annotations via labels.
+-- | Collection of labels associated with the span.
 tsLabels :: Lens' TraceSpan (Maybe TraceSpanLabels)
 tsLabels = lens _tsLabels (\ s a -> s{_tsLabels = a})
 
--- | Identifies the parent of the current span. May be missing. Serialized
--- bytes representation of SpanId.
+-- | ID of the parent span, if any. Optional.
 tsParentSpanId :: Lens' TraceSpan (Maybe Word64)
 tsParentSpanId
   = lens _tsParentSpanId
       (\ s a -> s{_tsParentSpanId = a})
       . mapping _Coerce
 
--- | Identifier of the span within the trace. Each span should have an
--- identifier that is unique per trace.
+-- | Identifier for the span. This identifier must be unique within a trace.
 tsSpanId :: Lens' TraceSpan (Maybe Word64)
 tsSpanId
   = lens _tsSpanId (\ s a -> s{_tsSpanId = a}) .
@@ -200,7 +203,7 @@
         parseJSON
           = withObject "TraceSpan"
               (\ o ->
-                 TraceSpan <$>
+                 TraceSpan' <$>
                    (o .:? "startTime") <*> (o .:? "kind") <*>
                      (o .:? "name")
                      <*> (o .:? "endTime")
@@ -209,7 +212,7 @@
                      <*> (o .:? "spanId"))
 
 instance ToJSON TraceSpan where
-        toJSON TraceSpan{..}
+        toJSON TraceSpan'{..}
           = object
               (catMaybes
                  [("startTime" .=) <$> _tsStartTime,
@@ -219,10 +222,10 @@
                   ("parentSpanId" .=) <$> _tsParentSpanId,
                   ("spanId" .=) <$> _tsSpanId])
 
--- | The response message for the ListTraces method.
+-- | The response message for the \`ListTraces\` method.
 --
 -- /See:/ 'listTracesResponse' smart constructor.
-data ListTracesResponse = ListTracesResponse
+data ListTracesResponse = ListTracesResponse'
     { _ltrNextPageToken :: !(Maybe Text)
     , _ltrTraces        :: !(Maybe [Trace])
     } deriving (Eq,Show,Data,Typeable,Generic)
@@ -237,20 +240,20 @@
 listTracesResponse
     :: ListTracesResponse
 listTracesResponse =
-    ListTracesResponse
+    ListTracesResponse'
     { _ltrNextPageToken = Nothing
     , _ltrTraces = Nothing
     }
 
--- | If defined, indicates that there are more topics that match the request,
--- and this value should be passed to the next ListTopicsRequest to
--- continue.
+-- | If defined, indicates that there are more traces that match the request
+-- and that this value should be passed to the next request to continue
+-- retrieving additional traces.
 ltrNextPageToken :: Lens' ListTracesResponse (Maybe Text)
 ltrNextPageToken
   = lens _ltrNextPageToken
       (\ s a -> s{_ltrNextPageToken = a})
 
--- | The list of trace records returned.
+-- | List of trace records returned.
 ltrTraces :: Lens' ListTracesResponse [Trace]
 ltrTraces
   = lens _ltrTraces (\ s a -> s{_ltrTraces = a}) .
@@ -261,22 +264,23 @@
         parseJSON
           = withObject "ListTracesResponse"
               (\ o ->
-                 ListTracesResponse <$>
+                 ListTracesResponse' <$>
                    (o .:? "nextPageToken") <*>
                      (o .:? "traces" .!= mempty))
 
 instance ToJSON ListTracesResponse where
-        toJSON ListTracesResponse{..}
+        toJSON ListTracesResponse'{..}
           = object
               (catMaybes
                  [("nextPageToken" .=) <$> _ltrNextPageToken,
                   ("traces" .=) <$> _ltrTraces])
 
--- | A Trace is a collection of spans describing the execution timings of a
--- single operation.
+-- | A trace describes how long it takes for an application to perform an
+-- operation. It consists of a set of spans, each of which represent a
+-- single timed event within the operation.
 --
 -- /See:/ 'trace' smart constructor.
-data Trace = Trace
+data Trace = Trace'
     { _tTraceId   :: !(Maybe Text)
     , _tSpans     :: !(Maybe [TraceSpan])
     , _tProjectId :: !(Maybe Text)
@@ -294,26 +298,24 @@
 trace
     :: Trace
 trace =
-    Trace
+    Trace'
     { _tTraceId = Nothing
     , _tSpans = Nothing
     , _tProjectId = Nothing
     }
 
--- | A 128-bit numeric value, formatted as a 32-byte hex string, that
--- represents a trace. Each trace should have an identifier that is
--- globally unique.
+-- | Globally unique identifier for the trace. This identifier is a 128-bit
+-- numeric value formatted as a 32-byte hex string.
 tTraceId :: Lens' Trace (Maybe Text)
 tTraceId = lens _tTraceId (\ s a -> s{_tTraceId = a})
 
--- | The collection of span records within this trace. Spans that appear in
--- calls to PatchTraces may be incomplete or partial.
+-- | Collection of spans in the trace.
 tSpans :: Lens' Trace [TraceSpan]
 tSpans
   = lens _tSpans (\ s a -> s{_tSpans = a}) . _Default .
       _Coerce
 
--- | The Project ID of the Google Cloud project.
+-- | Project ID of the Cloud project where the trace data is stored.
 tProjectId :: Lens' Trace (Maybe Text)
 tProjectId
   = lens _tProjectId (\ s a -> s{_tProjectId = a})
@@ -322,12 +324,12 @@
         parseJSON
           = withObject "Trace"
               (\ o ->
-                 Trace <$>
+                 Trace' <$>
                    (o .:? "traceId") <*> (o .:? "spans" .!= mempty) <*>
                      (o .:? "projectId"))
 
 instance ToJSON Trace where
-        toJSON Trace{..}
+        toJSON Trace'{..}
           = object
               (catMaybes
                  [("traceId" .=) <$> _tTraceId,
diff --git a/gen/Network/Google/CloudTrace/Types/Sum.hs b/gen/Network/Google/CloudTrace/Types/Sum.hs
--- a/gen/Network/Google/CloudTrace/Types/Sum.hs
+++ b/gen/Network/Google/CloudTrace/Types/Sum.hs
@@ -8,7 +8,7 @@
 
 -- |
 -- Module      : Network.Google.CloudTrace.Types.Sum
--- Copyright   : (c) 2015 Brendan Hay
+-- Copyright   : (c) 2015-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/gen/Network/Google/Resource/CloudTrace/GetDiscovery.hs b/gen/Network/Google/Resource/CloudTrace/GetDiscovery.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/CloudTrace/GetDiscovery.hs
+++ /dev/null
@@ -1,206 +0,0 @@
-{-# 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.CloudTrace.GetDiscovery
--- Copyright   : (c) 2015 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)
---
--- Returns a discovery document in the specified \`format\`. The typeurl in
--- the returned google.protobuf.Any value depends on the requested format.
---
--- /See:/ <https://cloud.google.com/tools/cloud-trace Google Cloud Trace API Reference> for @cloudtrace.getDiscovery@.
-module Network.Google.Resource.CloudTrace.GetDiscovery
-    (
-    -- * REST Resource
-      GetDiscoveryResource
-
-    -- * Creating a Request
-    , getDiscovery
-    , GetDiscovery
-
-    -- * Request Lenses
-    , gdXgafv
-    , gdArgs
-    , gdUploadProtocol
-    , gdPp
-    , gdAccessToken
-    , gdFormat
-    , gdUploadType
-    , gdBearerToken
-    , gdVersion
-    , gdLabels
-    , gdCallback
-    ) where
-
-import           Network.Google.CloudTrace.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @cloudtrace.getDiscovery@ method which the
--- 'GetDiscovery' request conforms to.
-type GetDiscoveryResource =
-     "v1" :>
-       "discovery" :>
-         QueryParam "$.xgafv" Text :>
-           QueryParams "args" Text :>
-             QueryParam "upload_protocol" Text :>
-               QueryParam "pp" Bool :>
-                 QueryParam "access_token" Text :>
-                   QueryParam "format" Text :>
-                     QueryParam "uploadType" Text :>
-                       QueryParam "bearer_token" Text :>
-                         QueryParam "version" Text :>
-                           QueryParams "labels" Text :>
-                             QueryParam "callback" Text :>
-                               QueryParam "alt" AltJSON :> Get '[JSON] ()
-
--- | Returns a discovery document in the specified \`format\`. The typeurl in
--- the returned google.protobuf.Any value depends on the requested format.
---
--- /See:/ 'getDiscovery' smart constructor.
-data GetDiscovery = GetDiscovery
-    { _gdXgafv          :: !(Maybe Text)
-    , _gdArgs           :: !(Maybe [Text])
-    , _gdUploadProtocol :: !(Maybe Text)
-    , _gdPp             :: !Bool
-    , _gdAccessToken    :: !(Maybe Text)
-    , _gdFormat         :: !(Maybe Text)
-    , _gdUploadType     :: !(Maybe Text)
-    , _gdBearerToken    :: !(Maybe Text)
-    , _gdVersion        :: !(Maybe Text)
-    , _gdLabels         :: !(Maybe [Text])
-    , _gdCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
-
--- | Creates a value of 'GetDiscovery' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'gdXgafv'
---
--- * 'gdArgs'
---
--- * 'gdUploadProtocol'
---
--- * 'gdPp'
---
--- * 'gdAccessToken'
---
--- * 'gdFormat'
---
--- * 'gdUploadType'
---
--- * 'gdBearerToken'
---
--- * 'gdVersion'
---
--- * 'gdLabels'
---
--- * 'gdCallback'
-getDiscovery
-    :: GetDiscovery
-getDiscovery =
-    GetDiscovery
-    { _gdXgafv = Nothing
-    , _gdArgs = Nothing
-    , _gdUploadProtocol = Nothing
-    , _gdPp = True
-    , _gdAccessToken = Nothing
-    , _gdFormat = Nothing
-    , _gdUploadType = Nothing
-    , _gdBearerToken = Nothing
-    , _gdVersion = Nothing
-    , _gdLabels = Nothing
-    , _gdCallback = Nothing
-    }
-
--- | V1 error format.
-gdXgafv :: Lens' GetDiscovery (Maybe Text)
-gdXgafv = lens _gdXgafv (\ s a -> s{_gdXgafv = a})
-
--- | Any additional arguments.
-gdArgs :: Lens' GetDiscovery [Text]
-gdArgs
-  = lens _gdArgs (\ s a -> s{_gdArgs = a}) . _Default .
-      _Coerce
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-gdUploadProtocol :: Lens' GetDiscovery (Maybe Text)
-gdUploadProtocol
-  = lens _gdUploadProtocol
-      (\ s a -> s{_gdUploadProtocol = a})
-
--- | Pretty-print response.
-gdPp :: Lens' GetDiscovery Bool
-gdPp = lens _gdPp (\ s a -> s{_gdPp = a})
-
--- | OAuth access token.
-gdAccessToken :: Lens' GetDiscovery (Maybe Text)
-gdAccessToken
-  = lens _gdAccessToken
-      (\ s a -> s{_gdAccessToken = a})
-
--- | The format requested for discovery.
-gdFormat :: Lens' GetDiscovery (Maybe Text)
-gdFormat = lens _gdFormat (\ s a -> s{_gdFormat = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-gdUploadType :: Lens' GetDiscovery (Maybe Text)
-gdUploadType
-  = lens _gdUploadType (\ s a -> s{_gdUploadType = a})
-
--- | OAuth bearer token.
-gdBearerToken :: Lens' GetDiscovery (Maybe Text)
-gdBearerToken
-  = lens _gdBearerToken
-      (\ s a -> s{_gdBearerToken = a})
-
--- | The API version of the requested discovery doc.
-gdVersion :: Lens' GetDiscovery (Maybe Text)
-gdVersion
-  = lens _gdVersion (\ s a -> s{_gdVersion = a})
-
--- | A list of labels (like visibility) influencing the scope of the
--- requested doc.
-gdLabels :: Lens' GetDiscovery [Text]
-gdLabels
-  = lens _gdLabels (\ s a -> s{_gdLabels = a}) .
-      _Default
-      . _Coerce
-
--- | JSONP
-gdCallback :: Lens' GetDiscovery (Maybe Text)
-gdCallback
-  = lens _gdCallback (\ s a -> s{_gdCallback = a})
-
-instance GoogleRequest GetDiscovery where
-        type Rs GetDiscovery = ()
-        requestClient GetDiscovery{..}
-          = go _gdXgafv (_gdArgs ^. _Default) _gdUploadProtocol
-              (Just _gdPp)
-              _gdAccessToken
-              _gdFormat
-              _gdUploadType
-              _gdBearerToken
-              _gdVersion
-              (_gdLabels ^. _Default)
-              _gdCallback
-              (Just AltJSON)
-              cloudTraceService
-          where go
-                  = buildClient (Proxy :: Proxy GetDiscoveryResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/CloudTrace/Projects/PatchTraces.hs b/gen/Network/Google/Resource/CloudTrace/Projects/PatchTraces.hs
--- a/gen/Network/Google/Resource/CloudTrace/Projects/PatchTraces.hs
+++ b/gen/Network/Google/Resource/CloudTrace/Projects/PatchTraces.hs
@@ -14,16 +14,17 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudTrace.Projects.PatchTraces
--- Copyright   : (c) 2015 Brendan Hay
+-- 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)
 --
--- Updates the existing traces specified by PatchTracesRequest and inserts
--- the new traces. Any existing trace or span fields included in an update
--- are overwritten by the update, and any additional fields in an update
--- are merged with the existing trace data.
+-- Sends new traces to Stackdriver Trace or updates existing traces. If the
+-- ID of a trace that you send matches that of an existing trace, any
+-- fields in the existing trace and its spans are overwritten by the
+-- provided values, and any new fields provided are merged with the
+-- existing trace data. If the ID does not match, a new trace is created.
 --
 -- /See:/ <https://cloud.google.com/tools/cloud-trace Google Cloud Trace API Reference> for @cloudtrace.projects.patchTraces@.
 module Network.Google.Resource.CloudTrace.Projects.PatchTraces
@@ -67,13 +68,14 @@
                            QueryParam "alt" AltJSON :>
                              ReqBody '[JSON] Traces :> Patch '[JSON] Empty
 
--- | Updates the existing traces specified by PatchTracesRequest and inserts
--- the new traces. Any existing trace or span fields included in an update
--- are overwritten by the update, and any additional fields in an update
--- are merged with the existing trace data.
+-- | Sends new traces to Stackdriver Trace or updates existing traces. If the
+-- ID of a trace that you send matches that of an existing trace, any
+-- fields in the existing trace and its spans are overwritten by the
+-- provided values, and any new fields provided are merged with the
+-- existing trace data. If the ID does not match, a new trace is created.
 --
 -- /See:/ 'projectsPatchTraces' smart constructor.
-data ProjectsPatchTraces = ProjectsPatchTraces
+data ProjectsPatchTraces = ProjectsPatchTraces'
     { _pptXgafv          :: !(Maybe Text)
     , _pptUploadProtocol :: !(Maybe Text)
     , _pptPp             :: !Bool
@@ -111,7 +113,7 @@
     -> Text -- ^ 'pptProjectId'
     -> ProjectsPatchTraces
 projectsPatchTraces pPptPayload_ pPptProjectId_ =
-    ProjectsPatchTraces
+    ProjectsPatchTraces'
     { _pptXgafv = Nothing
     , _pptUploadProtocol = Nothing
     , _pptPp = True
@@ -160,7 +162,7 @@
   = lens _pptBearerToken
       (\ s a -> s{_pptBearerToken = a})
 
--- | The project id of the trace to patch.
+-- | ID of the Cloud project where the trace data is stored.
 pptProjectId :: Lens' ProjectsPatchTraces Text
 pptProjectId
   = lens _pptProjectId (\ s a -> s{_pptProjectId = a})
@@ -172,7 +174,10 @@
 
 instance GoogleRequest ProjectsPatchTraces where
         type Rs ProjectsPatchTraces = Empty
-        requestClient ProjectsPatchTraces{..}
+        type Scopes ProjectsPatchTraces =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/trace.append"]
+        requestClient ProjectsPatchTraces'{..}
           = go _pptProjectId _pptXgafv _pptUploadProtocol
               (Just _pptPp)
               _pptAccessToken
diff --git a/gen/Network/Google/Resource/CloudTrace/Projects/Traces/Get.hs b/gen/Network/Google/Resource/CloudTrace/Projects/Traces/Get.hs
--- a/gen/Network/Google/Resource/CloudTrace/Projects/Traces/Get.hs
+++ b/gen/Network/Google/Resource/CloudTrace/Projects/Traces/Get.hs
@@ -14,13 +14,13 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudTrace.Projects.Traces.Get
--- Copyright   : (c) 2015 Brendan Hay
+-- 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)
 --
--- Gets one trace by id.
+-- Gets a single trace by its ID.
 --
 -- /See:/ <https://cloud.google.com/tools/cloud-trace Google Cloud Trace API Reference> for @cloudtrace.projects.traces.get@.
 module Network.Google.Resource.CloudTrace.Projects.Traces.Get
@@ -64,10 +64,10 @@
                            QueryParam "callback" Text :>
                              QueryParam "alt" AltJSON :> Get '[JSON] Trace
 
--- | Gets one trace by id.
+-- | Gets a single trace by its ID.
 --
 -- /See:/ 'projectsTracesGet' smart constructor.
-data ProjectsTracesGet = ProjectsTracesGet
+data ProjectsTracesGet = ProjectsTracesGet'
     { _ptgTraceId        :: !Text
     , _ptgXgafv          :: !(Maybe Text)
     , _ptgUploadProtocol :: !(Maybe Text)
@@ -105,7 +105,7 @@
     -> Text -- ^ 'ptgProjectId'
     -> ProjectsTracesGet
 projectsTracesGet pPtgTraceId_ pPtgProjectId_ =
-    ProjectsTracesGet
+    ProjectsTracesGet'
     { _ptgTraceId = pPtgTraceId_
     , _ptgXgafv = Nothing
     , _ptgUploadProtocol = Nothing
@@ -117,7 +117,7 @@
     , _ptgCallback = Nothing
     }
 
--- | The trace id of the trace to return.
+-- | ID of the trace to return.
 ptgTraceId :: Lens' ProjectsTracesGet Text
 ptgTraceId
   = lens _ptgTraceId (\ s a -> s{_ptgTraceId = a})
@@ -154,7 +154,7 @@
   = lens _ptgBearerToken
       (\ s a -> s{_ptgBearerToken = a})
 
--- | The project id of the trace to return.
+-- | ID of the Cloud project where the trace data is stored.
 ptgProjectId :: Lens' ProjectsTracesGet Text
 ptgProjectId
   = lens _ptgProjectId (\ s a -> s{_ptgProjectId = a})
@@ -166,7 +166,10 @@
 
 instance GoogleRequest ProjectsTracesGet where
         type Rs ProjectsTracesGet = Trace
-        requestClient ProjectsTracesGet{..}
+        type Scopes ProjectsTracesGet =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/trace.readonly"]
+        requestClient ProjectsTracesGet'{..}
           = go _ptgProjectId _ptgTraceId _ptgXgafv
               _ptgUploadProtocol
               (Just _ptgPp)
diff --git a/gen/Network/Google/Resource/CloudTrace/Projects/Traces/List.hs b/gen/Network/Google/Resource/CloudTrace/Projects/Traces/List.hs
--- a/gen/Network/Google/Resource/CloudTrace/Projects/Traces/List.hs
+++ b/gen/Network/Google/Resource/CloudTrace/Projects/Traces/List.hs
@@ -14,13 +14,13 @@
 
 -- |
 -- Module      : Network.Google.Resource.CloudTrace.Projects.Traces.List
--- Copyright   : (c) 2015 Brendan Hay
+-- 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)
 --
--- List traces matching the filter expression.
+-- Returns of a list of traces that match the specified filter conditions.
 --
 -- /See:/ <https://cloud.google.com/tools/cloud-trace Google Cloud Trace API Reference> for @cloudtrace.projects.traces.list@.
 module Network.Google.Resource.CloudTrace.Projects.Traces.List
@@ -77,10 +77,10 @@
                                          QueryParam "alt" AltJSON :>
                                            Get '[JSON] ListTracesResponse
 
--- | List traces matching the filter expression.
+-- | Returns of a list of traces that match the specified filter conditions.
 --
 -- /See:/ 'projectsTracesList' smart constructor.
-data ProjectsTracesList = ProjectsTracesList
+data ProjectsTracesList = ProjectsTracesList'
     { _ptlXgafv          :: !(Maybe Text)
     , _ptlUploadProtocol :: !(Maybe Text)
     , _ptlOrderBy        :: !(Maybe Text)
@@ -135,7 +135,7 @@
     :: Text -- ^ 'ptlProjectId'
     -> ProjectsTracesList
 projectsTracesList pPtlProjectId_ =
-    ProjectsTracesList
+    ProjectsTracesList'
     { _ptlXgafv = Nothing
     , _ptlUploadProtocol = Nothing
     , _ptlOrderBy = Nothing
@@ -163,17 +163,19 @@
   = lens _ptlUploadProtocol
       (\ s a -> s{_ptlUploadProtocol = a})
 
--- | The trace field used to establish the order of traces returned by the
--- ListTraces method. Possible options are: trace_id name (name field of
--- root span) duration (different between end_time and start_time fields of
--- root span) start (start_time field of root span) Descending order can be
--- specified by appending \"desc\" to the sort field: name desc Only one
--- sort field is permitted, though this may change in the future.
+-- | Field used to sort the returned traces. Optional. Can be one of the
+-- following: * \`trace_id\` * \`name\` (\`name\` field of root span in the
+-- trace) * \`duration\` (difference between \`end_time\` and
+-- \`start_time\` fields of the root span) * \`start\` (\`start_time\`
+-- field of the root span) Descending order can be specified by appending
+-- \`desc\` to the sort field (for example, \`name desc\`). Only one sort
+-- field is permitted.
 ptlOrderBy :: Lens' ProjectsTracesList (Maybe Text)
 ptlOrderBy
   = lens _ptlOrderBy (\ s a -> s{_ptlOrderBy = a})
 
--- | End of the time interval (inclusive).
+-- | End of the time interval (inclusive) during which the trace data was
+-- collected from the application.
 ptlStartTime :: Lens' ProjectsTracesList (Maybe Text)
 ptlStartTime
   = lens _ptlStartTime (\ s a -> s{_ptlStartTime = a})
@@ -200,12 +202,14 @@
   = lens _ptlBearerToken
       (\ s a -> s{_ptlBearerToken = a})
 
--- | Start of the time interval (exclusive).
+-- | Start of the time interval (inclusive) during which the trace data was
+-- collected from the application.
 ptlEndTime :: Lens' ProjectsTracesList (Maybe Text)
 ptlEndTime
   = lens _ptlEndTime (\ s a -> s{_ptlEndTime = a})
 
--- | ViewType specifies the projection of the result.
+-- | Type of data returned for traces in the list. Optional. Default is
+-- \`MINIMAL\`.
 ptlView :: Lens' ProjectsTracesList (Maybe Text)
 ptlView = lens _ptlView (\ s a -> s{_ptlView = a})
 
@@ -214,21 +218,21 @@
 ptlFilter
   = lens _ptlFilter (\ s a -> s{_ptlFilter = a})
 
--- | The token identifying the page of results to return from the ListTraces
--- method. If present, this value is should be taken from the
--- next_page_token field of a previous ListTracesResponse.
+-- | Token identifying the page of results to return. If provided, use the
+-- value of the \`next_page_token\` field from a previous request.
+-- Optional.
 ptlPageToken :: Lens' ProjectsTracesList (Maybe Text)
 ptlPageToken
   = lens _ptlPageToken (\ s a -> s{_ptlPageToken = a})
 
--- | The stringified-version of the project id.
+-- | ID of the Cloud project where the trace data is stored.
 ptlProjectId :: Lens' ProjectsTracesList Text
 ptlProjectId
   = lens _ptlProjectId (\ s a -> s{_ptlProjectId = a})
 
--- | Maximum number of topics to return. If not specified or \<= 0, the
--- implementation will select a reasonable value. The implemenation may
--- always return fewer than the requested page_size.
+-- | Maximum number of traces to return. If not specified or \<= 0, the
+-- implementation selects a reasonable value. The implementation may return
+-- fewer traces than the requested page size. Optional.
 ptlPageSize :: Lens' ProjectsTracesList (Maybe Int32)
 ptlPageSize
   = lens _ptlPageSize (\ s a -> s{_ptlPageSize = a}) .
@@ -241,7 +245,10 @@
 
 instance GoogleRequest ProjectsTracesList where
         type Rs ProjectsTracesList = ListTracesResponse
-        requestClient ProjectsTracesList{..}
+        type Scopes ProjectsTracesList =
+             '["https://www.googleapis.com/auth/cloud-platform",
+               "https://www.googleapis.com/auth/trace.readonly"]
+        requestClient ProjectsTracesList'{..}
           = go _ptlProjectId _ptlXgafv _ptlUploadProtocol
               _ptlOrderBy
               _ptlStartTime
diff --git a/gogol-cloudtrace.cabal b/gogol-cloudtrace.cabal
--- a/gogol-cloudtrace.cabal
+++ b/gogol-cloudtrace.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-cloudtrace
-version:               0.0.1
+version:               0.1.0
 synopsis:              Google Cloud Trace SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -7,15 +7,17 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2015 Brendan Hay
+copyright:             Copyright (c) 2015-2016 Brendan Hay
 category:              Network, Google, Cloud
 build-type:            Simple
 cabal-version:         >= 1.10
 extra-source-files:    README.md
 
 description:
-    The Google Cloud Trace API provides services for reading and writing
-    runtime trace data for Cloud applications.
+    Send and retrieve trace data from Google Cloud Trace. Data is generated
+    and available by default for all App Engine applications. Data from
+    other applications can be written to Cloud Trace for display, reporting,
+    and analysis.
     .
     /Warning:/ This is an experimental prototype/preview release which is still
     under exploratory development and not intended for public use, caveat emptor!
@@ -36,7 +38,6 @@
     exposed-modules:
           Network.Google.CloudTrace
         , Network.Google.CloudTrace.Types
-        , Network.Google.Resource.CloudTrace.GetDiscovery
         , Network.Google.Resource.CloudTrace.Projects.PatchTraces
         , Network.Google.Resource.CloudTrace.Projects.Traces.Get
         , Network.Google.Resource.CloudTrace.Projects.Traces.List
@@ -46,5 +47,5 @@
         , Network.Google.CloudTrace.Types.Sum
 
     build-depends:
-          gogol-core == 0.0.1.*
+          gogol-core == 0.1.0.*
         , base       >= 4.7 && < 5
