AdMob API

REST/JSON API providing programmatic access to AdMob account data, apps, ad units, mediation configuration, and network, mediation and campaign performance reports. v1 is read-only; v1beta adds the write surface for apps, ad units, ad unit mappings, mediation groups and mediation A/B experiments. Authorized with Google OAuth 2.0 user credentials; service accounts are not supported.

OpenAPI Specification

admob-api-v1-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AdMob API
  version: v1
  description: The AdMob API allows publishers to programmatically get information about their AdMob account.
  contact:
    name: Google
    url: https://developers.google.com/admob/api/
  termsOfService: https://developers.google.com/terms
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
  x-discovery-revision: '20260731'
externalDocs:
  url: https://developers.google.com/admob/api/
servers:
- url: https://admob.googleapis.com
  description: AdMob API
tags:
- name: accounts
- name: adUnits
- name: apps
- name: mediationReport
- name: networkReport
security:
- GoogleOAuth2:
  - https://www.googleapis.com/auth/admob.readonly
  - https://www.googleapis.com/auth/admob.report
paths:
  /v1/accounts/{accountsId}:
    get:
      operationId: accounts_get
      summary: Gets information about the specified AdMob publisher account.
      description: Gets information about the specified AdMob publisher account.
      tags:
      - accounts
      parameters:
      - name: name
        in: path
        description: 'Resource name of the publisher account to retrieve. Example: accounts/pub-9876543210987654'
        required: true
        schema:
          type: string
          pattern: ^accounts/[^/]+$
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublisherAccount'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
        - https://www.googleapis.com/auth/admob.report
  /v1/accounts:
    get:
      operationId: accounts_list
      summary: Lists the AdMob publisher account that was most recently signed in to from the AdMob UI.
        For more information, see https
      description: Lists the AdMob publisher account that was most recently signed in to from the AdMob
        UI. For more information, see https://support.google.com/admob/answer/10243672.
      tags:
      - accounts
      parameters:
      - name: pageSize
        in: query
        description: Maximum number of accounts to return.
        schema:
          type: integer
          format: int32
      - name: pageToken
        in: query
        description: The value returned by the last `ListPublisherAccountsResponse`; indicates that this
          is a continuation of a prior `ListPublisherAccounts` call, and that the system should return
          the next page of data.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPublisherAccountsResponse'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
        - https://www.googleapis.com/auth/admob.report
  /v1/accounts/{accountsId}/adUnits:
    get:
      operationId: accounts_adUnits_list
      summary: List the ad units under the specified AdMob account.
      description: List the ad units under the specified AdMob account.
      tags:
      - adUnits
      parameters:
      - name: parent
        in: path
        description: 'Required. Resource name of the account to list ad units for. Example: accounts/pub-9876543210987654'
        required: true
        schema:
          type: string
          pattern: ^accounts/[^/]+$
      - name: pageToken
        in: query
        description: The value returned by the last `ListAdUnitsResponse`; indicates that this is a continuation
          of a prior `ListAdUnits` call, and that the system should return the next page of data.
        schema:
          type: string
      - name: pageSize
        in: query
        description: The maximum number of ad units to return. If unspecified or 0, at most 10,000 ad
          units will be returned. The maximum value is 20,000; values above 20,000 will be coerced to
          20,000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAdUnitsResponse'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
  /v1/accounts/{accountsId}/networkReport:generate:
    post:
      operationId: accounts_networkReport_generate
      summary: 'Generates an AdMob Network report based on the provided report specification. Returns
        result of a server-side streaming '
      description: Generates an AdMob Network report based on the provided report specification. Returns
        result of a server-side streaming RPC. The result is returned in a sequence of responses.
      tags:
      - networkReport
      parameters:
      - name: parent
        in: path
        description: 'Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654'
        required: true
        schema:
          type: string
          pattern: ^accounts/[^/]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateNetworkReportRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateNetworkReportResponse'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
        - https://www.googleapis.com/auth/admob.report
  /v1/accounts/{accountsId}/mediationReport:generate:
    post:
      operationId: accounts_mediationReport_generate
      summary: Generates an AdMob Mediation report based on the provided report specification. Returns
        result of a server-side streamin
      description: Generates an AdMob Mediation report based on the provided report specification. Returns
        result of a server-side streaming RPC. The result is returned in a sequence of responses.
      tags:
      - mediationReport
      parameters:
      - name: parent
        in: path
        description: 'Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654'
        required: true
        schema:
          type: string
          pattern: ^accounts/[^/]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateMediationReportRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateMediationReportResponse'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
        - https://www.googleapis.com/auth/admob.report
  /v1/accounts/{accountsId}/apps:
    get:
      operationId: accounts_apps_list
      summary: List the apps under the specified AdMob account.
      description: List the apps under the specified AdMob account.
      tags:
      - apps
      parameters:
      - name: parent
        in: path
        description: 'Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654'
        required: true
        schema:
          type: string
          pattern: ^accounts/[^/]+$
      - name: pageToken
        in: query
        description: The value returned by the last `ListAppsResponse`; indicates that this is a continuation
          of a prior `ListApps` call, and that the system should return the next page of data.
        schema:
          type: string
      - name: pageSize
        in: query
        description: The maximum number of apps to return. If unspecified or 0, at most 10,000 apps will
          be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppsResponse'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
