Google AdMob Mediation Groups API

The mediationGroups API from Google AdMob — 2 operation(s) for mediationgroups.

Operations 3

GET /v1beta/accounts/{accountsId}/mediationGroups List mediation groups under the specified AdMob account #
POST /v1beta/accounts/{accountsId}/mediationGroups Create a mediation group under the specific AdMob account #
PATCH /v1beta/accounts/{accountsId}/mediationGroups/{mediationGroupsId} Update the specified mediation group under the specified AdMob account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-admob-mediationgroups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-admob-mediationgroups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google AdMob Mediation Groups API
  version: v1beta
  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'
  x-discovery-source: https://admob.googleapis.com/$discovery/rest?version=v1beta
servers:
- url: https://admob.googleapis.com
  description: Google AdMob API
security:
- GoogleOAuth2:
  - https://www.googleapis.com/auth/admob.readonly
  - https://www.googleapis.com/auth/admob.report
tags:
- name: mediationGroups
paths:
  /v1beta/accounts/{accountsId}/mediationGroups:
    get:
      operationId: accounts_mediationGroups_list
      summary: List mediation groups under the specified AdMob account
      description: List mediation groups under the specified AdMob account. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.
      tags:
      - mediationGroups
      x-resource-name-parameter:
        parent:
          pattern: ^accounts/[^/]+$
          description: 'Required. Resource name of the account to list mediation groups for. Example: accounts/pub-9876543210987654'
      parameters:
      - name: filter
        in: query
        required: false
        schema:
          type: string
        description: 'The filter string that uses [EBNF grammar syntax](https://google.aip.dev/assets/misc/ebnf-filtering.txt). Possible fields to filter by are: - "AD_SOURCE_IDS" - "AD_UNIT_IDS" - "APP_IDS" - "DISPLAY_NAME" - "FORMAT" - "MEDIATION_GROUP_ID" - "PLATFORM" - "STATE" - "TARGETED_REGION_CODES" Possible filter functions are: - `IN`: Used to filter fields that represent a singleton including "MEDIATION_GROUP_ID", "DISPLAY_NAME", "STATE", "PLATFORM", and "FORMAT". - `CONTAINS_ANY`: Used to filter fields that represent a collection including "AD_SOURCE_IDS", "AD_UNIT_IDS", "APP_IDS", and "TARGETED_REGION_CODES". The filter functions can be added together using `AND`. `OR` functionality is not supported. Example: filter: IN(DISPLAY_NAME, "Test Group 1", "Test Group 2") AND IN(PLATFORM, "ANDROID") AND CONTAINS_ANY(AD_SOURCE_IDS, "5450213213286189855")'
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
        description: The maximum number of mediation groups to return. If unspecified or 0, at most 10,000 mediation groups will be returned. The maximum value is 20,000; values above 20,000 will be coerced to 20,000.
      - name: pageToken
        in: query
        required: false
        schema:
          type: string
        description: The value returned by the last `ListMediationGroupsResponse`; indicates that this is a continuation of a prior `ListMediationGroups` call, and that the system should return the next page of data.
      - name: accountsId
        in: path
        required: true
        schema:
          type: string
        description: Path segment of the resource name.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMediationGroupsResponse'
        '400':
          description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '401':
          description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '403':
          description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access to the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '429':
          description: RESOURCE_EXHAUSTED — per-project quota exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '500':
          description: INTERNAL — unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
      security:
      - GoogleOAuth2:
        - https://www.googleapis.com/auth/admob.readonly
    post:
      operationId: accounts_mediationGroups_create
      summary: Create a mediation group under the specific AdMob account
      description: Create a mediation group under the specific AdMob account. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.
      tags:
      - mediationGroups
      x-resource-name-parameter:
        parent:
          pattern: ^accounts/[^/]+$
          description: 'Required. The parent which owns the mediation group. Format: accounts/{publisher_id}'
      parameters:
      - name: accountsId
        in: path
        required: true
        schema:
          type: string
        description: Path segment of the resource name.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediationGroup'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediationGroup'
        '400':
          description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '401':
          description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '403':
          description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access to the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '429':
          description: RESOURCE_EXHAUSTED — per-project quota exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '500':
          description: INTERNAL — unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
  /v1beta/accounts/{accountsId}/mediationGroups/{mediationGroupsId}:
    patch:
      operationId: accounts_mediationGroups_patch
      summary: Update the specified mediation group under the specified AdMob account
      description: Update the specified mediation group under the specified AdMob account. This method has limited access. If you see a 403 permission denied error, please reach out to your account manager for access.
      tags:
      - mediationGroups
      x-resource-name-parameter:
        name:
          pattern: ^accounts/[^/]+/mediationGroups/[^/]+$
          description: 'Resource name for this mediation group. Format is: accounts/{publisher_id}/mediationGroups/{mediation_group_id} Example: accounts/pub-9876543210987654/mediationGroups/0123456789'
      parameters:
      - name: updateMask
        in: query
        required: false
        schema:
          type: string
          format: google-fieldmask
        description: 'List of mediation group fields to be updated. Updates to repeated fields such as items in a list will fully replace the existing value(s) with the new value(s). Updates to individual values in a map can be done by indexing by the key. The following field masks are supported for mediation group updates: - "mediation_group_lines[\"{mediation_group_line_id}\"]" clang-format off - "mediation_group_lines[\"{mediation_group_line_id}\"].ad_unit_mappings[\"{ad_unit_id}\"]" clang-format on - "mediation_group_lines[\"{mediation_group_line_id}\"].cpm_micros" - "mediation_group_lines[\"{mediation_group_line_id}\"].cpm_mode" - "mediation_group_lines[\"{mediation_group_line_id}\"].state" - "mediation_group_lines[\"{mediation_group_line_id}\"].display_name" - "targeting.ad_unit_ids" To update a mediation group with a new mediation group line, use a distinct negative number for the "mediation_group_line_id". For Example: update_mask { paths: "mediation_group_lines[\"123456789012345\"].cpm_micros" }'
      - name: accountsId
        in: path
        required: true
        schema:
          type: string
        description: Path segment of the resource name.
      - name: mediationGroupsId
        in: path
        required: true
        schema:
          type: string
        description: Path segment of the resource name.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediationGroup'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediationGroup'
        '400':
          description: INVALID_ARGUMENT — malformed request, unknown publisher id, or incompatible report metrics/dimensions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '401':
          description: UNAUTHENTICATED — missing or invalid OAuth 2.0 access token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '403':
          description: PERMISSION_DENIED — AdMob API not enabled on the project, or the effective user lacks access to the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '429':
          description: RESOURCE_EXHAUSTED — per-project quota exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
        '500':
          description: INTERNAL — unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcStatus'
