Google Android Products API

The Products API from Google Android — 7 operation(s) for products.

GitHub OpenAPI

Operations 7

GET /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId} Get products #
GET /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions Get permissions products #
POST /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl Generate approval url products #
POST /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove Unapprove products #
POST /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve Approve products #
GET /androidenterprise/v1/enterprises/{enterpriseId}/products List products #
GET /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema Get app restrictions schema products #

Documentation

Specifications

Schemas & Data

Other Resources

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-android:google-android-products-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-android-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google Play EMM Products API
  version: v1
  description: Generated from Google's published Discovery document for Google Play EMM API (androidenterprise v1, revision 20261110). 7 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
servers:
- url: https://androidenterprise.googleapis.com
tags:
- name: Products
paths:
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}:
    get:
      operationId: androidenterprise.products.get
      summary: Get products
      description: Retrieves details of a product for display to an enterprise admin.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product, e.g. "app:com.google.android.gm".
        schema:
          type: string
      - name: language
        in: query
        required: false
        description: The BCP47 tag for the user's preferred language (e.g. "en-US", "de").
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions:
    get:
      operationId: androidenterprise.products.getPermissions
      summary: Get permissions products
      description: Retrieves the Android app permissions required by this app.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPermissions'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl:
    post:
      operationId: androidenterprise.products.generateApprovalUrl
      summary: Generate approval url products
      description: Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product. Admins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as the approvalUrlInfo.approvalUrl property in a Products.approve call to approve the product. This URL can only be used to display permissions for up to 1 day. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product.
        schema:
          type: string
      - name: languageCode
        in: query
        required: false
        description: The BCP 47 language code used for permission names and descriptions in the returned iframe, for instance "en-US".
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductsGenerateApprovalUrlResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove:
    post:
      operationId: androidenterprise.products.unapprove
      summary: Unapprove products
      description: Unapproves the specified product (and the relevant app permissions, if any) **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve:
    post:
      operationId: androidenterprise.products.approve
      summary: Approve products
      description: Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000. To learn how to use managed Google Play to design and create a store layout to display approved products to your users, see Store Layout Design. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductsApproveRequest'
      responses:
        '200':
          description: Successful response
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products:
    get:
      operationId: androidenterprise.products.list
      summary: List products
      description: Finds approved products that match a query, or all approved products if there is no query. **Note:** This item has been deprecated. New integrations cannot use this method and can refer to our new recommendations.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: approved
        in: query
        required: false
        description: Specifies whether to search among all products (false) or among only products that have been approved (true). Only "true" is supported, and should be specified.
        schema:
          type: boolean
      - name: language
        in: query
        required: false
        description: The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). Results are returned in the language best matching the preferred language.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: Defines how many results the list operation should return. The default number depends on the resource collection.
        schema:
          type: integer
          format: uint32
      - name: query
        in: query
        required: false
        description: The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).
        schema:
          type: string
      - name: token
        in: query
        required: false
        description: Defines the token of the page to return, usually taken from TokenPagination. This can only be used if token paging is enabled.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductsListResponse'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
  /androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema:
    get:
      operationId: androidenterprise.products.getAppRestrictionsSchema
      summary: Get app restrictions schema products
      description: Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play.
      parameters:
      - name: enterpriseId
        in: path
        required: true
        description: The ID of the enterprise.
        schema:
          type: string
      - name: productId
        in: path
        required: true
        description: The ID of the product.
        schema:
          type: string
      - name: language
        in: query
        required: false
        description: The BCP47 tag for the user's preferred language (e.g. "en-US", "de").
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppRestrictionsSchema'
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/androidenterprise
      - apiKey: []
      tags:
      - Products
