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/AdExchangeSeller.hs b/gen/Gogol/AdExchangeSeller.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller.hs
@@ -0,0 +1,204 @@
+{-# 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.AdExchangeSeller
+-- 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)
+--
+-- Accesses the inventory of Ad Exchange seller users and generates reports.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference>
+module Gogol.AdExchangeSeller
+  ( -- * Configuration
+    adExchangeSellerService,
+
+    -- * OAuth Scopes
+    Adexchange'Seller,
+    Adexchange'Seller'Readonly,
+
+    -- * Resources
+
+    -- ** adexchangeseller.accounts.adclients.list
+    AdExchangeSellerAccountsAdclientsListResource,
+    AdExchangeSellerAccountsAdclientsList (..),
+    newAdExchangeSellerAccountsAdclientsList,
+
+    -- ** adexchangeseller.accounts.alerts.list
+    AdExchangeSellerAccountsAlertsListResource,
+    AdExchangeSellerAccountsAlertsList (..),
+    newAdExchangeSellerAccountsAlertsList,
+
+    -- ** adexchangeseller.accounts.customchannels.get
+    AdExchangeSellerAccountsCustomchannelsGetResource,
+    AdExchangeSellerAccountsCustomchannelsGet (..),
+    newAdExchangeSellerAccountsCustomchannelsGet,
+
+    -- ** adexchangeseller.accounts.customchannels.list
+    AdExchangeSellerAccountsCustomchannelsListResource,
+    AdExchangeSellerAccountsCustomchannelsList (..),
+    newAdExchangeSellerAccountsCustomchannelsList,
+
+    -- ** adexchangeseller.accounts.get
+    AdExchangeSellerAccountsGetResource,
+    AdExchangeSellerAccountsGet (..),
+    newAdExchangeSellerAccountsGet,
+
+    -- ** adexchangeseller.accounts.list
+    AdExchangeSellerAccountsListResource,
+    AdExchangeSellerAccountsList (..),
+    newAdExchangeSellerAccountsList,
+
+    -- ** adexchangeseller.accounts.metadata.dimensions.list
+    AdExchangeSellerAccountsMetadataDimensionsListResource,
+    AdExchangeSellerAccountsMetadataDimensionsList (..),
+    newAdExchangeSellerAccountsMetadataDimensionsList,
+
+    -- ** adexchangeseller.accounts.metadata.metrics.list
+    AdExchangeSellerAccountsMetadataMetricsListResource,
+    AdExchangeSellerAccountsMetadataMetricsList (..),
+    newAdExchangeSellerAccountsMetadataMetricsList,
+
+    -- ** adexchangeseller.accounts.preferreddeals.get
+    AdExchangeSellerAccountsPreferreddealsGetResource,
+    AdExchangeSellerAccountsPreferreddealsGet (..),
+    newAdExchangeSellerAccountsPreferreddealsGet,
+
+    -- ** adexchangeseller.accounts.preferreddeals.list
+    AdExchangeSellerAccountsPreferreddealsListResource,
+    AdExchangeSellerAccountsPreferreddealsList (..),
+    newAdExchangeSellerAccountsPreferreddealsList,
+
+    -- ** adexchangeseller.accounts.reports.generate
+    AdExchangeSellerAccountsReportsGenerateResource,
+    AdExchangeSellerAccountsReportsGenerate (..),
+    newAdExchangeSellerAccountsReportsGenerate,
+
+    -- ** adexchangeseller.accounts.reports.saved.generate
+    AdExchangeSellerAccountsReportsSavedGenerateResource,
+    AdExchangeSellerAccountsReportsSavedGenerate (..),
+    newAdExchangeSellerAccountsReportsSavedGenerate,
+
+    -- ** adexchangeseller.accounts.reports.saved.list
+    AdExchangeSellerAccountsReportsSavedListResource,
+    AdExchangeSellerAccountsReportsSavedList (..),
+    newAdExchangeSellerAccountsReportsSavedList,
+
+    -- ** adexchangeseller.accounts.urlchannels.list
+    AdExchangeSellerAccountsUrlchannelsListResource,
+    AdExchangeSellerAccountsUrlchannelsList (..),
+    newAdExchangeSellerAccountsUrlchannelsList,
+
+    -- * Types
+
+    -- ** Account
+    Account (..),
+    newAccount,
+
+    -- ** Accounts
+    Accounts (..),
+    newAccounts,
+
+    -- ** AdClient
+    AdClient (..),
+    newAdClient,
+
+    -- ** AdClients
+    AdClients (..),
+    newAdClients,
+
+    -- ** Alert
+    Alert (..),
+    newAlert,
+
+    -- ** Alerts
+    Alerts (..),
+    newAlerts,
+
+    -- ** CustomChannel
+    CustomChannel (..),
+    newCustomChannel,
+
+    -- ** CustomChannel_TargetingInfo
+    CustomChannel_TargetingInfo (..),
+    newCustomChannel_TargetingInfo,
+
+    -- ** CustomChannels
+    CustomChannels (..),
+    newCustomChannels,
+
+    -- ** Metadata
+    Metadata (..),
+    newMetadata,
+
+    -- ** PreferredDeal
+    PreferredDeal (..),
+    newPreferredDeal,
+
+    -- ** PreferredDeals
+    PreferredDeals (..),
+    newPreferredDeals,
+
+    -- ** Report
+    Report (..),
+    newReport,
+
+    -- ** Report_HeadersItem
+    Report_HeadersItem (..),
+    newReport_HeadersItem,
+
+    -- ** ReportingMetadataEntry
+    ReportingMetadataEntry (..),
+    newReportingMetadataEntry,
+
+    -- ** SavedReport
+    SavedReport (..),
+    newSavedReport,
+
+    -- ** SavedReports
+    SavedReports (..),
+    newSavedReports,
+
+    -- ** UrlChannel
+    UrlChannel (..),
+    newUrlChannel,
+
+    -- ** UrlChannels
+    UrlChannels (..),
+    newUrlChannels,
+  )
+where
+
+import Gogol.AdExchangeSeller.Accounts.Adclients.List
+import Gogol.AdExchangeSeller.Accounts.Alerts.List
+import Gogol.AdExchangeSeller.Accounts.Customchannels.Get
+import Gogol.AdExchangeSeller.Accounts.Customchannels.List
+import Gogol.AdExchangeSeller.Accounts.Get
+import Gogol.AdExchangeSeller.Accounts.List
+import Gogol.AdExchangeSeller.Accounts.Metadata.Dimensions.List
+import Gogol.AdExchangeSeller.Accounts.Metadata.Metrics.List
+import Gogol.AdExchangeSeller.Accounts.Preferreddeals.Get
+import Gogol.AdExchangeSeller.Accounts.Preferreddeals.List
+import Gogol.AdExchangeSeller.Accounts.Reports.Generate
+import Gogol.AdExchangeSeller.Accounts.Reports.Saved.Generate
+import Gogol.AdExchangeSeller.Accounts.Reports.Saved.List
+import Gogol.AdExchangeSeller.Accounts.Urlchannels.List
+import Gogol.AdExchangeSeller.Types
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Adclients/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Adclients/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Adclients/List.hs
@@ -0,0 +1,99 @@
+{-# 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.AdExchangeSeller.Accounts.Adclients.List
+-- 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)
+--
+-- List all ad clients in this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.adclients.list@.
+module Gogol.AdExchangeSeller.Accounts.Adclients.List
+  ( -- * Resource
+    AdExchangeSellerAccountsAdclientsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsAdclientsList (..),
+    newAdExchangeSellerAccountsAdclientsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.adclients.list@ method which the
+-- 'AdExchangeSellerAccountsAdclientsList' request conforms to.
+type AdExchangeSellerAccountsAdclientsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "adclients"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] AdClients
+
+-- | List all ad clients in this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsAdclientsList' smart constructor.
+data AdExchangeSellerAccountsAdclientsList = AdExchangeSellerAccountsAdclientsList
+  { -- | Account to which the ad client belongs.
+    accountId :: Core.Text,
+    -- | The maximum number of ad clients to include in the response, used for paging.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsAdclientsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsAdclientsList ::
+  -- |  Account to which the ad client belongs. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsAdclientsList
+newAdExchangeSellerAccountsAdclientsList accountId =
+  AdExchangeSellerAccountsAdclientsList
+    { accountId = accountId,
+      maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance Core.GoogleRequest AdExchangeSellerAccountsAdclientsList where
+  type Rs AdExchangeSellerAccountsAdclientsList = AdClients
+  type
+    Scopes AdExchangeSellerAccountsAdclientsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsAdclientsList {..} =
+    go
+      accountId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsAdclientsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Alerts/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Alerts/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Alerts/List.hs
@@ -0,0 +1,94 @@
+{-# 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.AdExchangeSeller.Accounts.Alerts.List
+-- 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)
+--
+-- List the alerts for this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.alerts.list@.
+module Gogol.AdExchangeSeller.Accounts.Alerts.List
+  ( -- * Resource
+    AdExchangeSellerAccountsAlertsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsAlertsList (..),
+    newAdExchangeSellerAccountsAlertsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.alerts.list@ method which the
+-- 'AdExchangeSellerAccountsAlertsList' request conforms to.
+type AdExchangeSellerAccountsAlertsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "alerts"
+    Core.:> Core.QueryParam "locale" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Alerts
+
+-- | List the alerts for this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsAlertsList' smart constructor.
+data AdExchangeSellerAccountsAlertsList = AdExchangeSellerAccountsAlertsList
+  { -- | Account owning the alerts.
+    accountId :: Core.Text,
+    -- | The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.
+    locale :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsAlertsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsAlertsList ::
+  -- |  Account owning the alerts. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsAlertsList
+newAdExchangeSellerAccountsAlertsList accountId =
+  AdExchangeSellerAccountsAlertsList
+    { accountId = accountId,
+      locale = Core.Nothing
+    }
+
+instance Core.GoogleRequest AdExchangeSellerAccountsAlertsList where
+  type Rs AdExchangeSellerAccountsAlertsList = Alerts
+  type
+    Scopes AdExchangeSellerAccountsAlertsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsAlertsList {..} =
+    go
+      accountId
+      locale
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsAlertsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/Get.hs b/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/Get.hs
@@ -0,0 +1,110 @@
+{-# 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.AdExchangeSeller.Accounts.Customchannels.Get
+-- 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)
+--
+-- Get the specified custom channel from the specified ad client.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.get@.
+module Gogol.AdExchangeSeller.Accounts.Customchannels.Get
+  ( -- * Resource
+    AdExchangeSellerAccountsCustomchannelsGetResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsCustomchannelsGet (..),
+    newAdExchangeSellerAccountsCustomchannelsGet,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.customchannels.get@ method which the
+-- 'AdExchangeSellerAccountsCustomchannelsGet' request conforms to.
+type AdExchangeSellerAccountsCustomchannelsGetResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "adclients"
+    Core.:> Core.Capture "adClientId" Core.Text
+    Core.:> "customchannels"
+    Core.:> Core.Capture "customChannelId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] CustomChannel
+
+-- | Get the specified custom channel from the specified ad client.
+--
+-- /See:/ 'newAdExchangeSellerAccountsCustomchannelsGet' smart constructor.
+data AdExchangeSellerAccountsCustomchannelsGet = AdExchangeSellerAccountsCustomchannelsGet
+  { -- | Account to which the ad client belongs.
+    accountId :: Core.Text,
+    -- | Ad client which contains the custom channel.
+    adClientId :: Core.Text,
+    -- | Custom channel to retrieve.
+    customChannelId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsCustomchannelsGet' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsCustomchannelsGet ::
+  -- |  Account to which the ad client belongs. See 'accountId'.
+  Core.Text ->
+  -- |  Ad client which contains the custom channel. See 'adClientId'.
+  Core.Text ->
+  -- |  Custom channel to retrieve. See 'customChannelId'.
+  Core.Text ->
+  AdExchangeSellerAccountsCustomchannelsGet
+newAdExchangeSellerAccountsCustomchannelsGet
+  accountId
+  adClientId
+  customChannelId =
+    AdExchangeSellerAccountsCustomchannelsGet
+      { accountId = accountId,
+        adClientId = adClientId,
+        customChannelId = customChannelId
+      }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsCustomchannelsGet
+  where
+  type Rs AdExchangeSellerAccountsCustomchannelsGet = CustomChannel
+  type
+    Scopes AdExchangeSellerAccountsCustomchannelsGet =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsCustomchannelsGet {..} =
+    go
+      accountId
+      adClientId
+      customChannelId
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsCustomchannelsGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Customchannels/List.hs
@@ -0,0 +1,110 @@
+{-# 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.AdExchangeSeller.Accounts.Customchannels.List
+-- 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)
+--
+-- List all custom channels in the specified ad client for this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.list@.
+module Gogol.AdExchangeSeller.Accounts.Customchannels.List
+  ( -- * Resource
+    AdExchangeSellerAccountsCustomchannelsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsCustomchannelsList (..),
+    newAdExchangeSellerAccountsCustomchannelsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.customchannels.list@ method which the
+-- 'AdExchangeSellerAccountsCustomchannelsList' request conforms to.
+type AdExchangeSellerAccountsCustomchannelsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "adclients"
+    Core.:> Core.Capture "adClientId" Core.Text
+    Core.:> "customchannels"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] CustomChannels
+
+-- | List all custom channels in the specified ad client for this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsCustomchannelsList' smart constructor.
+data AdExchangeSellerAccountsCustomchannelsList = AdExchangeSellerAccountsCustomchannelsList
+  { -- | Account to which the ad client belongs.
+    accountId :: Core.Text,
+    -- | Ad client for which to list custom channels.
+    adClientId :: Core.Text,
+    -- | The maximum number of custom channels to include in the response, used for paging.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsCustomchannelsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsCustomchannelsList ::
+  -- |  Account to which the ad client belongs. See 'accountId'.
+  Core.Text ->
+  -- |  Ad client for which to list custom channels. See 'adClientId'.
+  Core.Text ->
+  AdExchangeSellerAccountsCustomchannelsList
+newAdExchangeSellerAccountsCustomchannelsList accountId adClientId =
+  AdExchangeSellerAccountsCustomchannelsList
+    { accountId = accountId,
+      adClientId = adClientId,
+      maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsCustomchannelsList
+  where
+  type Rs AdExchangeSellerAccountsCustomchannelsList = CustomChannels
+  type
+    Scopes AdExchangeSellerAccountsCustomchannelsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsCustomchannelsList {..} =
+    go
+      accountId
+      adClientId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsCustomchannelsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Get.hs b/gen/Gogol/AdExchangeSeller/Accounts/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Get.hs
@@ -0,0 +1,81 @@
+{-# 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.AdExchangeSeller.Accounts.Get
+-- 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)
+--
+-- Get information about the selected Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.get@.
+module Gogol.AdExchangeSeller.Accounts.Get
+  ( -- * Resource
+    AdExchangeSellerAccountsGetResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsGet (..),
+    newAdExchangeSellerAccountsGet,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.get@ method which the
+-- 'AdExchangeSellerAccountsGet' request conforms to.
+type AdExchangeSellerAccountsGetResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Account
+
+-- | Get information about the selected Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsGet' smart constructor.
+newtype AdExchangeSellerAccountsGet = AdExchangeSellerAccountsGet
+  { -- | Account to get information about. Tip: \'myaccount\' is a valid ID.
+    accountId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsGet' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsGet ::
+  -- |  Account to get information about. Tip: \'myaccount\' is a valid ID. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsGet
+newAdExchangeSellerAccountsGet accountId =
+  AdExchangeSellerAccountsGet {accountId = accountId}
+
+instance Core.GoogleRequest AdExchangeSellerAccountsGet where
+  type Rs AdExchangeSellerAccountsGet = Account
+  type
+    Scopes AdExchangeSellerAccountsGet =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsGet {..} =
+    go accountId (Core.Just Core.AltJSON) adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AdExchangeSellerAccountsGetResource)
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/List.hs
@@ -0,0 +1,89 @@
+{-# 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.AdExchangeSeller.Accounts.List
+-- 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)
+--
+-- List all accounts available to this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.list@.
+module Gogol.AdExchangeSeller.Accounts.List
+  ( -- * Resource
+    AdExchangeSellerAccountsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsList (..),
+    newAdExchangeSellerAccountsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.list@ method which the
+-- 'AdExchangeSellerAccountsList' request conforms to.
+type AdExchangeSellerAccountsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.QueryParam "maxResults" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Accounts
+
+-- | List all accounts available to this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsList' smart constructor.
+data AdExchangeSellerAccountsList = AdExchangeSellerAccountsList
+  { -- | The maximum number of accounts to include in the response, used for paging.
+    maxResults :: (Core.Maybe Core.Int32),
+    -- | A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsList ::
+  AdExchangeSellerAccountsList
+newAdExchangeSellerAccountsList =
+  AdExchangeSellerAccountsList
+    { maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance Core.GoogleRequest AdExchangeSellerAccountsList where
+  type Rs AdExchangeSellerAccountsList = Accounts
+  type
+    Scopes AdExchangeSellerAccountsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsList {..} =
+    go
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          (Core.Proxy :: Core.Proxy AdExchangeSellerAccountsListResource)
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs
@@ -0,0 +1,91 @@
+{-# 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.AdExchangeSeller.Accounts.Metadata.Dimensions.List
+-- 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)
+--
+-- List the metadata for the dimensions available to this AdExchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.dimensions.list@.
+module Gogol.AdExchangeSeller.Accounts.Metadata.Dimensions.List
+  ( -- * Resource
+    AdExchangeSellerAccountsMetadataDimensionsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsMetadataDimensionsList (..),
+    newAdExchangeSellerAccountsMetadataDimensionsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.metadata.dimensions.list@ method which the
+-- 'AdExchangeSellerAccountsMetadataDimensionsList' request conforms to.
+type AdExchangeSellerAccountsMetadataDimensionsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "metadata"
+    Core.:> "dimensions"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Metadata
+
+-- | List the metadata for the dimensions available to this AdExchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsMetadataDimensionsList' smart constructor.
+newtype AdExchangeSellerAccountsMetadataDimensionsList = AdExchangeSellerAccountsMetadataDimensionsList
+  { -- | Account with visibility to the dimensions.
+    accountId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsMetadataDimensionsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsMetadataDimensionsList ::
+  -- |  Account with visibility to the dimensions. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsMetadataDimensionsList
+newAdExchangeSellerAccountsMetadataDimensionsList accountId =
+  AdExchangeSellerAccountsMetadataDimensionsList
+    { accountId =
+        accountId
+    }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsMetadataDimensionsList
+  where
+  type Rs AdExchangeSellerAccountsMetadataDimensionsList = Metadata
+  type
+    Scopes AdExchangeSellerAccountsMetadataDimensionsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsMetadataDimensionsList {..} =
+    go accountId (Core.Just Core.AltJSON) adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsMetadataDimensionsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs
@@ -0,0 +1,91 @@
+{-# 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.AdExchangeSeller.Accounts.Metadata.Metrics.List
+-- 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)
+--
+-- List the metadata for the metrics available to this AdExchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.metrics.list@.
+module Gogol.AdExchangeSeller.Accounts.Metadata.Metrics.List
+  ( -- * Resource
+    AdExchangeSellerAccountsMetadataMetricsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsMetadataMetricsList (..),
+    newAdExchangeSellerAccountsMetadataMetricsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.metadata.metrics.list@ method which the
+-- 'AdExchangeSellerAccountsMetadataMetricsList' request conforms to.
+type AdExchangeSellerAccountsMetadataMetricsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "metadata"
+    Core.:> "metrics"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Metadata
+
+-- | List the metadata for the metrics available to this AdExchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsMetadataMetricsList' smart constructor.
+newtype AdExchangeSellerAccountsMetadataMetricsList = AdExchangeSellerAccountsMetadataMetricsList
+  { -- | Account with visibility to the metrics.
+    accountId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsMetadataMetricsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsMetadataMetricsList ::
+  -- |  Account with visibility to the metrics. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsMetadataMetricsList
+newAdExchangeSellerAccountsMetadataMetricsList accountId =
+  AdExchangeSellerAccountsMetadataMetricsList
+    { accountId =
+        accountId
+    }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsMetadataMetricsList
+  where
+  type Rs AdExchangeSellerAccountsMetadataMetricsList = Metadata
+  type
+    Scopes AdExchangeSellerAccountsMetadataMetricsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsMetadataMetricsList {..} =
+    go accountId (Core.Just Core.AltJSON) adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsMetadataMetricsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/Get.hs b/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/Get.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/Get.hs
@@ -0,0 +1,99 @@
+{-# 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.AdExchangeSeller.Accounts.Preferreddeals.Get
+-- 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)
+--
+-- Get information about the selected Ad Exchange Preferred Deal.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.get@.
+module Gogol.AdExchangeSeller.Accounts.Preferreddeals.Get
+  ( -- * Resource
+    AdExchangeSellerAccountsPreferreddealsGetResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsPreferreddealsGet (..),
+    newAdExchangeSellerAccountsPreferreddealsGet,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.preferreddeals.get@ method which the
+-- 'AdExchangeSellerAccountsPreferreddealsGet' request conforms to.
+type AdExchangeSellerAccountsPreferreddealsGetResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "preferreddeals"
+    Core.:> Core.Capture "dealId" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] PreferredDeal
+
+-- | Get information about the selected Ad Exchange Preferred Deal.
+--
+-- /See:/ 'newAdExchangeSellerAccountsPreferreddealsGet' smart constructor.
+data AdExchangeSellerAccountsPreferreddealsGet = AdExchangeSellerAccountsPreferreddealsGet
+  { -- | Account owning the deal.
+    accountId :: Core.Text,
+    -- | Preferred deal to get information about.
+    dealId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsPreferreddealsGet' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsPreferreddealsGet ::
+  -- |  Account owning the deal. See 'accountId'.
+  Core.Text ->
+  -- |  Preferred deal to get information about. See 'dealId'.
+  Core.Text ->
+  AdExchangeSellerAccountsPreferreddealsGet
+newAdExchangeSellerAccountsPreferreddealsGet accountId dealId =
+  AdExchangeSellerAccountsPreferreddealsGet
+    { accountId = accountId,
+      dealId = dealId
+    }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsPreferreddealsGet
+  where
+  type Rs AdExchangeSellerAccountsPreferreddealsGet = PreferredDeal
+  type
+    Scopes AdExchangeSellerAccountsPreferreddealsGet =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsPreferreddealsGet {..} =
+    go
+      accountId
+      dealId
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsPreferreddealsGetResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Preferreddeals/List.hs
@@ -0,0 +1,87 @@
+{-# 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.AdExchangeSeller.Accounts.Preferreddeals.List
+-- 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)
+--
+-- List the preferred deals for this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.list@.
+module Gogol.AdExchangeSeller.Accounts.Preferreddeals.List
+  ( -- * Resource
+    AdExchangeSellerAccountsPreferreddealsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsPreferreddealsList (..),
+    newAdExchangeSellerAccountsPreferreddealsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.preferreddeals.list@ method which the
+-- 'AdExchangeSellerAccountsPreferreddealsList' request conforms to.
+type AdExchangeSellerAccountsPreferreddealsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "preferreddeals"
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] PreferredDeals
+
+-- | List the preferred deals for this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsPreferreddealsList' smart constructor.
+newtype AdExchangeSellerAccountsPreferreddealsList = AdExchangeSellerAccountsPreferreddealsList
+  { -- | Account owning the deals.
+    accountId :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsPreferreddealsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsPreferreddealsList ::
+  -- |  Account owning the deals. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsPreferreddealsList
+newAdExchangeSellerAccountsPreferreddealsList accountId =
+  AdExchangeSellerAccountsPreferreddealsList {accountId = accountId}
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsPreferreddealsList
+  where
+  type Rs AdExchangeSellerAccountsPreferreddealsList = PreferredDeals
+  type
+    Scopes AdExchangeSellerAccountsPreferreddealsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsPreferreddealsList {..} =
+    go accountId (Core.Just Core.AltJSON) adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsPreferreddealsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Reports/Generate.hs b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Generate.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Generate.hs
@@ -0,0 +1,192 @@
+{-# 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.AdExchangeSeller.Accounts.Reports.Generate
+-- 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)
+--
+-- Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.generate@.
+module Gogol.AdExchangeSeller.Accounts.Reports.Generate
+  ( -- * Resource
+    AdExchangeSellerAccountsReportsGenerateResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsReportsGenerate (..),
+    newAdExchangeSellerAccountsReportsGenerate,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.reports.generate@ method which the
+-- 'AdExchangeSellerAccountsReportsGenerate' request conforms to.
+type AdExchangeSellerAccountsReportsGenerateResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "reports"
+    Core.:> Core.QueryParam "startDate" Core.Text
+    Core.:> Core.QueryParam "endDate" Core.Text
+    Core.:> Core.QueryParams "dimension" Core.Text
+    Core.:> Core.QueryParams "filter" Core.Text
+    Core.:> Core.QueryParam "locale" Core.Text
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParams "metric" Core.Text
+    Core.:> Core.QueryParams "sort" Core.Text
+    Core.:> Core.QueryParam "startIndex" Core.Word32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Report
+    Core.:<|> "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "reports"
+    Core.:> Core.QueryParam "startDate" Core.Text
+    Core.:> Core.QueryParam "endDate" Core.Text
+    Core.:> Core.QueryParams "dimension" Core.Text
+    Core.:> Core.QueryParams "filter" Core.Text
+    Core.:> Core.QueryParam "locale" Core.Text
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParams "metric" Core.Text
+    Core.:> Core.QueryParams "sort" Core.Text
+    Core.:> Core.QueryParam "startIndex" Core.Word32
+    Core.:> Core.QueryParam "alt" Core.AltMedia
+    Core.:> Core.Get '[Core.OctetStream] Core.Stream
+
+-- | Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.
+--
+-- /See:/ 'newAdExchangeSellerAccountsReportsGenerate' smart constructor.
+data AdExchangeSellerAccountsReportsGenerate = AdExchangeSellerAccountsReportsGenerate
+  { -- | Account which owns the generated report.
+    accountId :: Core.Text,
+    -- | Dimensions to base the report on.
+    dimension :: (Core.Maybe [Core.Text]),
+    -- | End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.
+    endDate :: Core.Text,
+    -- | Filters to be run on the report.
+    filter :: (Core.Maybe [Core.Text]),
+    -- | Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.
+    locale :: (Core.Maybe Core.Text),
+    -- | The maximum number of rows of report data to return.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | Numeric columns to include in the report.
+    metric :: (Core.Maybe [Core.Text]),
+    -- | The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.
+    sort :: (Core.Maybe [Core.Text]),
+    -- | Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.
+    startDate :: Core.Text,
+    -- | Index of the first row of report data to return.
+    startIndex :: (Core.Maybe Core.Word32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsReportsGenerate' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsReportsGenerate ::
+  -- |  Account which owns the generated report. See 'accountId'.
+  Core.Text ->
+  -- |  End of the date range to report on in \"YYYY-MM-DD\" format, inclusive. See 'endDate'.
+  Core.Text ->
+  -- |  Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive. See 'startDate'.
+  Core.Text ->
+  AdExchangeSellerAccountsReportsGenerate
+newAdExchangeSellerAccountsReportsGenerate
+  accountId
+  endDate
+  startDate =
+    AdExchangeSellerAccountsReportsGenerate
+      { accountId = accountId,
+        dimension = Core.Nothing,
+        endDate = endDate,
+        filter = Core.Nothing,
+        locale = Core.Nothing,
+        maxResults = Core.Nothing,
+        metric = Core.Nothing,
+        sort = Core.Nothing,
+        startDate = startDate,
+        startIndex = Core.Nothing
+      }
+
+instance Core.GoogleRequest AdExchangeSellerAccountsReportsGenerate where
+  type Rs AdExchangeSellerAccountsReportsGenerate = Report
+  type
+    Scopes AdExchangeSellerAccountsReportsGenerate =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsReportsGenerate {..} =
+    go
+      accountId
+      (Core.Just startDate)
+      (Core.Just endDate)
+      (dimension Core.^. Core._Default)
+      (filter Core.^. Core._Default)
+      locale
+      maxResults
+      (metric Core.^. Core._Default)
+      (sort Core.^. Core._Default)
+      startIndex
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go Core.:<|> _ =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsReportsGenerateResource
+          )
+          Core.mempty
+
+instance
+  Core.GoogleRequest
+    (Core.MediaDownload AdExchangeSellerAccountsReportsGenerate)
+  where
+  type
+    Rs
+      (Core.MediaDownload AdExchangeSellerAccountsReportsGenerate) =
+      Core.Stream
+  type
+    Scopes
+      (Core.MediaDownload AdExchangeSellerAccountsReportsGenerate) =
+      Core.Scopes AdExchangeSellerAccountsReportsGenerate
+  requestClient
+    (Core.MediaDownload AdExchangeSellerAccountsReportsGenerate {..}) =
+      go
+        accountId
+        (Core.Just startDate)
+        (Core.Just endDate)
+        (dimension Core.^. Core._Default)
+        (filter Core.^. Core._Default)
+        locale
+        maxResults
+        (metric Core.^. Core._Default)
+        (sort Core.^. Core._Default)
+        startIndex
+        (Core.Just Core.AltMedia)
+        adExchangeSellerService
+      where
+        _ Core.:<|> go =
+          Core.buildClient
+            ( Core.Proxy ::
+                Core.Proxy AdExchangeSellerAccountsReportsGenerateResource
+            )
+            Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs
@@ -0,0 +1,117 @@
+{-# 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.AdExchangeSeller.Accounts.Reports.Saved.Generate
+-- 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)
+--
+-- Generate an Ad Exchange report based on the saved report ID sent in the query parameters.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.generate@.
+module Gogol.AdExchangeSeller.Accounts.Reports.Saved.Generate
+  ( -- * Resource
+    AdExchangeSellerAccountsReportsSavedGenerateResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsReportsSavedGenerate (..),
+    newAdExchangeSellerAccountsReportsSavedGenerate,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.reports.saved.generate@ method which the
+-- 'AdExchangeSellerAccountsReportsSavedGenerate' request conforms to.
+type AdExchangeSellerAccountsReportsSavedGenerateResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "reports"
+    Core.:> Core.Capture "savedReportId" Core.Text
+    Core.:> Core.QueryParam "locale" Core.Text
+    Core.:> Core.QueryParam "maxResults" Core.Int32
+    Core.:> Core.QueryParam "startIndex" Core.Int32
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] Report
+
+-- | Generate an Ad Exchange report based on the saved report ID sent in the query parameters.
+--
+-- /See:/ 'newAdExchangeSellerAccountsReportsSavedGenerate' smart constructor.
+data AdExchangeSellerAccountsReportsSavedGenerate = AdExchangeSellerAccountsReportsSavedGenerate
+  { -- | Account owning the saved report.
+    accountId :: Core.Text,
+    -- | Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.
+    locale :: (Core.Maybe Core.Text),
+    -- | The maximum number of rows of report data to return.
+    maxResults :: (Core.Maybe Core.Int32),
+    -- | The saved report to retrieve.
+    savedReportId :: Core.Text,
+    -- | Index of the first row of report data to return.
+    startIndex :: (Core.Maybe Core.Int32)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsReportsSavedGenerate' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsReportsSavedGenerate ::
+  -- |  Account owning the saved report. See 'accountId'.
+  Core.Text ->
+  -- |  The saved report to retrieve. See 'savedReportId'.
+  Core.Text ->
+  AdExchangeSellerAccountsReportsSavedGenerate
+newAdExchangeSellerAccountsReportsSavedGenerate
+  accountId
+  savedReportId =
+    AdExchangeSellerAccountsReportsSavedGenerate
+      { accountId =
+          accountId,
+        locale = Core.Nothing,
+        maxResults = Core.Nothing,
+        savedReportId = savedReportId,
+        startIndex = Core.Nothing
+      }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsReportsSavedGenerate
+  where
+  type Rs AdExchangeSellerAccountsReportsSavedGenerate = Report
+  type
+    Scopes AdExchangeSellerAccountsReportsSavedGenerate =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsReportsSavedGenerate {..} =
+    go
+      accountId
+      savedReportId
+      locale
+      maxResults
+      startIndex
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsReportsSavedGenerateResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Reports/Saved/List.hs
@@ -0,0 +1,103 @@
+{-# 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.AdExchangeSeller.Accounts.Reports.Saved.List
+-- 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)
+--
+-- List all saved reports in this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.list@.
+module Gogol.AdExchangeSeller.Accounts.Reports.Saved.List
+  ( -- * Resource
+    AdExchangeSellerAccountsReportsSavedListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsReportsSavedList (..),
+    newAdExchangeSellerAccountsReportsSavedList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.reports.saved.list@ method which the
+-- 'AdExchangeSellerAccountsReportsSavedList' request conforms to.
+type AdExchangeSellerAccountsReportsSavedListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "reports"
+    Core.:> "saved"
+    Core.:> Core.QueryParam "maxResults" Core.Int32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] SavedReports
+
+-- | List all saved reports in this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsReportsSavedList' smart constructor.
+data AdExchangeSellerAccountsReportsSavedList = AdExchangeSellerAccountsReportsSavedList
+  { -- | Account owning the saved reports.
+    accountId :: Core.Text,
+    -- | The maximum number of saved reports to include in the response, used for paging.
+    maxResults :: (Core.Maybe Core.Int32),
+    -- | A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsReportsSavedList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsReportsSavedList ::
+  -- |  Account owning the saved reports. See 'accountId'.
+  Core.Text ->
+  AdExchangeSellerAccountsReportsSavedList
+newAdExchangeSellerAccountsReportsSavedList accountId =
+  AdExchangeSellerAccountsReportsSavedList
+    { accountId = accountId,
+      maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance
+  Core.GoogleRequest
+    AdExchangeSellerAccountsReportsSavedList
+  where
+  type Rs AdExchangeSellerAccountsReportsSavedList = SavedReports
+  type
+    Scopes AdExchangeSellerAccountsReportsSavedList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsReportsSavedList {..} =
+    go
+      accountId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsReportsSavedListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Accounts/Urlchannels/List.hs b/gen/Gogol/AdExchangeSeller/Accounts/Urlchannels/List.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Accounts/Urlchannels/List.hs
@@ -0,0 +1,107 @@
+{-# 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.AdExchangeSeller.Accounts.Urlchannels.List
+-- 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)
+--
+-- List all URL channels in the specified ad client for this Ad Exchange account.
+--
+-- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.urlchannels.list@.
+module Gogol.AdExchangeSeller.Accounts.Urlchannels.List
+  ( -- * Resource
+    AdExchangeSellerAccountsUrlchannelsListResource,
+
+    -- ** Constructing a Request
+    AdExchangeSellerAccountsUrlchannelsList (..),
+    newAdExchangeSellerAccountsUrlchannelsList,
+  )
+where
+
+import Gogol.AdExchangeSeller.Types
+import Gogol.Prelude qualified as Core
+
+-- | A resource alias for @adexchangeseller.accounts.urlchannels.list@ method which the
+-- 'AdExchangeSellerAccountsUrlchannelsList' request conforms to.
+type AdExchangeSellerAccountsUrlchannelsListResource =
+  "adexchangeseller"
+    Core.:> "v2.0"
+    Core.:> "accounts"
+    Core.:> Core.Capture "accountId" Core.Text
+    Core.:> "adclients"
+    Core.:> Core.Capture "adClientId" Core.Text
+    Core.:> "urlchannels"
+    Core.:> Core.QueryParam "maxResults" Core.Word32
+    Core.:> Core.QueryParam "pageToken" Core.Text
+    Core.:> Core.QueryParam "alt" Core.AltJSON
+    Core.:> Core.Get '[Core.JSON] UrlChannels
+
+-- | List all URL channels in the specified ad client for this Ad Exchange account.
+--
+-- /See:/ 'newAdExchangeSellerAccountsUrlchannelsList' smart constructor.
+data AdExchangeSellerAccountsUrlchannelsList = AdExchangeSellerAccountsUrlchannelsList
+  { -- | Account to which the ad client belongs.
+    accountId :: Core.Text,
+    -- | Ad client for which to list URL channels.
+    adClientId :: Core.Text,
+    -- | The maximum number of URL channels to include in the response, used for paging.
+    maxResults :: (Core.Maybe Core.Word32),
+    -- | A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.
+    pageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdExchangeSellerAccountsUrlchannelsList' with the minimum fields required to make a request.
+newAdExchangeSellerAccountsUrlchannelsList ::
+  -- |  Account to which the ad client belongs. See 'accountId'.
+  Core.Text ->
+  -- |  Ad client for which to list URL channels. See 'adClientId'.
+  Core.Text ->
+  AdExchangeSellerAccountsUrlchannelsList
+newAdExchangeSellerAccountsUrlchannelsList accountId adClientId =
+  AdExchangeSellerAccountsUrlchannelsList
+    { accountId = accountId,
+      adClientId = adClientId,
+      maxResults = Core.Nothing,
+      pageToken = Core.Nothing
+    }
+
+instance Core.GoogleRequest AdExchangeSellerAccountsUrlchannelsList where
+  type Rs AdExchangeSellerAccountsUrlchannelsList = UrlChannels
+  type
+    Scopes AdExchangeSellerAccountsUrlchannelsList =
+      '[Adexchange'Seller, Adexchange'Seller'Readonly]
+  requestClient AdExchangeSellerAccountsUrlchannelsList {..} =
+    go
+      accountId
+      adClientId
+      maxResults
+      pageToken
+      (Core.Just Core.AltJSON)
+      adExchangeSellerService
+    where
+      go =
+        Core.buildClient
+          ( Core.Proxy ::
+              Core.Proxy AdExchangeSellerAccountsUrlchannelsListResource
+          )
+          Core.mempty
diff --git a/gen/Gogol/AdExchangeSeller/Internal/Product.hs b/gen/Gogol/AdExchangeSeller/Internal/Product.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Internal/Product.hs
@@ -0,0 +1,1035 @@
+{-# 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.AdExchangeSeller.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.AdExchangeSeller.Internal.Product
+  ( -- * Account
+    Account (..),
+    newAccount,
+
+    -- * Accounts
+    Accounts (..),
+    newAccounts,
+
+    -- * AdClient
+    AdClient (..),
+    newAdClient,
+
+    -- * AdClients
+    AdClients (..),
+    newAdClients,
+
+    -- * Alert
+    Alert (..),
+    newAlert,
+
+    -- * Alerts
+    Alerts (..),
+    newAlerts,
+
+    -- * CustomChannel
+    CustomChannel (..),
+    newCustomChannel,
+
+    -- * CustomChannel_TargetingInfo
+    CustomChannel_TargetingInfo (..),
+    newCustomChannel_TargetingInfo,
+
+    -- * CustomChannels
+    CustomChannels (..),
+    newCustomChannels,
+
+    -- * Metadata
+    Metadata (..),
+    newMetadata,
+
+    -- * PreferredDeal
+    PreferredDeal (..),
+    newPreferredDeal,
+
+    -- * PreferredDeals
+    PreferredDeals (..),
+    newPreferredDeals,
+
+    -- * Report
+    Report (..),
+    newReport,
+
+    -- * Report_HeadersItem
+    Report_HeadersItem (..),
+    newReport_HeadersItem,
+
+    -- * ReportingMetadataEntry
+    ReportingMetadataEntry (..),
+    newReportingMetadataEntry,
+
+    -- * SavedReport
+    SavedReport (..),
+    newSavedReport,
+
+    -- * SavedReports
+    SavedReports (..),
+    newSavedReports,
+
+    -- * UrlChannel
+    UrlChannel (..),
+    newUrlChannel,
+
+    -- * UrlChannels
+    UrlChannels (..),
+    newUrlChannels,
+  )
+where
+
+import Gogol.AdExchangeSeller.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+--
+-- /See:/ 'newAccount' smart constructor.
+data Account = Account
+  { -- | Unique identifier of this account.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#account.
+    kind :: Core.Text,
+    -- | Name of this account.
+    name :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Account' with the minimum fields required to make a request.
+newAccount ::
+  Account
+newAccount =
+  Account
+    { id = Core.Nothing,
+      kind = "adexchangeseller#account",
+      name = Core.Nothing
+    }
+
+instance Core.FromJSON Account where
+  parseJSON =
+    Core.withObject
+      "Account"
+      ( \o ->
+          Account
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#account")
+            Core.<*> (o Core..:? "name")
+      )
+
+instance Core.ToJSON Account where
+  toJSON Account {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name
+          ]
+      )
+
+--
+-- /See:/ 'newAccounts' smart constructor.
+data Accounts = Accounts
+  { -- | ETag of this response for caching purposes.
+    etag :: (Core.Maybe Core.Text),
+    -- | The accounts returned in this list response.
+    items :: (Core.Maybe [Account]),
+    -- | Kind of list this is, in this case adexchangeseller#accounts.
+    kind :: Core.Text,
+    -- | Continuation token used to page through accounts. To retrieve the next page of results, set the next request\'s \"pageToken\" value to this.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Accounts' with the minimum fields required to make a request.
+newAccounts ::
+  Accounts
+newAccounts =
+  Accounts
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "adexchangeseller#accounts",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON Accounts where
+  parseJSON =
+    Core.withObject
+      "Accounts"
+      ( \o ->
+          Accounts
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#accounts")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON Accounts where
+  toJSON Accounts {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+--
+-- /See:/ 'newAdClient' smart constructor.
+data AdClient = AdClient
+  { -- | Whether this ad client is opted in to ARC.
+    arcOptIn :: (Core.Maybe Core.Bool),
+    -- | Unique identifier of this ad client.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#adClient.
+    kind :: Core.Text,
+    -- | This ad client\'s product code, which corresponds to the PRODUCT_CODE report dimension.
+    productCode :: (Core.Maybe Core.Text),
+    -- | Whether this ad client supports being reported on.
+    supportsReporting :: (Core.Maybe Core.Bool)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdClient' with the minimum fields required to make a request.
+newAdClient ::
+  AdClient
+newAdClient =
+  AdClient
+    { arcOptIn = Core.Nothing,
+      id = Core.Nothing,
+      kind = "adexchangeseller#adClient",
+      productCode = Core.Nothing,
+      supportsReporting = Core.Nothing
+    }
+
+instance Core.FromJSON AdClient where
+  parseJSON =
+    Core.withObject
+      "AdClient"
+      ( \o ->
+          AdClient
+            Core.<$> (o Core..:? "arcOptIn")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#adClient")
+            Core.<*> (o Core..:? "productCode")
+            Core.<*> (o Core..:? "supportsReporting")
+      )
+
+instance Core.ToJSON AdClient where
+  toJSON AdClient {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("arcOptIn" Core..=) Core.<$> arcOptIn,
+            ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("productCode" Core..=) Core.<$> productCode,
+            ("supportsReporting" Core..=) Core.<$> supportsReporting
+          ]
+      )
+
+--
+-- /See:/ 'newAdClients' smart constructor.
+data AdClients = AdClients
+  { -- | ETag of this response for caching purposes.
+    etag :: (Core.Maybe Core.Text),
+    -- | The ad clients returned in this list response.
+    items :: (Core.Maybe [AdClient]),
+    -- | Kind of list this is, in this case adexchangeseller#adClients.
+    kind :: Core.Text,
+    -- | Continuation token used to page through ad clients. To retrieve the next page of results, set the next request\'s \"pageToken\" value to this.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'AdClients' with the minimum fields required to make a request.
+newAdClients ::
+  AdClients
+newAdClients =
+  AdClients
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "adexchangeseller#adClients",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON AdClients where
+  parseJSON =
+    Core.withObject
+      "AdClients"
+      ( \o ->
+          AdClients
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#adClients")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON AdClients where
+  toJSON AdClients {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+--
+-- /See:/ 'newAlert' smart constructor.
+data Alert = Alert
+  { -- | Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#alert.
+    kind :: Core.Text,
+    -- | The localized alert message.
+    message :: (Core.Maybe Core.Text),
+    -- | Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+    severity :: (Core.Maybe Core.Text),
+    -- | Type of this alert. Possible values: SELF/HOLD, MIGRATED/TO/BILLING3, ADDRESS/PIN/VERIFICATION, PHONE/PIN/VERIFICATION, CORPORATE/ENTITY, GRAYLISTED/PUBLISHER, API/HOLD.
+    type' :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Alert' with the minimum fields required to make a request.
+newAlert ::
+  Alert
+newAlert =
+  Alert
+    { id = Core.Nothing,
+      kind = "adexchangeseller#alert",
+      message = Core.Nothing,
+      severity = Core.Nothing,
+      type' = Core.Nothing
+    }
+
+instance Core.FromJSON Alert where
+  parseJSON =
+    Core.withObject
+      "Alert"
+      ( \o ->
+          Alert
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#alert")
+            Core.<*> (o Core..:? "message")
+            Core.<*> (o Core..:? "severity")
+            Core.<*> (o Core..:? "type")
+      )
+
+instance Core.ToJSON Alert where
+  toJSON Alert {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("message" Core..=) Core.<$> message,
+            ("severity" Core..=) Core.<$> severity,
+            ("type" Core..=) Core.<$> type'
+          ]
+      )
+
+--
+-- /See:/ 'newAlerts' smart constructor.
+data Alerts = Alerts
+  { -- | The alerts returned in this list response.
+    items :: (Core.Maybe [Alert]),
+    -- | Kind of list this is, in this case adexchangeseller#alerts.
+    kind :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Alerts' with the minimum fields required to make a request.
+newAlerts ::
+  Alerts
+newAlerts =
+  Alerts {items = Core.Nothing, kind = "adexchangeseller#alerts"}
+
+instance Core.FromJSON Alerts where
+  parseJSON =
+    Core.withObject
+      "Alerts"
+      ( \o ->
+          Alerts
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#alerts")
+      )
+
+instance Core.ToJSON Alerts where
+  toJSON Alerts {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind)
+          ]
+      )
+
+--
+-- /See:/ 'newCustomChannel' smart constructor.
+data CustomChannel = CustomChannel
+  { -- | Code of this custom channel, not necessarily unique across ad clients.
+    code :: (Core.Maybe Core.Text),
+    -- | Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#customChannel.
+    kind :: Core.Text,
+    -- | Name of this custom channel.
+    name :: (Core.Maybe Core.Text),
+    -- | The targeting information of this custom channel, if activated.
+    targetingInfo :: (Core.Maybe CustomChannel_TargetingInfo)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CustomChannel' with the minimum fields required to make a request.
+newCustomChannel ::
+  CustomChannel
+newCustomChannel =
+  CustomChannel
+    { code = Core.Nothing,
+      id = Core.Nothing,
+      kind = "adexchangeseller#customChannel",
+      name = Core.Nothing,
+      targetingInfo = Core.Nothing
+    }
+
+instance Core.FromJSON CustomChannel where
+  parseJSON =
+    Core.withObject
+      "CustomChannel"
+      ( \o ->
+          CustomChannel
+            Core.<$> (o Core..:? "code")
+            Core.<*> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#customChannel")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "targetingInfo")
+      )
+
+instance Core.ToJSON CustomChannel where
+  toJSON CustomChannel {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("code" Core..=) Core.<$> code,
+            ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name,
+            ("targetingInfo" Core..=) Core.<$> targetingInfo
+          ]
+      )
+
+-- | The targeting information of this custom channel, if activated.
+--
+-- /See:/ 'newCustomChannel_TargetingInfo' smart constructor.
+data CustomChannel_TargetingInfo = CustomChannel_TargetingInfo
+  { -- | The name used to describe this channel externally.
+    adsAppearOn :: (Core.Maybe Core.Text),
+    -- | The external description of the channel.
+    description :: (Core.Maybe Core.Text),
+    -- | The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP/LEFT, TOP/CENTER, TOP/RIGHT, MIDDLE/LEFT, MIDDLE/CENTER, MIDDLE/RIGHT, BOTTOM/LEFT, BOTTOM/CENTER, BOTTOM/RIGHT, MULTIPLE/LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS.
+    location :: (Core.Maybe Core.Text),
+    -- | The language of the sites ads will be displayed on.
+    siteLanguage :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CustomChannel_TargetingInfo' with the minimum fields required to make a request.
+newCustomChannel_TargetingInfo ::
+  CustomChannel_TargetingInfo
+newCustomChannel_TargetingInfo =
+  CustomChannel_TargetingInfo
+    { adsAppearOn = Core.Nothing,
+      description = Core.Nothing,
+      location = Core.Nothing,
+      siteLanguage = Core.Nothing
+    }
+
+instance Core.FromJSON CustomChannel_TargetingInfo where
+  parseJSON =
+    Core.withObject
+      "CustomChannel_TargetingInfo"
+      ( \o ->
+          CustomChannel_TargetingInfo
+            Core.<$> (o Core..:? "adsAppearOn")
+            Core.<*> (o Core..:? "description")
+            Core.<*> (o Core..:? "location")
+            Core.<*> (o Core..:? "siteLanguage")
+      )
+
+instance Core.ToJSON CustomChannel_TargetingInfo where
+  toJSON CustomChannel_TargetingInfo {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("adsAppearOn" Core..=) Core.<$> adsAppearOn,
+            ("description" Core..=) Core.<$> description,
+            ("location" Core..=) Core.<$> location,
+            ("siteLanguage" Core..=) Core.<$> siteLanguage
+          ]
+      )
+
+--
+-- /See:/ 'newCustomChannels' smart constructor.
+data CustomChannels = CustomChannels
+  { -- | ETag of this response for caching purposes.
+    etag :: (Core.Maybe Core.Text),
+    -- | The custom channels returned in this list response.
+    items :: (Core.Maybe [CustomChannel]),
+    -- | Kind of list this is, in this case adexchangeseller#customChannels.
+    kind :: Core.Text,
+    -- | Continuation token used to page through custom channels. To retrieve the next page of results, set the next request\'s \"pageToken\" value to this.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'CustomChannels' with the minimum fields required to make a request.
+newCustomChannels ::
+  CustomChannels
+newCustomChannels =
+  CustomChannels
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "adexchangeseller#customChannels",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON CustomChannels where
+  parseJSON =
+    Core.withObject
+      "CustomChannels"
+      ( \o ->
+          CustomChannels
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#customChannels")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON CustomChannels where
+  toJSON CustomChannels {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+--
+-- /See:/ 'newMetadata' smart constructor.
+data Metadata = Metadata
+  { items :: (Core.Maybe [ReportingMetadataEntry]),
+    -- | Kind of list this is, in this case adexchangeseller#metadata.
+    kind :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Metadata' with the minimum fields required to make a request.
+newMetadata ::
+  Metadata
+newMetadata =
+  Metadata
+    { items = Core.Nothing,
+      kind = "adexchangeseller#metadata"
+    }
+
+instance Core.FromJSON Metadata where
+  parseJSON =
+    Core.withObject
+      "Metadata"
+      ( \o ->
+          Metadata
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#metadata")
+      )
+
+instance Core.ToJSON Metadata where
+  toJSON Metadata {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind)
+          ]
+      )
+
+--
+-- /See:/ 'newPreferredDeal' smart constructor.
+data PreferredDeal = PreferredDeal
+  { -- | The name of the advertiser this deal is for.
+    advertiserName :: (Core.Maybe Core.Text),
+    -- | The name of the buyer network this deal is for.
+    buyerNetworkName :: (Core.Maybe Core.Text),
+    -- | The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
+    currencyCode :: (Core.Maybe Core.Text),
+    -- | Time when this deal stops being active in seconds since the epoch (GMT). If not set then this deal is valid until manually disabled by the publisher.
+    endTime :: (Core.Maybe Core.Word64),
+    -- | The fixed price for this preferred deal. In cpm micros of currency according to currencyCode. If set, then this preferred deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
+    fixedCpm :: (Core.Maybe Core.Int64),
+    -- | Unique identifier of this preferred deal.
+    id :: (Core.Maybe Core.Int64),
+    -- | Kind of resource this is, in this case adexchangeseller#preferredDeal.
+    kind :: Core.Text,
+    -- | Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.
+    startTime :: (Core.Maybe Core.Word64)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'PreferredDeal' with the minimum fields required to make a request.
+newPreferredDeal ::
+  PreferredDeal
+newPreferredDeal =
+  PreferredDeal
+    { advertiserName = Core.Nothing,
+      buyerNetworkName = Core.Nothing,
+      currencyCode = Core.Nothing,
+      endTime = Core.Nothing,
+      fixedCpm = Core.Nothing,
+      id = Core.Nothing,
+      kind = "adexchangeseller#preferredDeal",
+      startTime = Core.Nothing
+    }
+
+instance Core.FromJSON PreferredDeal where
+  parseJSON =
+    Core.withObject
+      "PreferredDeal"
+      ( \o ->
+          PreferredDeal
+            Core.<$> (o Core..:? "advertiserName")
+            Core.<*> (o Core..:? "buyerNetworkName")
+            Core.<*> (o Core..:? "currencyCode")
+            Core.<*> (o Core..:? "endTime" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "fixedCpm" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "id" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#preferredDeal")
+            Core.<*> (o Core..:? "startTime" Core.<&> Core.fmap Core.fromAsText)
+      )
+
+instance Core.ToJSON PreferredDeal where
+  toJSON PreferredDeal {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("advertiserName" Core..=) Core.<$> advertiserName,
+            ("buyerNetworkName" Core..=) Core.<$> buyerNetworkName,
+            ("currencyCode" Core..=) Core.<$> currencyCode,
+            ("endTime" Core..=) Core.. Core.AsText Core.<$> endTime,
+            ("fixedCpm" Core..=) Core.. Core.AsText Core.<$> fixedCpm,
+            ("id" Core..=) Core.. Core.AsText Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("startTime" Core..=) Core.. Core.AsText Core.<$> startTime
+          ]
+      )
+
+--
+-- /See:/ 'newPreferredDeals' smart constructor.
+data PreferredDeals = PreferredDeals
+  { -- | The preferred deals returned in this list response.
+    items :: (Core.Maybe [PreferredDeal]),
+    -- | Kind of list this is, in this case adexchangeseller#preferredDeals.
+    kind :: Core.Text
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'PreferredDeals' with the minimum fields required to make a request.
+newPreferredDeals ::
+  PreferredDeals
+newPreferredDeals =
+  PreferredDeals
+    { items = Core.Nothing,
+      kind = "adexchangeseller#preferredDeals"
+    }
+
+instance Core.FromJSON PreferredDeals where
+  parseJSON =
+    Core.withObject
+      "PreferredDeals"
+      ( \o ->
+          PreferredDeals
+            Core.<$> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#preferredDeals")
+      )
+
+instance Core.ToJSON PreferredDeals where
+  toJSON PreferredDeals {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind)
+          ]
+      )
+
+--
+-- /See:/ 'newReport' smart constructor.
+data Report = Report
+  { -- | The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+    averages :: (Core.Maybe [Core.Text]),
+    -- | The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.
+    headers :: (Core.Maybe [Report_HeadersItem]),
+    -- | Kind this is, in this case adexchangeseller#report.
+    kind :: Core.Text,
+    -- | The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.
+    rows :: (Core.Maybe [[Core.Text]]),
+    -- | The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.
+    totalMatchedRows :: (Core.Maybe Core.Int64),
+    -- | The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.
+    totals :: (Core.Maybe [Core.Text]),
+    -- | Any warnings associated with generation of the report.
+    warnings :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Report' with the minimum fields required to make a request.
+newReport ::
+  Report
+newReport =
+  Report
+    { averages = Core.Nothing,
+      headers = Core.Nothing,
+      kind = "adexchangeseller#report",
+      rows = Core.Nothing,
+      totalMatchedRows = Core.Nothing,
+      totals = Core.Nothing,
+      warnings = Core.Nothing
+    }
+
+instance Core.FromJSON Report where
+  parseJSON =
+    Core.withObject
+      "Report"
+      ( \o ->
+          Report
+            Core.<$> (o Core..:? "averages")
+            Core.<*> (o Core..:? "headers")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#report")
+            Core.<*> (o Core..:? "rows")
+            Core.<*> (o Core..:? "totalMatchedRows" Core.<&> Core.fmap Core.fromAsText)
+            Core.<*> (o Core..:? "totals")
+            Core.<*> (o Core..:? "warnings")
+      )
+
+instance Core.ToJSON Report where
+  toJSON Report {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("averages" Core..=) Core.<$> averages,
+            ("headers" Core..=) Core.<$> headers,
+            Core.Just ("kind" Core..= kind),
+            ("rows" Core..=) Core.<$> rows,
+            ("totalMatchedRows" Core..=)
+              Core.. Core.AsText
+              Core.<$> totalMatchedRows,
+            ("totals" Core..=) Core.<$> totals,
+            ("warnings" Core..=) Core.<$> warnings
+          ]
+      )
+
+--
+-- /See:/ 'newReport_HeadersItem' smart constructor.
+data Report_HeadersItem = Report_HeadersItem
+  { -- | The currency of this column. Only present if the header type is METRIC_CURRENCY.
+    currency :: (Core.Maybe Core.Text),
+    -- | The name of the header.
+    name :: (Core.Maybe Core.Text),
+    -- | The type of the header; one of DIMENSION, METRIC/TALLY, METRIC/RATIO, or METRIC_CURRENCY.
+    type' :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'Report_HeadersItem' with the minimum fields required to make a request.
+newReport_HeadersItem ::
+  Report_HeadersItem
+newReport_HeadersItem =
+  Report_HeadersItem
+    { currency = Core.Nothing,
+      name = Core.Nothing,
+      type' = Core.Nothing
+    }
+
+instance Core.FromJSON Report_HeadersItem where
+  parseJSON =
+    Core.withObject
+      "Report_HeadersItem"
+      ( \o ->
+          Report_HeadersItem
+            Core.<$> (o Core..:? "currency")
+            Core.<*> (o Core..:? "name")
+            Core.<*> (o Core..:? "type")
+      )
+
+instance Core.ToJSON Report_HeadersItem where
+  toJSON Report_HeadersItem {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("currency" Core..=) Core.<$> currency,
+            ("name" Core..=) Core.<$> name,
+            ("type" Core..=) Core.<$> type'
+          ]
+      )
+
+--
+-- /See:/ 'newReportingMetadataEntry' smart constructor.
+data ReportingMetadataEntry = ReportingMetadataEntry
+  { -- | For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.
+    compatibleDimensions :: (Core.Maybe [Core.Text]),
+    -- | The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.
+    compatibleMetrics :: (Core.Maybe [Core.Text]),
+    -- | Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#reportingMetadataEntry.
+    kind :: Core.Text,
+    -- | The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+    requiredDimensions :: (Core.Maybe [Core.Text]),
+    -- | The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.
+    requiredMetrics :: (Core.Maybe [Core.Text]),
+    -- | The codes of the projects supported by the dimension or metric this reporting metadata entry describes.
+    supportedProducts :: (Core.Maybe [Core.Text])
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'ReportingMetadataEntry' with the minimum fields required to make a request.
+newReportingMetadataEntry ::
+  ReportingMetadataEntry
+newReportingMetadataEntry =
+  ReportingMetadataEntry
+    { compatibleDimensions = Core.Nothing,
+      compatibleMetrics = Core.Nothing,
+      id = Core.Nothing,
+      kind = "adexchangeseller#reportingMetadataEntry",
+      requiredDimensions = Core.Nothing,
+      requiredMetrics = Core.Nothing,
+      supportedProducts = Core.Nothing
+    }
+
+instance Core.FromJSON ReportingMetadataEntry where
+  parseJSON =
+    Core.withObject
+      "ReportingMetadataEntry"
+      ( \o ->
+          ReportingMetadataEntry
+            Core.<$> (o Core..:? "compatibleDimensions")
+            Core.<*> (o Core..:? "compatibleMetrics")
+            Core.<*> (o Core..:? "id")
+            Core.<*> ( o
+                         Core..:? "kind"
+                         Core..!= "adexchangeseller#reportingMetadataEntry"
+                     )
+            Core.<*> (o Core..:? "requiredDimensions")
+            Core.<*> (o Core..:? "requiredMetrics")
+            Core.<*> (o Core..:? "supportedProducts")
+      )
+
+instance Core.ToJSON ReportingMetadataEntry where
+  toJSON ReportingMetadataEntry {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("compatibleDimensions" Core..=) Core.<$> compatibleDimensions,
+            ("compatibleMetrics" Core..=) Core.<$> compatibleMetrics,
+            ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("requiredDimensions" Core..=) Core.<$> requiredDimensions,
+            ("requiredMetrics" Core..=) Core.<$> requiredMetrics,
+            ("supportedProducts" Core..=) Core.<$> supportedProducts
+          ]
+      )
+
+--
+-- /See:/ 'newSavedReport' smart constructor.
+data SavedReport = SavedReport
+  { -- | Unique identifier of this saved report.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#savedReport.
+    kind :: Core.Text,
+    -- | This saved report\'s name.
+    name :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'SavedReport' with the minimum fields required to make a request.
+newSavedReport ::
+  SavedReport
+newSavedReport =
+  SavedReport
+    { id = Core.Nothing,
+      kind = "adexchangeseller#savedReport",
+      name = Core.Nothing
+    }
+
+instance Core.FromJSON SavedReport where
+  parseJSON =
+    Core.withObject
+      "SavedReport"
+      ( \o ->
+          SavedReport
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#savedReport")
+            Core.<*> (o Core..:? "name")
+      )
+
+instance Core.ToJSON SavedReport where
+  toJSON SavedReport {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("name" Core..=) Core.<$> name
+          ]
+      )
+
+--
+-- /See:/ 'newSavedReports' smart constructor.
+data SavedReports = SavedReports
+  { -- | ETag of this response for caching purposes.
+    etag :: (Core.Maybe Core.Text),
+    -- | The saved reports returned in this list response.
+    items :: (Core.Maybe [SavedReport]),
+    -- | Kind of list this is, in this case adexchangeseller#savedReports.
+    kind :: Core.Text,
+    -- | Continuation token used to page through saved reports. To retrieve the next page of results, set the next request\'s \"pageToken\" value to this.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'SavedReports' with the minimum fields required to make a request.
+newSavedReports ::
+  SavedReports
+newSavedReports =
+  SavedReports
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "adexchangeseller#savedReports",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON SavedReports where
+  parseJSON =
+    Core.withObject
+      "SavedReports"
+      ( \o ->
+          SavedReports
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#savedReports")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON SavedReports where
+  toJSON SavedReports {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
+
+--
+-- /See:/ 'newUrlChannel' smart constructor.
+data UrlChannel = UrlChannel
+  { -- | Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format.
+    id :: (Core.Maybe Core.Text),
+    -- | Kind of resource this is, in this case adexchangeseller#urlChannel.
+    kind :: Core.Text,
+    -- | URL Pattern of this URL channel. Does not include \"http:\/\/\" or \"https:\/\/\". Example: www.example.com\/home
+    urlPattern :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'UrlChannel' with the minimum fields required to make a request.
+newUrlChannel ::
+  UrlChannel
+newUrlChannel =
+  UrlChannel
+    { id = Core.Nothing,
+      kind = "adexchangeseller#urlChannel",
+      urlPattern = Core.Nothing
+    }
+
+instance Core.FromJSON UrlChannel where
+  parseJSON =
+    Core.withObject
+      "UrlChannel"
+      ( \o ->
+          UrlChannel
+            Core.<$> (o Core..:? "id")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#urlChannel")
+            Core.<*> (o Core..:? "urlPattern")
+      )
+
+instance Core.ToJSON UrlChannel where
+  toJSON UrlChannel {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("id" Core..=) Core.<$> id,
+            Core.Just ("kind" Core..= kind),
+            ("urlPattern" Core..=) Core.<$> urlPattern
+          ]
+      )
+
+--
+-- /See:/ 'newUrlChannels' smart constructor.
+data UrlChannels = UrlChannels
+  { -- | ETag of this response for caching purposes.
+    etag :: (Core.Maybe Core.Text),
+    -- | The URL channels returned in this list response.
+    items :: (Core.Maybe [UrlChannel]),
+    -- | Kind of list this is, in this case adexchangeseller#urlChannels.
+    kind :: Core.Text,
+    -- | Continuation token used to page through URL channels. To retrieve the next page of results, set the next request\'s \"pageToken\" value to this.
+    nextPageToken :: (Core.Maybe Core.Text)
+  }
+  deriving (Core.Eq, Core.Show, Core.Generic)
+
+-- | Creates a value of 'UrlChannels' with the minimum fields required to make a request.
+newUrlChannels ::
+  UrlChannels
+newUrlChannels =
+  UrlChannels
+    { etag = Core.Nothing,
+      items = Core.Nothing,
+      kind = "adexchangeseller#urlChannels",
+      nextPageToken = Core.Nothing
+    }
+
+instance Core.FromJSON UrlChannels where
+  parseJSON =
+    Core.withObject
+      "UrlChannels"
+      ( \o ->
+          UrlChannels
+            Core.<$> (o Core..:? "etag")
+            Core.<*> (o Core..:? "items")
+            Core.<*> (o Core..:? "kind" Core..!= "adexchangeseller#urlChannels")
+            Core.<*> (o Core..:? "nextPageToken")
+      )
+
+instance Core.ToJSON UrlChannels where
+  toJSON UrlChannels {..} =
+    Core.object
+      ( Core.catMaybes
+          [ ("etag" Core..=) Core.<$> etag,
+            ("items" Core..=) Core.<$> items,
+            Core.Just ("kind" Core..= kind),
+            ("nextPageToken" Core..=) Core.<$> nextPageToken
+          ]
+      )
diff --git a/gen/Gogol/AdExchangeSeller/Internal/Sum.hs b/gen/Gogol/AdExchangeSeller/Internal/Sum.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Internal/Sum.hs
@@ -0,0 +1,31 @@
+{-# 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.AdExchangeSeller.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.AdExchangeSeller.Internal.Sum
+  (
+  )
+where
+
+import Gogol.Prelude qualified as Core
diff --git a/gen/Gogol/AdExchangeSeller/Types.hs b/gen/Gogol/AdExchangeSeller/Types.hs
new file mode 100644
--- /dev/null
+++ b/gen/Gogol/AdExchangeSeller/Types.hs
@@ -0,0 +1,131 @@
+{-# 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.AdExchangeSeller.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.AdExchangeSeller.Types
+  ( -- * Configuration
+    adExchangeSellerService,
+
+    -- * OAuth Scopes
+    Adexchange'Seller,
+    Adexchange'Seller'Readonly,
+
+    -- * Types
+
+    -- ** Account
+    Account (..),
+    newAccount,
+
+    -- ** Accounts
+    Accounts (..),
+    newAccounts,
+
+    -- ** AdClient
+    AdClient (..),
+    newAdClient,
+
+    -- ** AdClients
+    AdClients (..),
+    newAdClients,
+
+    -- ** Alert
+    Alert (..),
+    newAlert,
+
+    -- ** Alerts
+    Alerts (..),
+    newAlerts,
+
+    -- ** CustomChannel
+    CustomChannel (..),
+    newCustomChannel,
+
+    -- ** CustomChannel_TargetingInfo
+    CustomChannel_TargetingInfo (..),
+    newCustomChannel_TargetingInfo,
+
+    -- ** CustomChannels
+    CustomChannels (..),
+    newCustomChannels,
+
+    -- ** Metadata
+    Metadata (..),
+    newMetadata,
+
+    -- ** PreferredDeal
+    PreferredDeal (..),
+    newPreferredDeal,
+
+    -- ** PreferredDeals
+    PreferredDeals (..),
+    newPreferredDeals,
+
+    -- ** Report
+    Report (..),
+    newReport,
+
+    -- ** Report_HeadersItem
+    Report_HeadersItem (..),
+    newReport_HeadersItem,
+
+    -- ** ReportingMetadataEntry
+    ReportingMetadataEntry (..),
+    newReportingMetadataEntry,
+
+    -- ** SavedReport
+    SavedReport (..),
+    newSavedReport,
+
+    -- ** SavedReports
+    SavedReports (..),
+    newSavedReports,
+
+    -- ** UrlChannel
+    UrlChannel (..),
+    newUrlChannel,
+
+    -- ** UrlChannels
+    UrlChannels (..),
+    newUrlChannels,
+  )
+where
+
+import Gogol.AdExchangeSeller.Internal.Product
+import Gogol.AdExchangeSeller.Internal.Sum
+import Gogol.Prelude qualified as Core
+
+-- | Default request referring to version @v2.0@ of the Ad Exchange Seller API. This contains the host and root path used as a starting point for constructing service requests.
+adExchangeSellerService :: Core.ServiceConfig
+adExchangeSellerService =
+  Core.defaultService
+    (Core.ServiceId "adexchangeseller:v2.0")
+    "www.googleapis.com"
+
+-- | View and manage your Ad Exchange data
+type Adexchange'Seller =
+  "https://www.googleapis.com/auth/adexchange.seller"
+
+-- | View your Ad Exchange data
+type Adexchange'Seller'Readonly =
+  "https://www.googleapis.com/auth/adexchange.seller.readonly"
diff --git a/gen/Network/Google/AdExchangeSeller.hs b/gen/Network/Google/AdExchangeSeller.hs
deleted file mode 100644
--- a/gen/Network/Google/AdExchangeSeller.hs
+++ /dev/null
@@ -1,270 +0,0 @@
-{-# LANGUAGE DataKinds         #-}
-{-# LANGUAGE NoImplicitPrelude #-}
-{-# LANGUAGE TypeOperators     #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}
-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-
--- |
--- Module      : Network.Google.AdExchangeSeller
--- 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)
---
--- Accesses the inventory of Ad Exchange seller users and generates
--- reports.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference>
-module Network.Google.AdExchangeSeller
-    (
-    -- * Service Configuration
-      adExchangeSellerService
-
-    -- * OAuth Scopes
-    , adExchangeSellerReadOnlyScope
-    , adExchangeSellerScope
-
-    -- * API Declaration
-    , AdExchangeSellerAPI
-
-    -- * Resources
-
-    -- ** adexchangeseller.accounts.adclients.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List
-
-    -- ** adexchangeseller.accounts.alerts.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List
-
-    -- ** adexchangeseller.accounts.customchannels.get
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get
-
-    -- ** adexchangeseller.accounts.customchannels.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List
-
-    -- ** adexchangeseller.accounts.get
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Get
-
-    -- ** adexchangeseller.accounts.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.List
-
-    -- ** adexchangeseller.accounts.metadata.dimensions.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List
-
-    -- ** adexchangeseller.accounts.metadata.metrics.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List
-
-    -- ** adexchangeseller.accounts.preferreddeals.get
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get
-
-    -- ** adexchangeseller.accounts.preferreddeals.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List
-
-    -- ** adexchangeseller.accounts.reports.generate
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate
-
-    -- ** adexchangeseller.accounts.reports.saved.generate
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate
-
-    -- ** adexchangeseller.accounts.reports.saved.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List
-
-    -- ** adexchangeseller.accounts.urlchannels.list
-    , module Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List
-
-    -- * Types
-
-    -- ** AdClients
-    , AdClients
-    , adClients
-    , acEtag
-    , acNextPageToken
-    , acKind
-    , acItems
-
-    -- ** ReportingMetadataEntry
-    , ReportingMetadataEntry
-    , reportingMetadataEntry
-    , rmeKind
-    , rmeRequiredMetrics
-    , rmeCompatibleMetrics
-    , rmeRequiredDimensions
-    , rmeId
-    , rmeCompatibleDimensions
-    , rmeSupportedProducts
-
-    -- ** Accounts
-    , Accounts
-    , accounts
-    , aEtag
-    , aNextPageToken
-    , aKind
-    , aItems
-
-    -- ** Alerts
-    , Alerts
-    , alerts
-    , aleKind
-    , aleItems
-
-    -- ** SavedReports
-    , SavedReports
-    , savedReports
-    , srEtag
-    , srNextPageToken
-    , srKind
-    , srItems
-
-    -- ** SavedReport
-    , SavedReport
-    , savedReport
-    , sKind
-    , sName
-    , sId
-
-    -- ** URLChannels
-    , URLChannels
-    , urlChannels
-    , ucEtag
-    , ucNextPageToken
-    , ucKind
-    , ucItems
-
-    -- ** CustomChannels
-    , CustomChannels
-    , customChannels
-    , ccEtag
-    , ccNextPageToken
-    , ccKind
-    , ccItems
-
-    -- ** Report
-    , Report
-    , report
-    , rKind
-    , rAverages
-    , rWarnings
-    , rRows
-    , rTotals
-    , rHeaders
-    , rTotalMatchedRows
-
-    -- ** Alert
-    , Alert
-    , alert
-    , aaKind
-    , aaSeverity
-    , aaId
-    , aaType
-    , aaMessage
-
-    -- ** Account
-    , Account
-    , account
-    , accKind
-    , accName
-    , accId
-
-    -- ** AdClient
-    , AdClient
-    , adClient
-    , adKind
-    , adArcOptIn
-    , adSupportsReporting
-    , adId
-    , adProductCode
-
-    -- ** ReportHeadersItem
-    , ReportHeadersItem
-    , reportHeadersItem
-    , rhiName
-    , rhiCurrency
-    , rhiType
-
-    -- ** CustomChannelTargetingInfo
-    , CustomChannelTargetingInfo
-    , customChannelTargetingInfo
-    , cctiLocation
-    , cctiSiteLanguage
-    , cctiAdsAppearOn
-    , cctiDescription
-
-    -- ** PreferredDeals
-    , PreferredDeals
-    , preferredDeals
-    , pdKind
-    , pdItems
-
-    -- ** Metadata
-    , Metadata
-    , metadata
-    , mKind
-    , mItems
-
-    -- ** CustomChannel
-    , CustomChannel
-    , customChannel
-    , cTargetingInfo
-    , cKind
-    , cName
-    , cCode
-    , cId
-
-    -- ** URLChannel
-    , URLChannel
-    , urlChannel
-    , urlcKind
-    , urlcId
-    , urlcURLPattern
-
-    -- ** PreferredDeal
-    , PreferredDeal
-    , preferredDeal
-    , pAdvertiserName
-    , pCurrencyCode
-    , pStartTime
-    , pKind
-    , pBuyerNetworkName
-    , pEndTime
-    , pId
-    , pFixedCpm
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-import           Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get
-import           Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Get
-import           Network.Google.Resource.AdExchangeSeller.Accounts.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get
-import           Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate
-import           Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List
-import           Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List
-
-{- $resources
-TODO
--}
-
--- | Represents the entirety of the methods and resources available for the Ad Exchange Seller API service.
-type AdExchangeSellerAPI =
-     AccountsAdClientsListResource :<|>
-       AccountsReportsSavedListResource
-       :<|> AccountsReportsSavedGenerateResource
-       :<|> AccountsReportsGenerateResource
-       :<|> AccountsAlertsListResource
-       :<|> AccountsURLChannelsListResource
-       :<|> AccountsCustomChannelsListResource
-       :<|> AccountsCustomChannelsGetResource
-       :<|> AccountsPreferredDealsListResource
-       :<|> AccountsPreferredDealsGetResource
-       :<|> AccountsMetadataMetricsListResource
-       :<|> AccountsMetadataDimensionsListResource
-       :<|> AccountsListResource
-       :<|> AccountsGetResource
diff --git a/gen/Network/Google/AdExchangeSeller/Types.hs b/gen/Network/Google/AdExchangeSeller/Types.hs
deleted file mode 100644
--- a/gen/Network/Google/AdExchangeSeller/Types.hs
+++ /dev/null
@@ -1,198 +0,0 @@
-{-# LANGUAGE DataKinds          #-}
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AdExchangeSeller.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.AdExchangeSeller.Types
-    (
-    -- * Service Configuration
-      adExchangeSellerService
-
-    -- * OAuth Scopes
-    , adExchangeSellerReadOnlyScope
-    , adExchangeSellerScope
-
-    -- * AdClients
-    , AdClients
-    , adClients
-    , acEtag
-    , acNextPageToken
-    , acKind
-    , acItems
-
-    -- * ReportingMetadataEntry
-    , ReportingMetadataEntry
-    , reportingMetadataEntry
-    , rmeKind
-    , rmeRequiredMetrics
-    , rmeCompatibleMetrics
-    , rmeRequiredDimensions
-    , rmeId
-    , rmeCompatibleDimensions
-    , rmeSupportedProducts
-
-    -- * Accounts
-    , Accounts
-    , accounts
-    , aEtag
-    , aNextPageToken
-    , aKind
-    , aItems
-
-    -- * Alerts
-    , Alerts
-    , alerts
-    , aleKind
-    , aleItems
-
-    -- * SavedReports
-    , SavedReports
-    , savedReports
-    , srEtag
-    , srNextPageToken
-    , srKind
-    , srItems
-
-    -- * SavedReport
-    , SavedReport
-    , savedReport
-    , sKind
-    , sName
-    , sId
-
-    -- * URLChannels
-    , URLChannels
-    , urlChannels
-    , ucEtag
-    , ucNextPageToken
-    , ucKind
-    , ucItems
-
-    -- * CustomChannels
-    , CustomChannels
-    , customChannels
-    , ccEtag
-    , ccNextPageToken
-    , ccKind
-    , ccItems
-
-    -- * Report
-    , Report
-    , report
-    , rKind
-    , rAverages
-    , rWarnings
-    , rRows
-    , rTotals
-    , rHeaders
-    , rTotalMatchedRows
-
-    -- * Alert
-    , Alert
-    , alert
-    , aaKind
-    , aaSeverity
-    , aaId
-    , aaType
-    , aaMessage
-
-    -- * Account
-    , Account
-    , account
-    , accKind
-    , accName
-    , accId
-
-    -- * AdClient
-    , AdClient
-    , adClient
-    , adKind
-    , adArcOptIn
-    , adSupportsReporting
-    , adId
-    , adProductCode
-
-    -- * ReportHeadersItem
-    , ReportHeadersItem
-    , reportHeadersItem
-    , rhiName
-    , rhiCurrency
-    , rhiType
-
-    -- * CustomChannelTargetingInfo
-    , CustomChannelTargetingInfo
-    , customChannelTargetingInfo
-    , cctiLocation
-    , cctiSiteLanguage
-    , cctiAdsAppearOn
-    , cctiDescription
-
-    -- * PreferredDeals
-    , PreferredDeals
-    , preferredDeals
-    , pdKind
-    , pdItems
-
-    -- * Metadata
-    , Metadata
-    , metadata
-    , mKind
-    , mItems
-
-    -- * CustomChannel
-    , CustomChannel
-    , customChannel
-    , cTargetingInfo
-    , cKind
-    , cName
-    , cCode
-    , cId
-
-    -- * URLChannel
-    , URLChannel
-    , urlChannel
-    , urlcKind
-    , urlcId
-    , urlcURLPattern
-
-    -- * PreferredDeal
-    , PreferredDeal
-    , preferredDeal
-    , pAdvertiserName
-    , pCurrencyCode
-    , pStartTime
-    , pKind
-    , pBuyerNetworkName
-    , pEndTime
-    , pId
-    , pFixedCpm
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types.Product
-import           Network.Google.AdExchangeSeller.Types.Sum
-import           Network.Google.Prelude
-
--- | Default request referring to version 'v2.0' of the Ad Exchange Seller API. This contains the host and root path used as a starting point for constructing service requests.
-adExchangeSellerService :: ServiceConfig
-adExchangeSellerService
-  = defaultService (ServiceId "adexchangeseller:v2.0")
-      "www.googleapis.com"
-
--- | View your Ad Exchange data
-adExchangeSellerReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/adexchange.seller.readonly"]
-adExchangeSellerReadOnlyScope = Proxy
-
--- | View and manage your Ad Exchange data
-adExchangeSellerScope :: Proxy '["https://www.googleapis.com/auth/adexchange.seller"]
-adExchangeSellerScope = Proxy
diff --git a/gen/Network/Google/AdExchangeSeller/Types/Product.hs b/gen/Network/Google/AdExchangeSeller/Types/Product.hs
deleted file mode 100644
--- a/gen/Network/Google/AdExchangeSeller/Types/Product.hs
+++ /dev/null
@@ -1,1474 +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.AdExchangeSeller.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.AdExchangeSeller.Types.Product where
-
-import           Network.Google.AdExchangeSeller.Types.Sum
-import           Network.Google.Prelude
-
---
--- /See:/ 'adClients' smart constructor.
-data AdClients =
-  AdClients'
-    { _acEtag          :: !(Maybe Text)
-    , _acNextPageToken :: !(Maybe Text)
-    , _acKind          :: !Text
-    , _acItems         :: !(Maybe [AdClient])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AdClients' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'acEtag'
---
--- * 'acNextPageToken'
---
--- * 'acKind'
---
--- * 'acItems'
-adClients
-    :: AdClients
-adClients =
-  AdClients'
-    { _acEtag = Nothing
-    , _acNextPageToken = Nothing
-    , _acKind = "adexchangeseller#adClients"
-    , _acItems = Nothing
-    }
-
-
--- | ETag of this response for caching purposes.
-acEtag :: Lens' AdClients (Maybe Text)
-acEtag = lens _acEtag (\ s a -> s{_acEtag = a})
-
--- | Continuation token used to page through ad clients. To retrieve the next
--- page of results, set the next request\'s \"pageToken\" value to this.
-acNextPageToken :: Lens' AdClients (Maybe Text)
-acNextPageToken
-  = lens _acNextPageToken
-      (\ s a -> s{_acNextPageToken = a})
-
--- | Kind of list this is, in this case adexchangeseller#adClients.
-acKind :: Lens' AdClients Text
-acKind = lens _acKind (\ s a -> s{_acKind = a})
-
--- | The ad clients returned in this list response.
-acItems :: Lens' AdClients [AdClient]
-acItems
-  = lens _acItems (\ s a -> s{_acItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON AdClients where
-        parseJSON
-          = withObject "AdClients"
-              (\ o ->
-                 AdClients' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "adexchangeseller#adClients")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON AdClients where
-        toJSON AdClients'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _acEtag,
-                  ("nextPageToken" .=) <$> _acNextPageToken,
-                  Just ("kind" .= _acKind), ("items" .=) <$> _acItems])
-
---
--- /See:/ 'reportingMetadataEntry' smart constructor.
-data ReportingMetadataEntry =
-  ReportingMetadataEntry'
-    { _rmeKind                 :: !Text
-    , _rmeRequiredMetrics      :: !(Maybe [Text])
-    , _rmeCompatibleMetrics    :: !(Maybe [Text])
-    , _rmeRequiredDimensions   :: !(Maybe [Text])
-    , _rmeId                   :: !(Maybe Text)
-    , _rmeCompatibleDimensions :: !(Maybe [Text])
-    , _rmeSupportedProducts    :: !(Maybe [Text])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ReportingMetadataEntry' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rmeKind'
---
--- * 'rmeRequiredMetrics'
---
--- * 'rmeCompatibleMetrics'
---
--- * 'rmeRequiredDimensions'
---
--- * 'rmeId'
---
--- * 'rmeCompatibleDimensions'
---
--- * 'rmeSupportedProducts'
-reportingMetadataEntry
-    :: ReportingMetadataEntry
-reportingMetadataEntry =
-  ReportingMetadataEntry'
-    { _rmeKind = "adexchangeseller#reportingMetadataEntry"
-    , _rmeRequiredMetrics = Nothing
-    , _rmeCompatibleMetrics = Nothing
-    , _rmeRequiredDimensions = Nothing
-    , _rmeId = Nothing
-    , _rmeCompatibleDimensions = Nothing
-    , _rmeSupportedProducts = Nothing
-    }
-
-
--- | Kind of resource this is, in this case
--- adexchangeseller#reportingMetadataEntry.
-rmeKind :: Lens' ReportingMetadataEntry Text
-rmeKind = lens _rmeKind (\ s a -> s{_rmeKind = a})
-
--- | The names of the metrics which the dimension or metric this reporting
--- metadata entry describes requires to also be present in order for the
--- report to be valid. Omitting these will not cause an error or warning,
--- but may result in data which cannot be correctly interpreted.
-rmeRequiredMetrics :: Lens' ReportingMetadataEntry [Text]
-rmeRequiredMetrics
-  = lens _rmeRequiredMetrics
-      (\ s a -> s{_rmeRequiredMetrics = a})
-      . _Default
-      . _Coerce
-
--- | The names of the metrics the dimension or metric this reporting metadata
--- entry describes is compatible with.
-rmeCompatibleMetrics :: Lens' ReportingMetadataEntry [Text]
-rmeCompatibleMetrics
-  = lens _rmeCompatibleMetrics
-      (\ s a -> s{_rmeCompatibleMetrics = a})
-      . _Default
-      . _Coerce
-
--- | The names of the dimensions which the dimension or metric this reporting
--- metadata entry describes requires to also be present in order for the
--- report to be valid. Omitting these will not cause an error or warning,
--- but may result in data which cannot be correctly interpreted.
-rmeRequiredDimensions :: Lens' ReportingMetadataEntry [Text]
-rmeRequiredDimensions
-  = lens _rmeRequiredDimensions
-      (\ s a -> s{_rmeRequiredDimensions = a})
-      . _Default
-      . _Coerce
-
--- | Unique identifier of this reporting metadata entry, corresponding to the
--- name of the appropriate dimension or metric.
-rmeId :: Lens' ReportingMetadataEntry (Maybe Text)
-rmeId = lens _rmeId (\ s a -> s{_rmeId = a})
-
--- | For metrics this is a list of dimension IDs which the metric is
--- compatible with, for dimensions it is a list of compatibility groups the
--- dimension belongs to.
-rmeCompatibleDimensions :: Lens' ReportingMetadataEntry [Text]
-rmeCompatibleDimensions
-  = lens _rmeCompatibleDimensions
-      (\ s a -> s{_rmeCompatibleDimensions = a})
-      . _Default
-      . _Coerce
-
--- | The codes of the projects supported by the dimension or metric this
--- reporting metadata entry describes.
-rmeSupportedProducts :: Lens' ReportingMetadataEntry [Text]
-rmeSupportedProducts
-  = lens _rmeSupportedProducts
-      (\ s a -> s{_rmeSupportedProducts = a})
-      . _Default
-      . _Coerce
-
-instance FromJSON ReportingMetadataEntry where
-        parseJSON
-          = withObject "ReportingMetadataEntry"
-              (\ o ->
-                 ReportingMetadataEntry' <$>
-                   (o .:? "kind" .!=
-                      "adexchangeseller#reportingMetadataEntry")
-                     <*> (o .:? "requiredMetrics" .!= mempty)
-                     <*> (o .:? "compatibleMetrics" .!= mempty)
-                     <*> (o .:? "requiredDimensions" .!= mempty)
-                     <*> (o .:? "id")
-                     <*> (o .:? "compatibleDimensions" .!= mempty)
-                     <*> (o .:? "supportedProducts" .!= mempty))
-
-instance ToJSON ReportingMetadataEntry where
-        toJSON ReportingMetadataEntry'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _rmeKind),
-                  ("requiredMetrics" .=) <$> _rmeRequiredMetrics,
-                  ("compatibleMetrics" .=) <$> _rmeCompatibleMetrics,
-                  ("requiredDimensions" .=) <$> _rmeRequiredDimensions,
-                  ("id" .=) <$> _rmeId,
-                  ("compatibleDimensions" .=) <$>
-                    _rmeCompatibleDimensions,
-                  ("supportedProducts" .=) <$> _rmeSupportedProducts])
-
---
--- /See:/ 'accounts' smart constructor.
-data Accounts =
-  Accounts'
-    { _aEtag          :: !(Maybe Text)
-    , _aNextPageToken :: !(Maybe Text)
-    , _aKind          :: !Text
-    , _aItems         :: !(Maybe [Account])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Accounts' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aEtag'
---
--- * 'aNextPageToken'
---
--- * 'aKind'
---
--- * 'aItems'
-accounts
-    :: Accounts
-accounts =
-  Accounts'
-    { _aEtag = Nothing
-    , _aNextPageToken = Nothing
-    , _aKind = "adexchangeseller#accounts"
-    , _aItems = Nothing
-    }
-
-
--- | ETag of this response for caching purposes.
-aEtag :: Lens' Accounts (Maybe Text)
-aEtag = lens _aEtag (\ s a -> s{_aEtag = a})
-
--- | Continuation token used to page through accounts. To retrieve the next
--- page of results, set the next request\'s \"pageToken\" value to this.
-aNextPageToken :: Lens' Accounts (Maybe Text)
-aNextPageToken
-  = lens _aNextPageToken
-      (\ s a -> s{_aNextPageToken = a})
-
--- | Kind of list this is, in this case adexchangeseller#accounts.
-aKind :: Lens' Accounts Text
-aKind = lens _aKind (\ s a -> s{_aKind = a})
-
--- | The accounts returned in this list response.
-aItems :: Lens' Accounts [Account]
-aItems
-  = lens _aItems (\ s a -> s{_aItems = a}) . _Default .
-      _Coerce
-
-instance FromJSON Accounts where
-        parseJSON
-          = withObject "Accounts"
-              (\ o ->
-                 Accounts' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "adexchangeseller#accounts")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON Accounts where
-        toJSON Accounts'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _aEtag,
-                  ("nextPageToken" .=) <$> _aNextPageToken,
-                  Just ("kind" .= _aKind), ("items" .=) <$> _aItems])
-
---
--- /See:/ 'alerts' smart constructor.
-data Alerts =
-  Alerts'
-    { _aleKind  :: !Text
-    , _aleItems :: !(Maybe [Alert])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Alerts' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aleKind'
---
--- * 'aleItems'
-alerts
-    :: Alerts
-alerts = Alerts' {_aleKind = "adexchangeseller#alerts", _aleItems = Nothing}
-
-
--- | Kind of list this is, in this case adexchangeseller#alerts.
-aleKind :: Lens' Alerts Text
-aleKind = lens _aleKind (\ s a -> s{_aleKind = a})
-
--- | The alerts returned in this list response.
-aleItems :: Lens' Alerts [Alert]
-aleItems
-  = lens _aleItems (\ s a -> s{_aleItems = a}) .
-      _Default
-      . _Coerce
-
-instance FromJSON Alerts where
-        parseJSON
-          = withObject "Alerts"
-              (\ o ->
-                 Alerts' <$>
-                   (o .:? "kind" .!= "adexchangeseller#alerts") <*>
-                     (o .:? "items" .!= mempty))
-
-instance ToJSON Alerts where
-        toJSON Alerts'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _aleKind),
-                  ("items" .=) <$> _aleItems])
-
---
--- /See:/ 'savedReports' smart constructor.
-data SavedReports =
-  SavedReports'
-    { _srEtag          :: !(Maybe Text)
-    , _srNextPageToken :: !(Maybe Text)
-    , _srKind          :: !Text
-    , _srItems         :: !(Maybe [SavedReport])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'SavedReports' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'srEtag'
---
--- * 'srNextPageToken'
---
--- * 'srKind'
---
--- * 'srItems'
-savedReports
-    :: SavedReports
-savedReports =
-  SavedReports'
-    { _srEtag = Nothing
-    , _srNextPageToken = Nothing
-    , _srKind = "adexchangeseller#savedReports"
-    , _srItems = Nothing
-    }
-
-
--- | ETag of this response for caching purposes.
-srEtag :: Lens' SavedReports (Maybe Text)
-srEtag = lens _srEtag (\ s a -> s{_srEtag = a})
-
--- | Continuation token used to page through saved reports. To retrieve the
--- next page of results, set the next request\'s \"pageToken\" value to
--- this.
-srNextPageToken :: Lens' SavedReports (Maybe Text)
-srNextPageToken
-  = lens _srNextPageToken
-      (\ s a -> s{_srNextPageToken = a})
-
--- | Kind of list this is, in this case adexchangeseller#savedReports.
-srKind :: Lens' SavedReports Text
-srKind = lens _srKind (\ s a -> s{_srKind = a})
-
--- | The saved reports returned in this list response.
-srItems :: Lens' SavedReports [SavedReport]
-srItems
-  = lens _srItems (\ s a -> s{_srItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON SavedReports where
-        parseJSON
-          = withObject "SavedReports"
-              (\ o ->
-                 SavedReports' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "adexchangeseller#savedReports")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON SavedReports where
-        toJSON SavedReports'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _srEtag,
-                  ("nextPageToken" .=) <$> _srNextPageToken,
-                  Just ("kind" .= _srKind), ("items" .=) <$> _srItems])
-
---
--- /See:/ 'savedReport' smart constructor.
-data SavedReport =
-  SavedReport'
-    { _sKind :: !Text
-    , _sName :: !(Maybe Text)
-    , _sId   :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'SavedReport' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'sKind'
---
--- * 'sName'
---
--- * 'sId'
-savedReport
-    :: SavedReport
-savedReport =
-  SavedReport'
-    {_sKind = "adexchangeseller#savedReport", _sName = Nothing, _sId = Nothing}
-
-
--- | Kind of resource this is, in this case adexchangeseller#savedReport.
-sKind :: Lens' SavedReport Text
-sKind = lens _sKind (\ s a -> s{_sKind = a})
-
--- | This saved report\'s name.
-sName :: Lens' SavedReport (Maybe Text)
-sName = lens _sName (\ s a -> s{_sName = a})
-
--- | Unique identifier of this saved report.
-sId :: Lens' SavedReport (Maybe Text)
-sId = lens _sId (\ s a -> s{_sId = a})
-
-instance FromJSON SavedReport where
-        parseJSON
-          = withObject "SavedReport"
-              (\ o ->
-                 SavedReport' <$>
-                   (o .:? "kind" .!= "adexchangeseller#savedReport") <*>
-                     (o .:? "name")
-                     <*> (o .:? "id"))
-
-instance ToJSON SavedReport where
-        toJSON SavedReport'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _sKind), ("name" .=) <$> _sName,
-                  ("id" .=) <$> _sId])
-
---
--- /See:/ 'urlChannels' smart constructor.
-data URLChannels =
-  URLChannels'
-    { _ucEtag          :: !(Maybe Text)
-    , _ucNextPageToken :: !(Maybe Text)
-    , _ucKind          :: !Text
-    , _ucItems         :: !(Maybe [URLChannel])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'URLChannels' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ucEtag'
---
--- * 'ucNextPageToken'
---
--- * 'ucKind'
---
--- * 'ucItems'
-urlChannels
-    :: URLChannels
-urlChannels =
-  URLChannels'
-    { _ucEtag = Nothing
-    , _ucNextPageToken = Nothing
-    , _ucKind = "adexchangeseller#urlChannels"
-    , _ucItems = Nothing
-    }
-
-
--- | ETag of this response for caching purposes.
-ucEtag :: Lens' URLChannels (Maybe Text)
-ucEtag = lens _ucEtag (\ s a -> s{_ucEtag = a})
-
--- | Continuation token used to page through URL channels. To retrieve the
--- next page of results, set the next request\'s \"pageToken\" value to
--- this.
-ucNextPageToken :: Lens' URLChannels (Maybe Text)
-ucNextPageToken
-  = lens _ucNextPageToken
-      (\ s a -> s{_ucNextPageToken = a})
-
--- | Kind of list this is, in this case adexchangeseller#urlChannels.
-ucKind :: Lens' URLChannels Text
-ucKind = lens _ucKind (\ s a -> s{_ucKind = a})
-
--- | The URL channels returned in this list response.
-ucItems :: Lens' URLChannels [URLChannel]
-ucItems
-  = lens _ucItems (\ s a -> s{_ucItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON URLChannels where
-        parseJSON
-          = withObject "URLChannels"
-              (\ o ->
-                 URLChannels' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "adexchangeseller#urlChannels")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON URLChannels where
-        toJSON URLChannels'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _ucEtag,
-                  ("nextPageToken" .=) <$> _ucNextPageToken,
-                  Just ("kind" .= _ucKind), ("items" .=) <$> _ucItems])
-
---
--- /See:/ 'customChannels' smart constructor.
-data CustomChannels =
-  CustomChannels'
-    { _ccEtag          :: !(Maybe Text)
-    , _ccNextPageToken :: !(Maybe Text)
-    , _ccKind          :: !Text
-    , _ccItems         :: !(Maybe [CustomChannel])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CustomChannels' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ccEtag'
---
--- * 'ccNextPageToken'
---
--- * 'ccKind'
---
--- * 'ccItems'
-customChannels
-    :: CustomChannels
-customChannels =
-  CustomChannels'
-    { _ccEtag = Nothing
-    , _ccNextPageToken = Nothing
-    , _ccKind = "adexchangeseller#customChannels"
-    , _ccItems = Nothing
-    }
-
-
--- | ETag of this response for caching purposes.
-ccEtag :: Lens' CustomChannels (Maybe Text)
-ccEtag = lens _ccEtag (\ s a -> s{_ccEtag = a})
-
--- | Continuation token used to page through custom channels. To retrieve the
--- next page of results, set the next request\'s \"pageToken\" value to
--- this.
-ccNextPageToken :: Lens' CustomChannels (Maybe Text)
-ccNextPageToken
-  = lens _ccNextPageToken
-      (\ s a -> s{_ccNextPageToken = a})
-
--- | Kind of list this is, in this case adexchangeseller#customChannels.
-ccKind :: Lens' CustomChannels Text
-ccKind = lens _ccKind (\ s a -> s{_ccKind = a})
-
--- | The custom channels returned in this list response.
-ccItems :: Lens' CustomChannels [CustomChannel]
-ccItems
-  = lens _ccItems (\ s a -> s{_ccItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON CustomChannels where
-        parseJSON
-          = withObject "CustomChannels"
-              (\ o ->
-                 CustomChannels' <$>
-                   (o .:? "etag") <*> (o .:? "nextPageToken") <*>
-                     (o .:? "kind" .!= "adexchangeseller#customChannels")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON CustomChannels where
-        toJSON CustomChannels'{..}
-          = object
-              (catMaybes
-                 [("etag" .=) <$> _ccEtag,
-                  ("nextPageToken" .=) <$> _ccNextPageToken,
-                  Just ("kind" .= _ccKind), ("items" .=) <$> _ccItems])
-
---
--- /See:/ 'report' smart constructor.
-data Report =
-  Report'
-    { _rKind             :: !Text
-    , _rAverages         :: !(Maybe [Text])
-    , _rWarnings         :: !(Maybe [Text])
-    , _rRows             :: !(Maybe [[Text]])
-    , _rTotals           :: !(Maybe [Text])
-    , _rHeaders          :: !(Maybe [ReportHeadersItem])
-    , _rTotalMatchedRows :: !(Maybe (Textual Int64))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Report' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rKind'
---
--- * 'rAverages'
---
--- * 'rWarnings'
---
--- * 'rRows'
---
--- * 'rTotals'
---
--- * 'rHeaders'
---
--- * 'rTotalMatchedRows'
-report
-    :: Report
-report =
-  Report'
-    { _rKind = "adexchangeseller#report"
-    , _rAverages = Nothing
-    , _rWarnings = Nothing
-    , _rRows = Nothing
-    , _rTotals = Nothing
-    , _rHeaders = Nothing
-    , _rTotalMatchedRows = Nothing
-    }
-
-
--- | Kind this is, in this case adexchangeseller#report.
-rKind :: Lens' Report Text
-rKind = lens _rKind (\ s a -> s{_rKind = a})
-
--- | The averages of the report. This is the same length as any other row in
--- the report; cells corresponding to dimension columns are empty.
-rAverages :: Lens' Report [Text]
-rAverages
-  = lens _rAverages (\ s a -> s{_rAverages = a}) .
-      _Default
-      . _Coerce
-
--- | Any warnings associated with generation of the report.
-rWarnings :: Lens' Report [Text]
-rWarnings
-  = lens _rWarnings (\ s a -> s{_rWarnings = a}) .
-      _Default
-      . _Coerce
-
--- | The output rows of the report. Each row is a list of cells; one for each
--- dimension in the request, followed by one for each metric in the
--- request. The dimension cells contain strings, and the metric cells
--- contain numbers.
-rRows :: Lens' Report [[Text]]
-rRows
-  = lens _rRows (\ s a -> s{_rRows = a}) . _Default .
-      _Coerce
-
--- | The totals of the report. This is the same length as any other row in
--- the report; cells corresponding to dimension columns are empty.
-rTotals :: Lens' Report [Text]
-rTotals
-  = lens _rTotals (\ s a -> s{_rTotals = a}) . _Default
-      . _Coerce
-
--- | The header information of the columns requested in the report. This is a
--- list of headers; one for each dimension in the request, followed by one
--- for each metric in the request.
-rHeaders :: Lens' Report [ReportHeadersItem]
-rHeaders
-  = lens _rHeaders (\ s a -> s{_rHeaders = a}) .
-      _Default
-      . _Coerce
-
--- | The total number of rows matched by the report request. Fewer rows may
--- be returned in the response due to being limited by the row count
--- requested or the report row limit.
-rTotalMatchedRows :: Lens' Report (Maybe Int64)
-rTotalMatchedRows
-  = lens _rTotalMatchedRows
-      (\ s a -> s{_rTotalMatchedRows = a})
-      . mapping _Coerce
-
-instance FromJSON Report where
-        parseJSON
-          = withObject "Report"
-              (\ o ->
-                 Report' <$>
-                   (o .:? "kind" .!= "adexchangeseller#report") <*>
-                     (o .:? "averages" .!= mempty)
-                     <*> (o .:? "warnings" .!= mempty)
-                     <*> (o .:? "rows" .!= mempty)
-                     <*> (o .:? "totals" .!= mempty)
-                     <*> (o .:? "headers" .!= mempty)
-                     <*> (o .:? "totalMatchedRows"))
-
-instance ToJSON Report where
-        toJSON Report'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _rKind),
-                  ("averages" .=) <$> _rAverages,
-                  ("warnings" .=) <$> _rWarnings,
-                  ("rows" .=) <$> _rRows, ("totals" .=) <$> _rTotals,
-                  ("headers" .=) <$> _rHeaders,
-                  ("totalMatchedRows" .=) <$> _rTotalMatchedRows])
-
---
--- /See:/ 'alert' smart constructor.
-data Alert =
-  Alert'
-    { _aaKind     :: !Text
-    , _aaSeverity :: !(Maybe Text)
-    , _aaId       :: !(Maybe Text)
-    , _aaType     :: !(Maybe Text)
-    , _aaMessage  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Alert' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aaKind'
---
--- * 'aaSeverity'
---
--- * 'aaId'
---
--- * 'aaType'
---
--- * 'aaMessage'
-alert
-    :: Alert
-alert =
-  Alert'
-    { _aaKind = "adexchangeseller#alert"
-    , _aaSeverity = Nothing
-    , _aaId = Nothing
-    , _aaType = Nothing
-    , _aaMessage = Nothing
-    }
-
-
--- | Kind of resource this is, in this case adexchangeseller#alert.
-aaKind :: Lens' Alert Text
-aaKind = lens _aaKind (\ s a -> s{_aaKind = a})
-
--- | Severity of this alert. Possible values: INFO, WARNING, SEVERE.
-aaSeverity :: Lens' Alert (Maybe Text)
-aaSeverity
-  = lens _aaSeverity (\ s a -> s{_aaSeverity = a})
-
--- | Unique identifier of this alert. This should be considered an opaque
--- identifier; it is not safe to rely on it being in any particular format.
-aaId :: Lens' Alert (Maybe Text)
-aaId = lens _aaId (\ s a -> s{_aaId = a})
-
--- | Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3,
--- ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY,
--- GRAYLISTED_PUBLISHER, API_HOLD.
-aaType :: Lens' Alert (Maybe Text)
-aaType = lens _aaType (\ s a -> s{_aaType = a})
-
--- | The localized alert message.
-aaMessage :: Lens' Alert (Maybe Text)
-aaMessage
-  = lens _aaMessage (\ s a -> s{_aaMessage = a})
-
-instance FromJSON Alert where
-        parseJSON
-          = withObject "Alert"
-              (\ o ->
-                 Alert' <$>
-                   (o .:? "kind" .!= "adexchangeseller#alert") <*>
-                     (o .:? "severity")
-                     <*> (o .:? "id")
-                     <*> (o .:? "type")
-                     <*> (o .:? "message"))
-
-instance ToJSON Alert where
-        toJSON Alert'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _aaKind),
-                  ("severity" .=) <$> _aaSeverity, ("id" .=) <$> _aaId,
-                  ("type" .=) <$> _aaType,
-                  ("message" .=) <$> _aaMessage])
-
---
--- /See:/ 'account' smart constructor.
-data Account =
-  Account'
-    { _accKind :: !Text
-    , _accName :: !(Maybe Text)
-    , _accId   :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Account' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'accKind'
---
--- * 'accName'
---
--- * 'accId'
-account
-    :: Account
-account =
-  Account'
-    { _accKind = "adexchangeseller#account"
-    , _accName = Nothing
-    , _accId = Nothing
-    }
-
-
--- | Kind of resource this is, in this case adexchangeseller#account.
-accKind :: Lens' Account Text
-accKind = lens _accKind (\ s a -> s{_accKind = a})
-
--- | Name of this account.
-accName :: Lens' Account (Maybe Text)
-accName = lens _accName (\ s a -> s{_accName = a})
-
--- | Unique identifier of this account.
-accId :: Lens' Account (Maybe Text)
-accId = lens _accId (\ s a -> s{_accId = a})
-
-instance FromJSON Account where
-        parseJSON
-          = withObject "Account"
-              (\ o ->
-                 Account' <$>
-                   (o .:? "kind" .!= "adexchangeseller#account") <*>
-                     (o .:? "name")
-                     <*> (o .:? "id"))
-
-instance ToJSON Account where
-        toJSON Account'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _accKind), ("name" .=) <$> _accName,
-                  ("id" .=) <$> _accId])
-
---
--- /See:/ 'adClient' smart constructor.
-data AdClient =
-  AdClient'
-    { _adKind              :: !Text
-    , _adArcOptIn          :: !(Maybe Bool)
-    , _adSupportsReporting :: !(Maybe Bool)
-    , _adId                :: !(Maybe Text)
-    , _adProductCode       :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AdClient' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'adKind'
---
--- * 'adArcOptIn'
---
--- * 'adSupportsReporting'
---
--- * 'adId'
---
--- * 'adProductCode'
-adClient
-    :: AdClient
-adClient =
-  AdClient'
-    { _adKind = "adexchangeseller#adClient"
-    , _adArcOptIn = Nothing
-    , _adSupportsReporting = Nothing
-    , _adId = Nothing
-    , _adProductCode = Nothing
-    }
-
-
--- | Kind of resource this is, in this case adexchangeseller#adClient.
-adKind :: Lens' AdClient Text
-adKind = lens _adKind (\ s a -> s{_adKind = a})
-
--- | Whether this ad client is opted in to ARC.
-adArcOptIn :: Lens' AdClient (Maybe Bool)
-adArcOptIn
-  = lens _adArcOptIn (\ s a -> s{_adArcOptIn = a})
-
--- | Whether this ad client supports being reported on.
-adSupportsReporting :: Lens' AdClient (Maybe Bool)
-adSupportsReporting
-  = lens _adSupportsReporting
-      (\ s a -> s{_adSupportsReporting = a})
-
--- | Unique identifier of this ad client.
-adId :: Lens' AdClient (Maybe Text)
-adId = lens _adId (\ s a -> s{_adId = a})
-
--- | This ad client\'s product code, which corresponds to the PRODUCT_CODE
--- report dimension.
-adProductCode :: Lens' AdClient (Maybe Text)
-adProductCode
-  = lens _adProductCode
-      (\ s a -> s{_adProductCode = a})
-
-instance FromJSON AdClient where
-        parseJSON
-          = withObject "AdClient"
-              (\ o ->
-                 AdClient' <$>
-                   (o .:? "kind" .!= "adexchangeseller#adClient") <*>
-                     (o .:? "arcOptIn")
-                     <*> (o .:? "supportsReporting")
-                     <*> (o .:? "id")
-                     <*> (o .:? "productCode"))
-
-instance ToJSON AdClient where
-        toJSON AdClient'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _adKind),
-                  ("arcOptIn" .=) <$> _adArcOptIn,
-                  ("supportsReporting" .=) <$> _adSupportsReporting,
-                  ("id" .=) <$> _adId,
-                  ("productCode" .=) <$> _adProductCode])
-
---
--- /See:/ 'reportHeadersItem' smart constructor.
-data ReportHeadersItem =
-  ReportHeadersItem'
-    { _rhiName     :: !(Maybe Text)
-    , _rhiCurrency :: !(Maybe Text)
-    , _rhiType     :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'ReportHeadersItem' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'rhiName'
---
--- * 'rhiCurrency'
---
--- * 'rhiType'
-reportHeadersItem
-    :: ReportHeadersItem
-reportHeadersItem =
-  ReportHeadersItem'
-    {_rhiName = Nothing, _rhiCurrency = Nothing, _rhiType = Nothing}
-
-
--- | The name of the header.
-rhiName :: Lens' ReportHeadersItem (Maybe Text)
-rhiName = lens _rhiName (\ s a -> s{_rhiName = a})
-
--- | The currency of this column. Only present if the header type is
--- METRIC_CURRENCY.
-rhiCurrency :: Lens' ReportHeadersItem (Maybe Text)
-rhiCurrency
-  = lens _rhiCurrency (\ s a -> s{_rhiCurrency = a})
-
--- | The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or
--- METRIC_CURRENCY.
-rhiType :: Lens' ReportHeadersItem (Maybe Text)
-rhiType = lens _rhiType (\ s a -> s{_rhiType = a})
-
-instance FromJSON ReportHeadersItem where
-        parseJSON
-          = withObject "ReportHeadersItem"
-              (\ o ->
-                 ReportHeadersItem' <$>
-                   (o .:? "name") <*> (o .:? "currency") <*>
-                     (o .:? "type"))
-
-instance ToJSON ReportHeadersItem where
-        toJSON ReportHeadersItem'{..}
-          = object
-              (catMaybes
-                 [("name" .=) <$> _rhiName,
-                  ("currency" .=) <$> _rhiCurrency,
-                  ("type" .=) <$> _rhiType])
-
--- | The targeting information of this custom channel, if activated.
---
--- /See:/ 'customChannelTargetingInfo' smart constructor.
-data CustomChannelTargetingInfo =
-  CustomChannelTargetingInfo'
-    { _cctiLocation     :: !(Maybe Text)
-    , _cctiSiteLanguage :: !(Maybe Text)
-    , _cctiAdsAppearOn  :: !(Maybe Text)
-    , _cctiDescription  :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CustomChannelTargetingInfo' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cctiLocation'
---
--- * 'cctiSiteLanguage'
---
--- * 'cctiAdsAppearOn'
---
--- * 'cctiDescription'
-customChannelTargetingInfo
-    :: CustomChannelTargetingInfo
-customChannelTargetingInfo =
-  CustomChannelTargetingInfo'
-    { _cctiLocation = Nothing
-    , _cctiSiteLanguage = Nothing
-    , _cctiAdsAppearOn = Nothing
-    , _cctiDescription = Nothing
-    }
-
-
--- | The locations in which ads appear. (Only valid for content and mobile
--- content ads). Acceptable values for content ads are: TOP_LEFT,
--- TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT,
--- BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable
--- values for mobile content ads are: TOP, MIDDLE, BOTTOM,
--- MULTIPLE_LOCATIONS.
-cctiLocation :: Lens' CustomChannelTargetingInfo (Maybe Text)
-cctiLocation
-  = lens _cctiLocation (\ s a -> s{_cctiLocation = a})
-
--- | The language of the sites ads will be displayed on.
-cctiSiteLanguage :: Lens' CustomChannelTargetingInfo (Maybe Text)
-cctiSiteLanguage
-  = lens _cctiSiteLanguage
-      (\ s a -> s{_cctiSiteLanguage = a})
-
--- | The name used to describe this channel externally.
-cctiAdsAppearOn :: Lens' CustomChannelTargetingInfo (Maybe Text)
-cctiAdsAppearOn
-  = lens _cctiAdsAppearOn
-      (\ s a -> s{_cctiAdsAppearOn = a})
-
--- | The external description of the channel.
-cctiDescription :: Lens' CustomChannelTargetingInfo (Maybe Text)
-cctiDescription
-  = lens _cctiDescription
-      (\ s a -> s{_cctiDescription = a})
-
-instance FromJSON CustomChannelTargetingInfo where
-        parseJSON
-          = withObject "CustomChannelTargetingInfo"
-              (\ o ->
-                 CustomChannelTargetingInfo' <$>
-                   (o .:? "location") <*> (o .:? "siteLanguage") <*>
-                     (o .:? "adsAppearOn")
-                     <*> (o .:? "description"))
-
-instance ToJSON CustomChannelTargetingInfo where
-        toJSON CustomChannelTargetingInfo'{..}
-          = object
-              (catMaybes
-                 [("location" .=) <$> _cctiLocation,
-                  ("siteLanguage" .=) <$> _cctiSiteLanguage,
-                  ("adsAppearOn" .=) <$> _cctiAdsAppearOn,
-                  ("description" .=) <$> _cctiDescription])
-
---
--- /See:/ 'preferredDeals' smart constructor.
-data PreferredDeals =
-  PreferredDeals'
-    { _pdKind  :: !Text
-    , _pdItems :: !(Maybe [PreferredDeal])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'PreferredDeals' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pdKind'
---
--- * 'pdItems'
-preferredDeals
-    :: PreferredDeals
-preferredDeals =
-  PreferredDeals'
-    {_pdKind = "adexchangeseller#preferredDeals", _pdItems = Nothing}
-
-
--- | Kind of list this is, in this case adexchangeseller#preferredDeals.
-pdKind :: Lens' PreferredDeals Text
-pdKind = lens _pdKind (\ s a -> s{_pdKind = a})
-
--- | The preferred deals returned in this list response.
-pdItems :: Lens' PreferredDeals [PreferredDeal]
-pdItems
-  = lens _pdItems (\ s a -> s{_pdItems = a}) . _Default
-      . _Coerce
-
-instance FromJSON PreferredDeals where
-        parseJSON
-          = withObject "PreferredDeals"
-              (\ o ->
-                 PreferredDeals' <$>
-                   (o .:? "kind" .!= "adexchangeseller#preferredDeals")
-                     <*> (o .:? "items" .!= mempty))
-
-instance ToJSON PreferredDeals where
-        toJSON PreferredDeals'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _pdKind),
-                  ("items" .=) <$> _pdItems])
-
---
--- /See:/ 'metadata' smart constructor.
-data Metadata =
-  Metadata'
-    { _mKind  :: !Text
-    , _mItems :: !(Maybe [ReportingMetadataEntry])
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'Metadata' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'mKind'
---
--- * 'mItems'
-metadata
-    :: Metadata
-metadata = Metadata' {_mKind = "adexchangeseller#metadata", _mItems = Nothing}
-
-
--- | Kind of list this is, in this case adexchangeseller#metadata.
-mKind :: Lens' Metadata Text
-mKind = lens _mKind (\ s a -> s{_mKind = a})
-
-mItems :: Lens' Metadata [ReportingMetadataEntry]
-mItems
-  = lens _mItems (\ s a -> s{_mItems = a}) . _Default .
-      _Coerce
-
-instance FromJSON Metadata where
-        parseJSON
-          = withObject "Metadata"
-              (\ o ->
-                 Metadata' <$>
-                   (o .:? "kind" .!= "adexchangeseller#metadata") <*>
-                     (o .:? "items" .!= mempty))
-
-instance ToJSON Metadata where
-        toJSON Metadata'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _mKind), ("items" .=) <$> _mItems])
-
---
--- /See:/ 'customChannel' smart constructor.
-data CustomChannel =
-  CustomChannel'
-    { _cTargetingInfo :: !(Maybe CustomChannelTargetingInfo)
-    , _cKind          :: !Text
-    , _cName          :: !(Maybe Text)
-    , _cCode          :: !(Maybe Text)
-    , _cId            :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'CustomChannel' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'cTargetingInfo'
---
--- * 'cKind'
---
--- * 'cName'
---
--- * 'cCode'
---
--- * 'cId'
-customChannel
-    :: CustomChannel
-customChannel =
-  CustomChannel'
-    { _cTargetingInfo = Nothing
-    , _cKind = "adexchangeseller#customChannel"
-    , _cName = Nothing
-    , _cCode = Nothing
-    , _cId = Nothing
-    }
-
-
--- | The targeting information of this custom channel, if activated.
-cTargetingInfo :: Lens' CustomChannel (Maybe CustomChannelTargetingInfo)
-cTargetingInfo
-  = lens _cTargetingInfo
-      (\ s a -> s{_cTargetingInfo = a})
-
--- | Kind of resource this is, in this case adexchangeseller#customChannel.
-cKind :: Lens' CustomChannel Text
-cKind = lens _cKind (\ s a -> s{_cKind = a})
-
--- | Name of this custom channel.
-cName :: Lens' CustomChannel (Maybe Text)
-cName = lens _cName (\ s a -> s{_cName = a})
-
--- | Code of this custom channel, not necessarily unique across ad clients.
-cCode :: Lens' CustomChannel (Maybe Text)
-cCode = lens _cCode (\ s a -> s{_cCode = a})
-
--- | Unique identifier of this custom channel. This should be considered an
--- opaque identifier; it is not safe to rely on it being in any particular
--- format.
-cId :: Lens' CustomChannel (Maybe Text)
-cId = lens _cId (\ s a -> s{_cId = a})
-
-instance FromJSON CustomChannel where
-        parseJSON
-          = withObject "CustomChannel"
-              (\ o ->
-                 CustomChannel' <$>
-                   (o .:? "targetingInfo") <*>
-                     (o .:? "kind" .!= "adexchangeseller#customChannel")
-                     <*> (o .:? "name")
-                     <*> (o .:? "code")
-                     <*> (o .:? "id"))
-
-instance ToJSON CustomChannel where
-        toJSON CustomChannel'{..}
-          = object
-              (catMaybes
-                 [("targetingInfo" .=) <$> _cTargetingInfo,
-                  Just ("kind" .= _cKind), ("name" .=) <$> _cName,
-                  ("code" .=) <$> _cCode, ("id" .=) <$> _cId])
-
---
--- /See:/ 'urlChannel' smart constructor.
-data URLChannel =
-  URLChannel'
-    { _urlcKind       :: !Text
-    , _urlcId         :: !(Maybe Text)
-    , _urlcURLPattern :: !(Maybe Text)
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'URLChannel' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'urlcKind'
---
--- * 'urlcId'
---
--- * 'urlcURLPattern'
-urlChannel
-    :: URLChannel
-urlChannel =
-  URLChannel'
-    { _urlcKind = "adexchangeseller#urlChannel"
-    , _urlcId = Nothing
-    , _urlcURLPattern = Nothing
-    }
-
-
--- | Kind of resource this is, in this case adexchangeseller#urlChannel.
-urlcKind :: Lens' URLChannel Text
-urlcKind = lens _urlcKind (\ s a -> s{_urlcKind = a})
-
--- | Unique identifier of this URL channel. This should be considered an
--- opaque identifier; it is not safe to rely on it being in any particular
--- format.
-urlcId :: Lens' URLChannel (Maybe Text)
-urlcId = lens _urlcId (\ s a -> s{_urlcId = a})
-
--- | URL Pattern of this URL channel. Does not include \"http:\/\/\" or
--- \"https:\/\/\". Example: www.example.com\/home
-urlcURLPattern :: Lens' URLChannel (Maybe Text)
-urlcURLPattern
-  = lens _urlcURLPattern
-      (\ s a -> s{_urlcURLPattern = a})
-
-instance FromJSON URLChannel where
-        parseJSON
-          = withObject "URLChannel"
-              (\ o ->
-                 URLChannel' <$>
-                   (o .:? "kind" .!= "adexchangeseller#urlChannel") <*>
-                     (o .:? "id")
-                     <*> (o .:? "urlPattern"))
-
-instance ToJSON URLChannel where
-        toJSON URLChannel'{..}
-          = object
-              (catMaybes
-                 [Just ("kind" .= _urlcKind), ("id" .=) <$> _urlcId,
-                  ("urlPattern" .=) <$> _urlcURLPattern])
-
---
--- /See:/ 'preferredDeal' smart constructor.
-data PreferredDeal =
-  PreferredDeal'
-    { _pAdvertiserName   :: !(Maybe Text)
-    , _pCurrencyCode     :: !(Maybe Text)
-    , _pStartTime        :: !(Maybe (Textual Word64))
-    , _pKind             :: !Text
-    , _pBuyerNetworkName :: !(Maybe Text)
-    , _pEndTime          :: !(Maybe (Textual Word64))
-    , _pId               :: !(Maybe (Textual Int64))
-    , _pFixedCpm         :: !(Maybe (Textual Int64))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'PreferredDeal' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'pAdvertiserName'
---
--- * 'pCurrencyCode'
---
--- * 'pStartTime'
---
--- * 'pKind'
---
--- * 'pBuyerNetworkName'
---
--- * 'pEndTime'
---
--- * 'pId'
---
--- * 'pFixedCpm'
-preferredDeal
-    :: PreferredDeal
-preferredDeal =
-  PreferredDeal'
-    { _pAdvertiserName = Nothing
-    , _pCurrencyCode = Nothing
-    , _pStartTime = Nothing
-    , _pKind = "adexchangeseller#preferredDeal"
-    , _pBuyerNetworkName = Nothing
-    , _pEndTime = Nothing
-    , _pId = Nothing
-    , _pFixedCpm = Nothing
-    }
-
-
--- | The name of the advertiser this deal is for.
-pAdvertiserName :: Lens' PreferredDeal (Maybe Text)
-pAdvertiserName
-  = lens _pAdvertiserName
-      (\ s a -> s{_pAdvertiserName = a})
-
--- | The currency code that applies to the fixed_cpm value. If not set then
--- assumed to be USD.
-pCurrencyCode :: Lens' PreferredDeal (Maybe Text)
-pCurrencyCode
-  = lens _pCurrencyCode
-      (\ s a -> s{_pCurrencyCode = a})
-
--- | Time when this deal becomes active in seconds since the epoch (GMT). If
--- not set then this deal is active immediately upon creation.
-pStartTime :: Lens' PreferredDeal (Maybe Word64)
-pStartTime
-  = lens _pStartTime (\ s a -> s{_pStartTime = a}) .
-      mapping _Coerce
-
--- | Kind of resource this is, in this case adexchangeseller#preferredDeal.
-pKind :: Lens' PreferredDeal Text
-pKind = lens _pKind (\ s a -> s{_pKind = a})
-
--- | The name of the buyer network this deal is for.
-pBuyerNetworkName :: Lens' PreferredDeal (Maybe Text)
-pBuyerNetworkName
-  = lens _pBuyerNetworkName
-      (\ s a -> s{_pBuyerNetworkName = a})
-
--- | Time when this deal stops being active in seconds since the epoch (GMT).
--- If not set then this deal is valid until manually disabled by the
--- publisher.
-pEndTime :: Lens' PreferredDeal (Maybe Word64)
-pEndTime
-  = lens _pEndTime (\ s a -> s{_pEndTime = a}) .
-      mapping _Coerce
-
--- | Unique identifier of this preferred deal.
-pId :: Lens' PreferredDeal (Maybe Int64)
-pId
-  = lens _pId (\ s a -> s{_pId = a}) . mapping _Coerce
-
--- | The fixed price for this preferred deal. In cpm micros of currency
--- according to currencyCode. If set, then this preferred deal is eligible
--- for the fixed price tier of buying (highest priority, pay exactly the
--- configured fixed price).
-pFixedCpm :: Lens' PreferredDeal (Maybe Int64)
-pFixedCpm
-  = lens _pFixedCpm (\ s a -> s{_pFixedCpm = a}) .
-      mapping _Coerce
-
-instance FromJSON PreferredDeal where
-        parseJSON
-          = withObject "PreferredDeal"
-              (\ o ->
-                 PreferredDeal' <$>
-                   (o .:? "advertiserName") <*> (o .:? "currencyCode")
-                     <*> (o .:? "startTime")
-                     <*>
-                     (o .:? "kind" .!= "adexchangeseller#preferredDeal")
-                     <*> (o .:? "buyerNetworkName")
-                     <*> (o .:? "endTime")
-                     <*> (o .:? "id")
-                     <*> (o .:? "fixedCpm"))
-
-instance ToJSON PreferredDeal where
-        toJSON PreferredDeal'{..}
-          = object
-              (catMaybes
-                 [("advertiserName" .=) <$> _pAdvertiserName,
-                  ("currencyCode" .=) <$> _pCurrencyCode,
-                  ("startTime" .=) <$> _pStartTime,
-                  Just ("kind" .= _pKind),
-                  ("buyerNetworkName" .=) <$> _pBuyerNetworkName,
-                  ("endTime" .=) <$> _pEndTime, ("id" .=) <$> _pId,
-                  ("fixedCpm" .=) <$> _pFixedCpm])
diff --git a/gen/Network/Google/AdExchangeSeller/Types/Sum.hs b/gen/Network/Google/AdExchangeSeller/Types/Sum.hs
deleted file mode 100644
--- a/gen/Network/Google/AdExchangeSeller/Types/Sum.hs
+++ /dev/null
@@ -1,19 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable #-}
-{-# LANGUAGE DeriveGeneric      #-}
-{-# LANGUAGE LambdaCase         #-}
-{-# LANGUAGE NoImplicitPrelude  #-}
-{-# LANGUAGE OverloadedStrings  #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- |
--- Module      : Network.Google.AdExchangeSeller.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.AdExchangeSeller.Types.Sum where
-
-import           Network.Google.Prelude hiding (Bytes)
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/AdClients/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/AdClients/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/AdClients/List.hs
+++ /dev/null
@@ -1,122 +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.AdExchangeSeller.Accounts.AdClients.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)
---
--- List all ad clients in this Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.adclients.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List
-    (
-    -- * REST Resource
-      AccountsAdClientsListResource
-
-    -- * Creating a Request
-    , accountsAdClientsList
-    , AccountsAdClientsList
-
-    -- * Request Lenses
-    , aaclAccountId
-    , aaclPageToken
-    , aaclMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.adclients.list@ method which the
--- 'AccountsAdClientsList' request conforms to.
-type AccountsAdClientsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "adclients" :>
-               QueryParam "pageToken" Text :>
-                 QueryParam "maxResults" (Textual Word32) :>
-                   QueryParam "alt" AltJSON :> Get '[JSON] AdClients
-
--- | List all ad clients in this Ad Exchange account.
---
--- /See:/ 'accountsAdClientsList' smart constructor.
-data AccountsAdClientsList =
-  AccountsAdClientsList'
-    { _aaclAccountId  :: !Text
-    , _aaclPageToken  :: !(Maybe Text)
-    , _aaclMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsAdClientsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aaclAccountId'
---
--- * 'aaclPageToken'
---
--- * 'aaclMaxResults'
-accountsAdClientsList
-    :: Text -- ^ 'aaclAccountId'
-    -> AccountsAdClientsList
-accountsAdClientsList pAaclAccountId_ =
-  AccountsAdClientsList'
-    { _aaclAccountId = pAaclAccountId_
-    , _aaclPageToken = Nothing
-    , _aaclMaxResults = Nothing
-    }
-
-
--- | Account to which the ad client belongs.
-aaclAccountId :: Lens' AccountsAdClientsList Text
-aaclAccountId
-  = lens _aaclAccountId
-      (\ s a -> s{_aaclAccountId = a})
-
--- | A continuation token, used to page through ad clients. To retrieve the
--- next page, set this parameter to the value of \"nextPageToken\" from the
--- previous response.
-aaclPageToken :: Lens' AccountsAdClientsList (Maybe Text)
-aaclPageToken
-  = lens _aaclPageToken
-      (\ s a -> s{_aaclPageToken = a})
-
--- | The maximum number of ad clients to include in the response, used for
--- paging.
-aaclMaxResults :: Lens' AccountsAdClientsList (Maybe Word32)
-aaclMaxResults
-  = lens _aaclMaxResults
-      (\ s a -> s{_aaclMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsAdClientsList where
-        type Rs AccountsAdClientsList = AdClients
-        type Scopes AccountsAdClientsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsAdClientsList'{..}
-          = go _aaclAccountId _aaclPageToken _aaclMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsAdClientsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Alerts/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Alerts/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Alerts/List.hs
+++ /dev/null
@@ -1,102 +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.AdExchangeSeller.Accounts.Alerts.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)
---
--- List the alerts for this Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.alerts.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List
-    (
-    -- * REST Resource
-      AccountsAlertsListResource
-
-    -- * Creating a Request
-    , accountsAlertsList
-    , AccountsAlertsList
-
-    -- * Request Lenses
-    , aalLocale
-    , aalAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.alerts.list@ method which the
--- 'AccountsAlertsList' request conforms to.
-type AccountsAlertsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "alerts" :>
-               QueryParam "locale" Text :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Alerts
-
--- | List the alerts for this Ad Exchange account.
---
--- /See:/ 'accountsAlertsList' smart constructor.
-data AccountsAlertsList =
-  AccountsAlertsList'
-    { _aalLocale    :: !(Maybe Text)
-    , _aalAccountId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsAlertsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'aalLocale'
---
--- * 'aalAccountId'
-accountsAlertsList
-    :: Text -- ^ 'aalAccountId'
-    -> AccountsAlertsList
-accountsAlertsList pAalAccountId_ =
-  AccountsAlertsList' {_aalLocale = Nothing, _aalAccountId = pAalAccountId_}
-
-
--- | The locale to use for translating alert messages. The account locale
--- will be used if this is not supplied. The AdSense default (English) will
--- be used if the supplied locale is invalid or unsupported.
-aalLocale :: Lens' AccountsAlertsList (Maybe Text)
-aalLocale
-  = lens _aalLocale (\ s a -> s{_aalLocale = a})
-
--- | Account owning the alerts.
-aalAccountId :: Lens' AccountsAlertsList Text
-aalAccountId
-  = lens _aalAccountId (\ s a -> s{_aalAccountId = a})
-
-instance GoogleRequest AccountsAlertsList where
-        type Rs AccountsAlertsList = Alerts
-        type Scopes AccountsAlertsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsAlertsList'{..}
-          = go _aalAccountId _aalLocale (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsAlertsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/Get.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/Get.hs
+++ /dev/null
@@ -1,123 +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.AdExchangeSeller.Accounts.CustomChannels.Get
--- 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)
---
--- Get the specified custom channel from the specified ad client.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.get@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get
-    (
-    -- * REST Resource
-      AccountsCustomChannelsGetResource
-
-    -- * Creating a Request
-    , accountsCustomChannelsGet
-    , AccountsCustomChannelsGet
-
-    -- * Request Lenses
-    , accgCustomChannelId
-    , accgAdClientId
-    , accgAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.customchannels.get@ method which the
--- 'AccountsCustomChannelsGet' request conforms to.
-type AccountsCustomChannelsGetResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "adclients" :>
-               Capture "adClientId" Text :>
-                 "customchannels" :>
-                   Capture "customChannelId" Text :>
-                     QueryParam "alt" AltJSON :> Get '[JSON] CustomChannel
-
--- | Get the specified custom channel from the specified ad client.
---
--- /See:/ 'accountsCustomChannelsGet' smart constructor.
-data AccountsCustomChannelsGet =
-  AccountsCustomChannelsGet'
-    { _accgCustomChannelId :: !Text
-    , _accgAdClientId      :: !Text
-    , _accgAccountId       :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsCustomChannelsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'accgCustomChannelId'
---
--- * 'accgAdClientId'
---
--- * 'accgAccountId'
-accountsCustomChannelsGet
-    :: Text -- ^ 'accgCustomChannelId'
-    -> Text -- ^ 'accgAdClientId'
-    -> Text -- ^ 'accgAccountId'
-    -> AccountsCustomChannelsGet
-accountsCustomChannelsGet pAccgCustomChannelId_ pAccgAdClientId_ pAccgAccountId_ =
-  AccountsCustomChannelsGet'
-    { _accgCustomChannelId = pAccgCustomChannelId_
-    , _accgAdClientId = pAccgAdClientId_
-    , _accgAccountId = pAccgAccountId_
-    }
-
-
--- | Custom channel to retrieve.
-accgCustomChannelId :: Lens' AccountsCustomChannelsGet Text
-accgCustomChannelId
-  = lens _accgCustomChannelId
-      (\ s a -> s{_accgCustomChannelId = a})
-
--- | Ad client which contains the custom channel.
-accgAdClientId :: Lens' AccountsCustomChannelsGet Text
-accgAdClientId
-  = lens _accgAdClientId
-      (\ s a -> s{_accgAdClientId = a})
-
--- | Account to which the ad client belongs.
-accgAccountId :: Lens' AccountsCustomChannelsGet Text
-accgAccountId
-  = lens _accgAccountId
-      (\ s a -> s{_accgAccountId = a})
-
-instance GoogleRequest AccountsCustomChannelsGet
-         where
-        type Rs AccountsCustomChannelsGet = CustomChannel
-        type Scopes AccountsCustomChannelsGet =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsCustomChannelsGet'{..}
-          = go _accgAccountId _accgAdClientId
-              _accgCustomChannelId
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsCustomChannelsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/CustomChannels/List.hs
+++ /dev/null
@@ -1,141 +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.AdExchangeSeller.Accounts.CustomChannels.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)
---
--- List all custom channels in the specified ad client for this Ad Exchange
--- account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.customchannels.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List
-    (
-    -- * REST Resource
-      AccountsCustomChannelsListResource
-
-    -- * Creating a Request
-    , accountsCustomChannelsList
-    , AccountsCustomChannelsList
-
-    -- * Request Lenses
-    , acclAdClientId
-    , acclAccountId
-    , acclPageToken
-    , acclMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.customchannels.list@ method which the
--- 'AccountsCustomChannelsList' request conforms to.
-type AccountsCustomChannelsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "adclients" :>
-               Capture "adClientId" Text :>
-                 "customchannels" :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "maxResults" (Textual Word32) :>
-                       QueryParam "alt" AltJSON :>
-                         Get '[JSON] CustomChannels
-
--- | List all custom channels in the specified ad client for this Ad Exchange
--- account.
---
--- /See:/ 'accountsCustomChannelsList' smart constructor.
-data AccountsCustomChannelsList =
-  AccountsCustomChannelsList'
-    { _acclAdClientId :: !Text
-    , _acclAccountId  :: !Text
-    , _acclPageToken  :: !(Maybe Text)
-    , _acclMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsCustomChannelsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'acclAdClientId'
---
--- * 'acclAccountId'
---
--- * 'acclPageToken'
---
--- * 'acclMaxResults'
-accountsCustomChannelsList
-    :: Text -- ^ 'acclAdClientId'
-    -> Text -- ^ 'acclAccountId'
-    -> AccountsCustomChannelsList
-accountsCustomChannelsList pAcclAdClientId_ pAcclAccountId_ =
-  AccountsCustomChannelsList'
-    { _acclAdClientId = pAcclAdClientId_
-    , _acclAccountId = pAcclAccountId_
-    , _acclPageToken = Nothing
-    , _acclMaxResults = Nothing
-    }
-
-
--- | Ad client for which to list custom channels.
-acclAdClientId :: Lens' AccountsCustomChannelsList Text
-acclAdClientId
-  = lens _acclAdClientId
-      (\ s a -> s{_acclAdClientId = a})
-
--- | Account to which the ad client belongs.
-acclAccountId :: Lens' AccountsCustomChannelsList Text
-acclAccountId
-  = lens _acclAccountId
-      (\ s a -> s{_acclAccountId = a})
-
--- | A continuation token, used to page through custom channels. To retrieve
--- the next page, set this parameter to the value of \"nextPageToken\" from
--- the previous response.
-acclPageToken :: Lens' AccountsCustomChannelsList (Maybe Text)
-acclPageToken
-  = lens _acclPageToken
-      (\ s a -> s{_acclPageToken = a})
-
--- | The maximum number of custom channels to include in the response, used
--- for paging.
-acclMaxResults :: Lens' AccountsCustomChannelsList (Maybe Word32)
-acclMaxResults
-  = lens _acclMaxResults
-      (\ s a -> s{_acclMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsCustomChannelsList
-         where
-        type Rs AccountsCustomChannelsList = CustomChannels
-        type Scopes AccountsCustomChannelsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsCustomChannelsList'{..}
-          = go _acclAccountId _acclAdClientId _acclPageToken
-              _acclMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsCustomChannelsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Get.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Get.hs
+++ /dev/null
@@ -1,87 +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.AdExchangeSeller.Accounts.Get
--- 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)
---
--- Get information about the selected Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.get@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Get
-    (
-    -- * REST Resource
-      AccountsGetResource
-
-    -- * Creating a Request
-    , accountsGet
-    , AccountsGet
-
-    -- * Request Lenses
-    , agAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.get@ method which the
--- 'AccountsGet' request conforms to.
-type AccountsGetResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             QueryParam "alt" AltJSON :> Get '[JSON] Account
-
--- | Get information about the selected Ad Exchange account.
---
--- /See:/ 'accountsGet' smart constructor.
-newtype AccountsGet =
-  AccountsGet'
-    { _agAccountId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'agAccountId'
-accountsGet
-    :: Text -- ^ 'agAccountId'
-    -> AccountsGet
-accountsGet pAgAccountId_ = AccountsGet' {_agAccountId = pAgAccountId_}
-
-
--- | Account to get information about. Tip: \'myaccount\' is a valid ID.
-agAccountId :: Lens' AccountsGet Text
-agAccountId
-  = lens _agAccountId (\ s a -> s{_agAccountId = a})
-
-instance GoogleRequest AccountsGet where
-        type Rs AccountsGet = Account
-        type Scopes AccountsGet =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsGet'{..}
-          = go _agAccountId (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient (Proxy :: Proxy AccountsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/List.hs
+++ /dev/null
@@ -1,100 +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.AdExchangeSeller.Accounts.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)
---
--- List all accounts available to this Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.List
-    (
-    -- * REST Resource
-      AccountsListResource
-
-    -- * Creating a Request
-    , accountsList
-    , AccountsList
-
-    -- * Request Lenses
-    , alPageToken
-    , alMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.list@ method which the
--- 'AccountsList' request conforms to.
-type AccountsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           QueryParam "pageToken" Text :>
-             QueryParam "maxResults" (Textual Int32) :>
-               QueryParam "alt" AltJSON :> Get '[JSON] Accounts
-
--- | List all accounts available to this Ad Exchange account.
---
--- /See:/ 'accountsList' smart constructor.
-data AccountsList =
-  AccountsList'
-    { _alPageToken  :: !(Maybe Text)
-    , _alMaxResults :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'alPageToken'
---
--- * 'alMaxResults'
-accountsList
-    :: AccountsList
-accountsList = AccountsList' {_alPageToken = Nothing, _alMaxResults = Nothing}
-
-
--- | A continuation token, used to page through accounts. To retrieve the
--- next page, set this parameter to the value of \"nextPageToken\" from the
--- previous response.
-alPageToken :: Lens' AccountsList (Maybe Text)
-alPageToken
-  = lens _alPageToken (\ s a -> s{_alPageToken = a})
-
--- | The maximum number of accounts to include in the response, used for
--- paging.
-alMaxResults :: Lens' AccountsList (Maybe Int32)
-alMaxResults
-  = lens _alMaxResults (\ s a -> s{_alMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsList where
-        type Rs AccountsList = Accounts
-        type Scopes AccountsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsList'{..}
-          = go _alPageToken _alMaxResults (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient (Proxy :: Proxy AccountsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Dimensions/List.hs
+++ /dev/null
@@ -1,96 +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.AdExchangeSeller.Accounts.Metadata.Dimensions.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)
---
--- List the metadata for the dimensions available to this AdExchange
--- account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.dimensions.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List
-    (
-    -- * REST Resource
-      AccountsMetadataDimensionsListResource
-
-    -- * Creating a Request
-    , accountsMetadataDimensionsList
-    , AccountsMetadataDimensionsList
-
-    -- * Request Lenses
-    , amdlAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.metadata.dimensions.list@ method which the
--- 'AccountsMetadataDimensionsList' request conforms to.
-type AccountsMetadataDimensionsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "metadata" :>
-               "dimensions" :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Metadata
-
--- | List the metadata for the dimensions available to this AdExchange
--- account.
---
--- /See:/ 'accountsMetadataDimensionsList' smart constructor.
-newtype AccountsMetadataDimensionsList =
-  AccountsMetadataDimensionsList'
-    { _amdlAccountId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsMetadataDimensionsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'amdlAccountId'
-accountsMetadataDimensionsList
-    :: Text -- ^ 'amdlAccountId'
-    -> AccountsMetadataDimensionsList
-accountsMetadataDimensionsList pAmdlAccountId_ =
-  AccountsMetadataDimensionsList' {_amdlAccountId = pAmdlAccountId_}
-
-
--- | Account with visibility to the dimensions.
-amdlAccountId :: Lens' AccountsMetadataDimensionsList Text
-amdlAccountId
-  = lens _amdlAccountId
-      (\ s a -> s{_amdlAccountId = a})
-
-instance GoogleRequest AccountsMetadataDimensionsList
-         where
-        type Rs AccountsMetadataDimensionsList = Metadata
-        type Scopes AccountsMetadataDimensionsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsMetadataDimensionsList'{..}
-          = go _amdlAccountId (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy ::
-                         Proxy AccountsMetadataDimensionsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Metadata/Metrics/List.hs
+++ /dev/null
@@ -1,93 +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.AdExchangeSeller.Accounts.Metadata.Metrics.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)
---
--- List the metadata for the metrics available to this AdExchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.metadata.metrics.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List
-    (
-    -- * REST Resource
-      AccountsMetadataMetricsListResource
-
-    -- * Creating a Request
-    , accountsMetadataMetricsList
-    , AccountsMetadataMetricsList
-
-    -- * Request Lenses
-    , ammlAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.metadata.metrics.list@ method which the
--- 'AccountsMetadataMetricsList' request conforms to.
-type AccountsMetadataMetricsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "metadata" :>
-               "metrics" :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] Metadata
-
--- | List the metadata for the metrics available to this AdExchange account.
---
--- /See:/ 'accountsMetadataMetricsList' smart constructor.
-newtype AccountsMetadataMetricsList =
-  AccountsMetadataMetricsList'
-    { _ammlAccountId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsMetadataMetricsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'ammlAccountId'
-accountsMetadataMetricsList
-    :: Text -- ^ 'ammlAccountId'
-    -> AccountsMetadataMetricsList
-accountsMetadataMetricsList pAmmlAccountId_ =
-  AccountsMetadataMetricsList' {_ammlAccountId = pAmmlAccountId_}
-
-
--- | Account with visibility to the metrics.
-ammlAccountId :: Lens' AccountsMetadataMetricsList Text
-ammlAccountId
-  = lens _ammlAccountId
-      (\ s a -> s{_ammlAccountId = a})
-
-instance GoogleRequest AccountsMetadataMetricsList
-         where
-        type Rs AccountsMetadataMetricsList = Metadata
-        type Scopes AccountsMetadataMetricsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsMetadataMetricsList'{..}
-          = go _ammlAccountId (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsMetadataMetricsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/Get.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/Get.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/Get.hs
+++ /dev/null
@@ -1,104 +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.AdExchangeSeller.Accounts.PreferredDeals.Get
--- 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)
---
--- Get information about the selected Ad Exchange Preferred Deal.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.get@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get
-    (
-    -- * REST Resource
-      AccountsPreferredDealsGetResource
-
-    -- * Creating a Request
-    , accountsPreferredDealsGet
-    , AccountsPreferredDealsGet
-
-    -- * Request Lenses
-    , apdgDealId
-    , apdgAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.preferreddeals.get@ method which the
--- 'AccountsPreferredDealsGet' request conforms to.
-type AccountsPreferredDealsGetResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "preferreddeals" :>
-               Capture "dealId" Text :>
-                 QueryParam "alt" AltJSON :> Get '[JSON] PreferredDeal
-
--- | Get information about the selected Ad Exchange Preferred Deal.
---
--- /See:/ 'accountsPreferredDealsGet' smart constructor.
-data AccountsPreferredDealsGet =
-  AccountsPreferredDealsGet'
-    { _apdgDealId    :: !Text
-    , _apdgAccountId :: !Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsPreferredDealsGet' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'apdgDealId'
---
--- * 'apdgAccountId'
-accountsPreferredDealsGet
-    :: Text -- ^ 'apdgDealId'
-    -> Text -- ^ 'apdgAccountId'
-    -> AccountsPreferredDealsGet
-accountsPreferredDealsGet pApdgDealId_ pApdgAccountId_ =
-  AccountsPreferredDealsGet'
-    {_apdgDealId = pApdgDealId_, _apdgAccountId = pApdgAccountId_}
-
-
--- | Preferred deal to get information about.
-apdgDealId :: Lens' AccountsPreferredDealsGet Text
-apdgDealId
-  = lens _apdgDealId (\ s a -> s{_apdgDealId = a})
-
--- | Account owning the deal.
-apdgAccountId :: Lens' AccountsPreferredDealsGet Text
-apdgAccountId
-  = lens _apdgAccountId
-      (\ s a -> s{_apdgAccountId = a})
-
-instance GoogleRequest AccountsPreferredDealsGet
-         where
-        type Rs AccountsPreferredDealsGet = PreferredDeal
-        type Scopes AccountsPreferredDealsGet =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsPreferredDealsGet'{..}
-          = go _apdgAccountId _apdgDealId (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsPreferredDealsGetResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/PreferredDeals/List.hs
+++ /dev/null
@@ -1,93 +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.AdExchangeSeller.Accounts.PreferredDeals.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)
---
--- List the preferred deals for this Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.preferreddeals.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List
-    (
-    -- * REST Resource
-      AccountsPreferredDealsListResource
-
-    -- * Creating a Request
-    , accountsPreferredDealsList
-    , AccountsPreferredDealsList
-
-    -- * Request Lenses
-    , apdlAccountId
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.preferreddeals.list@ method which the
--- 'AccountsPreferredDealsList' request conforms to.
-type AccountsPreferredDealsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "preferreddeals" :>
-               QueryParam "alt" AltJSON :>
-                 Get '[JSON] PreferredDeals
-
--- | List the preferred deals for this Ad Exchange account.
---
--- /See:/ 'accountsPreferredDealsList' smart constructor.
-newtype AccountsPreferredDealsList =
-  AccountsPreferredDealsList'
-    { _apdlAccountId :: Text
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsPreferredDealsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'apdlAccountId'
-accountsPreferredDealsList
-    :: Text -- ^ 'apdlAccountId'
-    -> AccountsPreferredDealsList
-accountsPreferredDealsList pApdlAccountId_ =
-  AccountsPreferredDealsList' {_apdlAccountId = pApdlAccountId_}
-
-
--- | Account owning the deals.
-apdlAccountId :: Lens' AccountsPreferredDealsList Text
-apdlAccountId
-  = lens _apdlAccountId
-      (\ s a -> s{_apdlAccountId = a})
-
-instance GoogleRequest AccountsPreferredDealsList
-         where
-        type Rs AccountsPreferredDealsList = PreferredDeals
-        type Scopes AccountsPreferredDealsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsPreferredDealsList'{..}
-          = go _apdlAccountId (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsPreferredDealsListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Generate.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Generate.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Generate.hs
+++ /dev/null
@@ -1,263 +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.AdExchangeSeller.Accounts.Reports.Generate
--- 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)
---
--- Generate an Ad Exchange report based on the report request sent in the
--- query parameters. Returns the result as JSON; to retrieve output in CSV
--- format specify \"alt=csv\" as a query parameter.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.generate@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate
-    (
-    -- * REST Resource
-      AccountsReportsGenerateResource
-
-    -- * Creating a Request
-    , accountsReportsGenerate
-    , AccountsReportsGenerate
-
-    -- * Request Lenses
-    , argDimension
-    , argLocale
-    , argEndDate
-    , argStartDate
-    , argAccountId
-    , argMetric
-    , argSort
-    , argFilter
-    , argStartIndex
-    , argMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.reports.generate@ method which the
--- 'AccountsReportsGenerate' request conforms to.
-type AccountsReportsGenerateResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "reports" :>
-               QueryParam "startDate" Text :>
-                 QueryParam "endDate" Text :>
-                   QueryParams "dimension" Text :>
-                     QueryParam "locale" Text :>
-                       QueryParams "metric" Text :>
-                         QueryParams "sort" Text :>
-                           QueryParams "filter" Text :>
-                             QueryParam "startIndex" (Textual Word32) :>
-                               QueryParam "maxResults" (Textual Word32) :>
-                                 QueryParam "alt" AltJSON :> Get '[JSON] Report
-       :<|>
-       "adexchangeseller" :>
-         "v2.0" :>
-           "accounts" :>
-             Capture "accountId" Text :>
-               "reports" :>
-                 QueryParam "startDate" Text :>
-                   QueryParam "endDate" Text :>
-                     QueryParams "dimension" Text :>
-                       QueryParam "locale" Text :>
-                         QueryParams "metric" Text :>
-                           QueryParams "sort" Text :>
-                             QueryParams "filter" Text :>
-                               QueryParam "startIndex" (Textual Word32) :>
-                                 QueryParam "maxResults" (Textual Word32) :>
-                                   QueryParam "alt" AltMedia :>
-                                     Get '[OctetStream] Stream
-
--- | Generate an Ad Exchange report based on the report request sent in the
--- query parameters. Returns the result as JSON; to retrieve output in CSV
--- format specify \"alt=csv\" as a query parameter.
---
--- /See:/ 'accountsReportsGenerate' smart constructor.
-data AccountsReportsGenerate =
-  AccountsReportsGenerate'
-    { _argDimension  :: !(Maybe [Text])
-    , _argLocale     :: !(Maybe Text)
-    , _argEndDate    :: !Text
-    , _argStartDate  :: !Text
-    , _argAccountId  :: !Text
-    , _argMetric     :: !(Maybe [Text])
-    , _argSort       :: !(Maybe [Text])
-    , _argFilter     :: !(Maybe [Text])
-    , _argStartIndex :: !(Maybe (Textual Word32))
-    , _argMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsReportsGenerate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'argDimension'
---
--- * 'argLocale'
---
--- * 'argEndDate'
---
--- * 'argStartDate'
---
--- * 'argAccountId'
---
--- * 'argMetric'
---
--- * 'argSort'
---
--- * 'argFilter'
---
--- * 'argStartIndex'
---
--- * 'argMaxResults'
-accountsReportsGenerate
-    :: Text -- ^ 'argEndDate'
-    -> Text -- ^ 'argStartDate'
-    -> Text -- ^ 'argAccountId'
-    -> AccountsReportsGenerate
-accountsReportsGenerate pArgEndDate_ pArgStartDate_ pArgAccountId_ =
-  AccountsReportsGenerate'
-    { _argDimension = Nothing
-    , _argLocale = Nothing
-    , _argEndDate = pArgEndDate_
-    , _argStartDate = pArgStartDate_
-    , _argAccountId = pArgAccountId_
-    , _argMetric = Nothing
-    , _argSort = Nothing
-    , _argFilter = Nothing
-    , _argStartIndex = Nothing
-    , _argMaxResults = Nothing
-    }
-
-
--- | Dimensions to base the report on.
-argDimension :: Lens' AccountsReportsGenerate [Text]
-argDimension
-  = lens _argDimension (\ s a -> s{_argDimension = a})
-      . _Default
-      . _Coerce
-
--- | Optional locale to use for translating report output to a local
--- language. Defaults to \"en_US\" if not specified.
-argLocale :: Lens' AccountsReportsGenerate (Maybe Text)
-argLocale
-  = lens _argLocale (\ s a -> s{_argLocale = a})
-
--- | End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.
-argEndDate :: Lens' AccountsReportsGenerate Text
-argEndDate
-  = lens _argEndDate (\ s a -> s{_argEndDate = a})
-
--- | Start of the date range to report on in \"YYYY-MM-DD\" format,
--- inclusive.
-argStartDate :: Lens' AccountsReportsGenerate Text
-argStartDate
-  = lens _argStartDate (\ s a -> s{_argStartDate = a})
-
--- | Account which owns the generated report.
-argAccountId :: Lens' AccountsReportsGenerate Text
-argAccountId
-  = lens _argAccountId (\ s a -> s{_argAccountId = a})
-
--- | Numeric columns to include in the report.
-argMetric :: Lens' AccountsReportsGenerate [Text]
-argMetric
-  = lens _argMetric (\ s a -> s{_argMetric = a}) .
-      _Default
-      . _Coerce
-
--- | The name of a dimension or metric to sort the resulting report on,
--- optionally prefixed with \"+\" to sort ascending or \"-\" to sort
--- descending. If no prefix is specified, the column is sorted ascending.
-argSort :: Lens' AccountsReportsGenerate [Text]
-argSort
-  = lens _argSort (\ s a -> s{_argSort = a}) . _Default
-      . _Coerce
-
--- | Filters to be run on the report.
-argFilter :: Lens' AccountsReportsGenerate [Text]
-argFilter
-  = lens _argFilter (\ s a -> s{_argFilter = a}) .
-      _Default
-      . _Coerce
-
--- | Index of the first row of report data to return.
-argStartIndex :: Lens' AccountsReportsGenerate (Maybe Word32)
-argStartIndex
-  = lens _argStartIndex
-      (\ s a -> s{_argStartIndex = a})
-      . mapping _Coerce
-
--- | The maximum number of rows of report data to return.
-argMaxResults :: Lens' AccountsReportsGenerate (Maybe Word32)
-argMaxResults
-  = lens _argMaxResults
-      (\ s a -> s{_argMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsReportsGenerate where
-        type Rs AccountsReportsGenerate = Report
-        type Scopes AccountsReportsGenerate =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsReportsGenerate'{..}
-          = go _argAccountId (Just _argStartDate)
-              (Just _argEndDate)
-              (_argDimension ^. _Default)
-              _argLocale
-              (_argMetric ^. _Default)
-              (_argSort ^. _Default)
-              (_argFilter ^. _Default)
-              _argStartIndex
-              _argMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go :<|> _
-                  = buildClient
-                      (Proxy :: Proxy AccountsReportsGenerateResource)
-                      mempty
-
-instance GoogleRequest
-           (MediaDownload AccountsReportsGenerate)
-         where
-        type Rs (MediaDownload AccountsReportsGenerate) =
-             Stream
-        type Scopes (MediaDownload AccountsReportsGenerate) =
-             Scopes AccountsReportsGenerate
-        requestClient
-          (MediaDownload AccountsReportsGenerate'{..})
-          = go _argAccountId (Just _argStartDate)
-              (Just _argEndDate)
-              (_argDimension ^. _Default)
-              _argLocale
-              (_argMetric ^. _Default)
-              (_argSort ^. _Default)
-              (_argFilter ^. _Default)
-              _argStartIndex
-              _argMaxResults
-              (Just AltMedia)
-              adExchangeSellerService
-          where _ :<|> go
-                  = buildClient
-                      (Proxy :: Proxy AccountsReportsGenerateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/Generate.hs
+++ /dev/null
@@ -1,150 +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.AdExchangeSeller.Accounts.Reports.Saved.Generate
--- 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)
---
--- Generate an Ad Exchange report based on the saved report ID sent in the
--- query parameters.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.generate@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate
-    (
-    -- * REST Resource
-      AccountsReportsSavedGenerateResource
-
-    -- * Creating a Request
-    , accountsReportsSavedGenerate
-    , AccountsReportsSavedGenerate
-
-    -- * Request Lenses
-    , arsgLocale
-    , arsgSavedReportId
-    , arsgAccountId
-    , arsgStartIndex
-    , arsgMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.reports.saved.generate@ method which the
--- 'AccountsReportsSavedGenerate' request conforms to.
-type AccountsReportsSavedGenerateResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "reports" :>
-               Capture "savedReportId" Text :>
-                 QueryParam "locale" Text :>
-                   QueryParam "startIndex" (Textual Int32) :>
-                     QueryParam "maxResults" (Textual Int32) :>
-                       QueryParam "alt" AltJSON :> Get '[JSON] Report
-
--- | Generate an Ad Exchange report based on the saved report ID sent in the
--- query parameters.
---
--- /See:/ 'accountsReportsSavedGenerate' smart constructor.
-data AccountsReportsSavedGenerate =
-  AccountsReportsSavedGenerate'
-    { _arsgLocale        :: !(Maybe Text)
-    , _arsgSavedReportId :: !Text
-    , _arsgAccountId     :: !Text
-    , _arsgStartIndex    :: !(Maybe (Textual Int32))
-    , _arsgMaxResults    :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsReportsSavedGenerate' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'arsgLocale'
---
--- * 'arsgSavedReportId'
---
--- * 'arsgAccountId'
---
--- * 'arsgStartIndex'
---
--- * 'arsgMaxResults'
-accountsReportsSavedGenerate
-    :: Text -- ^ 'arsgSavedReportId'
-    -> Text -- ^ 'arsgAccountId'
-    -> AccountsReportsSavedGenerate
-accountsReportsSavedGenerate pArsgSavedReportId_ pArsgAccountId_ =
-  AccountsReportsSavedGenerate'
-    { _arsgLocale = Nothing
-    , _arsgSavedReportId = pArsgSavedReportId_
-    , _arsgAccountId = pArsgAccountId_
-    , _arsgStartIndex = Nothing
-    , _arsgMaxResults = Nothing
-    }
-
-
--- | Optional locale to use for translating report output to a local
--- language. Defaults to \"en_US\" if not specified.
-arsgLocale :: Lens' AccountsReportsSavedGenerate (Maybe Text)
-arsgLocale
-  = lens _arsgLocale (\ s a -> s{_arsgLocale = a})
-
--- | The saved report to retrieve.
-arsgSavedReportId :: Lens' AccountsReportsSavedGenerate Text
-arsgSavedReportId
-  = lens _arsgSavedReportId
-      (\ s a -> s{_arsgSavedReportId = a})
-
--- | Account owning the saved report.
-arsgAccountId :: Lens' AccountsReportsSavedGenerate Text
-arsgAccountId
-  = lens _arsgAccountId
-      (\ s a -> s{_arsgAccountId = a})
-
--- | Index of the first row of report data to return.
-arsgStartIndex :: Lens' AccountsReportsSavedGenerate (Maybe Int32)
-arsgStartIndex
-  = lens _arsgStartIndex
-      (\ s a -> s{_arsgStartIndex = a})
-      . mapping _Coerce
-
--- | The maximum number of rows of report data to return.
-arsgMaxResults :: Lens' AccountsReportsSavedGenerate (Maybe Int32)
-arsgMaxResults
-  = lens _arsgMaxResults
-      (\ s a -> s{_arsgMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsReportsSavedGenerate
-         where
-        type Rs AccountsReportsSavedGenerate = Report
-        type Scopes AccountsReportsSavedGenerate =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsReportsSavedGenerate'{..}
-          = go _arsgAccountId _arsgSavedReportId _arsgLocale
-              _arsgStartIndex
-              _arsgMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsReportsSavedGenerateResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/Reports/Saved/List.hs
+++ /dev/null
@@ -1,123 +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.AdExchangeSeller.Accounts.Reports.Saved.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)
---
--- List all saved reports in this Ad Exchange account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.reports.saved.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List
-    (
-    -- * REST Resource
-      AccountsReportsSavedListResource
-
-    -- * Creating a Request
-    , accountsReportsSavedList
-    , AccountsReportsSavedList
-
-    -- * Request Lenses
-    , arslAccountId
-    , arslPageToken
-    , arslMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.reports.saved.list@ method which the
--- 'AccountsReportsSavedList' request conforms to.
-type AccountsReportsSavedListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "reports" :>
-               "saved" :>
-                 QueryParam "pageToken" Text :>
-                   QueryParam "maxResults" (Textual Int32) :>
-                     QueryParam "alt" AltJSON :> Get '[JSON] SavedReports
-
--- | List all saved reports in this Ad Exchange account.
---
--- /See:/ 'accountsReportsSavedList' smart constructor.
-data AccountsReportsSavedList =
-  AccountsReportsSavedList'
-    { _arslAccountId  :: !Text
-    , _arslPageToken  :: !(Maybe Text)
-    , _arslMaxResults :: !(Maybe (Textual Int32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsReportsSavedList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'arslAccountId'
---
--- * 'arslPageToken'
---
--- * 'arslMaxResults'
-accountsReportsSavedList
-    :: Text -- ^ 'arslAccountId'
-    -> AccountsReportsSavedList
-accountsReportsSavedList pArslAccountId_ =
-  AccountsReportsSavedList'
-    { _arslAccountId = pArslAccountId_
-    , _arslPageToken = Nothing
-    , _arslMaxResults = Nothing
-    }
-
-
--- | Account owning the saved reports.
-arslAccountId :: Lens' AccountsReportsSavedList Text
-arslAccountId
-  = lens _arslAccountId
-      (\ s a -> s{_arslAccountId = a})
-
--- | A continuation token, used to page through saved reports. To retrieve
--- the next page, set this parameter to the value of \"nextPageToken\" from
--- the previous response.
-arslPageToken :: Lens' AccountsReportsSavedList (Maybe Text)
-arslPageToken
-  = lens _arslPageToken
-      (\ s a -> s{_arslPageToken = a})
-
--- | The maximum number of saved reports to include in the response, used for
--- paging.
-arslMaxResults :: Lens' AccountsReportsSavedList (Maybe Int32)
-arslMaxResults
-  = lens _arslMaxResults
-      (\ s a -> s{_arslMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsReportsSavedList where
-        type Rs AccountsReportsSavedList = SavedReports
-        type Scopes AccountsReportsSavedList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsReportsSavedList'{..}
-          = go _arslAccountId _arslPageToken _arslMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsReportsSavedListResource)
-                      mempty
diff --git a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/URLChannels/List.hs b/gen/Network/Google/Resource/AdExchangeSeller/Accounts/URLChannels/List.hs
deleted file mode 100644
--- a/gen/Network/Google/Resource/AdExchangeSeller/Accounts/URLChannels/List.hs
+++ /dev/null
@@ -1,139 +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.AdExchangeSeller.Accounts.URLChannels.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)
---
--- List all URL channels in the specified ad client for this Ad Exchange
--- account.
---
--- /See:/ <https://developers.google.com/ad-exchange/seller-rest/ Ad Exchange Seller API Reference> for @adexchangeseller.accounts.urlchannels.list@.
-module Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List
-    (
-    -- * REST Resource
-      AccountsURLChannelsListResource
-
-    -- * Creating a Request
-    , accountsURLChannelsList
-    , AccountsURLChannelsList
-
-    -- * Request Lenses
-    , auclAdClientId
-    , auclAccountId
-    , auclPageToken
-    , auclMaxResults
-    ) where
-
-import           Network.Google.AdExchangeSeller.Types
-import           Network.Google.Prelude
-
--- | A resource alias for @adexchangeseller.accounts.urlchannels.list@ method which the
--- 'AccountsURLChannelsList' request conforms to.
-type AccountsURLChannelsListResource =
-     "adexchangeseller" :>
-       "v2.0" :>
-         "accounts" :>
-           Capture "accountId" Text :>
-             "adclients" :>
-               Capture "adClientId" Text :>
-                 "urlchannels" :>
-                   QueryParam "pageToken" Text :>
-                     QueryParam "maxResults" (Textual Word32) :>
-                       QueryParam "alt" AltJSON :> Get '[JSON] URLChannels
-
--- | List all URL channels in the specified ad client for this Ad Exchange
--- account.
---
--- /See:/ 'accountsURLChannelsList' smart constructor.
-data AccountsURLChannelsList =
-  AccountsURLChannelsList'
-    { _auclAdClientId :: !Text
-    , _auclAccountId  :: !Text
-    , _auclPageToken  :: !(Maybe Text)
-    , _auclMaxResults :: !(Maybe (Textual Word32))
-    }
-  deriving (Eq, Show, Data, Typeable, Generic)
-
-
--- | Creates a value of 'AccountsURLChannelsList' with the minimum fields required to make a request.
---
--- Use one of the following lenses to modify other fields as desired:
---
--- * 'auclAdClientId'
---
--- * 'auclAccountId'
---
--- * 'auclPageToken'
---
--- * 'auclMaxResults'
-accountsURLChannelsList
-    :: Text -- ^ 'auclAdClientId'
-    -> Text -- ^ 'auclAccountId'
-    -> AccountsURLChannelsList
-accountsURLChannelsList pAuclAdClientId_ pAuclAccountId_ =
-  AccountsURLChannelsList'
-    { _auclAdClientId = pAuclAdClientId_
-    , _auclAccountId = pAuclAccountId_
-    , _auclPageToken = Nothing
-    , _auclMaxResults = Nothing
-    }
-
-
--- | Ad client for which to list URL channels.
-auclAdClientId :: Lens' AccountsURLChannelsList Text
-auclAdClientId
-  = lens _auclAdClientId
-      (\ s a -> s{_auclAdClientId = a})
-
--- | Account to which the ad client belongs.
-auclAccountId :: Lens' AccountsURLChannelsList Text
-auclAccountId
-  = lens _auclAccountId
-      (\ s a -> s{_auclAccountId = a})
-
--- | A continuation token, used to page through URL channels. To retrieve the
--- next page, set this parameter to the value of \"nextPageToken\" from the
--- previous response.
-auclPageToken :: Lens' AccountsURLChannelsList (Maybe Text)
-auclPageToken
-  = lens _auclPageToken
-      (\ s a -> s{_auclPageToken = a})
-
--- | The maximum number of URL channels to include in the response, used for
--- paging.
-auclMaxResults :: Lens' AccountsURLChannelsList (Maybe Word32)
-auclMaxResults
-  = lens _auclMaxResults
-      (\ s a -> s{_auclMaxResults = a})
-      . mapping _Coerce
-
-instance GoogleRequest AccountsURLChannelsList where
-        type Rs AccountsURLChannelsList = URLChannels
-        type Scopes AccountsURLChannelsList =
-             '["https://www.googleapis.com/auth/adexchange.seller",
-               "https://www.googleapis.com/auth/adexchange.seller.readonly"]
-        requestClient AccountsURLChannelsList'{..}
-          = go _auclAccountId _auclAdClientId _auclPageToken
-              _auclMaxResults
-              (Just AltJSON)
-              adExchangeSellerService
-          where go
-                  = buildClient
-                      (Proxy :: Proxy AccountsURLChannelsListResource)
-                      mempty
diff --git a/gogol-adexchange-seller.cabal b/gogol-adexchange-seller.cabal
--- a/gogol-adexchange-seller.cabal
+++ b/gogol-adexchange-seller.cabal
@@ -1,60 +1,74 @@
-name:                  gogol-adexchange-seller
-version:               0.5.0
-synopsis:              Google Ad Exchange Seller 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-adexchange-seller
+version:            1.0.0
+synopsis:           Google Ad Exchange Seller 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:
-    Accesses the inventory of Ad Exchange seller users and generates
-    reports.
-    .
-    /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 @v2.0@
-    of the API.
+  Accesses the inventory of Ad Exchange seller users and generates reports.
+  .
+  /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 @v2.0@
+  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-adexchange-seller
 
+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.AdExchangeSeller
-        , Network.Google.AdExchangeSeller.Types
-        , Network.Google.Resource.AdExchangeSeller.Accounts.AdClients.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Alerts.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.Get
-        , Network.Google.Resource.AdExchangeSeller.Accounts.CustomChannels.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Get
-        , Network.Google.Resource.AdExchangeSeller.Accounts.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Dimensions.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Metadata.Metrics.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.Get
-        , Network.Google.Resource.AdExchangeSeller.Accounts.PreferredDeals.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Generate
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.Generate
-        , Network.Google.Resource.AdExchangeSeller.Accounts.Reports.Saved.List
-        , Network.Google.Resource.AdExchangeSeller.Accounts.URLChannels.List
+  exposed-modules:
+    Gogol.AdExchangeSeller
+    Gogol.AdExchangeSeller.Accounts.Adclients.List
+    Gogol.AdExchangeSeller.Accounts.Alerts.List
+    Gogol.AdExchangeSeller.Accounts.Customchannels.Get
+    Gogol.AdExchangeSeller.Accounts.Customchannels.List
+    Gogol.AdExchangeSeller.Accounts.Get
+    Gogol.AdExchangeSeller.Accounts.List
+    Gogol.AdExchangeSeller.Accounts.Metadata.Dimensions.List
+    Gogol.AdExchangeSeller.Accounts.Metadata.Metrics.List
+    Gogol.AdExchangeSeller.Accounts.Preferreddeals.Get
+    Gogol.AdExchangeSeller.Accounts.Preferreddeals.List
+    Gogol.AdExchangeSeller.Accounts.Reports.Generate
+    Gogol.AdExchangeSeller.Accounts.Reports.Saved.Generate
+    Gogol.AdExchangeSeller.Accounts.Reports.Saved.List
+    Gogol.AdExchangeSeller.Accounts.Urlchannels.List
+    Gogol.AdExchangeSeller.Types
 
-    other-modules:
-          Network.Google.AdExchangeSeller.Types.Product
-        , Network.Google.AdExchangeSeller.Types.Sum
+  other-modules:
+    Gogol.AdExchangeSeller.Internal.Product
+    Gogol.AdExchangeSeller.Internal.Sum
 
-    build-depends:
-          gogol-core == 0.5.0.*
-        , base       >= 4.7 && < 5
+  build-depends:    gogol-core ^>=1.0.0