components:
  schemas:
    MediationGroup:
      type: object
      description: Describes an AdMob Mediation group.
      properties:
        name:
          type: string
          description: 'Resource name for this mediation group. Format is: accounts/{publisher_id}/mediationGroups/{mediation_group_id} Example: accounts/pub-9876543210987654/mediationGroups/0123456789'
        mediationGroupLines:
          type: object
          description: The mediation lines used for serving for this mediation group. Key is the ID of the mediation group line. For creation, use distinct negative values as placeholder.
          additionalProperties:
            $ref: '#/components/schemas/MediationGroupMediationGroupLine'
        mediationAbExperimentState:
          type: string
          description: Output only. The state of the mediation a/b experiment that belongs to this mediation group.
          enum:
          - EXPERIMENT_STATE_UNSPECIFIED
          - RUNNING
          - NOT_RUNNING
          x-enum-descriptions:
          - Default value for an unset field. Do not use.
          - The mediation group has an experiment in the RUNNING state.
          - There is no experiment in the RUNNING state in the mediation group.
          readOnly: true
        state:
          type: string
          description: The status of the mediation group. Only enabled mediation groups will be served.
          enum:
          - STATE_UNSPECIFIED
          - ENABLED
          - DISABLED
          x-enum-descriptions:
          - Default value for an unset field. Do not use.
          - The mediation group is active and used to serve ads or to collect stats.
          - The mediation group has been disabled and is no longer serving ads or collecting stats. Disabled mediation groups can be re-enabled.
        mediationGroupId:
          type: string
          description: 'The ID of the mediation group. Example: "0123456789". This is a read only property.'
        targeting:
          $ref: '#/components/schemas/MediationGroupTargeting'
        displayName:
          type: string
          description: User provided name for the mediation group. The maximum length allowed is 120 characters.
    MediationGroupTargeting:
      type: object
      description: Set of criteria targeted by this mediation group. For example, a mediation group can target specific ad unit IDs, platform, format and geo location.
      properties:
        targetedRegionCodes:
          type: array
          description: The Unicode country/region code (CLDR) of a location, such as "US". Unset if this mediation group targets all available regions. For more information, see http://www.unicode.org/reports/tr35/#unicode_region_subtag.
          items:
            type: string
        platform:
          type: string
          description: 'Describes the platform of the app. Examples: "IOS", "ANDROID".'
        format:
          type: string
          description: 'Ad format targeted by this mediation group. Examples: "BANNER", "NATIVE".'
        adUnitIds:
          type: array
          description: 'Ad units targeted by this mediation group. Example: "ca-app-pub-1234/8790".'
          items:
            type: string
        excludedRegionCodes:
          type: array
          description: The Unicode country/region code (CLDR) of a location, such as "US". Unset if this mediation group does not exclude any region.
          items:
            type: string
        idfaTargeting:
          type: string
          description: The parameter can be used to target ad requests based on the availability of the IDFA. If set to ALL, the mediation group applies to all ad requests (with or without IDFA). If set to AVAILABLE, the mediation group applies to ad requests with IDFA. If set to NOT_AVAILABLE, the mediation group applies to ad requests without IDFA. Doesn't need to be specified for an ANDROID device.
          enum:
          - IDFA_TARGETING_UNSPECIFIED
          - ALL
          - AVAILABLE
          - NOT_AVAILABLE
          x-enum-descriptions:
          - Default value. This value is unused.
          - All the devices are targeted, regardless of IDFA availability.
          - Only the devices with IDFA availability are targeted.
          - Only the devices without IDFA availability are targeted.
    MediationGroupMediationGroupLine:
      type: object
      description: Settings for an ad network used by a mediation group.
      properties:
        cpmMicros:
          type: string
          format: int64
          description: The CPM for this allocation line. $0.01 is the minimum allowed amount. For LIVE CPM modes, the default amount is $0.01. This value is ignored if `cpm_mode` is `LIVE`. **Warning:** "USD" is the only supported currency at the moment. The unit is in micros.
        adSourceId:
          type: string
          description: The ID of the ad source this mediation line is associated with.
        experimentVariant:
          type: string
          description: Output only. The Mediation A/B experiment variant to which the mediation group line belongs to.
          enum:
          - VARIANT_UNSPECIFIED
          - VARIANT_A
          - VARIANT_B
          - ORIGINAL
          x-enum-descriptions:
          - Default value for an unset field. Do not use.
          - The mediation group line belongs to the variant A.
          - The mediation group line belongs to the variant B.
          - The mediation group line isn't a part of an experiment.
          readOnly: true
        displayName:
          type: string
          description: User-provided label for this mediation line. The maximum length allowed is 255 characters.
        adUnitMappings:
          type: object
          description: References of the ad unit mappings for each ad unit associated with this mediation line. Key is the ad unit ID, value is resource name of the ad unit mapping. For mediation lines where the ad source id is the AdMob Network, ad unit mappings will be ignored.
          additionalProperties:
            type: string
        id:
          type: string
          description: The 16 digit ID for this mediation line e.g. 0123456789012345. When creating a new mediation group line, use a distinct negative integer as the ID place holder.
        state:
          type: string
          description: The status of the mediation group line. Only enabled mediation group lines will be served.
          enum:
          - STATE_UNSPECIFIED
          - ENABLED
          - DISABLED
          - REMOVED
          x-enum-descriptions:
          - Default value for an unset field. Do not use.
          - The mediation group line is active and used to serve ads.
          - The mediation group line has been disabled and is no longer served. Disabled mediation group lines can be re-enabled.
          - The mediation group line will be removed and no longer served. Removed mediation group lines can not be re-enabled and will no longer be visible. This is an input only field.
        cpmMode:
          type: string
          description: Indicates how the CPM for this mediation line is provided. Note that `MANUAL` and `LIVE` are the only fully-supported mode at the moment. Please use the AdMob UI (https://admob.google.com) if you wish to create or update to other cpm modes.
          enum:
          - CPM_MODE_UNSPECIFIED
          - LIVE
          - MANUAL
          - ANO
          x-enum-descriptions:
          - Default value for an unset field. Do not use.
          - CPM is calculated per ad request based on the ad auction.
          - CPM is set by the user manually.
          - CPM is retrieved from the ad network using the publisher specified credentials. Output only.
    ListMediationGroupsResponse:
      type: object
      description: Response for the mediation groups list request.
      properties:
        mediationGroups:
          type: array
          description: The resulting mediation groups for the requested account.
          items:
            $ref: '#/components/schemas/MediationGroup'
        nextPageToken:
          type: string
          description: If not empty, indicates that there may be more mediation groups for the request; this value should be passed in a new `ListMediationGroupsRequest`.
    GoogleRpcStatus:
      type: object
      description: Canonical Google API error envelope (google.rpc.Status), returned inside an `error` wrapper.
      properties:
        code:
          type: integer
          description: The status code, which should be an enum value of google.rpc.Code.
        message:
          type: string
          description: A developer-facing error message in English.
        status:
          type: string
          description: The canonical error reason, e.g. INVALID_ARGUMENT, RESOURCE_EXHAUSTED.
        details:
          type: array
          items:
            type: object
          description: A list of messages that carry the error details.
      x-source: Derived from Google's documented AdMob error responses at https://developers.google.com/admob/api/v1/errors; not present in the Discovery Document.
  securitySchemes:
    GoogleOAuth2:
      type: oauth2
      description: Google OAuth 2.0 user authorization. AdMob does not support service accounts.
      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
externalDocs:
  description: AdMob API documentation
  url: https://developers.google.com/admob/api/