components:
  securitySchemes:
    GoogleOAuth2:
      type: oauth2
      description: Google OAuth 2.0. See https://developers.google.com/admob/api/v1/auth
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/admob.readonly: See your AdMob data
            https://www.googleapis.com/auth/admob.report: See your AdMob data
  schemas:
    DateRange:
      type: object
      description: Specification of a single date range. Both dates are inclusive.
      properties:
        startDate:
          $ref: '#/components/schemas/Date'
        endDate:
          $ref: '#/components/schemas/Date'
    MediationReportSpec:
      type: object
      description: 'The specification for generating an AdMob Mediation report. For example, the specification
        to get observed ECPM sliced by ad source and app for the ''US'' and ''CN'' countries can look
        like the following example: { "date_range": { "start_date": {"year": 2021, "month": 9, "day":
        1}, "end_date": {"year": 2021, "month": 9, "day": 30} }, "dimensions": ["AD_SOURCE", "APP", "COUNTRY"],
        "metrics": ["OBSERVED_ECPM"], "dimension_filters": [ { "dimension": "COUNTRY", "matches_any":
        {"values": [{"value": "US", "value": "CN"}]} } ], "sort_conditions": [ {"dimension":"APP", order:
        "ASCENDING"} ], "localization_settings": { "currency_code": "USD", "language_code": "en-US" }
        } For a better understanding, you can treat the preceding specification like the following pseudo
        SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE >= ''2021-09-01''
        AND DATE <= ''2021-09-30'' AND COUNTRY IN (''US'', ''CN'') GROUP BY AD_SOURCE, APP, COUNTRY ORDER
        BY APP ASC;'
      properties:
        metrics:
          type: array
          description: List of metrics of the report. A report must specify at least one metric.
          items:
            type: string
            enum:
            - METRIC_UNSPECIFIED
            - AD_REQUESTS
            - CLICKS
            - ESTIMATED_EARNINGS
            - IMPRESSIONS
            - IMPRESSION_CTR
            - MATCHED_REQUESTS
            - MATCH_RATE
            - OBSERVED_ECPM
            x-enumDescriptions:
            - Default value for an unset field. Do not use.
            - The number of requests. The value is an integer.
            - The number of times a user clicks an ad. The value is an integer.
            - The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of
              the earning metrics are determined by the localization setting for currency. The amount
              is in micros. For example, $6.50 would be represented as 6500000. Estimated earnings per
              mediation group and per ad source instance level is supported dating back to October 20,
              2019. Third-party estimated earnings will show 0 for dates prior to October 20, 2019.
            - The total number of ads shown to users. The value is an integer.
            - The ratio of clicks over impressions. The value is a double precision (approximate) decimal
              value.
            - The number of times ads are returned in response to a request. The value is an integer.
            - The ratio of matched ad requests over the total ad requests. The value is a double precision
              (approximate) decimal value.
            - The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other)
              of the earning metrics are determined by the localization setting for currency. The amount
              is in micros. For example, $2.30 would be represented as 2300000. The estimated average
              eCPM per mediation group and per ad source instance level is supported dating back to October
              20, 2019. Third-party estimated average eCPM will show 0 for dates prior to October 20,
              2019.
        dimensions:
          type: array
          description: List of dimensions of the report. The value combination of these dimensions determines
            the row of the report. If no dimensions are specified, the report returns a single row of
            requested metrics for the entire account.
          items:
            type: string
            enum:
            - DIMENSION_UNSPECIFIED
            - DATE
            - MONTH
            - WEEK
            - AD_SOURCE
            - AD_SOURCE_INSTANCE
            - AD_UNIT
            - APP
            - MEDIATION_GROUP
            - COUNTRY
            - FORMAT
            - PLATFORM
            - MOBILE_OS_VERSION
            - GMA_SDK_VERSION
            - APP_VERSION_NAME
            - SERVING_RESTRICTION
            x-enumDescriptions:
            - Default value for an unset field. Do not use.
            - A date in the YYYYMMDD format (for example, "20210701"). Requests can specify at most one
              time dimension.
            - A month in the YYYYMM format (for example, "202107"). Requests can specify at most one time
              dimension.
            - The date of the first day of a week in the YYYYMMDD format (for example, "20210701"). Requests
              can specify at most one time dimension.
            - The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, "5450213213286189855"
              and "AdMob Network" as label value).
            - The unique ID of the ad source instance (for example, "ca-app-pub-1234:asi:5678" and "AdMob
              (default)" as label value).
            - The unique ID of the ad unit (for example, "ca-app-pub-1234/8790"). If AD_UNIT dimension
              is specified, then APP is included automatically.
            - The unique ID of the mobile application (for example, "ca-app-pub-1234~1234").
            - The unique ID of the mediation group (for example, "ca-app-pub-1234:mg:1234" and "AdMob
              (default)" as label value).
            - CLDR country code of the place where the ad views/clicks occur (for example, "US" or "FR").
              This is a geography dimension.
            - Format of the ad unit (for example, "banner", "native"), an ad delivery dimension.
            - Mobile OS platform of the app (for example, "Android" or "iOS").
            - Mobile operating system version, e.g. "iOS 13.5.1".
            - GMA SDK version, e.g. "iOS 7.62.0".
            - For Android, the app version name can be found in versionName in PackageInfo. For iOS, the
              app version name can be found in CFBundleShortVersionString.
            - Restriction mode for ads serving (e.g. "Non-personalized ads").
        dimensionFilters:
          type: array
          description: Describes which report rows to match based on their dimension values.
          items:
            $ref: '#/components/schemas/MediationReportSpecDimensionFilter'
        maxReportRows:
          type: integer
          format: int32
          description: Maximum number of report data rows to return. If the value is not set, the API
            returns as many rows as possible, up to 100000. Acceptable values are 1-100000, inclusive.
            Values larger than 100000 return an error.
        dateRange:
          $ref: '#/components/schemas/DateRange'
        sortConditions:
          type: array
          description: Describes the sorting of report rows. The order of the condition in the list defines
            its precedence; the earlier the condition, the higher its precedence. If no sort conditions
            are specified, the row ordering is undefined.
          items:
            $ref: '#/components/schemas/MediationReportSpecSortCondition'
        localizationSettings:
          $ref: '#/components/schemas/LocalizationSettings'
        timeZone:
          type: string
          description: A report time zone. Accepts an IANA TZ name values, such as "America/Los_Angeles."
            If no time zone is defined, the account default takes effect. Check default value by the get
            account action. **Warning:** The "America/Los_Angeles" is the only supported value at the
            moment.
    AppLinkedAppInfo:
      type: object
      description: Information from the app store if the app is linked to an app store.
      properties:
        displayName:
          type: string
          description: Output only. Display name of the app as it appears in the app store. This is an
            output-only field, and may be empty if the app cannot be found in the store.
          readOnly: true
        appStoreId:
          type: string
          description: 'The app store ID of the app; present if and only if the app is linked to an app
            store. If the app is added to the Google Play store, it will be the application ID of the
            app. For example: "com.example.myapp". See https://developer.android.com/studio/build/application-id.
            If the app is added to the Apple App Store, it will be app store ID. For example "105169111".
            Note that setting the app store id is considered an irreversible action. Once an app is linked,
            it cannot be unlinked.'
    GenerateNetworkReportResponse:
      type: object
      description: 'The streaming response for the AdMob Network report where the first response contains
        the report header, then a stream of row responses, and finally a footer as the last response message.
        For example: [{ "header": { "dateRange": { "startDate": {"year": 2018, "month": 9, "day": 1},
        "endDate": {"year": 2018, "month": 9, "day": 1} }, "localizationSettings": { "currencyCode": "USD",
        "languageCode": "en-US" } } }, { "row": { "dimensionValues": { "DATE": {"value": "20180918"},
        "APP": { "value": "ca-app-pub-8123415297019784~1001342552", displayLabel: "My app name!" } },
        "metricValues": { "ESTIMATED_EARNINGS": {"microsValue": 6500000} } } }, { "footer": {"matchingRowCount":
        1} }]'
      properties:
        row:
          $ref: '#/components/schemas/ReportRow'
        header:
          $ref: '#/components/schemas/ReportHeader'
        footer:
          $ref: '#/components/schemas/ReportFooter'
    AppManualAppInfo:
      type: object
      description: 'Information provided for manual apps which are not linked to an application store
        (Example: Google Play, App Store).'
      properties:
        displayName:
          type: string
          description: The display name of the app as shown in the AdMob UI, which is provided by the
            user. The maximum length allowed is 80 characters.
    ReportWarning:
      type: object
      description: Warnings associated with generation of the report.
      properties:
        type:
          type: string
          description: Type of the warning.
          enum:
          - TYPE_UNSPECIFIED
          - DATA_BEFORE_ACCOUNT_TIMEZONE_CHANGE
          - DATA_DELAYED
          - OTHER
          - REPORT_CURRENCY_NOT_ACCOUNT_CURRENCY
          x-enumDescriptions:
          - Default value for an unset field. Do not use.
          - Some data in this report is aggregated based on a time zone different from the requested time
            zone. This could happen if a local time-zone report has the start time before the last time
            this time zone changed. The description field will contain the date of the last time zone
            change.
          - There is an unusual delay in processing the source data for the requested date range. The
            report results might be less up to date than usual. AdMob is aware of the issue and is actively
            working to resolve it.
          - Warnings that are exposed without a specific type. Useful when new warning types are added
            but the API is not changed yet.
          - The currency being requested is not the account currency. The earning metrics will be based
            on the requested currency, and thus not a good estimation of the final payment anymore, due
            to the currency rate fluctuation.
        description:
          type: string
          description: Describes the details of the warning message, in English.
    GenerateMediationReportResponse:
      type: object
      description: 'The streaming response for the AdMob Mediation report where the first response contains
        the report header, then a stream of row responses, and finally a footer as the last response message.
        For example: [{ "header": { "date_range": { "start_date": {"year": 2018, "month": 9, "day": 1},
        "end_date": {"year": 2018, "month": 9, "day": 1} }, "localization_settings": { "currency_code":
        "USD", "language_code": "en-US" } } }, { "row": { "dimension_values": { "DATE": {"value": "20180918"},
        "APP": { "value": "ca-app-pub-8123415297019784~1001342552", "display_label": "My app name!" }
        }, "metric_values": { "ESTIMATED_EARNINGS": {"decimal_value": "1324746"} } } }, { "footer": {"matching_row_count":
        1} }]'
      properties:
        footer:
          $ref: '#/components/schemas/ReportFooter'
        header:
          $ref: '#/components/schemas/ReportHeader'
        row:
          $ref: '#/components/schemas/ReportRow'
    PublisherAccount:
      type: object
      description: A publisher account contains information relevant to the use of this API, such as the
        time zone used for the reports.
      properties:
        name:
          type: string
          description: Resource name of this account. Format is accounts/{publisher_id}.
        reportingTimeZone:
          type: string
          description: The time zone that is used in reports that are generated for this account. The
            value is a time-zone ID as specified by the CLDR project, for example, "America/Los_Angeles".
        publisherId:
          type: string
          description: The unique ID by which this publisher account can be identified in the API requests
            (for example, pub-1234567890).
        currencyCode:
          type: string
          description: Currency code of the earning-related metrics, which is the 3-letter code defined
            in ISO 4217. The daily average rate is used for the currency conversion.
    MediationReportSpecSortCondition:
      type: object
      description: Sorting direction to be applied on a dimension or a metric.
      properties:
        dimension:
          type: string
          description: Sort by the specified dimension.
          enum:
          - DIMENSION_UNSPECIFIED
          - DATE
          - MONTH
          - WEEK
          - AD_SOURCE
          - AD_SOURCE_INSTANCE
          - AD_UNIT
          - APP
          - MEDIATION_GROUP
          - COUNTRY
          - FORMAT
          - PLATFORM
          - MOBILE_OS_VERSION
          - GMA_SDK_VERSION
          - APP_VERSION_NAME
          - SERVING_RESTRICTION
          x-enumDescriptions:
          - Default value for an unset field. Do not use.
          - A date in the YYYYMMDD format (for example, "20210701"). Requests can specify at most one
            time dimension.
          - A month in the YYYYMM format (for example, "202107"). Requests can specify at most one time
            dimension.
          - The date of the first day of a week in the YYYYMMDD format (for example, "20210701"). Requests
            can specify at most one time dimension.
          - The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, "5450213213286189855"
            and "AdMob Network" as label value).
          - The unique ID of the ad source instance (for example, "ca-app-pub-1234:asi:5678" and "AdMob
            (default)" as label value).
          - The unique ID of the ad unit (for example, "ca-app-pub-1234/8790"). If AD_UNIT dimension is
            specified, then APP is included automatically.
          - The unique ID of the mobile application (for example, "ca-app-pub-1234~1234").
          - The unique ID of the mediation group (for example, "ca-app-pub-1234:mg:1234" and "AdMob (default)"
            as label value).
          - CLDR country code of the place where the ad views/clicks occur (for example, "US" or "FR").
            This is a geography dimension.
          - Format of the ad unit (for example, "banner", "native"), an ad delivery dimension.
          - Mobile OS platform of the app (for example, "Android" or "iOS").
          - Mobile operating system version, e.g. "iOS 13.5.1".
          - GMA SDK version, e.g. "iOS 7.62.0".
          - For Android, the app version name can be found in versionName in PackageInfo. For iOS, the
            app version name can be found in CFBundleShortVersionString.
          - Restriction mode for ads serving (e.g. "Non-personalized ads").
        order:
          type: string
          description: Sorting order of the dimension or metric.
          enum:
          - SORT_ORDER_UNSPECIFIED
          - ASCENDING
          - DESCENDING
          x-enumDescriptions:
          - Default value for an unset field. Do not use.
          - Sort dimension value or metric value in ascending order.
          - Sort dimension value or metric value in descending order.
        metric:
          type: string
          description: Sort by the specified metric.
          enum:
          - METRIC_UNSPECIFIED
          - AD_REQUESTS
          - CLICKS
          - ESTIMATED_EARNINGS
          - IMPRESSIONS
          - IMPRESSION_CTR
          - MATCHED_REQUESTS
          - MATCH_RATE
          - OBSERVED_ECPM
          x-enumDescriptions:
          - Default value for an unset field. Do not use.
          - The number of requests. The value is an integer.
          - The number of times a user clicks an ad. The value is an integer.
          - The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the
            earning metrics are determined by the localization setting for currency. The amount is in
            micros. For example, $6.50 would be represented as 6500000. Estimated earnings per mediation
            group and per ad source instance level is supported dating back to October 20, 2019. Third-party
            estimated earnings will show 0 for dates prior to October 20, 2019.
          - The total number of ads shown to users. The value is an integer.
          - The ratio of clicks over impressions. The value is a double precision (approximate) decimal
            value.
          - The number of times ads are returned in response to a request. The value is an integer.
          - The ratio of matched ad requests over the total ad requests. The value is a double precision
            (approximate) decimal value.
          - The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other)
            of the earning metrics are determined by the localization setting for currency. The amount
            is in micros. For example, $2.30 would be represented as 2300000. The estimated average eCPM
            per mediation group and per ad source instance level is supported dating back to October 20,
            2019. Third-party estimated average eCPM will show 0 for dates prior to October 20, 2019.
    GenerateNetworkReportRequest:
      type: object
      description: Request to generate an AdMob Network report.
      properties:
        reportSpec:
          $ref: '#/components/schemas/NetworkReportSpec'
    ReportRow:
      type: object
      description: A row of the returning report.
      properties:
        dimensionValues:
          type: object
          description: Map of dimension values in a row, with keys as enum name of the dimensions.
          additionalProperties:
            $ref: '#/components/schemas/ReportRowDimensionValue'
        metricValues:
          type: object
          description: Map of metric values in a row, with keys as enum name of the metrics. If a metric
            being requested has no value returned, the map will not include it.
          additionalProperties:
            $ref: '#/components/schemas/ReportRowMetricValue'
    AdUnit:
      type: object
      description: Describes an AdMob ad unit.
      properties:
        appId:
          type: string
          description: 'The externally visible ID of the app this ad unit is associated with. Example:
            ca-app-pub-9876543210987654~0123456789'
        displayName:
          type: string
          description: The display name of the ad unit as shown in the AdMob UI, which is provided by
            the user. The maximum length allowed is 80 characters.
        adTypes:
          type: array
          description: 'Ad media type supported by this ad unit. Possible values as follows: "RICH_MEDIA"
            - Text, image, and other non-video media. "VIDEO" - Video media.'
          items:
            type: string
        name:
          type: string
          description: 'Resource name for this ad unit. Format is accounts/{publisher_id}/adUnits/{ad_unit_id_fragment}
            Example: accounts/pub-9876543210987654/adUnits/0123456789'
        adUnitId:
          type: string
          description: 'The externally visible ID of the ad unit which can be used to integrate with AdMob.
            This is a read only property. Example: ca-app-pub-9876543210987654/0123456789'
        adFormat:
          type: string
          description: 'AdFormat of the ad unit. Possible values are as follows: "APP_OPEN" - App Open
            ad format. "BANNER" - Banner ad format. "BANNER_INTERSTITIAL" - Legacy format that can be
            used as either banner or interstitial. This format can no longer be created but can be targeted
            by mediation groups. "INTERSTITIAL" - A full screen ad. Supported ad types are "RICH_MEDIA"
            and "VIDEO". "NATIVE" - Native ad format. "REWARDED" - An ad that, once viewed, gets a callback
            verifying the view so that a reward can be given to the user. Supported ad types are "RICH_MEDIA"
            (interactive) and video where video can not be excluded. "REWARDED_INTERSTITIAL" - Rewarded
            Interstitial ad format. Only supports video ad type. See https://support.google.com/admob/answer/9884467.'
    ListPublisherAccountsResponse:
      type: object
      description: Response for the publisher account list request.
      properties:
        nextPageToken:
          type: string
          description: If not empty, indicates that there might be more accounts for the request; you
            must pass this value in a new `ListPublisherAccountsRequest`.
        account:
          type: array
          description: Publisher that the client credentials can access.
          items:
            $ref: '#/components/schemas/PublisherAccount'
    ListAdUnitsResponse:
      type: object
      description: Response for the ad units list request.
      properties:
        adUnits:
          type: array
          description: The resulting ad units for the requested account.
          items:
            $ref: '#/components/schemas/AdUnit'
        nextPageToken:
          type: string
          description: If not empty, indicates that there may be more ad units for the request; this value
            should be passed in a new `ListAdUnitsRequest`.
    Date:
      type: object
      description: 'Represents a whole or partial calendar date, such as a birthday. The time of day and
        time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian
        Calendar. This can represent one of the following: * A full date, with non-zero year, month, and
        day values. * A month and day, with a zero year (for example, an anniversary). * A year on its
        own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit
        card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp'
      properties:
        day:
          type: integer
          format: int32
          description

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/admob/refs/heads/main/openapi/admob-api-v1-openapi.yml