{
  "title": "AdSense Platform API",
  "batchPath": "batch",
  "ownerName": "Google",
  "fullyEncodeReservedExpansion": true,
  "schemas": {
    "CloseAccountRequest": {
      "id": "CloseAccountRequest",
      "type": "object",
      "description": "Request definition for the account close rpc.",
      "properties": {}
    },
    "Event": {
      "description": "A platform sub-account event to record spam signals.",
      "properties": {
        "eventTime": {
          "type": "string",
          "description": "Required. Event timestamp.",
          "format": "google-datetime"
        },
        "eventType": {
          "type": "string",
          "enumDescriptions": [
            "Do not use. You must set an event type explicitly.",
            "Log in via platform.",
            "Sign up via platform."
          ],
          "description": "Required. Event type.",
          "enum": [
            "EVENT_TYPE_UNSPECIFIED",
            "LOG_IN_VIA_PLATFORM",
            "SIGN_UP_VIA_PLATFORM"
          ]
        },
        "eventInfo": {
          "description": "Required. Information associated with the event.",
          "$ref": "EventInfo"
        }
      },
      "id": "Event",
      "type": "object"
    },
    "CloseAccountResponse": {
      "description": "Response definition for the account close rpc.",
      "properties": {},
      "id": "CloseAccountResponse",
      "type": "object"
    },
    "ListAccountsResponse": {
      "id": "ListAccountsResponse",
      "type": "object",
      "description": "Response definition for the list accounts rpc.",
      "properties": {
        "nextPageToken": {
          "description": "Continuation token used to page through accounts. To retrieve the next page of the results, set the next request's \"page_token\" value to this.",
          "type": "string"
        },
        "accounts": {
          "type": "array",
          "description": "The Accounts returned in the list response. Represented by a partial view of the Account resource, populating `name` and `creation_request_id`.",
          "items": {
            "$ref": "Account"
          }
        }
      }
    },
    "Address": {
      "id": "Address",
      "type": "object",
      "description": "Address data.",
      "properties": {
        "phone": {
          "description": "Phone number with international code (i.e. +441234567890).",
          "type": "string"
        },
        "state": {
          "description": "State. Max length 60 bytes or 30 characters.",
          "type": "string"
        },
        "fax": {
          "description": "Fax number with international code (i.e. +441234567890).",
          "type": "string"
        },
        "contact": {
          "description": "Contact name of the company. Max length 128 bytes or 34 characters.",
          "type": "string"
        },
        "regionCode": {
          "description": "Country/Region code. The region is specified as a CLDR region code (e.g. \"US\", \"FR\").",
          "type": "string"
        },
        "city": {
          "description": "City. Max length 60 bytes or 30 characters.",
          "type": "string"
        },
        "company": {
          "description": "Name of the company. Max length 255 bytes or 34 characters.",
          "type": "string"
        },
        "address1": {
          "description": "First line of address. Max length 64 bytes or 30 characters.",
          "type": "string"
        },
        "address2": {
          "description": "Second line of address. Max length 64 bytes or 30 characters.",
          "type": "string"
        },
        "zip": {
          "description": "Zip/post code. Max length 10 bytes or 10 characters.",
          "type": "string"
        }
      }
    },
    "EventInfo": {
      "id": "EventInfo",
      "type": "object",
      "description": "Private information for partner recorded events (PII).",
      "properties": {
        "email": {
          "description": "Required. The email address that is associated with the publisher when performing the event.",
          "type": "string"
        },
        "billingAddress": {
          "description": "The billing address of the publisher associated with this event, if available.",
          "$ref": "Address"
        }
      }
    },
    "RequestSiteReviewResponse": {
      "description": "Response definition for the site request review rpc.",
      "properties": {},
      "id": "RequestSiteReviewResponse",
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "id": "Empty",
      "type": "object"
    },
    "Account": {
      "id": "Account",
      "type": "object",
      "description": "Representation of an Account.",
      "properties": {
        "name": {
          "description": "Output only. Resource name of the account. Format: platforms/pub-[0-9]+/accounts/pub-[0-9]+",
          "readOnly": true,
          "type": "string"
        },
        "creationRequestId": {
          "description": "Required. An opaque token that uniquely identifies the account among all the platform's accounts. This string may contain at most 64 non-whitespace ASCII characters, but otherwise has no predefined structure. However, it is expected to be a platform-specific identifier for the user creating the account, so that only a single account can be created for any given user. This field must not contain any information that is recognizable as personally identifiable information. e.g. it should not be an email address or login name. Once an account has been created, a second attempt to create an account using the same creation_request_id will result in an ALREADY_EXISTS error.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. Creation time of the account.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "regionCode": {
          "description": "Required. Input only. CLDR region code of the country/region of the address. Set this to country code of the child account if known, otherwise to your own country code.",
          "type": "string"
        },
        "displayName": {
          "description": "Display name of this account.",
          "type": "string"
        },
        "state": {
          "enumDescriptions": [
            "Unspecified.",
            "Unchecked.",
            "The account is ready to serve ads.",
            "The account has been blocked from serving ads."
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. Approval state of the account.",
          "enum": [
            "STATE_UNSPECIFIED",
            "UNCHECKED",
            "APPROVED",
            "DISAPPROVED"
          ]
        },
        "timeZone": {
          "description": "Required. The IANA TZ timezone code of this account. For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. This field is used for reporting. It is recommended to set it to the same value for all child accounts.",
          "$ref": "TimeZone"
        }
      }
    },
    "Site": {
      "description": "Representation of a Site.",
      "properties": {
        "name": {
          "description": "Output only. Resource name of a site. Format: platforms/{platform}/accounts/{account}/sites/{site}",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "description": "Output only. State of a site.",
          "enum": [
            "STATE_UNSPECIFIED",
            "REQUIRES_REVIEW",
            "GETTING_READY",
            "READY",
            "NEEDS_ATTENTION"
          ],
          "type": "string",
          "readOnly": true,
          "enumDescriptions": [
            "State unspecified.",
            "Either: - The site hasn't been checked yet. - The site is inactive and needs another review before it can show ads again. Learn how to [request a review for an inactive site](https://support.google.com/adsense/answer/9393996).",
            "Google is running some checks on the site. This usually takes a few days, but in some cases it can take two to four weeks.",
            "The site is ready to show ads. Learn how to [set up ads on the site](https://support.google.com/adsense/answer/7037624).",
            "Publisher needs to fix some issues before the site is ready to show ads. Learn what to do [if a new site isn't ready](https://support.google.com/adsense/answer/9061852)."
          ]
        },
        "domain": {
          "description": "Domain/sub-domain of the site. Must be a valid domain complying with [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt) and formatted as punycode [RFC 3492](https://www.ietf.org/rfc/rfc3492.txt) in case the domain contains unicode characters.",
          "type": "string"
        }
      },
      "id": "Site",
      "type": "object"
    },
    "LookupAccountResponse": {
      "id": "LookupAccountResponse",
      "type": "object",
      "description": "Response definition for the lookup account rpc.",
      "properties": {
        "name": {
          "description": "The name of the Account Format: platforms/{platform}/accounts/{account_id}",
          "type": "string"
        }
      }
    },
    "TimeZone": {
      "id": "TimeZone",
      "type": "object",
      "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).",
      "properties": {
        "id": {
          "description": "IANA Time Zone Database time zone. For example \"America/New_York\".",
          "type": "string"
        },
        "version": {
          "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".",
          "type": "string"
        }
      }
    },
    "ListSitesResponse": {
      "id": "ListSitesResponse",
      "type": "object",
      "description": "Response definition for the site list rpc.",
      "properties": {
        "nextPageToken": {
          "description": "Continuation token used to page through sites. To retrieve the next page of the results, set the next request's \"page_token\" value to this.",
          "type": "string"
        },
        "sites": {
          "description": "The sites returned in this list response.",
          "items": {
            "$ref": "Site"
          },
          "type": "array"
        }
      }
    }
  },
  "canonicalName": "AdSense Platform",
  "basePath": "",
  "ownerDomain": "google.com",
  "servicePath": "",
  "kind": "discovery#restDescription",
  "baseUrl": "https://adsenseplatform.googleapis.com/",
  "discoveryVersion": "v1",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/adsense": {
          "description": "View and manage your AdSense data"
        },
        "https://www.googleapis.com/auth/adsense.readonly": {
          "description": "View your AdSense data"
        }
      }
    }
  },
  "version_module": true,
  "resources": {
    "platforms": {
      "resources": {
        "accounts": {
          "methods": {
            "close": {
              "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}:close",
              "parameters": {
                "name": {
                  "description": "Required. Account to close. Format: platforms/{platform}/accounts/{account_id}",
                  "required": true,
                  "type": "string",
                  "pattern": "^platforms/[^/]+/accounts/[^/]+$",
                  "location": "path"
                }
              },
              "path": "v1/{+name}:close",
              "httpMethod": "POST",
              "id": "adsenseplatform.platforms.accounts.close",
              "request": {
                "$ref": "CloseAccountRequest"
              },
              "response": {
                "$ref": "CloseAccountResponse"
              },
              "description": "Closes a sub-account.",
              "scopes": [
                "https://www.googleapis.com/auth/adsense"
              ],
              "parameterOrder": [
                "name"
              ]
            },
            "lookup": {
              "scopes": [
                "https://www.googleapis.com/auth/adsense",
                "https://www.googleapis.com/auth/adsense.readonly"
              ],
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "LookupAccountResponse"
              },
              "description": "Looks up information about a sub-account for a specified creation_request_id. If no account exists for the given creation_request_id, returns 404.",
              "id": "adsenseplatform.platforms.accounts.lookup",
              "path": "v1/{+parent}/accounts:lookup",
              "httpMethod": "GET",
              "flatPath": "v1/platforms/{platformsId}/accounts:lookup",
              "parameters": {
                "creationRequestId": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. The creation_request_id provided when calling createAccount."
                },
                "parent": {
                  "pattern": "^platforms/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. Platform who parents the account. Format: platforms/{platform}",
                  "required": true
                }
              }
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/adsense",
                "https://www.googleapis.com/auth/adsense.readonly"
              ],
              "response": {
                "$ref": "Account"
              },
              "description": "Gets information about the selected sub-account.",
              "id": "adsenseplatform.platforms.accounts.get",
              "httpMethod": "GET",
              "path": "v1/{+name}",
              "parameters": {
                "name": {
                  "pattern": "^platforms/[^/]+/accounts/[^/]+$",
                  "location": "path",
                  "description": "Required. Account to get information about. Format: platforms/{platform}/accounts/{account_id}",
                  "required": true,
                  "type": "string"
                }
              },
              "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}"
            },
            "list": {
              "flatPath": "v1/platforms/{platformsId}/accounts",
              "parameters": {
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListAccounts` call. Provide this to retrieve the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required. Platform who parents the accounts. Format: platforms/{platform}",
                  "required": true,
                  "type": "string",
                  "pattern": "^platforms/[^/]+$",
                  "location": "path"
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "description": "Optional. The maximum number of accounts to include in the response, used for paging. If unspecified, at most 10000 accounts will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.",
                  "format": "int32"
                }
              },
              "path": "v1/{+parent}/accounts",
              "httpMethod": "GET",
              "id": "adsenseplatform.platforms.accounts.list",
              "response": {
                "$ref": "ListAccountsResponse"
              },
              "description": "Lists a partial view of sub-accounts for a specific parent account.",
              "scopes": [
                "https://www.googleapis.com/auth/adsense",
                "https://www.googleapis.com/auth/adsense.readonly"
              ],
              "parameterOrder": [
                "parent"
              ]
            },
            "create": {
              "scopes": [
                "https://www.googleapis.com/auth/adsense"
              ],
              "parameterOrder": [
                "parent"
              ],
              "request": {
                "$ref": "Account"
              },
              "response": {
                "$ref": "Account"
              },
              "description": "Creates a sub-account.",
              "id": "adsenseplatform.platforms.accounts.create",
              "flatPath": "v1/platforms/{platformsId}/accounts",
              "parameters": {
                "parent": {
                  "pattern": "^platforms/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. Platform to create an account for. Format: platforms/{platform}",
                  "required": true
                }
              },
              "path": "v1/{+parent}/accounts",
              "httpMethod": "POST"
            }
          },
          "resources": {
            "sites": {
              "methods": {
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "description": "Deletes a site from a specified account.",
                  "id": "adsenseplatform.platforms.accounts.sites.delete",
                  "httpMethod": "DELETE",
                  "path": "v1/{+name}",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the site to delete. Format: platforms/{platform}/accounts/{account}/sites/{site}",
                      "required": true,
                      "type": "string",
                      "pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$",
                      "location": "path"
                    }
                  },
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}"
                },
                "get": {
                  "path": "v1/{+name}",
                  "httpMethod": "GET",
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}",
                  "parameters": {
                    "name": {
                      "pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$",
                      "location": "path",
                      "description": "Required. The name of the site to retrieve. Format: platforms/{platform}/accounts/{account}/sites/{site}",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "id": "adsenseplatform.platforms.accounts.sites.get",
                  "response": {
                    "$ref": "Site"
                  },
                  "description": "Gets a site from a specified sub-account.",
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense",
                    "https://www.googleapis.com/auth/adsense.readonly"
                  ],
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense",
                    "https://www.googleapis.com/auth/adsense.readonly"
                  ],
                  "response": {
                    "$ref": "ListSitesResponse"
                  },
                  "description": "Lists sites for a specific account.",
                  "id": "adsenseplatform.platforms.accounts.sites.list",
                  "parameters": {
                    "pageToken": {
                      "description": "A page token, received from a previous `ListSites` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSites` must match the call that provided the page token.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "type": "string",
                      "description": "Required. The account which owns the sites. Format: platforms/{platform}/accounts/{account}",
                      "required": true,
                      "pattern": "^platforms/[^/]+/accounts/[^/]+$",
                      "location": "path"
                    },
                    "pageSize": {
                      "description": "The maximum number of sites to include in the response, used for paging. If unspecified, at most 10000 sites will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    }
                  },
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites",
                  "httpMethod": "GET",
                  "path": "v1/{+parent}/sites"
                },
                "requestReview": {
                  "response": {
                    "$ref": "RequestSiteReviewResponse"
                  },
                  "description": "Requests the review of a site. The site should be in REQUIRES_REVIEW or NEEDS_ATTENTION state. Note: Make sure you place an [ad tag](https://developers.google.com/adsense/platforms/direct/ad-tags) on your site before requesting a review.",
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:requestReview",
                  "httpMethod": "POST",
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites/{sitesId}:requestReview",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "Required. The name of the site to submit for review. Format: platforms/{platform}/accounts/{account}/sites/{site}",
                      "required": true,
                      "pattern": "^platforms/[^/]+/accounts/[^/]+/sites/[^/]+$",
                      "location": "path"
                    }
                  },
                  "id": "adsenseplatform.platforms.accounts.sites.requestReview"
                },
                "create": {
                  "id": "adsenseplatform.platforms.accounts.sites.create",
                  "path": "v1/{+parent}/sites",
                  "httpMethod": "POST",
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/sites",
                  "parameters": {
                    "parent": {
                      "description": "Required. Account to create site. Format: platforms/{platform}/accounts/{account_id}",
                      "required": true,
                      "type": "string",
                      "pattern": "^platforms/[^/]+/accounts/[^/]+$",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "Site"
                  },
                  "description": "Creates a site for a specified account.",
                  "request": {
                    "$ref": "Site"
                  }
                }
              }
            },
            "events": {
              "methods": {
                "create": {
                  "id": "adsenseplatform.platforms.accounts.events.create",
                  "flatPath": "v1/platforms/{platformsId}/accounts/{accountsId}/events",
                  "parameters": {
                    "parent": {
                      "pattern": "^platforms/[^/]+/accounts/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. Account to log events about. Format: platforms/{platform}/accounts/{account}",
                      "required": true
                    }
                  },
                  "path": "v1/{+parent}/events",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/adsense"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "Event"
                  },
                  "response": {
                    "$ref": "Event"
                  },
                  "description": "Creates an account event."
                }
              }
            }
          }
        }
      }
    }
  },
  "name": "adsenseplatform",
  "documentationLink": "https://developers.google.com/adsense/platforms/",
  "rootUrl": "https://adsenseplatform.googleapis.com/",
  "id": "adsenseplatform:v1",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "mtlsRootUrl": "https://adsenseplatform.mtls.googleapis.com/",
  "version": "v1",
  "protocol": "rest",
  "parameters": {
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "type": "string",
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query"
    },
    "$.xgafv": {
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ]
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    }
  },
  "description": "",
  "revision": "20260702"
}
