diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.5.0`
+`1.0.0`
 
 
 ## Description
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,3 @@
-import           Distribution.Simple
+import Distribution.Simple
+
 main = defaultMain
diff --git a/gen/Gogol/AcceleratedMobilePageUrl.hs b/gen/Gogol/AcceleratedMobilePageUrl.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AcceleratedMobilePageUrl.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AcceleratedMobilePageUrl
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).
+--
+-- /See:/ <https://developers.google.com/amp/cache/ Accelerated Mobile Pages (AMP) URL API Reference>
+module Gogol.AcceleratedMobilePageUrl
+  ( -- * Configuration
+    acceleratedMobilePageUrlService,
+
+    -- * Resources
+
+    -- ** acceleratedmobilepageurl.ampUrls.batchGet
+    AcceleratedMobilePageUrlAmpUrlsBatchGetResource,
+    AcceleratedMobilePageUrlAmpUrlsBatchGet (..),
+    newAcceleratedMobilePageUrlAmpUrlsBatchGet,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** AmpUrl
+    AmpUrl (..),
+    newAmpUrl,
+
+    -- ** AmpUrlError
+    AmpUrlError (..),
+    newAmpUrlError,
+
+    -- ** AmpUrlError_ErrorCode
+    AmpUrlError_ErrorCode (..),
+
+    -- ** BatchGetAmpUrlsRequest
+    BatchGetAmpUrlsRequest (..),
+    newBatchGetAmpUrlsRequest,
+
+    -- ** BatchGetAmpUrlsRequest_LookupStrategy
+    BatchGetAmpUrlsRequest_LookupStrategy (..),
+
+    -- ** BatchGetAmpUrlsResponse
+    BatchGetAmpUrlsResponse (..),
+    newBatchGetAmpUrlsResponse,
+  )
+where
+
+import Gogol.AcceleratedMobilePageUrl.AmpUrls.BatchGet
+import Gogol.AcceleratedMobilePageUrl.Types
diff --git a/gen/Gogol/AcceleratedMobilePageUrl/AmpUrls/BatchGet.hs b/gen/Gogol/AcceleratedMobilePageUrl/AmpUrls/BatchGet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AcceleratedMobilePageUrl/AmpUrls/BatchGet.hs
@@ -0,0 +1,112 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AcceleratedMobilePageUrl.AmpUrls.BatchGet
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Returns AMP URL(s) and equivalent </amp/cache/overview#amp-cache-url-format AMP Cache URL(s)>.
+--
+-- /See:/ <https://developers.google.com/amp/cache/ Accelerated Mobile Pages (AMP) URL API Reference> for @acceleratedmobilepageurl.ampUrls.batchGet@.
+module Gogol.AcceleratedMobilePageUrl.AmpUrls.BatchGet
+  ( -- * Resource
+    AcceleratedMobilePageUrlAmpUrlsBatchGetResource,
+
+    -- ** Constructing a Request
+    AcceleratedMobilePageUrlAmpUrlsBatchGet (..),
+    newAcceleratedMobilePageUrlAmpUrlsBatchGet,
+  )
+where
+
+import Gogol.AcceleratedMobilePageUrl.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @acceleratedmobilepageurl.ampUrls.batchGet@ method which the
+-- 'AcceleratedMobilePageUrlAmpUrlsBatchGet' request conforms to.
+type AcceleratedMobilePageUrlAmpUrlsBatchGetResource =
+  "v1"
+    Core.:> "ampUrls:batchGet"
+    Core.:> Core.QueryParam "$.xgafv" Xgafv
+    Core.:> Core.QueryParam "access_token" Core.Text
+    Core.:> Core.QueryParam "callback" Core.Text
+    Core.:> Core.QueryParam "uploadType" Core.Text
+    Core.:> Core.QueryParam "upload_protocol" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.ReqBody '[Core.JSON] BatchGetAmpUrlsRequest
+    Core.:> Core.Post '[Core.JSON] BatchGetAmpUrlsResponse
+
+-- | Returns AMP URL(s) and equivalent </amp/cache/overview#amp-cache-url-format AMP Cache URL(s)>.
+--
+-- /See:/ 'newAcceleratedMobilePageUrlAmpUrlsBatchGet' smart constructor.
+data AcceleratedMobilePageUrlAmpUrlsBatchGet = AcceleratedMobilePageUrlAmpUrlsBatchGet
+  { -- | V1 error format.
+    xgafv :: (Core.Maybe Xgafv),
+    -- | OAuth access token.
+    accessToken :: (Core.Maybe Core.Text),
+    -- | JSONP
+    callback :: (Core.Maybe Core.Text),
+    -- | Multipart request metadata.
+    payload :: BatchGetAmpUrlsRequest,
+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
+    uploadType :: (Core.Maybe Core.Text),
+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").
+    uploadProtocol :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AcceleratedMobilePageUrlAmpUrlsBatchGet' with the minimum fields required to make a request.
+newAcceleratedMobilePageUrlAmpUrlsBatchGet ::
+  -- |  Multipart request metadata. See 'payload'.
+  BatchGetAmpUrlsRequest ->
+  AcceleratedMobilePageUrlAmpUrlsBatchGet
+newAcceleratedMobilePageUrlAmpUrlsBatchGet payload =
+  AcceleratedMobilePageUrlAmpUrlsBatchGet
+    { xgafv = Core.Nothing,
+      accessToken = Core.Nothing,
+      callback = Core.Nothing,
+      payload = payload,
+      uploadType = Core.Nothing,
+      uploadProtocol = Core.Nothing
+    }
+
+instance Core.GoogleRequest AcceleratedMobilePageUrlAmpUrlsBatchGet where
+  type
+    Rs AcceleratedMobilePageUrlAmpUrlsBatchGet =
+      BatchGetAmpUrlsResponse
+  type Scopes AcceleratedMobilePageUrlAmpUrlsBatchGet = '[]
+  requestClient AcceleratedMobilePageUrlAmpUrlsBatchGet {..} =
+    go
+      xgafv
+      accessToken
+      callback
+      uploadType
+      uploadProtocol
+      (Core.Just Core.AltJSON)
+      payload
+      acceleratedMobilePageUrlService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AcceleratedMobilePageUrlAmpUrlsBatchGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AcceleratedMobilePageUrl/Internal/Product.hs b/gen/Gogol/AcceleratedMobilePageUrl/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AcceleratedMobilePageUrl/Internal/Product.hs
@@ -0,0 +1,212 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AcceleratedMobilePageUrl.Internal.Product
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AcceleratedMobilePageUrl.Internal.Product
+  ( -- * AmpUrl
+    AmpUrl (..),
+    newAmpUrl,
+
+    -- * AmpUrlError
+    AmpUrlError (..),
+    newAmpUrlError,
+
+    -- * BatchGetAmpUrlsRequest
+    BatchGetAmpUrlsRequest (..),
+    newBatchGetAmpUrlsRequest,
+
+    -- * BatchGetAmpUrlsResponse
+    BatchGetAmpUrlsResponse (..),
+    newBatchGetAmpUrlsResponse,
+  )
+where
+
+import Gogol.AcceleratedMobilePageUrl.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | AMP URL response for a requested URL.
+--
+-- /See:/ 'newAmpUrl' smart constructor.
+data AmpUrl = AmpUrl
+  { -- | The AMP URL pointing to the publisher\'s web server.
+    ampUrl :: (Core.Maybe Core.Text),
+    -- | The </amp/cache/overview#amp-cache-url-format AMP Cache URL> pointing to the cached document in the Google AMP Cache.
+    cdnAmpUrl :: (Core.Maybe Core.Text),
+    -- | The original non-AMP URL.
+    originalUrl :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AmpUrl' with the minimum fields required to make a request.
+newAmpUrl ::
+  AmpUrl
+newAmpUrl =
+  AmpUrl
+    { ampUrl = Core.Nothing,
+      cdnAmpUrl = Core.Nothing,
+      originalUrl = Core.Nothing
+    }
+
+instance Core.FromJSON AmpUrl where
+  parseJSON =
+    Core.withObject
+      "AmpUrl"
+      ( \o ->
+          AmpUrl
+            Core.<$> (o Core..:? "ampUrl")
+            Core.<*> (o Core..:? "cdnAmpUrl")
+            Core.<*> (o Core..:? "originalUrl")
+      )
+
+instance Core.ToJSON AmpUrl where
+  toJSON AmpUrl {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("ampUrl" Core..=) Core.<$> ampUrl,
+            ("cdnAmpUrl" Core..=) Core.<$> cdnAmpUrl,
+            ("originalUrl" Core..=) Core.<$> originalUrl
+          ]
+      )
+
+-- | AMP URL Error resource for a requested URL that couldn\'t be found.
+--
+-- /See:/ 'newAmpUrlError' smart constructor.
+data AmpUrlError = AmpUrlError
+  { -- | The error code of an API call.
+    errorCode :: (Core.Maybe AmpUrlError_ErrorCode),
+    -- | An optional descriptive error message.
+    errorMessage :: (Core.Maybe Core.Text),
+    -- | The original non-AMP URL.
+    originalUrl :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AmpUrlError' with the minimum fields required to make a request.
+newAmpUrlError ::
+  AmpUrlError
+newAmpUrlError =
+  AmpUrlError
+    { errorCode = Core.Nothing,
+      errorMessage = Core.Nothing,
+      originalUrl = Core.Nothing
+    }
+
+instance Core.FromJSON AmpUrlError where
+  parseJSON =
+    Core.withObject
+      "AmpUrlError"
+      ( \o ->
+          AmpUrlError
+            Core.<$> (o Core..:? "errorCode")
+            Core.<*> (o Core..:? "errorMessage")
+            Core.<*> (o Core..:? "originalUrl")
+      )
+
+instance Core.ToJSON AmpUrlError where
+  toJSON AmpUrlError {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("errorCode" Core..=) Core.<$> errorCode,
+            ("errorMessage" Core..=) Core.<$> errorMessage,
+            ("originalUrl" Core..=) Core.<$> originalUrl
+          ]
+      )
+
+-- | AMP URL request for a batch of URLs.
+--
+-- /See:/ 'newBatchGetAmpUrlsRequest' smart constructor.
+data BatchGetAmpUrlsRequest = BatchGetAmpUrlsRequest
+  { -- | The lookup_strategy being requested.
+    lookupStrategy :: (Core.Maybe BatchGetAmpUrlsRequest_LookupStrategy),
+    -- | List of URLs to look up for the paired AMP URLs. The URLs are case-sensitive. Up to 50 URLs per lookup (see </amp/cache/reference/limits Usage Limits>).
+    urls :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'BatchGetAmpUrlsRequest' with the minimum fields required to make a request.
+newBatchGetAmpUrlsRequest ::
+  BatchGetAmpUrlsRequest
+newBatchGetAmpUrlsRequest =
+  BatchGetAmpUrlsRequest
+    { lookupStrategy = Core.Nothing,
+      urls = Core.Nothing
+    }
+
+instance Core.FromJSON BatchGetAmpUrlsRequest where
+  parseJSON =
+    Core.withObject
+      "BatchGetAmpUrlsRequest"
+      ( \o ->
+          BatchGetAmpUrlsRequest
+            Core.<$> (o Core..:? "lookupStrategy")
+            Core.<*> (o Core..:? "urls")
+      )
+
+instance Core.ToJSON BatchGetAmpUrlsRequest where
+  toJSON BatchGetAmpUrlsRequest {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("lookupStrategy" Core..=) Core.<$> lookupStrategy,
+            ("urls" Core..=) Core.<$> urls
+          ]
+      )
+
+-- | Batch AMP URL response.
+--
+-- /See:/ 'newBatchGetAmpUrlsResponse' smart constructor.
+data BatchGetAmpUrlsResponse = BatchGetAmpUrlsResponse
+  { -- | For each URL in BatchAmpUrlsRequest, the URL response. The response might not be in the same order as URLs in the batch request. If BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated only once.
+    ampUrls :: (Core.Maybe [AmpUrl]),
+    -- | The errors for requested URLs that have no AMP URL.
+    urlErrors :: (Core.Maybe [AmpUrlError])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'BatchGetAmpUrlsResponse' with the minimum fields required to make a request.
+newBatchGetAmpUrlsResponse ::
+  BatchGetAmpUrlsResponse
+newBatchGetAmpUrlsResponse =
+  BatchGetAmpUrlsResponse
+    { ampUrls = Core.Nothing,
+      urlErrors = Core.Nothing
+    }
+
+instance Core.FromJSON BatchGetAmpUrlsResponse where
+  parseJSON =
+    Core.withObject
+      "BatchGetAmpUrlsResponse"
+      ( \o ->
+          BatchGetAmpUrlsResponse
+            Core.<$> (o Core..:? "ampUrls")
+            Core.<*> (o Core..:? "urlErrors")
+      )
+
+instance Core.ToJSON BatchGetAmpUrlsResponse where
+  toJSON BatchGetAmpUrlsResponse {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("ampUrls" Core..=) Core.<$> ampUrls,
+            ("urlErrors" Core..=) Core.<$> urlErrors
+          ]
+      )
diff --git a/gen/Gogol/AcceleratedMobilePageUrl/Internal/Sum.hs b/gen/Gogol/AcceleratedMobilePageUrl/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AcceleratedMobilePageUrl/Internal/Sum.hs
@@ -0,0 +1,155 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AcceleratedMobilePageUrl.Internal.Sum
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AcceleratedMobilePageUrl.Internal.Sum
+  ( -- * Xgafv
+    Xgafv
+      ( Xgafv_1,
+        Xgafv_2,
+        ..
+      ),
+
+    -- * AmpUrlError_ErrorCode
+    AmpUrlError_ErrorCode
+      ( AmpUrlError_ErrorCode_ERRORCODEUNSPECIFIED,
+        AmpUrlError_ErrorCode_INPUTURLNOTFOUND,
+        AmpUrlError_ErrorCode_NOAMPURL,
+        AmpUrlError_ErrorCode_APPLICATIONERROR,
+        AmpUrlError_ErrorCode_URLISVALIDAMP,
+        AmpUrlError_ErrorCode_URLISINVALIDAMP,
+        ..
+      ),
+
+    -- * BatchGetAmpUrlsRequest_LookupStrategy
+    BatchGetAmpUrlsRequest_LookupStrategy
+      ( BatchGetAmpUrlsRequest_LookupStrategy_FETCHLIVEDOC,
+        BatchGetAmpUrlsRequest_LookupStrategy_ININDEXDOC,
+        ..
+      ),
+  )
+where
+
+import Gogol.Prelude qualified as Core
+
+-- | V1 error format.
+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | v1 error format
+pattern Xgafv_1 :: Xgafv
+pattern Xgafv_1 = Xgafv "1"
+
+-- | v2 error format
+pattern Xgafv_2 :: Xgafv
+pattern Xgafv_2 = Xgafv "2"
+
+{-# COMPLETE
+  Xgafv_1,
+  Xgafv_2,
+  Xgafv
+  #-}
+
+-- | The error code of an API call.
+newtype AmpUrlError_ErrorCode = AmpUrlError_ErrorCode {fromAmpUrlError_ErrorCode :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | Not specified error.
+pattern AmpUrlError_ErrorCode_ERRORCODEUNSPECIFIED :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_ERRORCODEUNSPECIFIED = AmpUrlError_ErrorCode "ERROR_CODE_UNSPECIFIED"
+
+-- | Indicates the requested URL is not found in the index, possibly because it\'s unable to be found, not able to be accessed by Googlebot, or some other error.
+pattern AmpUrlError_ErrorCode_INPUTURLNOTFOUND :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_INPUTURLNOTFOUND = AmpUrlError_ErrorCode "INPUT_URL_NOT_FOUND"
+
+-- | Indicates no AMP URL has been found that corresponds to the requested URL.
+pattern AmpUrlError_ErrorCode_NOAMPURL :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_NOAMPURL = AmpUrlError_ErrorCode "NO_AMP_URL"
+
+-- | Indicates some kind of application error occurred at the server. Client advised to retry.
+pattern AmpUrlError_ErrorCode_APPLICATIONERROR :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_APPLICATIONERROR = AmpUrlError_ErrorCode "APPLICATION_ERROR"
+
+-- | DEPRECATED: Indicates the requested URL is a valid AMP URL. This is a non-error state, should not be relied upon as a sign of success or failure. It will be removed in future versions of the API.
+pattern AmpUrlError_ErrorCode_URLISVALIDAMP :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_URLISVALIDAMP = AmpUrlError_ErrorCode "URL_IS_VALID_AMP"
+
+-- | Indicates that an AMP URL has been found that corresponds to the request URL, but it is not valid AMP HTML.
+pattern AmpUrlError_ErrorCode_URLISINVALIDAMP :: AmpUrlError_ErrorCode
+pattern AmpUrlError_ErrorCode_URLISINVALIDAMP = AmpUrlError_ErrorCode "URL_IS_INVALID_AMP"
+
+{-# COMPLETE
+  AmpUrlError_ErrorCode_ERRORCODEUNSPECIFIED,
+  AmpUrlError_ErrorCode_INPUTURLNOTFOUND,
+  AmpUrlError_ErrorCode_NOAMPURL,
+  AmpUrlError_ErrorCode_APPLICATIONERROR,
+  AmpUrlError_ErrorCode_URLISVALIDAMP,
+  AmpUrlError_ErrorCode_URLISINVALIDAMP,
+  AmpUrlError_ErrorCode
+  #-}
+
+-- | The lookup_strategy being requested.
+newtype BatchGetAmpUrlsRequest_LookupStrategy = BatchGetAmpUrlsRequest_LookupStrategy {fromBatchGetAmpUrlsRequest_LookupStrategy :: Core.Text}
+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
+  deriving newtype
+    ( Core.Hashable,
+      Core.ToHttpApiData,
+      Core.FromHttpApiData,
+      Core.ToJSON,
+      Core.ToJSONKey,
+      Core.FromJSON,
+      Core.FromJSONKey
+    )
+
+-- | FETCH/LIVE/DOC strategy involves live document fetch of URLs not found in the index. Any request URL not found in the index is crawled in realtime to validate if there is a corresponding AMP URL. This strategy has higher coverage but with extra latency introduced by realtime crawling. This is the default strategy. Applications using this strategy should set higher HTTP timeouts of the API calls.
+pattern BatchGetAmpUrlsRequest_LookupStrategy_FETCHLIVEDOC :: BatchGetAmpUrlsRequest_LookupStrategy
+pattern BatchGetAmpUrlsRequest_LookupStrategy_FETCHLIVEDOC = BatchGetAmpUrlsRequest_LookupStrategy "FETCH_LIVE_DOC"
+
+-- | IN/INDEX/DOC strategy skips fetching live documents of URL(s) not found in index. For applications which need low latency use of IN/INDEX/DOC strategy is recommended.
+pattern BatchGetAmpUrlsRequest_LookupStrategy_ININDEXDOC :: BatchGetAmpUrlsRequest_LookupStrategy
+pattern BatchGetAmpUrlsRequest_LookupStrategy_ININDEXDOC = BatchGetAmpUrlsRequest_LookupStrategy "IN_INDEX_DOC"
+
+{-# COMPLETE
+  BatchGetAmpUrlsRequest_LookupStrategy_FETCHLIVEDOC,
+  BatchGetAmpUrlsRequest_LookupStrategy_ININDEXDOC,
+  BatchGetAmpUrlsRequest_LookupStrategy
+  #-}
diff --git a/gen/Gogol/AcceleratedMobilePageUrl/Types.hs b/gen/Gogol/AcceleratedMobilePageUrl/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AcceleratedMobilePageUrl/Types.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DerivingStrategies #-}
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE ImportQualifiedPost #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PatternSynonyms #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE StrictData #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- |
+-- Module      : Gogol.AcceleratedMobilePageUrl.Types
+-- Copyright   : (c) 2015-2025 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
+--               Toni Cebrián <toni@tonicebrian.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+module Gogol.AcceleratedMobilePageUrl.Types
+  ( -- * Configuration
+    acceleratedMobilePageUrlService,
+
+    -- * Types
+
+    -- ** Xgafv
+    Xgafv (..),
+
+    -- ** AmpUrl
+    AmpUrl (..),
+    newAmpUrl,
+
+    -- ** AmpUrlError
+    AmpUrlError (..),
+    newAmpUrlError,
+
+    -- ** AmpUrlError_ErrorCode
+    AmpUrlError_ErrorCode (..),
+
+    -- ** BatchGetAmpUrlsRequest
+    BatchGetAmpUrlsRequest (..),
+    newBatchGetAmpUrlsRequest,
+
+    -- ** BatchGetAmpUrlsRequest_LookupStrategy
+    BatchGetAmpUrlsRequest_LookupStrategy (..),
+
+    -- ** BatchGetAmpUrlsResponse
+    BatchGetAmpUrlsResponse (..),
+    newBatchGetAmpUrlsResponse,
+  )
+where
+
+import Gogol.AcceleratedMobilePageUrl.Internal.Product
+import Gogol.AcceleratedMobilePageUrl.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v1@ of the Accelerated Mobile Pages (AMP) URL API. This contains the host and root path used as a starting point for constructing service requests.
+acceleratedMobilePageUrlService :: Core.ServiceConfig
+acceleratedMobilePageUrlService =
+  Core.defaultService
+    (Core.ServiceId "acceleratedmobilepageurl:v1")
+    "acceleratedmobilepageurl.googleapis.com"
diff --git a/gen/Network/Google/AcceleratedMobilePageURL.hs b/gen/Network/Google/AcceleratedMobilePageURL.hs
deleted file mode 100644
--- a/gen/Network/Google/AcceleratedMobilePageURL.hs
+++ /dev/null
@@ -1,81 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.AcceleratedMobilePageURL
--- 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)
---
--- Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a
--- given list of public URL(s).
---
--- /See:/ <https://developers.google.com/amp/cache/ Accelerated Mobile Pages (AMP) URL API Reference>
-module Network.Google.AcceleratedMobilePageURL
-    (
-    -- * Service Configuration
-      acceleratedMobilePageUrlService
-
-    -- * API Declaration
-    , AcceleratedMobilePageUrlAPI
-
-    -- * Resources
-
-    -- ** acceleratedmobilepageurl.ampUrls.batchGet
-    , module Network.Google.Resource.AcceleratedMobilePageURL.AmpURLs.BatchGet
-
-    -- * Types
-
-    -- ** AmpURLError
-    , AmpURLError
-    , ampURLError
-    , aueOriginalURL
-    , aueErrorCode
-    , aueErrorMessage
-
-    -- ** AmpURLErrorErrorCode
-    , AmpURLErrorErrorCode (..)
-
-    -- ** BatchGetAmpURLsResponse
-    , BatchGetAmpURLsResponse
-    , batchGetAmpURLsResponse
-    , bgaurAmpURLs
-    , bgaurURLErrors
-
-    -- ** BatchGetAmpURLsRequest
-    , BatchGetAmpURLsRequest
-    , batchGetAmpURLsRequest
-    , bgaurURLs
-    , bgaurLookupStrategy
-
-    -- ** AmpURL
-    , AmpURL
-    , ampURL
-    , auOriginalURL
-    , auAmpURL
-    , auCdnAmpURL
-
-    -- ** Xgafv
-    , Xgafv (..)
-
-    -- ** BatchGetAmpURLsRequestLookupStrategy
-    , BatchGetAmpURLsRequestLookupStrategy (..)
-    ) where
-
-import           Network.Google.AcceleratedMobilePageURL.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.AcceleratedMobilePageURL.AmpURLs.BatchGet
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the Accelerated Mobile Pages (AMP) URL API service.
-type AcceleratedMobilePageUrlAPI =
-     AmpURLsBatchGetResource
diff --git a/gen/Network/Google/AcceleratedMobilePageURL/Types.hs b/gen/Network/Google/AcceleratedMobilePageURL/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/AcceleratedMobilePageURL/Types.hs
+++ /dev/null
@@ -1,67 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AcceleratedMobilePageURL.Types
--- 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)
---
-module Network.Google.AcceleratedMobilePageURL.Types
-    (
-    -- * Service Configuration
-      acceleratedMobilePageUrlService
-
-    -- * AmpURLError
-    , AmpURLError
-    , ampURLError
-    , aueOriginalURL
-    , aueErrorCode
-    , aueErrorMessage
-
-    -- * AmpURLErrorErrorCode
-    , AmpURLErrorErrorCode (..)
-
-    -- * BatchGetAmpURLsResponse
-    , BatchGetAmpURLsResponse
-    , batchGetAmpURLsResponse
-    , bgaurAmpURLs
-    , bgaurURLErrors
-
-    -- * BatchGetAmpURLsRequest
-    , BatchGetAmpURLsRequest
-    , batchGetAmpURLsRequest
-    , bgaurURLs
-    , bgaurLookupStrategy
-
-    -- * AmpURL
-    , AmpURL
-    , ampURL
-    , auOriginalURL
-    , auAmpURL
-    , auCdnAmpURL
-
-    -- * Xgafv
-    , Xgafv (..)
-
-    -- * BatchGetAmpURLsRequestLookupStrategy
-    , BatchGetAmpURLsRequestLookupStrategy (..)
-    ) where
-
-import           Network.Google.AcceleratedMobilePageURL.Types.Product
-import           Network.Google.AcceleratedMobilePageURL.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v1' of the Accelerated Mobile Pages (AMP) URL API. This contains the host and root path used as a starting point for constructing service requests.
-acceleratedMobilePageUrlService :: ServiceConfig
-acceleratedMobilePageUrlService
-  = defaultService
-      (ServiceId "acceleratedmobilepageurl:v1")
-      "acceleratedmobilepageurl.googleapis.com"
diff --git a/gen/Network/Google/AcceleratedMobilePageURL/Types/Product.hs b/gen/Network/Google/AcceleratedMobilePageURL/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/AcceleratedMobilePageURL/Types/Product.hs
+++ /dev/null
@@ -1,256 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-{-# LANGUAGE RecordWildCards    #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AcceleratedMobilePageURL.Types.Product
--- 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)
---
-module Network.Google.AcceleratedMobilePageURL.Types.Product where
-
-import           Network.Google.AcceleratedMobilePageURL.Types.Sum
-import           Network.Google.Prelude
-
--- | AMP URL Error resource for a requested URL that couldn\'t be found.
---
--- /See:/ 'ampURLError' smart constructor.
-data AmpURLError =
-  AmpURLError'
-    { _aueOriginalURL  :: !(Maybe Text)
-    , _aueErrorCode    :: !(Maybe AmpURLErrorErrorCode)
-    , _aueErrorMessage :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AmpURLError' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aueOriginalURL'
---
--- * 'aueErrorCode'
---
--- * 'aueErrorMessage'
-ampURLError
-    :: AmpURLError
-ampURLError =
-  AmpURLError'
-    { _aueOriginalURL = Nothing
-    , _aueErrorCode = Nothing
-    , _aueErrorMessage = Nothing
-    }
-
-
--- | The original non-AMP URL.
-aueOriginalURL :: Lens' AmpURLError (Maybe Text)
-aueOriginalURL
-  = lens _aueOriginalURL
-      (\ s a -> s{_aueOriginalURL = a})
-
--- | The error code of an API call.
-aueErrorCode :: Lens' AmpURLError (Maybe AmpURLErrorErrorCode)
-aueErrorCode
-  = lens _aueErrorCode (\ s a -> s{_aueErrorCode = a})
-
--- | An optional descriptive error message.
-aueErrorMessage :: Lens' AmpURLError (Maybe Text)
-aueErrorMessage
-  = lens _aueErrorMessage
-      (\ s a -> s{_aueErrorMessage = a})
-
-instance FromJSON AmpURLError where
-        parseJSON
-          = withObject "AmpURLError"
-              (\ o ->
-                 AmpURLError' <$>
-                   (o .:? "originalUrl") <*> (o .:? "errorCode") <*>
-                     (o .:? "errorMessage"))
-
-instance ToJSON AmpURLError where
-        toJSON AmpURLError'{..}
-          = object
-              (catMaybes
-                 [("originalUrl" .=) <$> _aueOriginalURL,
-                  ("errorCode" .=) <$> _aueErrorCode,
-                  ("errorMessage" .=) <$> _aueErrorMessage])
-
--- | Batch AMP URL response.
---
--- /See:/ 'batchGetAmpURLsResponse' smart constructor.
-data BatchGetAmpURLsResponse =
-  BatchGetAmpURLsResponse'
-    { _bgaurAmpURLs   :: !(Maybe [AmpURL])
-    , _bgaurURLErrors :: !(Maybe [AmpURLError])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'BatchGetAmpURLsResponse' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bgaurAmpURLs'
---
--- * 'bgaurURLErrors'
-batchGetAmpURLsResponse
-    :: BatchGetAmpURLsResponse
-batchGetAmpURLsResponse =
-  BatchGetAmpURLsResponse' {_bgaurAmpURLs = Nothing, _bgaurURLErrors = Nothing}
-
-
--- | For each URL in BatchAmpUrlsRequest, the URL response. The response
--- might not be in the same order as URLs in the batch request. If
--- BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated only
--- once.
-bgaurAmpURLs :: Lens' BatchGetAmpURLsResponse [AmpURL]
-bgaurAmpURLs
-  = lens _bgaurAmpURLs (\ s a -> s{_bgaurAmpURLs = a})
-      . _Default
-      . _Coerce
-
--- | The errors for requested URLs that have no AMP URL.
-bgaurURLErrors :: Lens' BatchGetAmpURLsResponse [AmpURLError]
-bgaurURLErrors
-  = lens _bgaurURLErrors
-      (\ s a -> s{_bgaurURLErrors = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON BatchGetAmpURLsResponse where
-        parseJSON
-          = withObject "BatchGetAmpURLsResponse"
-              (\ o ->
-                 BatchGetAmpURLsResponse' <$>
-                   (o .:? "ampUrls" .!= mempty) <*>
-                     (o .:? "urlErrors" .!= mempty))
-
-instance ToJSON BatchGetAmpURLsResponse where
-        toJSON BatchGetAmpURLsResponse'{..}
-          = object
-              (catMaybes
-                 [("ampUrls" .=) <$> _bgaurAmpURLs,
-                  ("urlErrors" .=) <$> _bgaurURLErrors])
-
--- | AMP URL request for a batch of URLs.
---
--- /See:/ 'batchGetAmpURLsRequest' smart constructor.
-data BatchGetAmpURLsRequest =
-  BatchGetAmpURLsRequest'
-    { _bgaurURLs           :: !(Maybe [Text])
-    , _bgaurLookupStrategy :: !(Maybe BatchGetAmpURLsRequestLookupStrategy)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'BatchGetAmpURLsRequest' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'bgaurURLs'
---
--- * 'bgaurLookupStrategy'
-batchGetAmpURLsRequest
-    :: BatchGetAmpURLsRequest
-batchGetAmpURLsRequest =
-  BatchGetAmpURLsRequest' {_bgaurURLs = Nothing, _bgaurLookupStrategy = Nothing}
-
-
--- | List of URLs to look up for the paired AMP URLs. The URLs are
--- case-sensitive. Up to 50 URLs per lookup (see [Usage
--- Limits](\/amp\/cache\/reference\/limits)).
-bgaurURLs :: Lens' BatchGetAmpURLsRequest [Text]
-bgaurURLs
-  = lens _bgaurURLs (\ s a -> s{_bgaurURLs = a}) .
-      _Default
-      . _Coerce
-
--- | The lookup_strategy being requested.
-bgaurLookupStrategy :: Lens' BatchGetAmpURLsRequest (Maybe BatchGetAmpURLsRequestLookupStrategy)
-bgaurLookupStrategy
-  = lens _bgaurLookupStrategy
-      (\ s a -> s{_bgaurLookupStrategy = a})
-
-instance FromJSON BatchGetAmpURLsRequest where
-        parseJSON
-          = withObject "BatchGetAmpURLsRequest"
-              (\ o ->
-                 BatchGetAmpURLsRequest' <$>
-                   (o .:? "urls" .!= mempty) <*>
-                     (o .:? "lookupStrategy"))
-
-instance ToJSON BatchGetAmpURLsRequest where
-        toJSON BatchGetAmpURLsRequest'{..}
-          = object
-              (catMaybes
-                 [("urls" .=) <$> _bgaurURLs,
-                  ("lookupStrategy" .=) <$> _bgaurLookupStrategy])
-
--- | AMP URL response for a requested URL.
---
--- /See:/ 'ampURL' smart constructor.
-data AmpURL =
-  AmpURL'
-    { _auOriginalURL :: !(Maybe Text)
-    , _auAmpURL      :: !(Maybe Text)
-    , _auCdnAmpURL   :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AmpURL' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'auOriginalURL'
---
--- * 'auAmpURL'
---
--- * 'auCdnAmpURL'
-ampURL
-    :: AmpURL
-ampURL =
-  AmpURL'
-    {_auOriginalURL = Nothing, _auAmpURL = Nothing, _auCdnAmpURL = Nothing}
-
-
--- | The original non-AMP URL.
-auOriginalURL :: Lens' AmpURL (Maybe Text)
-auOriginalURL
-  = lens _auOriginalURL
-      (\ s a -> s{_auOriginalURL = a})
-
--- | The AMP URL pointing to the publisher\'s web server.
-auAmpURL :: Lens' AmpURL (Maybe Text)
-auAmpURL = lens _auAmpURL (\ s a -> s{_auAmpURL = a})
-
--- | The [AMP Cache URL](\/amp\/cache\/overview#amp-cache-url-format)
--- pointing to the cached document in the Google AMP Cache.
-auCdnAmpURL :: Lens' AmpURL (Maybe Text)
-auCdnAmpURL
-  = lens _auCdnAmpURL (\ s a -> s{_auCdnAmpURL = a})
-
-instance FromJSON AmpURL where
-        parseJSON
-          = withObject "AmpURL"
-              (\ o ->
-                 AmpURL' <$>
-                   (o .:? "originalUrl") <*> (o .:? "ampUrl") <*>
-                     (o .:? "cdnAmpUrl"))
-
-instance ToJSON AmpURL where
-        toJSON AmpURL'{..}
-          = object
-              (catMaybes
-                 [("originalUrl" .=) <$> _auOriginalURL,
-                  ("ampUrl" .=) <$> _auAmpURL,
-                  ("cdnAmpUrl" .=) <$> _auCdnAmpURL])
diff --git a/gen/Network/Google/AcceleratedMobilePageURL/Types/Sum.hs b/gen/Network/Google/AcceleratedMobilePageURL/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/AcceleratedMobilePageURL/Types/Sum.hs
+++ /dev/null
@@ -1,140 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AcceleratedMobilePageURL.Types.Sum
--- 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)
---
-module Network.Google.AcceleratedMobilePageURL.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
-
--- | The error code of an API call.
-data AmpURLErrorErrorCode
-    = ErrorCodeUnspecified
-      -- ^ @ERROR_CODE_UNSPECIFIED@
-      -- Not specified error.
-    | InputURLNotFound
-      -- ^ @INPUT_URL_NOT_FOUND@
-      -- Indicates the requested URL is not found in the index, possibly because
-      -- it\'s unable to be found, not able to be accessed by Googlebot, or some
-      -- other error.
-    | NoAmpURL
-      -- ^ @NO_AMP_URL@
-      -- Indicates no AMP URL has been found that corresponds to the requested
-      -- URL.
-    | ApplicationError
-      -- ^ @APPLICATION_ERROR@
-      -- Indicates some kind of application error occurred at the server. Client
-      -- advised to retry.
-    | URLIsValidAmp
-      -- ^ @URL_IS_VALID_AMP@
-      -- DEPRECATED: Indicates the requested URL is a valid AMP URL. This is a
-      -- non-error state, should not be relied upon as a sign of success or
-      -- failure. It will be removed in future versions of the API.
-    | URLIsInvalidAmp
-      -- ^ @URL_IS_INVALID_AMP@
-      -- Indicates that an AMP URL has been found that corresponds to the request
-      -- URL, but it is not valid AMP HTML.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable AmpURLErrorErrorCode
-
-instance FromHttpApiData AmpURLErrorErrorCode where
-    parseQueryParam = \case
-        "ERROR_CODE_UNSPECIFIED" -> Right ErrorCodeUnspecified
-        "INPUT_URL_NOT_FOUND" -> Right InputURLNotFound
-        "NO_AMP_URL" -> Right NoAmpURL
-        "APPLICATION_ERROR" -> Right ApplicationError
-        "URL_IS_VALID_AMP" -> Right URLIsValidAmp
-        "URL_IS_INVALID_AMP" -> Right URLIsInvalidAmp
-        x -> Left ("Unable to parse AmpURLErrorErrorCode from: " <> x)
-
-instance ToHttpApiData AmpURLErrorErrorCode where
-    toQueryParam = \case
-        ErrorCodeUnspecified -> "ERROR_CODE_UNSPECIFIED"
-        InputURLNotFound -> "INPUT_URL_NOT_FOUND"
-        NoAmpURL -> "NO_AMP_URL"
-        ApplicationError -> "APPLICATION_ERROR"
-        URLIsValidAmp -> "URL_IS_VALID_AMP"
-        URLIsInvalidAmp -> "URL_IS_INVALID_AMP"
-
-instance FromJSON AmpURLErrorErrorCode where
-    parseJSON = parseJSONText "AmpURLErrorErrorCode"
-
-instance ToJSON AmpURLErrorErrorCode where
-    toJSON = toJSONText
-
--- | V1 error format.
-data Xgafv
-    = X1
-      -- ^ @1@
-      -- v1 error format
-    | X2
-      -- ^ @2@
-      -- v2 error format
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable Xgafv
-
-instance FromHttpApiData Xgafv where
-    parseQueryParam = \case
-        "1" -> Right X1
-        "2" -> Right X2
-        x -> Left ("Unable to parse Xgafv from: " <> x)
-
-instance ToHttpApiData Xgafv where
-    toQueryParam = \case
-        X1 -> "1"
-        X2 -> "2"
-
-instance FromJSON Xgafv where
-    parseJSON = parseJSONText "Xgafv"
-
-instance ToJSON Xgafv where
-    toJSON = toJSONText
-
--- | The lookup_strategy being requested.
-data BatchGetAmpURLsRequestLookupStrategy
-    = FetchLiveDoc
-      -- ^ @FETCH_LIVE_DOC@
-      -- FETCH_LIVE_DOC strategy involves live document fetch of URLs not found
-      -- in the index. Any request URL not found in the index is crawled in
-      -- realtime to validate if there is a corresponding AMP URL. This strategy
-      -- has higher coverage but with extra latency introduced by realtime
-      -- crawling. This is the default strategy. Applications using this strategy
-      -- should set higher HTTP timeouts of the API calls.
-    | InIndexDoc
-      -- ^ @IN_INDEX_DOC@
-      -- IN_INDEX_DOC strategy skips fetching live documents of URL(s) not found
-      -- in index. For applications which need low latency use of IN_INDEX_DOC
-      -- strategy is recommended.
-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
-
-instance Hashable BatchGetAmpURLsRequestLookupStrategy
-
-instance FromHttpApiData BatchGetAmpURLsRequestLookupStrategy where
-    parseQueryParam = \case
-        "FETCH_LIVE_DOC" -> Right FetchLiveDoc
-        "IN_INDEX_DOC" -> Right InIndexDoc
-        x -> Left ("Unable to parse BatchGetAmpURLsRequestLookupStrategy from: " <> x)
-
-instance ToHttpApiData BatchGetAmpURLsRequestLookupStrategy where
-    toQueryParam = \case
-        FetchLiveDoc -> "FETCH_LIVE_DOC"
-        InIndexDoc -> "IN_INDEX_DOC"
-
-instance FromJSON BatchGetAmpURLsRequestLookupStrategy where
-    parseJSON = parseJSONText "BatchGetAmpURLsRequestLookupStrategy"
-
-instance ToJSON BatchGetAmpURLsRequestLookupStrategy where
-    toJSON = toJSONText
diff --git a/gen/Network/Google/Resource/AcceleratedMobilePageURL/AmpURLs/BatchGet.hs b/gen/Network/Google/Resource/AcceleratedMobilePageURL/AmpURLs/BatchGet.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AcceleratedMobilePageURL/AmpURLs/BatchGet.hs
+++ /dev/null
@@ -1,153 +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.AcceleratedMobilePageURL.AmpURLs.BatchGet
--- 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)
---
--- Returns AMP URL(s) and equivalent [AMP Cache
--- URL(s)](\/amp\/cache\/overview#amp-cache-url-format).
---
--- /See:/ <https://developers.google.com/amp/cache/ Accelerated Mobile Pages (AMP) URL API Reference> for @acceleratedmobilepageurl.ampUrls.batchGet@.
-module Network.Google.Resource.AcceleratedMobilePageURL.AmpURLs.BatchGet
-    (
-    -- * REST Resource
-      AmpURLsBatchGetResource
-
-    -- * Creating a Request
-    , ampURLsBatchGet
-    , AmpURLsBatchGet
-
-    -- * Request Lenses
-    , aubgXgafv
-    , aubgUploadProtocol
-    , aubgAccessToken
-    , aubgUploadType
-    , aubgPayload
-    , aubgCallback
-    ) where
-
-import           Network.Google.AcceleratedMobilePageURL.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @acceleratedmobilepageurl.ampUrls.batchGet@ method which the
--- 'AmpURLsBatchGet' request conforms to.
-type AmpURLsBatchGetResource =
-     "v1" :>
-       "ampUrls:batchGet" :>
-         QueryParam "$.xgafv" Xgafv :>
-           QueryParam "upload_protocol" Text :>
-             QueryParam "access_token" Text :>
-               QueryParam "uploadType" Text :>
-                 QueryParam "callback" Text :>
-                   QueryParam "alt" AltJSON :>
-                     ReqBody '[JSON] BatchGetAmpURLsRequest :>
-                       Post '[JSON] BatchGetAmpURLsResponse
-
--- | Returns AMP URL(s) and equivalent [AMP Cache
--- URL(s)](\/amp\/cache\/overview#amp-cache-url-format).
---
--- /See:/ 'ampURLsBatchGet' smart constructor.
-data AmpURLsBatchGet =
-  AmpURLsBatchGet'
-    { _aubgXgafv          :: !(Maybe Xgafv)
-    , _aubgUploadProtocol :: !(Maybe Text)
-    , _aubgAccessToken    :: !(Maybe Text)
-    , _aubgUploadType     :: !(Maybe Text)
-    , _aubgPayload        :: !BatchGetAmpURLsRequest
-    , _aubgCallback       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AmpURLsBatchGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aubgXgafv'
---
--- * 'aubgUploadProtocol'
---
--- * 'aubgAccessToken'
---
--- * 'aubgUploadType'
---
--- * 'aubgPayload'
---
--- * 'aubgCallback'
-ampURLsBatchGet
-    :: BatchGetAmpURLsRequest -- ^ 'aubgPayload'
-    -> AmpURLsBatchGet
-ampURLsBatchGet pAubgPayload_ =
-  AmpURLsBatchGet'
-    { _aubgXgafv = Nothing
-    , _aubgUploadProtocol = Nothing
-    , _aubgAccessToken = Nothing
-    , _aubgUploadType = Nothing
-    , _aubgPayload = pAubgPayload_
-    , _aubgCallback = Nothing
-    }
-
-
--- | V1 error format.
-aubgXgafv :: Lens' AmpURLsBatchGet (Maybe Xgafv)
-aubgXgafv
-  = lens _aubgXgafv (\ s a -> s{_aubgXgafv = a})
-
--- | Upload protocol for media (e.g. \"raw\", \"multipart\").
-aubgUploadProtocol :: Lens' AmpURLsBatchGet (Maybe Text)
-aubgUploadProtocol
-  = lens _aubgUploadProtocol
-      (\ s a -> s{_aubgUploadProtocol = a})
-
--- | OAuth access token.
-aubgAccessToken :: Lens' AmpURLsBatchGet (Maybe Text)
-aubgAccessToken
-  = lens _aubgAccessToken
-      (\ s a -> s{_aubgAccessToken = a})
-
--- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
-aubgUploadType :: Lens' AmpURLsBatchGet (Maybe Text)
-aubgUploadType
-  = lens _aubgUploadType
-      (\ s a -> s{_aubgUploadType = a})
-
--- | Multipart request metadata.
-aubgPayload :: Lens' AmpURLsBatchGet BatchGetAmpURLsRequest
-aubgPayload
-  = lens _aubgPayload (\ s a -> s{_aubgPayload = a})
-
--- | JSONP
-aubgCallback :: Lens' AmpURLsBatchGet (Maybe Text)
-aubgCallback
-  = lens _aubgCallback (\ s a -> s{_aubgCallback = a})
-
-instance GoogleRequest AmpURLsBatchGet where
-        type Rs AmpURLsBatchGet = BatchGetAmpURLsResponse
-        type Scopes AmpURLsBatchGet = '[]
-        requestClient AmpURLsBatchGet'{..}
-          = go _aubgXgafv _aubgUploadProtocol _aubgAccessToken
-              _aubgUploadType
-              _aubgCallback
-              (Just AltJSON)
-              _aubgPayload
-              acceleratedMobilePageUrlService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AmpURLsBatchGetResource)
-                      mempty
diff --git a/gogol-acceleratedmobilepageurl.cabal b/gogol-acceleratedmobilepageurl.cabal
--- a/gogol-acceleratedmobilepageurl.cabal
+++ b/gogol-acceleratedmobilepageurl.cabal
@@ -1,47 +1,61 @@
-name:                  gogol-acceleratedmobilepageurl
-version:               0.5.0
-synopsis:              Google Accelerated Mobile Pages (AMP) URL SDK.
-homepage:              https://github.com/brendanhay/gogol
-bug-reports:           https://github.com/brendanhay/gogol/issues
-license:               OtherLicense
-license-file:          LICENSE
-author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2015-2016 Brendan Hay
-category:              Network, Google, Cloud
-build-type:            Simple
-cabal-version:         >= 1.10
-extra-source-files:    README.md src/.gitkeep
+cabal-version:      2.2
+name:               gogol-acceleratedmobilepageurl
+version:            1.0.0
+synopsis:           Google Accelerated Mobile Pages (AMP) URL SDK.
+homepage:           https://github.com/brendanhay/gogol
+bug-reports:        https://github.com/brendanhay/gogol/issues
+license:            MPL-2.0
+license-file:       LICENSE
+author:             Brendan Hay
+maintainer:
+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com>
 
+copyright:          Copyright (c) 2015-2025 Brendan Hay
+category:           Google
+build-type:         Simple
+extra-source-files:
+  README.md
+  src/.gitkeep
+
 description:
-    Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a
-    given list of public URL(s).
-    .
-    /Warning:/ This is an experimental prototype/preview release which is still
-    under exploratory development and not intended for public use, caveat emptor!
-    .
-    This library is compatible with version @v1@
-    of the API.
+  Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).
+  .
+  /Warning:/ This is an experimental prototype/preview release which is still
+  under exploratory development and not intended for public use, caveat emptor!
+  .
+  This library is compatible with version @v1@
+  of the API.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/gogol.git
+  type:     git
+  location: git://github.com/brendanhay/gogol.git
+  subdir:   gogol-acceleratedmobilepageurl
 
+flag field-selectors
+  description:
+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.
+
+  default:     False
+  manual:      True
+
 library
-    default-language:  Haskell2010
-    hs-source-dirs:    src gen
+  default-language: GHC2021
+  hs-source-dirs:   src gen
+  ghc-options:
+    -Wall -fwarn-incomplete-uni-patterns
+    -fwarn-incomplete-record-updates -funbox-strict-fields
+    -fwarn-unused-packages
 
-    ghc-options:       -Wall
+  if (!flag(field-selectors) && impl(ghc >=9.2))
+    default-extensions: NoFieldSelectors
 
-    exposed-modules:
-          Network.Google.AcceleratedMobilePageURL
-        , Network.Google.AcceleratedMobilePageURL.Types
-        , Network.Google.Resource.AcceleratedMobilePageURL.AmpURLs.BatchGet
+  exposed-modules:
+    Gogol.AcceleratedMobilePageUrl
+    Gogol.AcceleratedMobilePageUrl.AmpUrls.BatchGet
+    Gogol.AcceleratedMobilePageUrl.Types
 
-    other-modules:
-          Network.Google.AcceleratedMobilePageURL.Types.Product
-        , Network.Google.AcceleratedMobilePageURL.Types.Sum
+  other-modules:
+    Gogol.AcceleratedMobilePageUrl.Internal.Product
+    Gogol.AcceleratedMobilePageUrl.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