components:
  schemas:
    AppVersion:
      description: This represents a single version of the app.
      type: object
      properties:
        targetSdkVersion:
          format: int32
          type: integer
          description: The SDK version this app targets, as specified in the manifest of the APK. See http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
        trackId:
          type: array
          items:
            type: string
          description: Track ids that the app version is published in. Replaces the track field (deprecated), but doesn't include the production track (see isProduction instead).
        isProduction:
          type: boolean
          description: True if this version is a production APK.
        track:
          description: Deprecated, use trackId instead.
          type: string
          enum:
          - appTrackUnspecified
          - production
          - beta
          - alpha
        versionString:
          description: The string used in the Play store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be "1.4").
          type: string
        versionCode:
          format: int32
          type: integer
          description: Unique increasing identifier for the app version.
    TokenPagination:
      type: object
      properties:
        previousPageToken:
          type: string
        nextPageToken:
          description: Tokens to pass to the standard list field 'page_token'. Whenever available, tokens are preferred over manipulating start_index.
          type: string
      description: Pagination information returned by a List operation when token pagination is enabled. List operations that supports paging return only one "page" of results. This protocol buffer message describes the page that has been returned. When using token pagination, clients should use the next/previous token to get another page of the result. The presence or absence of next/previous token indicates whether a next/previous page is available and provides a mean of accessing this page. ListRequest.page_token should be set to either next_page_token or previous_page_token to access another page.
    ProductsListResponse:
      type: object
      properties:
        pageInfo:
          $ref: '#/components/schemas/PageInfo'
          description: General pagination information.
        product:
          type: array
          items:
            $ref: '#/components/schemas/Product'
          description: Information about a product (e.g. an app) in the Google Play store, for display to an enterprise admin.
        tokenPagination:
          $ref: '#/components/schemas/TokenPagination'
          description: Pagination information for token pagination.
    ProductSigningCertificate:
      properties:
        certificateHashSha256:
          type: string
          description: The base64 urlsafe encoded SHA2-256 hash of the certificate.
        certificateHashSha1:
          description: The base64 urlsafe encoded SHA1 hash of the certificate. (This field is deprecated in favor of SHA2-256. It should not be used and may be removed at any time.)
          type: string
      type: object
    PageInfo:
      description: Information about the current page. List operations that supports paging return only one "page" of results. This protocol buffer message describes the page that has been returned.
      properties:
        resultPerPage:
          format: int32
          description: Maximum number of results returned in one page. ! The number of results included in the API response.
          type: integer
        totalResults:
          format: int32
          description: Total number of results available on the backend ! The total number of results in the result set.
          type: integer
        startIndex:
          type: integer
          format: int32
          description: Index of the first result returned in the current page.
      type: object
    ProductPermission:
      type: object
      description: A product permissions resource represents the set of permissions required by a specific app and whether or not they have been accepted by an enterprise admin. The API can be used to read the set of permissions, and also to update the set to indicate that permissions have been accepted.
      properties:
        state:
          enum:
          - required
          - accepted
          description: Whether the permission has been accepted or not.
          type: string
        permissionId:
          type: string
          description: An opaque string uniquely identifying the permission.
    Product:
      description: A Products resource represents an app in the Google Play store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.) The information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.
      properties:
        title:
          type: string
          description: The name of the product.
        description:
          description: The localized promotional description, if available.
          type: string
        category:
          type: string
          description: The app category (e.g. RACING, SOCIAL, etc.)
        iconUrl:
          type: string
          description: A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px.
        contentRating:
          type: string
          description: The content rating for this app.
          enum:
          - ratingUnknown
          - all
          - preTeen
          - teen
          - mature
        permissions:
          type: array
          description: A list of permissions required by the app.
          items:
            $ref: '#/components/schemas/ProductPermission'
        productPricing:
          description: Whether this product is free, free with in-app purchases, or paid. If the pricing is unknown, this means the product is not generally available anymore (even though it might still be available to people who own it).
          type: string
          enum:
          - unknown
          - free
          - freeWithInAppPurchase
          - paid
        screenshotUrls:
          description: A list of screenshot links representing the app.
          items:
            type: string
          type: array
        detailsUrl:
          type: string
          description: A link to the (consumer) Google Play details page for the product.
        appVersion:
          type: array
          items:
            $ref: '#/components/schemas/AppVersion'
          description: App versions currently available for this product.
        availableTracks:
          items:
            enum:
            - appTrackUnspecified
            - production
            - beta
            - alpha
            type: string
          type: array
          description: Deprecated, use appTracks instead.
        appTracks:
          description: The tracks visible to the enterprise.
          items:
            $ref: '#/components/schemas/TrackInfo'
          type: array
        distributionChannel:
          type: string
          description: How and to whom the package is made available. The value publicGoogleHosted means that the package is available through the Play store and not restricted to a specific enterprise. The value privateGoogleHosted means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted means that the package is a private app (restricted to an enterprise) and is privately hosted.
          enum:
          - publicGoogleHosted
          - privateGoogleHosted
          - privateSelfHosted
        recentChanges:
          type: string
          description: A description of the recent changes made to the app.
        features:
          type: array
          items:
            type: string
            enum:
            - featureUnknown
            - vpnApp
          description: Noteworthy features (if any) of this product.
        workDetailsUrl:
          description: A link to the managed Google Play details page for the product, for use by an Enterprise admin.
          type: string
        fullDescription:
          type: string
          description: The localized full app store description, if available.
        appRestrictionsSchema:
          $ref: '#/components/schemas/AppRestrictionsSchema'
          description: The app restriction schema
        requiresContainerApp:
          description: Deprecated.
          type: boolean
        authorName:
          description: The name of the author of the product (for example, the app developer).
          type: string
        availableCountries:
          description: The countries which this app is available in.
          type: array
          items:
            type: string
        signingCertificate:
          $ref: '#/components/schemas/ProductSigningCertificate'
          description: The certificate used to sign this product.
        smallIconUrl:
          type: string
          description: A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px.
        lastUpdatedTimestampMillis:
          format: int64
          description: The approximate time (within 7 days) the app was last published, expressed in milliseconds since epoch.
          type: string
        productId:
          type: string
          description: A string of the form *app:<package name>*. For example, app:com.google.android.gm represents the Gmail app.
        minAndroidSdkVersion:
          description: The minimum Android SDK necessary to run the app.
          format: int32
          type: integer
      type: object
    ProductPermissions:
      type: object
      properties:
        productId:
          description: The ID of the app that the permissions relate to, e.g. "app:com.google.android.gm".
          type: string
        permission:
          description: The permissions required by the app.
          type: array
          items:
            $ref: '#/components/schemas/ProductPermission'
      description: Information about the permissions required by a specific app and whether they have been accepted by the enterprise.
    TrackInfo:
      description: Id to name association of a track.
      properties:
        trackId:
          description: Unmodifiable, unique track identifier. This identifier is the releaseTrackId in the url of the play developer console page that displays the track information.
          type: string
        trackAlias:
          description: A modifiable name for a track. This is the visible name in the play developer console.
          type: string
      type: object
    AppRestrictionsSchema:
      properties:
        kind:
          description: Deprecated.
          type: string
        restrictions:
          type: array
          description: The set of restrictions that make up this schema.
          items:
            $ref: '#/components/schemas/AppRestrictionsSchemaRestriction'
      description: Represents the list of app restrictions available to be pre-configured for the product.
      type: object
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    ProductsApproveRequest:
      type: object
      properties:
        approvedPermissions:
          description: Sets how new permission requests for the product are handled. "allPermissions" automatically approves all current and future permissions for the product. "currentPermissionsOnly" approves the current set of permissions for the product, but any future permissions added through updates will require manual reapproval. If not specified, only the current set of permissions will be approved.
          type: string
          enum:
          - currentPermissionsOnly
          - allPermissions
        approvalUrlInfo:
          $ref: '#/components/schemas/ApprovalUrlInfo'
          description: The approval URL that was shown to the user. Only the permissions shown to the user with that URL will be accepted, which may not be the product's entire set of permissions. For example, the URL may only display new permissions from an update after the product was approved, or not include new permissions if the product was updated since the URL was generated.
    ApprovalUrlInfo:
      description: Information on an approval URL.
      properties:
        approvalUrl:
          description: A URL that displays a product's permissions and that can also be used to approve the product with the Products.approve call.
          type: string
      type: object
    AppRestrictionsSchemaRestrictionRestrictionValue:
      properties:
        type:
          type: string
          description: The type of the value being provided.
          enum:
          - bool
          - string
          - integer
          - choice
          - multiselect
          - hidden
          - bundle
          - bundleArray
        valueString:
          type: string
          description: The string value - this will be present for types string, choice and hidden.
        valueBool:
          type: boolean
          description: The boolean value - this will only be present if type is bool.
        valueMultiselect:
          description: The list of string values - this will only be present if type is multiselect.
          items:
            type: string
          type: array
        valueInteger:
          format: int32
          description: The integer value - this will only be present if type is integer.
          type: integer
      type: object
      description: A typed value for the restriction.
    ProductsGenerateApprovalUrlResponse:
      type: object
      properties:
        url:
          description: A URL that can be rendered in an iframe to display the permissions (if any) of a product. This URL can be used to approve the product only once and only within 24 hours of being generated, using the Products.approve call. If the product is currently unapproved and has no permissions, this URL will point to an empty page. If the product is currently approved, a URL will only be generated if that product has added permissions since it was last approved, and the URL will only display those new permissions that have not yet been accepted.
          type: string
    AppRestrictionsSchemaRestriction:
      properties:
        nestedRestriction:
          type: array
          description: For bundle or bundleArray restrictions, the list of nested restrictions. A bundle restriction is always nested within a bundleArray restriction, and a bundleArray restriction is at most two levels deep.
          items:
            $ref: '#/components/schemas/AppRestrictionsSchemaRestriction'
        entryValue:
          description: For choice or multiselect restrictions, the list of possible entries' machine-readable values. These values should be used in the configuration, either as a single string value for a choice restriction or in a stringArray for a multiselect restriction.
          type: array
          items:
            type: string
        defaultValue:
          $ref: '#/components/schemas/AppRestrictionsSchemaRestrictionRestrictionValue'
          description: The default value of the restriction. bundle and bundleArray restrictions never have a default value.
        title:
          type: string
          description: The name of the restriction.
        key:
          type: string
          description: The unique key that the product uses to identify the restriction, e.g. "com.google.android.gm.fieldname".
        description:
          type: string
          description: A longer description of the restriction, giving more detail of what it affects.
        restrictionType:
          type: string
          description: The type of the restriction.
          enum:
          - bool
          - string
          - integer
          - choice
          - multiselect
          - hidden
          - bundle
          - bundleArray
        entry:
          type: array
          description: For choice or multiselect restrictions, the list of possible entries' human-readable names.
          items:
            type: string
      description: A restriction in the App Restriction Schema represents a piece of configuration that may be pre-applied.
      type: object
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/androidenterprise: Manage corporate Android devices
externalDocs:
  url: https://developers.google.com/android/work/play/emm-api
x-provenance:
  method: harvested
  publisher: Google
  source: https://androidenterprise.googleapis.com/$discovery/rest?version=v1
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261110)