{
  "documentationLink": "https://developers.google.com/doubleclick-advertisers/",
  "mtlsRootUrl": "https://dfareporting.mtls.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/ddmconversions": {
          "description": "Manage DoubleClick Digital Marketing conversions"
        },
        "https://www.googleapis.com/auth/dfareporting": {
          "description": "View and manage DoubleClick for Advertisers reports"
        },
        "https://www.googleapis.com/auth/dfatrafficking": {
          "description": "View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns"
        }
      }
    }
  },
  "resources": {
    "accountPermissionGroups": {
      "methods": {
        "get": {
          "id": "dfareporting.accountPermissionGroups.get",
          "path": "userprofiles/{+profileId}/accountPermissionGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/accountPermissionGroups/{accountPermissionGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Account permission group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "AccountPermissionGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one account permission group by ID."
        },
        "list": {
          "id": "dfareporting.accountPermissionGroups.list",
          "path": "userprofiles/{+profileId}/accountPermissionGroups",
          "flatPath": "userprofiles/{userprofilesId}/accountPermissionGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AccountPermissionGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves the list of account permission groups."
        }
      }
    },
    "accountPermissions": {
      "methods": {
        "get": {
          "id": "dfareporting.accountPermissions.get",
          "path": "userprofiles/{+profileId}/accountPermissions/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/accountPermissions/{accountPermissionsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Account permission ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "AccountPermission"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one account permission by ID."
        },
        "list": {
          "id": "dfareporting.accountPermissions.list",
          "path": "userprofiles/{+profileId}/accountPermissions",
          "flatPath": "userprofiles/{userprofilesId}/accountPermissions",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AccountPermissionsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves the list of account permissions."
        }
      }
    },
    "accounts": {
      "methods": {
        "get": {
          "id": "dfareporting.accounts.get",
          "path": "userprofiles/{+profileId}/accounts/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/accounts/{accountsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Account ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Account"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one account by ID."
        },
        "list": {
          "id": "dfareporting.accounts.list",
          "path": "userprofiles/{+profileId}/accounts",
          "flatPath": "userprofiles/{userprofilesId}/accounts",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only accounts with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"account*2015\" will return objects with names like \"account June 2015\", \"account April 2015\", or simply \"account 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"account\" will match objects with name \"my account\", \"account 2015\", or simply \"account\".",
              "location": "query",
              "type": "string"
            },
            "active": {
              "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
              "location": "query",
              "type": "boolean"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AccountsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves the list of accounts, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.accounts.update",
          "path": "userprofiles/{+profileId}/accounts",
          "flatPath": "userprofiles/{userprofilesId}/accounts",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Account"
          },
          "response": {
            "$ref": "Account"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing account."
        },
        "patch": {
          "id": "dfareporting.accounts.patch",
          "path": "userprofiles/{+profileId}/accounts",
          "flatPath": "userprofiles/{userprofilesId}/accounts",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Account ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Account"
          },
          "response": {
            "$ref": "Account"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing account. This method supports patch semantics."
        }
      }
    },
    "accountActiveAdSummaries": {
      "methods": {
        "get": {
          "id": "dfareporting.accountActiveAdSummaries.get",
          "path": "userprofiles/{+profileId}/accountActiveAdSummaries/{+summaryAccountId}",
          "flatPath": "userprofiles/{userprofilesId}/accountActiveAdSummaries/{accountActiveAdSummariesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "summaryAccountId": {
              "description": "Account ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "summaryAccountId"
          ],
          "response": {
            "$ref": "AccountActiveAdSummary"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets the account's active ad summary by account ID."
        }
      }
    },
    "accountUserProfiles": {
      "methods": {
        "get": {
          "id": "dfareporting.accountUserProfiles.get",
          "path": "userprofiles/{profileId}/accountUserProfiles/{+id}",
          "flatPath": "userprofiles/{profileId}/accountUserProfiles/{accountUserProfilesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "User profile ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "AccountUserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one account user profile by ID."
        },
        "insert": {
          "id": "dfareporting.accountUserProfiles.insert",
          "path": "userprofiles/{+profileId}/accountUserProfiles",
          "flatPath": "userprofiles/{userprofilesId}/accountUserProfiles",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "AccountUserProfile"
          },
          "response": {
            "$ref": "AccountUserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new account user profile."
        },
        "list": {
          "id": "dfareporting.accountUserProfiles.list",
          "path": "userprofiles/{+profileId}/accountUserProfiles",
          "flatPath": "userprofiles/{userprofilesId}/accountUserProfiles",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only user profiles with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "userRoleId": {
              "description": "Select only user profiles with the specified user role ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "subaccountId": {
              "description": "Select only user profiles with the specified subaccount ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "active": {
              "description": "Select only active user profiles.",
              "location": "query",
              "type": "boolean"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"user profile*2015\" will return objects with names like \"user profile June 2015\", \"user profile April 2015\", or simply \"user profile 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"user profile\" will match objects with name \"my user profile\", \"user profile 2015\", or simply \"user profile\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AccountUserProfilesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.accountUserProfiles.update",
          "path": "userprofiles/{+profileId}/accountUserProfiles",
          "flatPath": "userprofiles/{userprofilesId}/accountUserProfiles",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "AccountUserProfile"
          },
          "response": {
            "$ref": "AccountUserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing account user profile."
        },
        "patch": {
          "id": "dfareporting.accountUserProfiles.patch",
          "path": "userprofiles/{+profileId}/accountUserProfiles",
          "flatPath": "userprofiles/{userprofilesId}/accountUserProfiles",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. AccountUserProfile ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "AccountUserProfile"
          },
          "response": {
            "$ref": "AccountUserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing account user profile. This method supports patch semantics."
        }
      }
    },
    "ads": {
      "methods": {
        "get": {
          "id": "dfareporting.ads.get",
          "path": "userprofiles/{+profileId}/ads/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/ads/{adsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Ad ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Ad"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one ad by ID."
        },
        "insert": {
          "id": "dfareporting.ads.insert",
          "path": "userprofiles/{+profileId}/ads",
          "flatPath": "userprofiles/{userprofilesId}/ads",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Ad"
          },
          "response": {
            "$ref": "Ad"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new ad."
        },
        "list": {
          "id": "dfareporting.ads.list",
          "path": "userprofiles/{+profileId}/ads",
          "flatPath": "userprofiles/{userprofilesId}/ads",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only ads with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "active": {
              "description": "Select only active ads.",
              "location": "query",
              "type": "boolean"
            },
            "archived": {
              "description": "Select only archived ads.",
              "location": "query",
              "type": "boolean"
            },
            "campaignIds": {
              "description": "Select only ads with these campaign IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Select only ads with this advertiser ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "type": {
              "description": "Select only ads with these types.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "AD_SERVING_STANDARD_AD",
                "AD_SERVING_DEFAULT_AD",
                "AD_SERVING_CLICK_TRACKER",
                "AD_SERVING_TRACKING",
                "AD_SERVING_BRAND_SAFE_AD"
              ]
            },
            "dynamicClickTracker": {
              "description": "Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.",
              "location": "query",
              "type": "boolean"
            },
            "compatibility": {
              "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "Deprecated enum value. No longer supported.",
                "Deprecated enum value. No longer supported.",
                "",
                ""
              ],
              "enum": [
                "DISPLAY",
                "DISPLAY_INTERSTITIAL",
                "APP",
                "APP_INTERSTITIAL",
                "IN_STREAM_VIDEO",
                "IN_STREAM_AUDIO"
              ]
            },
            "sizeIds": {
              "description": "Select only ads with these size IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "landingPageIds": {
              "description": "Select only ads with these landing page IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "creativeIds": {
              "description": "Select only ads with these creative IDs assigned.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "placementIds": {
              "description": "Select only ads with these placement IDs assigned.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "remarketingListIds": {
              "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "audienceSegmentIds": {
              "description": "Select only ads with these audience segment IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "overriddenEventTagId": {
              "description": "Select only ads with this event tag override ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "sslRequired": {
              "description": "Select only ads that require SSL.",
              "location": "query",
              "type": "boolean"
            },
            "sslCompliant": {
              "description": "Select only ads that are SSL-compliant.",
              "location": "query",
              "type": "boolean"
            },
            "creativeOptimizationConfigurationIds": {
              "description": "Select only ads with these creative optimization configuration IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"ad*2015\" will return objects with names like \"ad June 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"ad\" will match objects with name \"my ad\", \"ad 2015\", or simply \"ad\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AdsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of ads, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.ads.update",
          "path": "userprofiles/{+profileId}/ads",
          "flatPath": "userprofiles/{userprofilesId}/ads",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Ad"
          },
          "response": {
            "$ref": "Ad"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing ad."
        },
        "patch": {
          "id": "dfareporting.ads.patch",
          "path": "userprofiles/{+profileId}/ads",
          "flatPath": "userprofiles/{userprofilesId}/ads",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. RemarketingList ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Ad"
          },
          "response": {
            "$ref": "Ad"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing ad. This method supports patch semantics."
        }
      }
    },
    "advertiserGroups": {
      "methods": {
        "delete": {
          "id": "dfareporting.advertiserGroups.delete",
          "path": "userprofiles/{+profileId}/advertiserGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups/{advertiserGroupsId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Advertiser group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing advertiser group."
        },
        "get": {
          "id": "dfareporting.advertiserGroups.get",
          "path": "userprofiles/{+profileId}/advertiserGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups/{advertiserGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Advertiser group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "AdvertiserGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one advertiser group by ID."
        },
        "insert": {
          "id": "dfareporting.advertiserGroups.insert",
          "path": "userprofiles/{+profileId}/advertiserGroups",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "AdvertiserGroup"
          },
          "response": {
            "$ref": "AdvertiserGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new advertiser group."
        },
        "list": {
          "id": "dfareporting.advertiserGroups.list",
          "path": "userprofiles/{+profileId}/advertiserGroups",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "ids": {
              "description": "Select only advertiser groups with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser group June 2015\", \"advertiser group April 2015\", or simply \"advertiser group 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertisergroup\" will match objects with name \"my advertisergroup\", \"advertisergroup 2015\", or simply \"advertisergroup\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AdvertiserGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.advertiserGroups.update",
          "path": "userprofiles/{+profileId}/advertiserGroups",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "AdvertiserGroup"
          },
          "response": {
            "$ref": "AdvertiserGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing advertiser group."
        },
        "patch": {
          "id": "dfareporting.advertiserGroups.patch",
          "path": "userprofiles/{+profileId}/advertiserGroups",
          "flatPath": "userprofiles/{userprofilesId}/advertiserGroups",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Advertiser Group ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "AdvertiserGroup"
          },
          "response": {
            "$ref": "AdvertiserGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing advertiser group. This method supports patch semantics."
        }
      }
    },
    "advertisers": {
      "methods": {
        "get": {
          "id": "dfareporting.advertisers.get",
          "path": "userprofiles/{+profileId}/advertisers/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/advertisers/{advertisersId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Advertiser ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Advertiser"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one advertiser by ID."
        },
        "insert": {
          "id": "dfareporting.advertisers.insert",
          "path": "userprofiles/{+profileId}/advertisers",
          "flatPath": "userprofiles/{userprofilesId}/advertisers",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Advertiser"
          },
          "response": {
            "$ref": "Advertiser"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new advertiser."
        },
        "list": {
          "id": "dfareporting.advertisers.list",
          "path": "userprofiles/{+profileId}/advertisers",
          "flatPath": "userprofiles/{userprofilesId}/advertisers",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "subaccountId": {
              "description": "Select only advertisers with these subaccount IDs.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "status": {
              "description": "Select only advertisers with the specified status.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Approved (ads can deliver)",
                "On-hold (all ads are stopped)"
              ],
              "enum": [
                "APPROVED",
                "ON_HOLD"
              ]
            },
            "advertiserGroupIds": {
              "description": "Select only advertisers with these advertiser group IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "floodlightConfigurationIds": {
              "description": "Select only advertisers with these floodlight configuration IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "includeAdvertisersWithoutGroupsOnly": {
              "description": "Select only advertisers which do not belong to any advertiser group.",
              "location": "query",
              "type": "boolean"
            },
            "onlyParent": {
              "description": "Select only advertisers which use another advertiser's floodlight configuration.",
              "location": "query",
              "type": "boolean"
            },
            "ids": {
              "description": "Select only advertisers with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\" .",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AdvertisersListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.advertisers.update",
          "path": "userprofiles/{+profileId}/advertisers",
          "flatPath": "userprofiles/{userprofilesId}/advertisers",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Advertiser"
          },
          "response": {
            "$ref": "Advertiser"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing advertiser."
        },
        "patch": {
          "id": "dfareporting.advertisers.patch",
          "path": "userprofiles/{+profileId}/advertisers",
          "flatPath": "userprofiles/{userprofilesId}/advertisers",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Advertiser ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Advertiser"
          },
          "response": {
            "$ref": "Advertiser"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing advertiser. This method supports patch semantics."
        }
      }
    },
    "billingAssignments": {
      "methods": {
        "insert": {
          "id": "dfareporting.billingAssignments.insert",
          "path": "userprofiles/{+profileId}/billingProfiles/{+billingProfileId}/billingAssignments",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles/{billingProfilesId}/billingAssignments",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "billingProfileId": {
              "description": "Billing profile ID of this billing assignment.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "billingProfileId"
          ],
          "request": {
            "$ref": "BillingAssignment"
          },
          "response": {
            "$ref": "BillingAssignment"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new billing assignment and returns the new assignment. Only one of advertiser_id or campaign_id is support per request. If the new assignment has no effect (assigning a campaign to the parent advertiser billing profile or assigning an advertiser to the account billing profile), no assignment will be returned."
        },
        "list": {
          "id": "dfareporting.billingAssignments.list",
          "path": "userprofiles/{+profileId}/billingProfiles/{+billingProfileId}/billingAssignments",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles/{billingProfilesId}/billingAssignments",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "billingProfileId": {
              "description": "Billing profile ID of this billing assignment.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "billingProfileId"
          ],
          "response": {
            "$ref": "BillingAssignmentsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of billing assignments."
        }
      }
    },
    "billingProfiles": {
      "methods": {
        "get": {
          "id": "dfareporting.billingProfiles.get",
          "path": "userprofiles/{+profileId}/billingProfiles/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles/{billingProfilesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Billing Profile ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "BillingProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one billing profile by ID."
        },
        "list": {
          "id": "dfareporting.billingProfiles.list",
          "path": "userprofiles/{+profileId}/billingProfiles",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "currency_code": {
              "description": "Select only billing profile with currency.",
              "location": "query",
              "type": "string"
            },
            "subaccountIds": {
              "description": "Select only billing profile with the specified subaccount.When only_suggestion is true, only a single subaccount_id is supported.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "status": {
              "description": "Select only billing profile with the specified status.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                ""
              ],
              "enum": [
                "UNDER_REVIEW",
                "ACTIVE",
                "ARCHIVED"
              ]
            },
            "onlySuggestion": {
              "description": "Select only billing profile which is suggested for the currency_code & subaccount_id using the Billing Suggestion API.",
              "location": "query",
              "type": "boolean"
            },
            "ids": {
              "description": "Select only billing profile with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "name": {
              "description": "Allows searching for billing profiles by name. Wildcards (*) are allowed. For example, \"profile*2020\" will return objects with names like \"profile June 2020\", \"profile April 2020\", or simply \"profile 2020\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"profile\" will match objects with name \"my profile\", \"profile 2021\", or simply \"profile\".",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "BillingProfilesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of billing profiles, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.billingProfiles.update",
          "path": "userprofiles/{+profileId}/billingProfiles",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "BillingProfile"
          },
          "response": {
            "$ref": "BillingProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing billing profile."
        }
      }
    },
    "billingRates": {
      "methods": {
        "list": {
          "id": "dfareporting.billingRates.list",
          "path": "userprofiles/{+profileId}/billingProfiles/{+billingProfileId}/billingRates",
          "flatPath": "userprofiles/{userprofilesId}/billingProfiles/{billingProfilesId}/billingRates",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "billingProfileId": {
              "description": "Billing profile ID of this billing rate.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "billingProfileId"
          ],
          "response": {
            "$ref": "BillingRatesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of billing rates. This method supports paging."
        }
      }
    },
    "browsers": {
      "methods": {
        "list": {
          "id": "dfareporting.browsers.list",
          "path": "userprofiles/{+profileId}/browsers",
          "flatPath": "userprofiles/{userprofilesId}/browsers",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "BrowsersListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of browsers."
        }
      }
    },
    "campaignCreativeAssociations": {
      "methods": {
        "insert": {
          "id": "dfareporting.campaignCreativeAssociations.insert",
          "path": "userprofiles/{+profileId}/campaigns/{+campaignId}/campaignCreativeAssociations",
          "flatPath": "userprofiles/{userprofilesId}/campaigns/{campaignsId}/campaignCreativeAssociations",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "campaignId": {
              "description": "Campaign ID in this association.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "campaignId"
          ],
          "request": {
            "$ref": "CampaignCreativeAssociation"
          },
          "response": {
            "$ref": "CampaignCreativeAssociation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already."
        },
        "list": {
          "id": "dfareporting.campaignCreativeAssociations.list",
          "path": "userprofiles/{+profileId}/campaigns/{+campaignId}/campaignCreativeAssociations",
          "flatPath": "userprofiles/{userprofilesId}/campaigns/{campaignsId}/campaignCreativeAssociations",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "campaignId": {
              "description": "Campaign ID in this association.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "campaignId"
          ],
          "response": {
            "$ref": "CampaignCreativeAssociationsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging."
        }
      }
    },
    "campaigns": {
      "methods": {
        "get": {
          "id": "dfareporting.campaigns.get",
          "path": "userprofiles/{+profileId}/campaigns/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/campaigns/{campaignsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Campaign ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one campaign by ID."
        },
        "insert": {
          "id": "dfareporting.campaigns.insert",
          "path": "userprofiles/{+profileId}/campaigns",
          "flatPath": "userprofiles/{userprofilesId}/campaigns",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Campaign"
          },
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new campaign."
        },
        "list": {
          "id": "dfareporting.campaigns.list",
          "path": "userprofiles/{+profileId}/campaigns",
          "flatPath": "userprofiles/{userprofilesId}/campaigns",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only campaigns with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserIds": {
              "description": "Select only campaigns that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserGroupIds": {
              "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "archived": {
              "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
              "location": "query",
              "type": "boolean"
            },
            "overriddenEventTagId": {
              "description": "Select only campaigns that have overridden this event tag ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "subaccountId": {
              "description": "Select only campaigns that belong to this subaccount.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "atLeastOneOptimizationActivity": {
              "description": "Select only campaigns that have at least one optimization activity.",
              "location": "query",
              "type": "boolean"
            },
            "searchString": {
              "description": "Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, \"campaign*2015\" will return campaigns with names like \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"campaign\" will match campaigns with name \"my campaign\", \"campaign 2015\", or simply \"campaign\".",
              "location": "query",
              "type": "string"
            },
            "excludedIds": {
              "description": "Exclude campaigns with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CampaignsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.campaigns.update",
          "path": "userprofiles/{+profileId}/campaigns",
          "flatPath": "userprofiles/{userprofilesId}/campaigns",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Campaign"
          },
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing campaign."
        },
        "patch": {
          "id": "dfareporting.campaigns.patch",
          "path": "userprofiles/{+profileId}/campaigns",
          "flatPath": "userprofiles/{userprofilesId}/campaigns",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Campaign ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Campaign"
          },
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing campaign. This method supports patch semantics."
        }
      }
    },
    "changeLogs": {
      "methods": {
        "get": {
          "id": "dfareporting.changeLogs.get",
          "path": "userprofiles/{+profileId}/changeLogs/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/changeLogs/{changeLogsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Change log ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "ChangeLog"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one change log by ID."
        },
        "list": {
          "id": "dfareporting.changeLogs.list",
          "path": "userprofiles/{+profileId}/changeLogs",
          "flatPath": "userprofiles/{userprofilesId}/changeLogs",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only change logs with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "userProfileIds": {
              "description": "Select only change logs with these user profile IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
              "location": "query",
              "type": "string"
            },
            "objectType": {
              "description": "Select only change logs with the specified object type.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "OBJECT_ADVERTISER",
                "OBJECT_FLOODLIGHT_CONFIGURATION",
                "OBJECT_AD",
                "OBJECT_FLOODLIGHT_ACTVITY",
                "OBJECT_CAMPAIGN",
                "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
                "OBJECT_CREATIVE",
                "OBJECT_PLACEMENT",
                "OBJECT_DFA_SITE",
                "OBJECT_USER_ROLE",
                "OBJECT_USER_PROFILE",
                "OBJECT_ADVERTISER_GROUP",
                "OBJECT_ACCOUNT",
                "OBJECT_SUBACCOUNT",
                "OBJECT_RICHMEDIA_CREATIVE",
                "OBJECT_INSTREAM_CREATIVE",
                "OBJECT_MEDIA_ORDER",
                "OBJECT_CONTENT_CATEGORY",
                "OBJECT_PLACEMENT_STRATEGY",
                "OBJECT_SD_SITE",
                "OBJECT_SIZE",
                "OBJECT_CREATIVE_GROUP",
                "OBJECT_CREATIVE_ASSET",
                "OBJECT_USER_PROFILE_FILTER",
                "OBJECT_LANDING_PAGE",
                "OBJECT_CREATIVE_FIELD",
                "OBJECT_REMARKETING_LIST",
                "OBJECT_PROVIDED_LIST_CLIENT",
                "OBJECT_EVENT_TAG",
                "OBJECT_CREATIVE_BUNDLE",
                "OBJECT_BILLING_ACCOUNT_GROUP",
                "OBJECT_BILLING_FEATURE",
                "OBJECT_RATE_CARD",
                "OBJECT_ACCOUNT_BILLING_FEATURE",
                "OBJECT_BILLING_MINIMUM_FEE",
                "OBJECT_BILLING_PROFILE",
                "OBJECT_PLAYSTORE_LINK",
                "OBJECT_TARGETING_TEMPLATE",
                "OBJECT_SEARCH_LIFT_STUDY",
                "OBJECT_FLOODLIGHT_DV360_LINK",
                "OBJECT_ADVERTISER_CUSTOMER_LINK",
                "OBJECT_CONVERSION_DOMAIN",
                "OBJECT_ACCOUNT_CONVERSION_DOMAIN"
              ]
            },
            "action": {
              "description": "Select only change logs with the specified action.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "ACTION_CREATE",
                "ACTION_UPDATE",
                "ACTION_DELETE",
                "ACTION_ENABLE",
                "ACTION_DISABLE",
                "ACTION_ADD",
                "ACTION_REMOVE",
                "ACTION_MARK_AS_DEFAULT",
                "ACTION_ASSOCIATE",
                "ACTION_ASSIGN",
                "ACTION_UNASSIGN",
                "ACTION_SEND",
                "ACTION_LINK",
                "ACTION_UNLINK",
                "ACTION_PUSH",
                "ACTION_EMAIL_TAGS",
                "ACTION_SHARE"
              ]
            },
            "minChangeTime": {
              "description": "Select only change logs whose change time is after the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "maxChangeTime": {
              "description": "Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
              "location": "query",
              "type": "string"
            },
            "objectIds": {
              "description": "Select only change logs with these object IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "ChangeLogsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of change logs. This method supports paging."
        }
      }
    },
    "cities": {
      "methods": {
        "list": {
          "id": "dfareporting.cities.list",
          "path": "userprofiles/{+profileId}/cities",
          "flatPath": "userprofiles/{userprofilesId}/cities",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "namePrefix": {
              "description": "Select only cities with names starting with this prefix.",
              "location": "query",
              "type": "string"
            },
            "countryDartIds": {
              "description": "Select only cities from these countries.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "dartIds": {
              "description": "Select only cities with these DART IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "regionDartIds": {
              "description": "Select only cities from these regions.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CitiesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of cities, possibly filtered."
        }
      }
    },
    "connectionTypes": {
      "methods": {
        "get": {
          "id": "dfareporting.connectionTypes.get",
          "path": "userprofiles/{+profileId}/connectionTypes/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/connectionTypes/{connectionTypesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Connection type ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "ConnectionType"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one connection type by ID."
        },
        "list": {
          "id": "dfareporting.connectionTypes.list",
          "path": "userprofiles/{+profileId}/connectionTypes",
          "flatPath": "userprofiles/{userprofilesId}/connectionTypes",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "ConnectionTypesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of connection types."
        }
      }
    },
    "contentCategories": {
      "methods": {
        "delete": {
          "id": "dfareporting.contentCategories.delete",
          "path": "userprofiles/{+profileId}/contentCategories/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories/{contentCategoriesId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Content category ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing content category."
        },
        "get": {
          "id": "dfareporting.contentCategories.get",
          "path": "userprofiles/{+profileId}/contentCategories/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories/{contentCategoriesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Content category ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "ContentCategory"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one content category by ID."
        },
        "insert": {
          "id": "dfareporting.contentCategories.insert",
          "path": "userprofiles/{+profileId}/contentCategories",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "ContentCategory"
          },
          "response": {
            "$ref": "ContentCategory"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new content category."
        },
        "list": {
          "id": "dfareporting.contentCategories.list",
          "path": "userprofiles/{+profileId}/contentCategories",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only content categories with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"contentcategory*2015\" will return objects with names like \"contentcategory June 2015\", \"contentcategory April 2015\", or simply \"contentcategory 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"contentcategory\" will match objects with name \"my contentcategory\", \"contentcategory 2015\", or simply \"contentcategory\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "ContentCategoriesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of content categories, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.contentCategories.update",
          "path": "userprofiles/{+profileId}/contentCategories",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "ContentCategory"
          },
          "response": {
            "$ref": "ContentCategory"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing content category."
        },
        "patch": {
          "id": "dfareporting.contentCategories.patch",
          "path": "userprofiles/{+profileId}/contentCategories",
          "flatPath": "userprofiles/{userprofilesId}/contentCategories",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. ContentCategory ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "ContentCategory"
          },
          "response": {
            "$ref": "ContentCategory"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing content category. This method supports patch semantics."
        }
      }
    },
    "conversions": {
      "methods": {
        "batchinsert": {
          "id": "dfareporting.conversions.batchinsert",
          "path": "userprofiles/{profileId}/conversions/batchinsert",
          "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "ConversionsBatchInsertRequest"
          },
          "response": {
            "$ref": "ConversionsBatchInsertResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/ddmconversions"
          ],
          "description": "Inserts conversions."
        },
        "batchupdate": {
          "id": "dfareporting.conversions.batchupdate",
          "path": "userprofiles/{profileId}/conversions/batchupdate",
          "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "ConversionsBatchUpdateRequest"
          },
          "response": {
            "$ref": "ConversionsBatchUpdateResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/ddmconversions"
          ],
          "description": "Updates existing conversions."
        }
      }
    },
    "countries": {
      "methods": {
        "get": {
          "id": "dfareporting.countries.get",
          "path": "userprofiles/{+profileId}/countries/{+dartId}",
          "flatPath": "userprofiles/{userprofilesId}/countries/{countriesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "dartId": {
              "description": "Country DART ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "dartId"
          ],
          "response": {
            "$ref": "Country"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one country by ID."
        },
        "list": {
          "id": "dfareporting.countries.list",
          "path": "userprofiles/{+profileId}/countries",
          "flatPath": "userprofiles/{userprofilesId}/countries",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CountriesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of countries."
        }
      }
    },
    "creativeAssets": {
      "methods": {
        "insert": {
          "id": "dfareporting.creativeAssets.insert",
          "path": "userprofiles/{+profileId}/creativeAssets/{+advertiserId}/creativeAssets",
          "flatPath": "userprofiles/{userprofilesId}/creativeAssets/{creativeAssetsId}/creativeAssets",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Advertiser ID of this creative. This is a required field.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "advertiserId"
          ],
          "supportsMediaUpload": true,
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "maxSize": "1073741824",
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/dfareporting/v4/userprofiles/{+profileId}/creativeAssets/{+advertiserId}/creativeAssets"
              }
            }
          },
          "request": {
            "$ref": "CreativeAssetMetadata"
          },
          "response": {
            "$ref": "CreativeAssetMetadata"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new creative asset."
        }
      }
    },
    "creativeFields": {
      "methods": {
        "delete": {
          "id": "dfareporting.creativeFields.delete",
          "path": "userprofiles/{+profileId}/creativeFields/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative Field ID",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing creative field."
        },
        "get": {
          "id": "dfareporting.creativeFields.get",
          "path": "userprofiles/{+profileId}/creativeFields/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative Field ID",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "CreativeField"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one creative field by ID."
        },
        "insert": {
          "id": "dfareporting.creativeFields.insert",
          "path": "userprofiles/{+profileId}/creativeFields",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "CreativeField"
          },
          "response": {
            "$ref": "CreativeField"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new creative field."
        },
        "list": {
          "id": "dfareporting.creativeFields.list",
          "path": "userprofiles/{+profileId}/creativeFields",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only creative fields with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, \"creativefield*2015\" will return creative fields with names like \"creativefield June 2015\", \"creativefield April 2015\", or simply \"creativefield 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativefield\" will match creative fields with the name \"my creativefield\", \"creativefield 2015\", or simply \"creativefield\".",
              "location": "query",
              "type": "string"
            },
            "advertiserIds": {
              "description": "Select only creative fields that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CreativeFieldsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.creativeFields.update",
          "path": "userprofiles/{+profileId}/creativeFields",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "CreativeField"
          },
          "response": {
            "$ref": "CreativeField"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative field."
        },
        "patch": {
          "id": "dfareporting.creativeFields.patch",
          "path": "userprofiles/{+profileId}/creativeFields",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "CreativeField ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "CreativeField"
          },
          "response": {
            "$ref": "CreativeField"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative field. This method supports patch semantics."
        }
      }
    },
    "creativeFieldValues": {
      "methods": {
        "delete": {
          "id": "dfareporting.creativeFieldValues.delete",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues/{creativeFieldValuesId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "Creative field ID for this creative field value.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative Field Value ID",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing creative field value."
        },
        "get": {
          "id": "dfareporting.creativeFieldValues.get",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues/{creativeFieldValuesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "Creative field ID for this creative field value.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative Field Value ID",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId",
            "id"
          ],
          "response": {
            "$ref": "CreativeFieldValue"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one creative field value by ID."
        },
        "insert": {
          "id": "dfareporting.creativeFieldValues.insert",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "Creative field ID for this creative field value.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId"
          ],
          "request": {
            "$ref": "CreativeFieldValue"
          },
          "response": {
            "$ref": "CreativeFieldValue"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new creative field value."
        },
        "list": {
          "id": "dfareporting.creativeFieldValues.list",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "Creative field ID for this creative field value.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "searchString": {
              "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
              "location": "query",
              "type": "string"
            },
            "ids": {
              "description": "Select only creative field values with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "VALUE"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId"
          ],
          "response": {
            "$ref": "CreativeFieldValuesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.creativeFieldValues.update",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "Creative field ID for this creative field value.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId"
          ],
          "request": {
            "$ref": "CreativeFieldValue"
          },
          "response": {
            "$ref": "CreativeFieldValue"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative field value."
        },
        "patch": {
          "id": "dfareporting.creativeFieldValues.patch",
          "path": "userprofiles/{+profileId}/creativeFields/{+creativeFieldId}/creativeFieldValues",
          "flatPath": "userprofiles/{userprofilesId}/creativeFields/{creativeFieldsId}/creativeFieldValues",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "creativeFieldId": {
              "description": "CreativeField ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "CreativeFieldValue ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "creativeFieldId",
            "id"
          ],
          "request": {
            "$ref": "CreativeFieldValue"
          },
          "response": {
            "$ref": "CreativeFieldValue"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative field value. This method supports patch semantics."
        }
      }
    },
    "creativeGroups": {
      "methods": {
        "get": {
          "id": "dfareporting.creativeGroups.get",
          "path": "userprofiles/{+profileId}/creativeGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creativeGroups/{creativeGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "CreativeGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one creative group by ID."
        },
        "insert": {
          "id": "dfareporting.creativeGroups.insert",
          "path": "userprofiles/{+profileId}/creativeGroups",
          "flatPath": "userprofiles/{userprofilesId}/creativeGroups",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "CreativeGroup"
          },
          "response": {
            "$ref": "CreativeGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new creative group."
        },
        "list": {
          "id": "dfareporting.creativeGroups.list",
          "path": "userprofiles/{+profileId}/creativeGroups",
          "flatPath": "userprofiles/{userprofilesId}/creativeGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only creative groups with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "groupNumber": {
              "description": "Select only creative groups that belong to this subgroup.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "searchString": {
              "description": "Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, \"creativegroup*2015\" will return creative groups with names like \"creativegroup June 2015\", \"creativegroup April 2015\", or simply \"creativegroup 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativegroup\" will match creative groups with the name \"my creativegroup\", \"creativegroup 2015\", or simply \"creativegroup\".",
              "location": "query",
              "type": "string"
            },
            "advertiserIds": {
              "description": "Select only creative groups that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CreativeGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.creativeGroups.update",
          "path": "userprofiles/{+profileId}/creativeGroups",
          "flatPath": "userprofiles/{userprofilesId}/creativeGroups",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "CreativeGroup"
          },
          "response": {
            "$ref": "CreativeGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative group."
        },
        "patch": {
          "id": "dfareporting.creativeGroups.patch",
          "path": "userprofiles/{+profileId}/creativeGroups",
          "flatPath": "userprofiles/{userprofilesId}/creativeGroups",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Creative Group ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "CreativeGroup"
          },
          "response": {
            "$ref": "CreativeGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative group. This method supports patch semantics."
        }
      }
    },
    "creatives": {
      "methods": {
        "get": {
          "id": "dfareporting.creatives.get",
          "path": "userprofiles/{+profileId}/creatives/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/creatives/{creativesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Creative ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Creative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one creative by ID."
        },
        "insert": {
          "id": "dfareporting.creatives.insert",
          "path": "userprofiles/{+profileId}/creatives",
          "flatPath": "userprofiles/{userprofilesId}/creatives",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Creative"
          },
          "response": {
            "$ref": "Creative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new creative."
        },
        "list": {
          "id": "dfareporting.creatives.list",
          "path": "userprofiles/{+profileId}/creatives",
          "flatPath": "userprofiles/{userprofilesId}/creatives",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only creatives with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"creative*2015\" will return objects with names like \"creative June 2015\", \"creative April 2015\", or simply \"creative 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"creative\" will match objects with name \"my creative\", \"creative 2015\", or simply \"creative\".",
              "location": "query",
              "type": "string"
            },
            "active": {
              "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
              "location": "query",
              "type": "boolean"
            },
            "archived": {
              "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
              "location": "query",
              "type": "boolean"
            },
            "sizeIds": {
              "description": "Select only creatives with these size IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "types": {
              "description": "Select only creatives with these creative types.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "IMAGE",
                "DISPLAY_REDIRECT",
                "CUSTOM_DISPLAY",
                "INTERNAL_REDIRECT",
                "CUSTOM_DISPLAY_INTERSTITIAL",
                "INTERSTITIAL_INTERNAL_REDIRECT",
                "TRACKING_TEXT",
                "RICH_MEDIA_DISPLAY_BANNER",
                "RICH_MEDIA_INPAGE_FLOATING",
                "RICH_MEDIA_IM_EXPAND",
                "RICH_MEDIA_DISPLAY_EXPANDING",
                "RICH_MEDIA_DISPLAY_INTERSTITIAL",
                "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
                "RICH_MEDIA_MOBILE_IN_APP",
                "FLASH_INPAGE",
                "INSTREAM_VIDEO",
                "VPAID_LINEAR_VIDEO",
                "VPAID_NON_LINEAR_VIDEO",
                "INSTREAM_VIDEO_REDIRECT",
                "RICH_MEDIA_PEEL_DOWN",
                "HTML5_BANNER",
                "DISPLAY",
                "DISPLAY_IMAGE_GALLERY",
                "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
                "INSTREAM_AUDIO"
              ]
            },
            "campaignId": {
              "description": "Select only creatives with this campaign ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "studioCreativeId": {
              "description": "Select only creatives corresponding to this Studio creative ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "creativeFieldIds": {
              "description": "Select only creatives with these creative field IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "renderingIds": {
              "description": "Select only creatives with these rendering IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "companionCreativeIds": {
              "description": "Select only in-stream video creatives with these companion IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Select only creatives with this advertiser ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "CreativesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of creatives, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.creatives.update",
          "path": "userprofiles/{+profileId}/creatives",
          "flatPath": "userprofiles/{userprofilesId}/creatives",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Creative"
          },
          "response": {
            "$ref": "Creative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative."
        },
        "patch": {
          "id": "dfareporting.creatives.patch",
          "path": "userprofiles/{+profileId}/creatives",
          "flatPath": "userprofiles/{userprofilesId}/creatives",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Creative ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Creative"
          },
          "response": {
            "$ref": "Creative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing creative. This method supports patch semantics."
        }
      }
    },
    "dimensionValues": {
      "methods": {
        "query": {
          "id": "dfareporting.dimensionValues.query",
          "path": "userprofiles/{profileId}/dimensionvalues/query",
          "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "100",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "The value of the nextToken from the previous result page.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "DimensionValueRequest"
          },
          "response": {
            "$ref": "DimensionValueList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Retrieves list of report dimension values for a list of filters."
        }
      }
    },
    "directorySites": {
      "methods": {
        "get": {
          "id": "dfareporting.directorySites.get",
          "path": "userprofiles/{+profileId}/directorySites/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/directorySites/{directorySitesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Directory site ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "DirectorySite"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one directory site by ID."
        },
        "insert": {
          "id": "dfareporting.directorySites.insert",
          "path": "userprofiles/{+profileId}/directorySites",
          "flatPath": "userprofiles/{userprofilesId}/directorySites",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "DirectorySite"
          },
          "response": {
            "$ref": "DirectorySite"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new directory site."
        },
        "list": {
          "id": "dfareporting.directorySites.list",
          "path": "userprofiles/{+profileId}/directorySites",
          "flatPath": "userprofiles/{userprofilesId}/directorySites",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only directory sites with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "active": {
              "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsInterstitialPlacements": {
              "description": "This search filter is no longer supported and will have no effect on the results returned.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsPublisherPaidPlacements": {
              "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsInStreamVideoPlacements": {
              "description": "This search filter is no longer supported and will have no effect on the results returned.",
              "location": "query",
              "type": "boolean"
            },
            "dfpNetworkCode": {
              "description": "Select only directory sites with this Ad Manager network code.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, \"directory site*2015\" will return objects with names like \"directory site June 2015\", \"directory site April 2015\", or simply \"directory site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site\" will match objects with name \"my directory site\", \"directory site 2015\" or simply, \"directory site\".",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "DirectorySitesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging."
        }
      }
    },
    "dynamicFeeds": {
      "methods": {
        "get": {
          "id": "dfareporting.dynamicFeeds.get",
          "path": "studio/dynamicFeeds/{+dynamicFeedId}",
          "flatPath": "studio/dynamicFeeds/{dynamicFeedsId}",
          "httpMethod": "GET",
          "parameters": {
            "dynamicFeedId": {
              "description": "Required. Dynamic feed ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "dynamicFeedId"
          ],
          "response": {
            "$ref": "DynamicFeed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a dynamic feed by ID."
        },
        "insert": {
          "id": "dfareporting.dynamicFeeds.insert",
          "path": "studio/dynamicFeeds",
          "flatPath": "studio/dynamicFeeds",
          "httpMethod": "POST",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "DynamicFeedsInsertRequest"
          },
          "response": {
            "$ref": "DynamicFeed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new dynamic feed."
        },
        "update": {
          "id": "dfareporting.dynamicFeeds.update",
          "path": "studio/dynamicFeeds",
          "flatPath": "studio/dynamicFeeds",
          "httpMethod": "PUT",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "DynamicFeed"
          },
          "response": {
            "$ref": "DynamicFeed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored."
        },
        "retransform": {
          "id": "dfareporting.dynamicFeeds.retransform",
          "path": "studio/dynamicFeeds/{+dynamicFeedId}/retransform",
          "flatPath": "studio/dynamicFeeds/{dynamicFeedsId}/retransform",
          "httpMethod": "POST",
          "parameters": {
            "dynamicFeedId": {
              "description": "Required. Dynamic feed ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "dynamicFeedId"
          ],
          "response": {
            "$ref": "DynamicFeed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published)."
        }
      }
    },
    "dynamicProfiles": {
      "methods": {
        "get": {
          "id": "dfareporting.dynamicProfiles.get",
          "path": "studio/dynamicProfiles/{+dynamicProfileId}",
          "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}",
          "httpMethod": "GET",
          "parameters": {
            "dynamicProfileId": {
              "description": "Required. Dynamic profile ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "dynamicProfileId"
          ],
          "response": {
            "$ref": "DynamicProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a dynamic profile by ID."
        },
        "insert": {
          "id": "dfareporting.dynamicProfiles.insert",
          "path": "studio/dynamicProfiles",
          "flatPath": "studio/dynamicProfiles",
          "httpMethod": "POST",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "DynamicProfile"
          },
          "response": {
            "$ref": "DynamicProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new dynamic profile."
        },
        "update": {
          "id": "dfareporting.dynamicProfiles.update",
          "path": "studio/dynamicProfiles",
          "flatPath": "studio/dynamicProfiles",
          "httpMethod": "PUT",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "DynamicProfile"
          },
          "response": {
            "$ref": "DynamicProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing dynamic profile."
        },
        "generateCode": {
          "id": "dfareporting.dynamicProfiles.generateCode",
          "path": "studio/dynamicProfiles/{+dynamicProfileId}/generateCode",
          "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}/generateCode",
          "httpMethod": "GET",
          "parameters": {
            "dynamicProfileId": {
              "description": "Required. Dynamic profile ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "dynamicProfileId"
          ],
          "response": {
            "$ref": "DynamicProfileGenerateCodeResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Generates code for a dynamic profile, which will need unescaping."
        },
        "publish": {
          "id": "dfareporting.dynamicProfiles.publish",
          "path": "studio/dynamicProfiles/{+dynamicProfileId}/publish",
          "flatPath": "studio/dynamicProfiles/{dynamicProfilesId}/publish",
          "httpMethod": "POST",
          "parameters": {
            "dynamicProfileId": {
              "description": "Required. Dynamic profile ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "dynamicProfileId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Publish for a dynamic profile."
        }
      }
    },
    "dynamicTargetingKeys": {
      "methods": {
        "delete": {
          "id": "dfareporting.dynamicTargetingKeys.delete",
          "path": "userprofiles/{+profileId}/dynamicTargetingKeys/{+objectId}",
          "flatPath": "userprofiles/{userprofilesId}/dynamicTargetingKeys/{dynamicTargetingKeysId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "objectId": {
              "description": "ID of the object of this dynamic targeting key. This is a required field.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "name": {
              "description": "Required. Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.",
              "location": "query",
              "required": true,
              "type": "string"
            },
            "objectType": {
              "description": "Required. Type of the object of this dynamic targeting key. This is a required field.",
              "location": "query",
              "required": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "OBJECT_ADVERTISER",
                "OBJECT_AD",
                "OBJECT_CREATIVE",
                "OBJECT_PLACEMENT"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "objectId",
            "name",
            "objectType"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing dynamic targeting key."
        },
        "insert": {
          "id": "dfareporting.dynamicTargetingKeys.insert",
          "path": "userprofiles/{+profileId}/dynamicTargetingKeys",
          "flatPath": "userprofiles/{userprofilesId}/dynamicTargetingKeys",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "DynamicTargetingKey"
          },
          "response": {
            "$ref": "DynamicTargetingKey"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement."
        },
        "list": {
          "id": "dfareporting.dynamicTargetingKeys.list",
          "path": "userprofiles/{+profileId}/dynamicTargetingKeys",
          "flatPath": "userprofiles/{userprofilesId}/dynamicTargetingKeys",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "names": {
              "description": "Select only dynamic targeting keys exactly matching these names.",
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "objectType": {
              "description": "Select only dynamic targeting keys with this object type.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "OBJECT_ADVERTISER",
                "OBJECT_AD",
                "OBJECT_CREATIVE",
                "OBJECT_PLACEMENT"
              ]
            },
            "objectId": {
              "description": "Select only dynamic targeting keys with this object ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "DynamicTargetingKeysListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of dynamic targeting keys."
        }
      }
    },
    "eventTags": {
      "methods": {
        "delete": {
          "id": "dfareporting.eventTags.delete",
          "path": "userprofiles/{+profileId}/eventTags/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/eventTags/{eventTagsId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Event tag ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing event tag."
        },
        "get": {
          "id": "dfareporting.eventTags.get",
          "path": "userprofiles/{+profileId}/eventTags/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/eventTags/{eventTagsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Event tag ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "EventTag"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one event tag by ID."
        },
        "insert": {
          "id": "dfareporting.eventTags.insert",
          "path": "userprofiles/{+profileId}/eventTags",
          "flatPath": "userprofiles/{userprofilesId}/eventTags",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "EventTag"
          },
          "response": {
            "$ref": "EventTag"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new event tag."
        },
        "list": {
          "id": "dfareporting.eventTags.list",
          "path": "userprofiles/{+profileId}/eventTags",
          "flatPath": "userprofiles/{userprofilesId}/eventTags",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only event tags with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Select only event tags that belong to this advertiser.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "campaignId": {
              "description": "Select only event tags that belong to this campaign.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "adId": {
              "description": "Select only event tags that belong to this ad.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "enabled": {
              "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.",
              "location": "query",
              "type": "boolean"
            },
            "definitionsOnly": {
              "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.",
              "location": "query",
              "type": "boolean"
            },
            "eventTagTypes": {
              "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "A third-party pixel for impression tracking.",
                "A third-party JavaScript URL for impression tracking.",
                "A third-party URL for click tracking that redirects to the landing page."
              ],
              "enum": [
                "IMPRESSION_IMAGE_EVENT_TAG",
                "IMPRESSION_JAVASCRIPT_EVENT_TAG",
                "CLICK_THROUGH_EVENT_TAG"
              ]
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"eventtag*2015\" will return objects with names like \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"eventtag\" will match objects with name \"my eventtag\", \"eventtag 2015\", or simply \"eventtag\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "EventTagsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of event tags, possibly filtered."
        },
        "update": {
          "id": "dfareporting.eventTags.update",
          "path": "userprofiles/{+profileId}/eventTags",
          "flatPath": "userprofiles/{userprofilesId}/eventTags",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "EventTag"
          },
          "response": {
            "$ref": "EventTag"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing event tag."
        },
        "patch": {
          "id": "dfareporting.eventTags.patch",
          "path": "userprofiles/{+profileId}/eventTags",
          "flatPath": "userprofiles/{userprofilesId}/eventTags",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. EventTag ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "EventTag"
          },
          "response": {
            "$ref": "EventTag"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing event tag. This method supports patch semantics."
        }
      }
    },
    "files": {
      "methods": {
        "get": {
          "id": "dfareporting.files.get",
          "path": "reports/{reportId}/files/{fileId}",
          "flatPath": "reports/{reportId}/files/{fileId}",
          "httpMethod": "GET",
          "parameters": {
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "fileId": {
              "description": "The ID of the report file.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "reportId",
            "fileId"
          ],
          "supportsMediaDownload": true,
          "response": {
            "$ref": "File"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Retrieves a report file by its report ID and file ID. This method supports media download."
        },
        "list": {
          "id": "dfareporting.files.list",
          "path": "userprofiles/{profileId}/files",
          "flatPath": "userprofiles/{profileId}/files",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "10",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "The value of the nextToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "scope": {
              "description": "The scope that defines which results are returned.",
              "default": "MINE",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "All files in account.",
                "My files.",
                "Files shared with me."
              ],
              "enum": [
                "ALL",
                "MINE",
                "SHARED_WITH_ME"
              ]
            },
            "sortField": {
              "description": "The field by which to sort the list.",
              "default": "LAST_MODIFIED_TIME",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Sort by file ID.",
                "Sort by 'lastmodifiedAt' field."
              ],
              "enum": [
                "ID",
                "LAST_MODIFIED_TIME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "DESCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "FileList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Lists files for a user profile."
        }
      }
    },
    "floodlightActivityGroups": {
      "methods": {
        "get": {
          "id": "dfareporting.floodlightActivityGroups.get",
          "path": "userprofiles/{+profileId}/floodlightActivityGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivityGroups/{floodlightActivityGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Floodlight activity Group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "FloodlightActivityGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one floodlight activity group by ID."
        },
        "insert": {
          "id": "dfareporting.floodlightActivityGroups.insert",
          "path": "userprofiles/{+profileId}/floodlightActivityGroups",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivityGroups",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "FloodlightActivityGroup"
          },
          "response": {
            "$ref": "FloodlightActivityGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new floodlight activity group."
        },
        "list": {
          "id": "dfareporting.floodlightActivityGroups.list",
          "path": "userprofiles/{+profileId}/floodlightActivityGroups",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivityGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "type": {
              "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "COUNTER",
                "SALE"
              ]
            },
            "advertiserId": {
              "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "floodlightConfigurationId": {
              "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivitygroup*2015\" will return objects with names like \"floodlightactivitygroup June 2015\", \"floodlightactivitygroup April 2015\", or simply \"floodlightactivitygroup 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivitygroup\" will match objects with name \"my floodlightactivitygroup activity\", \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "FloodlightActivityGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.floodlightActivityGroups.update",
          "path": "userprofiles/{+profileId}/floodlightActivityGroups",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivityGroups",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "FloodlightActivityGroup"
          },
          "response": {
            "$ref": "FloodlightActivityGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight activity group."
        },
        "patch": {
          "id": "dfareporting.floodlightActivityGroups.patch",
          "path": "userprofiles/{+profileId}/floodlightActivityGroups",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivityGroups",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. EventTag ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "FloodlightActivityGroup"
          },
          "response": {
            "$ref": "FloodlightActivityGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight activity group. This method supports patch semantics."
        }
      }
    },
    "floodlightActivities": {
      "methods": {
        "delete": {
          "id": "dfareporting.floodlightActivities.delete",
          "path": "userprofiles/{+profileId}/floodlightActivities/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities/{floodlightActivitiesId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Floodlight activity ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing floodlight activity."
        },
        "generatetag": {
          "id": "dfareporting.floodlightActivities.generatetag",
          "path": "userprofiles/{+profileId}/floodlightActivities/generatetag",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities/generatetag",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "floodlightActivityId": {
              "description": "Floodlight activity ID for which we want to generate a tag.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "FloodlightActivitiesGenerateTagResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Generates a tag for a floodlight activity."
        },
        "get": {
          "id": "dfareporting.floodlightActivities.get",
          "path": "userprofiles/{+profileId}/floodlightActivities/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities/{floodlightActivitiesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Floodlight activity ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "FloodlightActivity"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one floodlight activity by ID."
        },
        "insert": {
          "id": "dfareporting.floodlightActivities.insert",
          "path": "userprofiles/{+profileId}/floodlightActivities",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "FloodlightActivity"
          },
          "response": {
            "$ref": "FloodlightActivity"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new floodlight activity."
        },
        "list": {
          "id": "dfareporting.floodlightActivities.list",
          "path": "userprofiles/{+profileId}/floodlightActivities",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "floodlightActivityGroupIds": {
              "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "floodlightConfigurationId": {
              "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "tagString": {
              "description": "Select only floodlight activities with the specified tag string.",
              "location": "query",
              "type": "string"
            },
            "floodlightActivityGroupType": {
              "description": "Select only floodlight activities with the specified floodlight activity group type.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "COUNTER",
                "SALE"
              ]
            },
            "floodlightActivityGroupTagString": {
              "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
              "location": "query",
              "type": "string"
            },
            "floodlightActivityGroupName": {
              "description": "Select only floodlight activities with the specified floodlight activity group name.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivity*2015\" will return objects with names like \"floodlightactivity June 2015\", \"floodlightactivity April 2015\", or simply \"floodlightactivity 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivity\" will match objects with name \"my floodlightactivity activity\", \"floodlightactivity 2015\", or simply \"floodlightactivity\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "FloodlightActivitiesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.floodlightActivities.update",
          "path": "userprofiles/{+profileId}/floodlightActivities",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "FloodlightActivity"
          },
          "response": {
            "$ref": "FloodlightActivity"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight activity."
        },
        "patch": {
          "id": "dfareporting.floodlightActivities.patch",
          "path": "userprofiles/{+profileId}/floodlightActivities",
          "flatPath": "userprofiles/{userprofilesId}/floodlightActivities",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. EventTag ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "FloodlightActivity"
          },
          "response": {
            "$ref": "FloodlightActivity"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight activity. This method supports patch semantics."
        }
      }
    },
    "floodlightConfigurations": {
      "methods": {
        "get": {
          "id": "dfareporting.floodlightConfigurations.get",
          "path": "userprofiles/{+profileId}/floodlightConfigurations/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/floodlightConfigurations/{floodlightConfigurationsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Floodlight configuration ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "FloodlightConfiguration"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one floodlight configuration by ID."
        },
        "list": {
          "id": "dfareporting.floodlightConfigurations.list",
          "path": "userprofiles/{+profileId}/floodlightConfigurations",
          "flatPath": "userprofiles/{userprofilesId}/floodlightConfigurations",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "FloodlightConfigurationsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of floodlight configurations, possibly filtered."
        },
        "update": {
          "id": "dfareporting.floodlightConfigurations.update",
          "path": "userprofiles/{+profileId}/floodlightConfigurations",
          "flatPath": "userprofiles/{userprofilesId}/floodlightConfigurations",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "FloodlightConfiguration"
          },
          "response": {
            "$ref": "FloodlightConfiguration"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight configuration."
        },
        "patch": {
          "id": "dfareporting.floodlightConfigurations.patch",
          "path": "userprofiles/{+profileId}/floodlightConfigurations",
          "flatPath": "userprofiles/{userprofilesId}/floodlightConfigurations",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. EventTag ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "FloodlightConfiguration"
          },
          "response": {
            "$ref": "FloodlightConfiguration"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing floodlight configuration. This method supports patch semantics."
        }
      }
    },
    "inventoryItems": {
      "methods": {
        "get": {
          "id": "dfareporting.inventoryItems.get",
          "path": "userprofiles/{+profileId}/projects/{projectId}/inventoryItems/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/projects/{projectId}/inventoryItems/{inventoryItemsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "projectId": {
              "description": "Project ID for order documents.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Inventory item ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "projectId",
            "id"
          ],
          "response": {
            "$ref": "InventoryItem"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one inventory item by ID."
        },
        "list": {
          "id": "dfareporting.inventoryItems.list",
          "path": "userprofiles/{+profileId}/projects/{projectId}/inventoryItems",
          "flatPath": "userprofiles/{userprofilesId}/projects/{projectId}/inventoryItems",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "projectId": {
              "description": "Project ID for order documents.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only inventory items with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "inPlan": {
              "description": "Select only inventory items that are in plan.",
              "location": "query",
              "type": "boolean"
            },
            "orderId": {
              "description": "Select only inventory items that belong to specified orders.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "type": {
              "description": "Select only inventory items with this type.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "PLANNING_PLACEMENT_TYPE_REGULAR",
                "PLANNING_PLACEMENT_TYPE_CREDIT"
              ]
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "siteId": {
              "description": "Select only inventory items that are associated with these sites.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "projectId"
          ],
          "response": {
            "$ref": "InventoryItemsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging."
        }
      }
    },
    "advertiserInvoices": {
      "methods": {
        "list": {
          "id": "dfareporting.advertiserInvoices.list",
          "path": "userprofiles/{+profileId}/advertisers/{+advertiserId}/invoices",
          "flatPath": "userprofiles/{userprofilesId}/advertisers/{advertisersId}/invoices",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Advertiser ID of this invoice.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "issueMonth": {
              "description": "Month for which invoices are needed in the format YYYYMM. Required field",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId",
            "advertiserId"
          ],
          "response": {
            "$ref": "AdvertiserInvoicesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of invoices for a particular issue month. The api only works if the billing profile invoice level is set to either advertiser or campaign non-consolidated invoice level."
        }
      }
    },
    "advertiserLandingPages": {
      "methods": {
        "get": {
          "id": "dfareporting.advertiserLandingPages.get",
          "path": "userprofiles/{+profileId}/advertiserLandingPages/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/advertiserLandingPages/{advertiserLandingPagesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Landing page ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "LandingPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one landing page by ID."
        },
        "insert": {
          "id": "dfareporting.advertiserLandingPages.insert",
          "path": "userprofiles/{+profileId}/advertiserLandingPages",
          "flatPath": "userprofiles/{userprofilesId}/advertiserLandingPages",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "LandingPage"
          },
          "response": {
            "$ref": "LandingPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new landing page."
        },
        "list": {
          "id": "dfareporting.advertiserLandingPages.list",
          "path": "userprofiles/{+profileId}/advertiserLandingPages",
          "flatPath": "userprofiles/{userprofilesId}/advertiserLandingPages",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only landing pages with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserIds": {
              "description": "Select only landing pages that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "archived": {
              "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
              "location": "query",
              "type": "boolean"
            },
            "subaccountId": {
              "description": "Select only landing pages that belong to this subaccount.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, \"landingpage*2017\" will return landing pages with names like \"landingpage July 2017\", \"landingpage March 2017\", or simply \"landingpage 2017\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"landingpage\" will match campaigns with name \"my landingpage\", \"landingpage 2015\", or simply \"landingpage\".",
              "location": "query",
              "type": "string"
            },
            "campaignIds": {
              "description": "Select only landing pages that are associated with these campaigns.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "AdvertiserLandingPagesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of landing pages."
        },
        "update": {
          "id": "dfareporting.advertiserLandingPages.update",
          "path": "userprofiles/{+profileId}/advertiserLandingPages",
          "flatPath": "userprofiles/{userprofilesId}/advertiserLandingPages",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "LandingPage"
          },
          "response": {
            "$ref": "LandingPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing landing page."
        },
        "patch": {
          "id": "dfareporting.advertiserLandingPages.patch",
          "path": "userprofiles/{+profileId}/advertiserLandingPages",
          "flatPath": "userprofiles/{userprofilesId}/advertiserLandingPages",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Landing Page ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "LandingPage"
          },
          "response": {
            "$ref": "LandingPage"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing landing page. This method supports patch semantics."
        }
      }
    },
    "languages": {
      "methods": {
        "list": {
          "id": "dfareporting.languages.list",
          "path": "userprofiles/{+profileId}/languages",
          "flatPath": "userprofiles/{userprofilesId}/languages",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "LanguagesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of languages."
        }
      }
    },
    "metros": {
      "methods": {
        "list": {
          "id": "dfareporting.metros.list",
          "path": "userprofiles/{+profileId}/metros",
          "flatPath": "userprofiles/{userprofilesId}/metros",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "MetrosListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of metros."
        }
      }
    },
    "mobileApps": {
      "methods": {
        "get": {
          "id": "dfareporting.mobileApps.get",
          "path": "userprofiles/{+profileId}/mobileApps/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/mobileApps/{mobileAppsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Mobile app ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "MobileApp"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one mobile app by ID."
        },
        "list": {
          "id": "dfareporting.mobileApps.list",
          "path": "userprofiles/{+profileId}/mobileApps",
          "flatPath": "userprofiles/{userprofilesId}/mobileApps",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only apps with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"app*2015\" will return objects with names like \"app Jan 2018\", \"app Jan 2018\", or simply \"app 2018\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"app\" will match objects with name \"my app\", \"app 2018\", or simply \"app\".",
              "location": "query",
              "type": "string"
            },
            "directories": {
              "description": "Select only apps from these directories.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "UNKNOWN",
                "APPLE_APP_STORE",
                "GOOGLE_PLAY_STORE",
                "ROKU_APP_STORE",
                "AMAZON_FIRETV_APP_STORE",
                "PLAYSTATION_APP_STORE",
                "APPLE_TV_APP_STORE",
                "XBOX_APP_STORE",
                "SAMSUNG_TV_APP_STORE",
                "ANDROID_TV_APP_STORE",
                "GENERIC_CTV_APP_STORE"
              ]
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "MobileAppsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves list of available mobile apps."
        }
      }
    },
    "mobileCarriers": {
      "methods": {
        "get": {
          "id": "dfareporting.mobileCarriers.get",
          "path": "userprofiles/{+profileId}/mobileCarriers/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/mobileCarriers/{mobileCarriersId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Mobile carrier ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "MobileCarrier"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one mobile carrier by ID."
        },
        "list": {
          "id": "dfareporting.mobileCarriers.list",
          "path": "userprofiles/{+profileId}/mobileCarriers",
          "flatPath": "userprofiles/{userprofilesId}/mobileCarriers",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "MobileCarriersListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of mobile carriers."
        }
      }
    },
    "operatingSystems": {
      "methods": {
        "get": {
          "id": "dfareporting.operatingSystems.get",
          "path": "userprofiles/{+profileId}/operatingSystems/{+dartId}",
          "flatPath": "userprofiles/{userprofilesId}/operatingSystems/{operatingSystemsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "dartId": {
              "description": "Operating system DART ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "dartId"
          ],
          "response": {
            "$ref": "OperatingSystem"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one operating system by DART ID."
        },
        "list": {
          "id": "dfareporting.operatingSystems.list",
          "path": "userprofiles/{+profileId}/operatingSystems",
          "flatPath": "userprofiles/{userprofilesId}/operatingSystems",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "OperatingSystemsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of operating systems."
        }
      }
    },
    "operatingSystemVersions": {
      "methods": {
        "get": {
          "id": "dfareporting.operatingSystemVersions.get",
          "path": "userprofiles/{+profileId}/operatingSystemVersions/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/operatingSystemVersions/{operatingSystemVersionsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Operating system version ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "OperatingSystemVersion"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one operating system version by ID."
        },
        "list": {
          "id": "dfareporting.operatingSystemVersions.list",
          "path": "userprofiles/{+profileId}/operatingSystemVersions",
          "flatPath": "userprofiles/{userprofilesId}/operatingSystemVersions",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "OperatingSystemVersionsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of operating system versions."
        }
      }
    },
    "orders": {
      "methods": {
        "get": {
          "id": "dfareporting.orders.get",
          "path": "userprofiles/{+profileId}/projects/{projectId}/orders/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/projects/{projectId}/orders/{ordersId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "projectId": {
              "description": "Project ID for orders.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Order ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "projectId",
            "id"
          ],
          "response": {
            "$ref": "Order"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one order by ID."
        },
        "list": {
          "id": "dfareporting.orders.list",
          "path": "userprofiles/{+profileId}/projects/{projectId}/orders",
          "flatPath": "userprofiles/{userprofilesId}/projects/{projectId}/orders",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "projectId": {
              "description": "Project ID for orders.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only orders with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, \"order*2015\" will return orders with names like \"order June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"order\" will match orders with name \"my order\", \"order 2015\", or simply \"order\".",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "siteId": {
              "description": "Select only orders that are associated with these site IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "projectId"
          ],
          "response": {
            "$ref": "OrdersListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of orders, possibly filtered. This method supports paging."
        }
      }
    },
    "remarketingLists": {
      "methods": {
        "patch": {
          "id": "dfareporting.remarketingLists.patch",
          "path": "userprofiles/{+profileId}/remarketingLists",
          "flatPath": "userprofiles/{userprofilesId}/remarketingLists",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. RemarketingList ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "RemarketingList"
          },
          "response": {
            "$ref": "RemarketingList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing remarketing list. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.remarketingLists.get",
          "path": "userprofiles/{+profileId}/remarketingLists/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/remarketingLists/{remarketingListsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Remarketing list ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "RemarketingList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one remarketing list by ID."
        },
        "insert": {
          "id": "dfareporting.remarketingLists.insert",
          "path": "userprofiles/{+profileId}/remarketingLists",
          "flatPath": "userprofiles/{userprofilesId}/remarketingLists",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "RemarketingList"
          },
          "response": {
            "$ref": "RemarketingList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new remarketing list."
        },
        "list": {
          "id": "dfareporting.remarketingLists.list",
          "path": "userprofiles/{+profileId}/remarketingLists",
          "flatPath": "userprofiles/{userprofilesId}/remarketingLists",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Required. Select only remarketing lists owned by this advertiser.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "name": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
              "location": "query",
              "type": "string"
            },
            "active": {
              "description": "Select only active or only inactive remarketing lists.",
              "location": "query",
              "type": "boolean"
            },
            "floodlightActivityId": {
              "description": "Select only remarketing lists that have this floodlight activity ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "advertiserId"
          ],
          "response": {
            "$ref": "RemarketingListsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.remarketingLists.update",
          "path": "userprofiles/{+profileId}/remarketingLists",
          "flatPath": "userprofiles/{userprofilesId}/remarketingLists",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "RemarketingList"
          },
          "response": {
            "$ref": "RemarketingList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing remarketing list."
        }
      }
    },
    "remarketingListShares": {
      "methods": {
        "patch": {
          "id": "dfareporting.remarketingListShares.patch",
          "path": "userprofiles/{+profileId}/remarketingListShares",
          "flatPath": "userprofiles/{userprofilesId}/remarketingListShares",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. RemarketingList ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "RemarketingListShare"
          },
          "response": {
            "$ref": "RemarketingListShare"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing remarketing list share. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.remarketingListShares.get",
          "path": "userprofiles/{+profileId}/remarketingListShares/{+remarketingListId}",
          "flatPath": "userprofiles/{userprofilesId}/remarketingListShares/{remarketingListSharesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "remarketingListId": {
              "description": "Remarketing list ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "remarketingListId"
          ],
          "response": {
            "$ref": "RemarketingListShare"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one remarketing list share by remarketing list ID."
        },
        "update": {
          "id": "dfareporting.remarketingListShares.update",
          "path": "userprofiles/{+profileId}/remarketingListShares",
          "flatPath": "userprofiles/{userprofilesId}/remarketingListShares",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "RemarketingListShare"
          },
          "response": {
            "$ref": "RemarketingListShare"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing remarketing list share."
        }
      }
    },
    "sites": {
      "methods": {
        "patch": {
          "id": "dfareporting.sites.patch",
          "path": "userprofiles/{+profileId}/sites",
          "flatPath": "userprofiles/{userprofilesId}/sites",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Site ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Site"
          },
          "response": {
            "$ref": "Site"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing site. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.sites.get",
          "path": "userprofiles/{+profileId}/sites/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/sites/{sitesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Site ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Site"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one site by ID."
        },
        "insert": {
          "id": "dfareporting.sites.insert",
          "path": "userprofiles/{+profileId}/sites",
          "flatPath": "userprofiles/{userprofilesId}/sites",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Site"
          },
          "response": {
            "$ref": "Site"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new site."
        },
        "list": {
          "id": "dfareporting.sites.list",
          "path": "userprofiles/{+profileId}/sites",
          "flatPath": "userprofiles/{userprofilesId}/sites",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only sites with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "directorySiteIds": {
              "description": "Select only sites with these directory site IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "subaccountId": {
              "description": "Select only sites with this subaccount ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "approved": {
              "description": "Select only approved sites.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsInterstitialPlacements": {
              "description": "This search filter is no longer supported and will have no effect on the results returned.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsPublisherPaidPlacements": {
              "description": "Select only sites that accept publisher paid placements.",
              "location": "query",
              "type": "boolean"
            },
            "acceptsInStreamVideoPlacements": {
              "description": "This search filter is no longer supported and will have no effect on the results returned.",
              "location": "query",
              "type": "boolean"
            },
            "adWordsSite": {
              "description": "Select only AdWords sites.",
              "location": "query",
              "type": "boolean"
            },
            "unmappedSite": {
              "description": "Select only sites that have not been mapped to a directory site.",
              "location": "query",
              "type": "boolean"
            },
            "campaignIds": {
              "description": "Select only sites with these campaign IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, \"site*2015\" will return objects with names like \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"site\" will match objects with name \"my site\", \"site 2015\", or simply \"site\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "SitesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of sites, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.sites.update",
          "path": "userprofiles/{+profileId}/sites",
          "flatPath": "userprofiles/{userprofilesId}/sites",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Site"
          },
          "response": {
            "$ref": "Site"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing site."
        }
      }
    },
    "subaccounts": {
      "methods": {
        "patch": {
          "id": "dfareporting.subaccounts.patch",
          "path": "userprofiles/{+profileId}/subaccounts",
          "flatPath": "userprofiles/{userprofilesId}/subaccounts",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Subaccount ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Subaccount"
          },
          "response": {
            "$ref": "Subaccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing subaccount. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.subaccounts.get",
          "path": "userprofiles/{+profileId}/subaccounts/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/subaccounts/{subaccountsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Subaccount ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Subaccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one subaccount by ID."
        },
        "insert": {
          "id": "dfareporting.subaccounts.insert",
          "path": "userprofiles/{+profileId}/subaccounts",
          "flatPath": "userprofiles/{userprofilesId}/subaccounts",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Subaccount"
          },
          "response": {
            "$ref": "Subaccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new subaccount."
        },
        "list": {
          "id": "dfareporting.subaccounts.list",
          "path": "userprofiles/{+profileId}/subaccounts",
          "flatPath": "userprofiles/{userprofilesId}/subaccounts",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only subaccounts with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\" .",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "SubaccountsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a list of subaccounts, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.subaccounts.update",
          "path": "userprofiles/{+profileId}/subaccounts",
          "flatPath": "userprofiles/{userprofilesId}/subaccounts",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Subaccount"
          },
          "response": {
            "$ref": "Subaccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing subaccount."
        }
      }
    },
    "userRoles": {
      "methods": {
        "patch": {
          "id": "dfareporting.userRoles.patch",
          "path": "userprofiles/{+profileId}/userRoles",
          "flatPath": "userprofiles/{userprofilesId}/userRoles",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. UserRole ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "UserRole"
          },
          "response": {
            "$ref": "UserRole"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing user role. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.userRoles.get",
          "path": "userprofiles/{+profileId}/userRoles/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/userRoles/{userRolesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "User role ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "UserRole"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one user role by ID."
        },
        "insert": {
          "id": "dfareporting.userRoles.insert",
          "path": "userprofiles/{+profileId}/userRoles",
          "flatPath": "userprofiles/{userprofilesId}/userRoles",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "UserRole"
          },
          "response": {
            "$ref": "UserRole"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new user role."
        },
        "list": {
          "id": "dfareporting.userRoles.list",
          "path": "userprofiles/{+profileId}/userRoles",
          "flatPath": "userprofiles/{userprofilesId}/userRoles",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only user roles with the specified IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "subaccountId": {
              "description": "Select only user roles that belong to this subaccount.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "accountUserRoleOnly": {
              "description": "Select only account level user roles not associated with any specific subaccount.",
              "location": "query",
              "type": "boolean"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"userrole*2015\" will return objects with names like \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"userrole\" will match objects with name \"my userrole\", \"userrole 2015\", or simply \"userrole\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "UserRolesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of user roles, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.userRoles.update",
          "path": "userprofiles/{+profileId}/userRoles",
          "flatPath": "userprofiles/{userprofilesId}/userRoles",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "UserRole"
          },
          "response": {
            "$ref": "UserRole"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing user role."
        },
        "delete": {
          "id": "dfareporting.userRoles.delete",
          "path": "userprofiles/{+profileId}/userRoles/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/userRoles/{userRolesId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "User role ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing user role."
        }
      }
    },
    "targetingTemplates": {
      "methods": {
        "patch": {
          "id": "dfareporting.targetingTemplates.patch",
          "path": "userprofiles/{+profileId}/targetingTemplates",
          "flatPath": "userprofiles/{userprofilesId}/targetingTemplates",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. RemarketingList ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "TargetingTemplate"
          },
          "response": {
            "$ref": "TargetingTemplate"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing targeting template. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.targetingTemplates.get",
          "path": "userprofiles/{+profileId}/targetingTemplates/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/targetingTemplates/{targetingTemplatesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Targeting template ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "TargetingTemplate"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one targeting template by ID."
        },
        "insert": {
          "id": "dfareporting.targetingTemplates.insert",
          "path": "userprofiles/{+profileId}/targetingTemplates",
          "flatPath": "userprofiles/{userprofilesId}/targetingTemplates",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "TargetingTemplate"
          },
          "response": {
            "$ref": "TargetingTemplate"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new targeting template."
        },
        "list": {
          "id": "dfareporting.targetingTemplates.list",
          "path": "userprofiles/{+profileId}/targetingTemplates",
          "flatPath": "userprofiles/{userprofilesId}/targetingTemplates",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only targeting templates with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"template*2015\" will return objects with names like \"template June 2015\", \"template April 2015\", or simply \"template 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"template\" will match objects with name \"my template\", \"template 2015\", or simply \"template\".",
              "location": "query",
              "type": "string"
            },
            "advertiserId": {
              "description": "Select only targeting templates with this advertiser ID.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "TargetingTemplatesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.targetingTemplates.update",
          "path": "userprofiles/{+profileId}/targetingTemplates",
          "flatPath": "userprofiles/{userprofilesId}/targetingTemplates",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "TargetingTemplate"
          },
          "response": {
            "$ref": "TargetingTemplate"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing targeting template."
        }
      }
    },
    "placements": {
      "methods": {
        "patch": {
          "id": "dfareporting.placements.patch",
          "path": "userprofiles/{+profileId}/placements",
          "flatPath": "userprofiles/{userprofilesId}/placements",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Placement ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "Placement"
          },
          "response": {
            "$ref": "Placement"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement. This method supports patch semantics."
        },
        "generatetags": {
          "id": "dfareporting.placements.generatetags",
          "path": "userprofiles/{+profileId}/placements/generatetags",
          "flatPath": "userprofiles/{userprofilesId}/placements/generatetags",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "placementIds": {
              "description": "Generate tags for these placements.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "campaignId": {
              "description": "Generate placements belonging to this campaign. This is a required field.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "tagFormats": {
              "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "PLACEMENT_TAG_STANDARD",
                "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
                "PLACEMENT_TAG_IFRAME_ILAYER",
                "PLACEMENT_TAG_INTERNAL_REDIRECT",
                "PLACEMENT_TAG_JAVASCRIPT",
                "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
                "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
                "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
                "PLACEMENT_TAG_CLICK_COMMANDS",
                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
                "PLACEMENT_TAG_TRACKING",
                "PLACEMENT_TAG_TRACKING_IFRAME",
                "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
                "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
                "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
                "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
                "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
                "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PlacementsGenerateTagsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Generates tags for a placement."
        },
        "get": {
          "id": "dfareporting.placements.get",
          "path": "userprofiles/{+profileId}/placements/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/placements/{placementsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Placement ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Placement"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one placement by ID."
        },
        "insert": {
          "id": "dfareporting.placements.insert",
          "path": "userprofiles/{+profileId}/placements",
          "flatPath": "userprofiles/{userprofilesId}/placements",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Placement"
          },
          "response": {
            "$ref": "Placement"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new placement."
        },
        "list": {
          "id": "dfareporting.placements.list",
          "path": "userprofiles/{+profileId}/placements",
          "flatPath": "userprofiles/{userprofilesId}/placements",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only placements with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserIds": {
              "description": "Select only placements that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "campaignIds": {
              "description": "Select only placements that belong to these campaigns.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "siteIds": {
              "description": "Select only placements that are associated with these sites.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "directorySiteIds": {
              "description": "Select only placements that are associated with these directory sites.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "placementStrategyIds": {
              "description": "Select only placements that are associated with these placement strategies.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "contentCategoryIds": {
              "description": "Select only placements that are associated with these content categories.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "compatibilities": {
              "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "Deprecated enum value. No longer supported.",
                "Deprecated enum value. No longer supported.",
                "",
                ""
              ],
              "enum": [
                "DISPLAY",
                "DISPLAY_INTERSTITIAL",
                "APP",
                "APP_INTERSTITIAL",
                "IN_STREAM_VIDEO",
                "IN_STREAM_AUDIO"
              ]
            },
            "sizeIds": {
              "description": "Select only placements that are associated with these sizes.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pricingTypes": {
              "description": "Select only placements with these pricing types.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "PRICING_TYPE_CPM",
                "PRICING_TYPE_CPC",
                "PRICING_TYPE_CPA",
                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
                "PRICING_TYPE_FLAT_RATE_CLICKS",
                "PRICING_TYPE_CPM_ACTIVEVIEW"
              ]
            },
            "groupIds": {
              "description": "Select only placements that belong to these placement groups.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "paymentSource": {
              "description": "Select only placements with this payment source.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "PLACEMENT_AGENCY_PAID",
                "PLACEMENT_PUBLISHER_PAID"
              ]
            },
            "searchString": {
              "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\" .",
              "location": "query",
              "type": "string"
            },
            "maxEndDate": {
              "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "activeStatus": {
              "description": "Select only placements with these active statuses.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "PLACEMENT_STATUS_UNKNOWN",
                "PLACEMENT_STATUS_ACTIVE",
                "PLACEMENT_STATUS_INACTIVE",
                "PLACEMENT_STATUS_ARCHIVED",
                "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED"
              ]
            },
            "maxStartDate": {
              "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "minEndDate": {
              "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "minStartDate": {
              "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PlacementsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of placements, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.placements.update",
          "path": "userprofiles/{+profileId}/placements",
          "flatPath": "userprofiles/{userprofilesId}/placements",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Placement"
          },
          "response": {
            "$ref": "Placement"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement."
        }
      }
    },
    "placementGroups": {
      "methods": {
        "patch": {
          "id": "dfareporting.placementGroups.patch",
          "path": "userprofiles/{+profileId}/placementGroups",
          "flatPath": "userprofiles/{userprofilesId}/placementGroups",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. Placement ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "PlacementGroup"
          },
          "response": {
            "$ref": "PlacementGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement group. This method supports patch semantics."
        },
        "get": {
          "id": "dfareporting.placementGroups.get",
          "path": "userprofiles/{+profileId}/placementGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/placementGroups/{placementGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Placement group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "PlacementGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one placement group by ID."
        },
        "insert": {
          "id": "dfareporting.placementGroups.insert",
          "path": "userprofiles/{+profileId}/placementGroups",
          "flatPath": "userprofiles/{userprofilesId}/placementGroups",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "PlacementGroup"
          },
          "response": {
            "$ref": "PlacementGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new placement group."
        },
        "list": {
          "id": "dfareporting.placementGroups.list",
          "path": "userprofiles/{+profileId}/placementGroups",
          "flatPath": "userprofiles/{userprofilesId}/placementGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only placement groups with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "campaignIds": {
              "description": "Select only placement groups that belong to these campaigns.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "siteIds": {
              "description": "Select only placement groups that are associated with these sites.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "directorySiteIds": {
              "description": "Select only placement groups that are associated with these directory sites.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "placementStrategyIds": {
              "description": "Select only placement groups that are associated with these placement strategies.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "contentCategoryIds": {
              "description": "Select only placement groups that are associated with these content categories.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "pricingTypes": {
              "description": "Select only placement groups with these pricing types.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "PRICING_TYPE_CPM",
                "PRICING_TYPE_CPC",
                "PRICING_TYPE_CPA",
                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
                "PRICING_TYPE_FLAT_RATE_CLICKS",
                "PRICING_TYPE_CPM_ACTIVEVIEW"
              ]
            },
            "advertiserIds": {
              "description": "Select only placement groups that belong to these advertisers.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "placementGroupType": {
              "description": "Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "A simple group of site-placements (tags). Basically acts as a single pricing point for a group of tags.",
                "A group of site-placements (tags) that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. This kind of group requires one of its assigned site-placements to be marked as primary for reporting purposes."
              ],
              "enum": [
                "PLACEMENT_PACKAGE",
                "PLACEMENT_ROADBLOCK"
              ]
            },
            "searchString": {
              "description": "Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placement groups with names like \"placement group June 2015\", \"placement group May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementgroup\" will match placement groups with name \"my placementgroup\", \"placementgroup 2015\", or simply \"placementgroup\".",
              "location": "query",
              "type": "string"
            },
            "maxEndDate": {
              "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "800",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "activeStatus": {
              "description": "Select only placements with these active statuses.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "PLACEMENT_STATUS_UNKNOWN",
                "PLACEMENT_STATUS_ACTIVE",
                "PLACEMENT_STATUS_INACTIVE",
                "PLACEMENT_STATUS_ARCHIVED",
                "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED"
              ]
            },
            "maxStartDate": {
              "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "minEndDate": {
              "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "minStartDate": {
              "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PlacementGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.placementGroups.update",
          "path": "userprofiles/{+profileId}/placementGroups",
          "flatPath": "userprofiles/{userprofilesId}/placementGroups",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "PlacementGroup"
          },
          "response": {
            "$ref": "PlacementGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement group."
        }
      }
    },
    "placementStrategies": {
      "methods": {
        "patch": {
          "id": "dfareporting.placementStrategies.patch",
          "path": "userprofiles/{+profileId}/placementStrategies",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. PlacementStrategy ID.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "request": {
            "$ref": "PlacementStrategy"
          },
          "response": {
            "$ref": "PlacementStrategy"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement strategy. This method supports patch semantics."
        },
        "delete": {
          "id": "dfareporting.placementStrategies.delete",
          "path": "userprofiles/{+profileId}/placementStrategies/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies/{placementStrategiesId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Placement strategy ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Deletes an existing placement strategy."
        },
        "get": {
          "id": "dfareporting.placementStrategies.get",
          "path": "userprofiles/{+profileId}/placementStrategies/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies/{placementStrategiesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Placement strategy ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "PlacementStrategy"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one placement strategy by ID."
        },
        "insert": {
          "id": "dfareporting.placementStrategies.insert",
          "path": "userprofiles/{+profileId}/placementStrategies",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "PlacementStrategy"
          },
          "response": {
            "$ref": "PlacementStrategy"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new placement strategy."
        },
        "list": {
          "id": "dfareporting.placementStrategies.list",
          "path": "userprofiles/{+profileId}/placementStrategies",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only placement strategies with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "searchString": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"placementstrategy*2015\" will return objects with names like \"placementstrategy June 2015\", \"placementstrategy April 2015\", or simply \"placementstrategy 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementstrategy\" will match objects with name \"my placementstrategy\", \"placementstrategy 2015\", or simply \"placementstrategy\".",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PlacementStrategiesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging."
        },
        "update": {
          "id": "dfareporting.placementStrategies.update",
          "path": "userprofiles/{+profileId}/placementStrategies",
          "flatPath": "userprofiles/{userprofilesId}/placementStrategies",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "PlacementStrategy"
          },
          "response": {
            "$ref": "PlacementStrategy"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Updates an existing placement strategy."
        }
      }
    },
    "platformTypes": {
      "methods": {
        "get": {
          "id": "dfareporting.platformTypes.get",
          "path": "userprofiles/{+profileId}/platformTypes/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/platformTypes/{platformTypesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Platform type ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "PlatformType"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one platform type by ID."
        },
        "list": {
          "id": "dfareporting.platformTypes.list",
          "path": "userprofiles/{+profileId}/platformTypes",
          "flatPath": "userprofiles/{userprofilesId}/platformTypes",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PlatformTypesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of platform types."
        }
      }
    },
    "postalCodes": {
      "methods": {
        "get": {
          "id": "dfareporting.postalCodes.get",
          "path": "userprofiles/{+profileId}/postalCodes/{+code}",
          "flatPath": "userprofiles/{userprofilesId}/postalCodes/{postalCodesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "code": {
              "description": "Postal code ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId",
            "code"
          ],
          "response": {
            "$ref": "PostalCode"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one postal code by ID."
        },
        "list": {
          "id": "dfareporting.postalCodes.list",
          "path": "userprofiles/{+profileId}/postalCodes",
          "flatPath": "userprofiles/{userprofilesId}/postalCodes",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "PostalCodesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of postal codes."
        }
      }
    },
    "projects": {
      "methods": {
        "get": {
          "id": "dfareporting.projects.get",
          "path": "userprofiles/{+profileId}/projects/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/projects/{projectsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Project ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Project"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one project by ID."
        },
        "list": {
          "id": "dfareporting.projects.list",
          "path": "userprofiles/{+profileId}/projects",
          "flatPath": "userprofiles/{userprofilesId}/projects",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only projects with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "searchString": {
              "description": "Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, \"project*2015\" will return projects with names like \"project June 2015\", \"project April 2015\", or simply \"project 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"project\" will match projects with name \"my project\", \"project 2015\", or simply \"project\".",
              "location": "query",
              "type": "string"
            },
            "advertiserIds": {
              "description": "Select only projects with these advertiser IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "ProjectsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of projects, possibly filtered. This method supports paging ."
        }
      }
    },
    "regions": {
      "methods": {
        "list": {
          "id": "dfareporting.regions.list",
          "path": "userprofiles/{+profileId}/regions",
          "flatPath": "userprofiles/{userprofilesId}/regions",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "RegionsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of regions."
        }
      }
    },
    "targetableRemarketingLists": {
      "methods": {
        "get": {
          "id": "dfareporting.targetableRemarketingLists.get",
          "path": "userprofiles/{+profileId}/targetableRemarketingLists/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/targetableRemarketingLists/{targetableRemarketingListsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Remarketing list ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "TargetableRemarketingList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one remarketing list by ID."
        },
        "list": {
          "id": "dfareporting.targetableRemarketingLists.list",
          "path": "userprofiles/{+profileId}/targetableRemarketingLists",
          "flatPath": "userprofiles/{userprofilesId}/targetableRemarketingLists",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "Required. Select only targetable remarketing lists targetable by these advertisers.",
              "location": "query",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "active": {
              "description": "Select only active or only inactive targetable remarketing lists.",
              "location": "query",
              "type": "boolean"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "1000",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "name": {
              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "Value of the nextPageToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "sortField": {
              "description": "Field by which to sort the list.",
              "default": "ID",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "ID",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "ASCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId",
            "advertiserId"
          ],
          "response": {
            "$ref": "TargetableRemarketingListsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging."
        }
      }
    },
    "reports": {
      "methods": {
        "delete": {
          "id": "dfareporting.reports.delete",
          "path": "userprofiles/{profileId}/reports/{reportId}",
          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
          "httpMethod": "DELETE",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "reportId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Deletes a report by its ID."
        },
        "get": {
          "id": "dfareporting.reports.get",
          "path": "userprofiles/{profileId}/reports/{reportId}",
          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "reportId"
          ],
          "response": {
            "$ref": "Report"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Retrieves a report by its ID."
        },
        "insert": {
          "id": "dfareporting.reports.insert",
          "path": "userprofiles/{profileId}/reports",
          "flatPath": "userprofiles/{profileId}/reports",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Report"
          },
          "response": {
            "$ref": "Report"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Creates a report."
        },
        "list": {
          "id": "dfareporting.reports.list",
          "path": "userprofiles/{profileId}/reports",
          "flatPath": "userprofiles/{profileId}/reports",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "maxResults": {
              "description": "Maximum number of results to return.",
              "default": "10",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "The value of the nextToken from the previous result page.",
              "location": "query",
              "type": "string"
            },
            "scope": {
              "description": "The scope that defines which results are returned.",
              "default": "MINE",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "All reports in account.",
                "My reports."
              ],
              "enum": [
                "ALL",
                "MINE"
              ]
            },
            "sortField": {
              "description": "The field by which to sort the list.",
              "default": "LAST_MODIFIED_TIME",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Sort by report ID.",
                "Sort by 'lastModifiedTime' field.",
                "Sort by name of reports."
              ],
              "enum": [
                "ID",
                "LAST_MODIFIED_TIME",
                "NAME"
              ]
            },
            "sortOrder": {
              "description": "Order of sorted results.",
              "default": "DESCENDING",
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Ascending order.",
                "Descending order."
              ],
              "enum": [
                "ASCENDING",
                "DESCENDING"
              ]
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "ReportList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Retrieves list of reports."
        },
        "run": {
          "id": "dfareporting.reports.run",
          "path": "userprofiles/{profileId}/reports/{reportId}/run",
          "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "synchronous": {
              "description": "If set and true, tries to run the report synchronously.",
              "default": "false",
              "location": "query",
              "type": "boolean"
            }
          },
          "parameterOrder": [
            "profileId",
            "reportId"
          ],
          "response": {
            "$ref": "File"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Runs a report."
        },
        "update": {
          "id": "dfareporting.reports.update",
          "path": "userprofiles/{profileId}/reports/{reportId}",
          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
          "httpMethod": "PUT",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "reportId"
          ],
          "request": {
            "$ref": "Report"
          },
          "response": {
            "$ref": "Report"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Updates a report."
        },
        "patch": {
          "id": "dfareporting.reports.patch",
          "path": "userprofiles/{profileId}/reports/{reportId}",
          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
          "httpMethod": "PATCH",
          "parameters": {
            "profileId": {
              "description": "The Campaign Manager 360 user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "reportId": {
              "description": "The ID of the report.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "reportId"
          ],
          "request": {
            "$ref": "Report"
          },
          "response": {
            "$ref": "Report"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfareporting"
          ],
          "description": "Updates an existing report. This method supports patch semantics."
        }
      },
      "resources": {
        "files": {
          "methods": {
            "get": {
              "id": "dfareporting.reports.files.get",
              "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
              "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
              "httpMethod": "GET",
              "parameters": {
                "profileId": {
                  "description": "The Campaign Manager 360 user profile ID.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                },
                "reportId": {
                  "description": "The ID of the report.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                },
                "fileId": {
                  "description": "The ID of the report file.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                }
              },
              "parameterOrder": [
                "profileId",
                "reportId",
                "fileId"
              ],
              "supportsMediaDownload": true,
              "response": {
                "$ref": "File"
              },
              "scopes": [
                "https://www.googleapis.com/auth/dfareporting"
              ],
              "description": "Retrieves a report file by its report ID and file ID. This method supports media download."
            },
            "list": {
              "id": "dfareporting.reports.files.list",
              "path": "userprofiles/{profileId}/reports/{reportId}/files",
              "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
              "httpMethod": "GET",
              "parameters": {
                "profileId": {
                  "description": "The Campaign Manager 360 user profile ID.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                },
                "reportId": {
                  "description": "The ID of the parent report.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                },
                "sortField": {
                  "description": "The field by which to sort the list.",
                  "default": "LAST_MODIFIED_TIME",
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "",
                    ""
                  ],
                  "enum": [
                    "ID",
                    "LAST_MODIFIED_TIME"
                  ]
                },
                "sortOrder": {
                  "description": "Order of sorted results.",
                  "default": "DESCENDING",
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "Ascending order.",
                    "Descending order."
                  ],
                  "enum": [
                    "ASCENDING",
                    "DESCENDING"
                  ]
                },
                "maxResults": {
                  "description": "Maximum number of results to return.",
                  "default": "10",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "description": "The value of the nextToken from the previous result page.",
                  "location": "query",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "profileId",
                "reportId"
              ],
              "response": {
                "$ref": "FileList"
              },
              "scopes": [
                "https://www.googleapis.com/auth/dfareporting"
              ],
              "description": "Lists files for a report."
            }
          }
        },
        "compatibleFields": {
          "methods": {
            "query": {
              "id": "dfareporting.reports.compatibleFields.query",
              "path": "userprofiles/{profileId}/reports/compatiblefields/query",
              "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
              "httpMethod": "POST",
              "parameters": {
                "profileId": {
                  "description": "The Campaign Manager 360 user profile ID.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "format": "int64"
                }
              },
              "parameterOrder": [
                "profileId"
              ],
              "request": {
                "$ref": "Report"
              },
              "response": {
                "$ref": "CompatibleFields"
              },
              "scopes": [
                "https://www.googleapis.com/auth/dfareporting"
              ],
              "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions."
            }
          }
        }
      }
    },
    "sizes": {
      "methods": {
        "get": {
          "id": "dfareporting.sizes.get",
          "path": "userprofiles/{+profileId}/sizes/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/sizes/{sizesId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Size ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "Size"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one size by ID."
        },
        "insert": {
          "id": "dfareporting.sizes.insert",
          "path": "userprofiles/{+profileId}/sizes",
          "flatPath": "userprofiles/{userprofilesId}/sizes",
          "httpMethod": "POST",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "request": {
            "$ref": "Size"
          },
          "response": {
            "$ref": "Size"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new size."
        },
        "list": {
          "id": "dfareporting.sizes.list",
          "path": "userprofiles/{+profileId}/sizes",
          "flatPath": "userprofiles/{userprofilesId}/sizes",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only sizes with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            },
            "height": {
              "description": "Select only sizes with this height.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "iabStandard": {
              "description": "Select only IAB standard sizes.",
              "location": "query",
              "type": "boolean"
            },
            "width": {
              "description": "Select only sizes with this width.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "SizesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI."
        }
      }
    },
    "studioCreativeAssets": {
      "methods": {
        "insert": {
          "id": "dfareporting.studioCreativeAssets.insert",
          "path": "studio/creativeAssets",
          "flatPath": "studio/creativeAssets",
          "httpMethod": "POST",
          "parameters": {},
          "parameterOrder": [],
          "supportsMediaUpload": true,
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "maxSize": "1073741824",
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/dfareporting/v4/studio/creativeAssets"
              }
            }
          },
          "request": {
            "$ref": "DfareportingStudioCreativeAssetsInsertRequest"
          },
          "response": {
            "$ref": "StudioCreativeAssetsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new studio creative asset."
        }
      }
    },
    "studioCreatives": {
      "methods": {
        "get": {
          "id": "dfareporting.studioCreatives.get",
          "path": "studio/creatives/{+studioCreativeId}",
          "flatPath": "studio/creatives/{creativesId}",
          "httpMethod": "GET",
          "parameters": {
            "studioCreativeId": {
              "description": "Required. Studio creative ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "studioCreativeId"
          ],
          "response": {
            "$ref": "StudioCreative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a studio creative by ID."
        },
        "insert": {
          "id": "dfareporting.studioCreatives.insert",
          "path": "studio/creatives",
          "flatPath": "studio/creatives",
          "httpMethod": "POST",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "StudioCreative"
          },
          "response": {
            "$ref": "StudioCreative"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Inserts a new studio creative."
        },
        "publish": {
          "id": "dfareporting.studioCreatives.publish",
          "path": "studio/creatives/{+studioCreativeId}/publish",
          "flatPath": "studio/creatives/{creativesId}/publish",
          "httpMethod": "POST",
          "parameters": {
            "studioCreativeId": {
              "description": "Required. Studio creative ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "studioCreativeId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Publish for a studio creative."
        }
      }
    },
    "tvCampaignDetails": {
      "methods": {
        "get": {
          "id": "dfareporting.tvCampaignDetails.get",
          "path": "userprofiles/{+profileId}/tvCampaignDetails/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/tvCampaignDetails/{tvCampaignDetailsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "Required. User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Required. TV Campaign ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "accountId": {
              "description": "Required. Account ID associated with this request.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "TvCampaignDetail"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one TvCampaignDetail by ID."
        }
      }
    },
    "tvCampaignSummaries": {
      "methods": {
        "list": {
          "id": "dfareporting.tvCampaignSummaries.list",
          "path": "userprofiles/{+profileId}/tvCampaignSummaries",
          "flatPath": "userprofiles/{userprofilesId}/tvCampaignSummaries",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "Required. User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "accountId": {
              "description": "Required. Account ID associated with this request.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "name": {
              "description": "Required. Search string to filter the list of TV campaign summaries. Matches any substring. Required field.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "TvCampaignSummariesListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves a list of TV campaign summaries."
        }
      }
    },
    "userProfiles": {
      "methods": {
        "get": {
          "id": "dfareporting.userProfiles.get",
          "path": "userprofiles/{profileId}",
          "flatPath": "userprofiles/{profileId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "The user profile ID.",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "UserProfile"
          },
          "scopes": [
            "https://www.googleapis.com/auth/ddmconversions",
            "https://www.googleapis.com/auth/dfareporting",
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one user profile by ID."
        },
        "list": {
          "id": "dfareporting.userProfiles.list",
          "path": "userprofiles",
          "flatPath": "userprofiles",
          "httpMethod": "GET",
          "parameters": {},
          "parameterOrder": [],
          "response": {
            "$ref": "UserProfileList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/ddmconversions",
            "https://www.googleapis.com/auth/dfareporting",
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Retrieves list of user profiles for a user."
        }
      }
    },
    "userRolePermissionGroups": {
      "methods": {
        "get": {
          "id": "dfareporting.userRolePermissionGroups.get",
          "path": "userprofiles/{+profileId}/userRolePermissionGroups/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/userRolePermissionGroups/{userRolePermissionGroupsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "User role permission group ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "UserRolePermissionGroup"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one user role permission group by ID."
        },
        "list": {
          "id": "dfareporting.userRolePermissionGroups.list",
          "path": "userprofiles/{+profileId}/userRolePermissionGroups",
          "flatPath": "userprofiles/{userprofilesId}/userRolePermissionGroups",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "UserRolePermissionGroupsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a list of all supported user role permission groups."
        }
      }
    },
    "userRolePermissions": {
      "methods": {
        "get": {
          "id": "dfareporting.userRolePermissions.get",
          "path": "userprofiles/{+profileId}/userRolePermissions/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/userRolePermissions/{userRolePermissionsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "User role permission ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "UserRolePermission"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one user role permission by ID."
        },
        "list": {
          "id": "dfareporting.userRolePermissions.list",
          "path": "userprofiles/{+profileId}/userRolePermissions",
          "flatPath": "userprofiles/{userprofilesId}/userRolePermissions",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "ids": {
              "description": "Select only user role permissions with these IDs.",
              "location": "query",
              "repeated": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "UserRolePermissionsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets a list of user role permissions, possibly filtered."
        }
      }
    },
    "videoFormats": {
      "methods": {
        "get": {
          "id": "dfareporting.videoFormats.get",
          "path": "userprofiles/{+profileId}/videoFormats/{+id}",
          "flatPath": "userprofiles/{userprofilesId}/videoFormats/{videoFormatsId}",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            },
            "id": {
              "description": "Video format ID.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "integer",
              "format": "int32"
            }
          },
          "parameterOrder": [
            "profileId",
            "id"
          ],
          "response": {
            "$ref": "VideoFormat"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Gets one video format by ID."
        },
        "list": {
          "id": "dfareporting.videoFormats.list",
          "path": "userprofiles/{+profileId}/videoFormats",
          "flatPath": "userprofiles/{userprofilesId}/videoFormats",
          "httpMethod": "GET",
          "parameters": {
            "profileId": {
              "description": "User profile ID associated with this request.",
              "pattern": "^[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "format": "int64"
            }
          },
          "parameterOrder": [
            "profileId"
          ],
          "response": {
            "$ref": "VideoFormatsListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/dfatrafficking"
          ],
          "description": "Lists available video formats."
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "version": "v4",
  "title": "Campaign Manager 360 API",
  "batchPath": "batch",
  "description": "Build applications to efficiently manage large or complex trafficking, reporting, and attribution workflows for Campaign Manager 360.",
  "schemas": {
    "AccountPermissionGroup": {
      "id": "AccountPermissionGroup",
      "description": "AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this account permission group.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this account permission group.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroup\".",
          "type": "string"
        }
      }
    },
    "AccountPermissionGroupsListResponse": {
      "id": "AccountPermissionGroupsListResponse",
      "description": "Account Permission Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroupGroupsListResponse\".",
          "type": "string"
        },
        "accountPermissionGroups": {
          "description": "Account permission group collection.",
          "type": "array",
          "items": {
            "$ref": "AccountPermissionGroup"
          }
        }
      }
    },
    "AccountPermission": {
      "id": "AccountPermission",
      "description": "AccountPermissions contains information about a particular account permission. Some features of Campaign Manager require an account permission to be present in the account.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this account permission.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this account permission.",
          "type": "string"
        },
        "permissionGroupId": {
          "description": "Permission group of this account permission.",
          "type": "string",
          "format": "int64"
        },
        "level": {
          "description": "Administrative level required to enable this account permission.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "USER",
            "ADMINISTRATOR"
          ]
        },
        "accountProfiles": {
          "description": "Account profiles associated with this account permission. Possible values are: - \"ACCOUNT_PROFILE_BASIC\" - \"ACCOUNT_PROFILE_STANDARD\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Basic profile has fewer features and lower CPM.",
              "Standard profile as a higher CPM and all the features."
            ],
            "enum": [
              "ACCOUNT_PROFILE_BASIC",
              "ACCOUNT_PROFILE_STANDARD"
            ]
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermission\".",
          "type": "string"
        }
      }
    },
    "AccountPermissionsListResponse": {
      "id": "AccountPermissionsListResponse",
      "description": "Account Permission List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionsListResponse\".",
          "type": "string"
        },
        "accountPermissions": {
          "description": "Account permission collection.",
          "type": "array",
          "items": {
            "$ref": "AccountPermission"
          }
        }
      }
    },
    "Account": {
      "id": "Account",
      "description": "Contains properties of a Campaign Manager account.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this account. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.",
          "type": "string"
        },
        "active": {
          "description": "Whether this account is active.",
          "type": "boolean"
        },
        "description": {
          "description": "Description of this account.",
          "type": "string"
        },
        "currencyId": {
          "description": "ID of currency associated with this account. This is a required field. Acceptable values are: - \"1\" for USD - \"2\" for GBP - \"3\" for ESP - \"4\" for SEK - \"5\" for CAD - \"6\" for JPY - \"7\" for DEM - \"8\" for AUD - \"9\" for FRF - \"10\" for ITL - \"11\" for DKK - \"12\" for NOK - \"13\" for FIM - \"14\" for ZAR - \"15\" for IEP - \"16\" for NLG - \"17\" for EUR - \"18\" for KRW - \"19\" for TWD - \"20\" for SGD - \"21\" for CNY - \"22\" for HKD - \"23\" for NZD - \"24\" for MYR - \"25\" for BRL - \"26\" for PTE - \"28\" for CLP - \"29\" for TRY - \"30\" for ARS - \"31\" for PEN - \"32\" for ILS - \"33\" for CHF - \"34\" for VEF - \"35\" for COP - \"36\" for GTQ - \"37\" for PLN - \"39\" for INR - \"40\" for THB - \"41\" for IDR - \"42\" for CZK - \"43\" for RON - \"44\" for HUF - \"45\" for RUB - \"46\" for AED - \"47\" for BGN - \"48\" for HRK - \"49\" for MXN - \"50\" for NGN - \"51\" for EGP ",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#account\".",
          "type": "string"
        },
        "maximumImageSize": {
          "description": "Maximum image size allowed for this account, in kilobytes. Value must be greater than or equal to 1.",
          "type": "string",
          "format": "int64"
        },
        "defaultCreativeSizeId": {
          "description": "Default placement dimensions for this account.",
          "type": "string",
          "format": "int64"
        },
        "activeAdsLimitTier": {
          "description": "Maximum number of active ads allowed for this account.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "ACTIVE_ADS_TIER_40K",
            "ACTIVE_ADS_TIER_75K",
            "ACTIVE_ADS_TIER_100K",
            "ACTIVE_ADS_TIER_200K",
            "ACTIVE_ADS_TIER_300K",
            "ACTIVE_ADS_TIER_500K",
            "ACTIVE_ADS_TIER_750K",
            "ACTIVE_ADS_TIER_1M"
          ]
        },
        "countryId": {
          "description": "ID of the country associated with this account.",
          "type": "string",
          "format": "int64"
        },
        "reportsConfiguration": {
          "description": "Reporting configuration of this account.",
          "$ref": "ReportsConfiguration"
        },
        "activeViewOptOut": {
          "description": "Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.",
          "type": "boolean"
        },
        "accountPermissionIds": {
          "description": "Account permissions assigned to this account.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "availablePermissionIds": {
          "description": "User role permissions available to the user roles of this account.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "accountProfile": {
          "description": "Profile for this account. This is a read-only field that can be left blank.",
          "type": "string",
          "enumDescriptions": [
            "Basic profile has fewer features and lower CPM.",
            "Standard profile as a higher CPM and all the features."
          ],
          "enum": [
            "ACCOUNT_PROFILE_BASIC",
            "ACCOUNT_PROFILE_STANDARD"
          ]
        },
        "nielsenOcrEnabled": {
          "description": "Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.",
          "type": "boolean"
        },
        "locale": {
          "description": "Locale of this account. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ",
          "type": "string"
        },
        "shareReportsWithTwitter": {
          "description": "Share Path to Conversion reports with Twitter.",
          "type": "boolean"
        },
        "teaserSizeLimit": {
          "description": "File size limit in kilobytes of Rich Media teaser creatives. Acceptable values are 1 to 10240, inclusive.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ReportsConfiguration": {
      "id": "ReportsConfiguration",
      "description": "Reporting Configuration",
      "type": "object",
      "properties": {
        "reportGenerationTimeZoneId": {
          "description": "Report generation time zone ID of this account. This is a required field that cannot be changed on update. Acceptable values are: - \"1\" for \"America/New_York\" - \"2\" for \"Europe/London\" - \"3\" for \"Europe/Paris\" - \"4\" for \"Africa/Johannesburg\" - \"5\" for \"Asia/Jerusalem\" - \"6\" for \"Asia/Shanghai\" - \"7\" for \"Asia/Hong_Kong\" - \"8\" for \"Asia/Tokyo\" - \"9\" for \"Australia/Sydney\" - \"10\" for \"Asia/Dubai\" - \"11\" for \"America/Los_Angeles\" - \"12\" for \"Pacific/Auckland\" - \"13\" for \"America/Sao_Paulo\" - \"16\" for \"America/Asuncion\" - \"17\" for \"America/Chicago\" - \"18\" for \"America/Denver\" - \"19\" for \"America/St_Johns\" - \"20\" for \"Asia/Dhaka\" - \"21\" for \"Asia/Jakarta\" - \"22\" for \"Asia/Kabul\" - \"23\" for \"Asia/Karachi\" - \"24\" for \"Asia/Calcutta\" - \"25\" for \"Asia/Pyongyang\" - \"26\" for \"Asia/Rangoon\" - \"27\" for \"Atlantic/Cape_Verde\" - \"28\" for \"Atlantic/South_Georgia\" - \"29\" for \"Australia/Adelaide\" - \"30\" for \"Australia/Lord_Howe\" - \"31\" for \"Europe/Moscow\" - \"32\" for \"Pacific/Kiritimati\" - \"35\" for \"Pacific/Norfolk\" - \"36\" for \"Pacific/Tongatapu\" ",
          "type": "string",
          "format": "int64"
        },
        "exposureToConversionEnabled": {
          "description": "Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.",
          "type": "boolean"
        },
        "lookbackConfiguration": {
          "description": "Default lookback windows for new advertisers in this account.",
          "$ref": "LookbackConfiguration"
        }
      }
    },
    "LookbackConfiguration": {
      "id": "LookbackConfiguration",
      "description": "Lookback configuration settings.",
      "type": "object",
      "properties": {
        "clickDuration": {
          "description": "Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "postImpressionActivitiesDuration": {
          "description": "Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used. Acceptable values are 0 to 90, inclusive.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AccountsListResponse": {
      "id": "AccountsListResponse",
      "description": "Account List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "accounts": {
          "description": "Account collection.",
          "type": "array",
          "items": {
            "$ref": "Account"
          }
        }
      }
    },
    "AccountActiveAdSummary": {
      "id": "AccountActiveAdSummary",
      "description": "Gets a summary of active ads in an account.",
      "type": "object",
      "properties": {
        "accountId": {
          "description": "ID of the account.",
          "type": "string",
          "format": "int64"
        },
        "availableAds": {
          "description": "Ads that can be activated for the account.",
          "type": "string",
          "format": "int64"
        },
        "activeAds": {
          "description": "Ads that have been activated for the account",
          "type": "string",
          "format": "int64"
        },
        "activeAdsLimitTier": {
          "description": "Maximum number of active ads allowed for the account.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "ACTIVE_ADS_TIER_40K",
            "ACTIVE_ADS_TIER_75K",
            "ACTIVE_ADS_TIER_100K",
            "ACTIVE_ADS_TIER_200K",
            "ACTIVE_ADS_TIER_300K",
            "ACTIVE_ADS_TIER_500K",
            "ACTIVE_ADS_TIER_750K",
            "ACTIVE_ADS_TIER_1M"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountActiveAdSummary\".",
          "type": "string"
        }
      }
    },
    "AccountUserProfile": {
      "id": "AccountUserProfile",
      "description": "AccountUserProfiles contains properties of a Campaign Manager user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of the user profile. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: \"&;\u003c\u003e\"#%,\".",
          "type": "string"
        },
        "email": {
          "description": "Email of the user profile. The email address must be linked to a Google Account. This field is required on insertion and is read-only after insertion.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of the user profile. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of the user profile. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "locale": {
          "description": "Locale of the user profile. This is a required field. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ",
          "type": "string"
        },
        "userRoleId": {
          "description": "User role ID of the user profile. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "userAccessType": {
          "description": "User type of the user profile. This is a read-only field that can be left blank.",
          "type": "string",
          "enumDescriptions": [
            "Normal user managed by the customer.",
            "Super user managed by internal support teams.",
            "Internal administrator having super user access to only a specific set of networks.",
            "A super-user without permission to mutate any data."
          ],
          "enum": [
            "NORMAL_USER",
            "SUPER_USER",
            "INTERNAL_ADMINISTRATOR",
            "READ_ONLY_SUPER_USER"
          ]
        },
        "active": {
          "description": "Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.",
          "type": "boolean"
        },
        "comments": {
          "description": "Comments for this user profile.",
          "type": "string"
        },
        "traffickerType": {
          "description": "Trafficker type of this user profile. This is a read-only field.",
          "type": "string",
          "enumDescriptions": [
            "Internal profile, but is not a trafficker.",
            "Internal profile who is a trafficker.",
            "External profile who is a trafficker."
          ],
          "enum": [
            "INTERNAL_NON_TRAFFICKER",
            "INTERNAL_TRAFFICKER",
            "EXTERNAL_TRAFFICKER"
          ]
        },
        "campaignFilter": {
          "description": "Filter that describes which campaigns are visible to the user profile.",
          "$ref": "ObjectFilter"
        },
        "siteFilter": {
          "description": "Filter that describes which sites are visible to the user profile.",
          "$ref": "ObjectFilter"
        },
        "userRoleFilter": {
          "description": "Filter that describes which user roles are visible to the user profile.",
          "$ref": "ObjectFilter"
        },
        "advertiserFilter": {
          "description": "Filter that describes which advertisers are visible to the user profile.",
          "$ref": "ObjectFilter"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfile\".",
          "type": "string"
        }
      }
    },
    "ObjectFilter": {
      "id": "ObjectFilter",
      "description": "Object Filter.",
      "type": "object",
      "properties": {
        "objectIds": {
          "description": "Applicable when status is ASSIGNED. The user has access to objects with these object IDs.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "status": {
          "description": "Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.",
          "type": "string",
          "enumDescriptions": [
            "Profile has access to none of the objects.",
            "Profile has access to only specific objects.",
            "Profile has access to all objects."
          ],
          "enum": [
            "NONE",
            "ASSIGNED",
            "ALL"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#objectFilter\".",
          "type": "string"
        }
      }
    },
    "AccountUserProfilesListResponse": {
      "id": "AccountUserProfilesListResponse",
      "description": "Account User Profile List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfilesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "accountUserProfiles": {
          "description": "Account user profile collection.",
          "type": "array",
          "items": {
            "$ref": "AccountUserProfile"
          }
        }
      }
    },
    "Ad": {
      "id": "Ad",
      "description": "Contains properties of a Campaign Manager ad.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this ad. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "campaignId": {
          "description": "Campaign ID of this ad. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this ad. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this ad. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this ad. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this ad. This is a required field and must be less than 256 characters long.",
          "type": "string"
        },
        "active": {
          "description": "Whether this ad is active. When true, archived must be false.",
          "type": "boolean"
        },
        "archived": {
          "description": "Whether this ad is archived. When true, active must be false.",
          "type": "boolean"
        },
        "comments": {
          "description": "Comments for this ad.",
          "type": "string"
        },
        "startTime": {
          "type": "string",
          "format": "date-time"
        },
        "endTime": {
          "type": "string",
          "format": "date-time"
        },
        "placementAssignments": {
          "description": "Placement assignments for this ad.",
          "type": "array",
          "items": {
            "$ref": "PlacementAssignment"
          }
        },
        "eventTagOverrides": {
          "description": "Event tag overrides for this ad.",
          "type": "array",
          "items": {
            "$ref": "EventTagOverride"
          }
        },
        "clickThroughUrlSuffixProperties": {
          "description": "Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.",
          "$ref": "ClickThroughUrlSuffixProperties"
        },
        "defaultClickThroughEventTagProperties": {
          "description": "Default click-through event tag properties for this ad.",
          "$ref": "DefaultClickThroughEventTagProperties"
        },
        "createInfo": {
          "description": "Information about the creation of this ad. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this ad. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "sslRequired": {
          "description": "Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.",
          "type": "boolean"
        },
        "sslCompliant": {
          "description": "Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.",
          "type": "boolean"
        },
        "type": {
          "description": "Type of ad. This is a required field on insertion. Note that default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "AD_SERVING_STANDARD_AD",
            "AD_SERVING_DEFAULT_AD",
            "AD_SERVING_CLICK_TRACKER",
            "AD_SERVING_TRACKING",
            "AD_SERVING_BRAND_SAFE_AD"
          ]
        },
        "geoTargeting": {
          "description": "Geographical targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "GeoTargeting"
        },
        "technologyTargeting": {
          "description": "Technology platform targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "TechnologyTargeting"
        },
        "dayPartTargeting": {
          "description": "Time and day targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "DayPartTargeting"
        },
        "deliverySchedule": {
          "description": "Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.",
          "$ref": "DeliverySchedule"
        },
        "creativeRotation": {
          "description": "Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment .",
          "$ref": "CreativeRotation"
        },
        "remarketingListExpression": {
          "description": "Remarketing list targeting expression for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "ListTargetingExpression"
        },
        "audienceSegmentId": {
          "description": "Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.",
          "type": "string",
          "format": "int64"
        },
        "keyValueTargetingExpression": {
          "description": "Key-value targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "KeyValueTargetingExpression"
        },
        "clickThroughUrl": {
          "description": "Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.",
          "$ref": "ClickThroughUrl"
        },
        "creativeGroupAssignments": {
          "description": "Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.",
          "type": "array",
          "items": {
            "$ref": "CreativeGroupAssignment"
          }
        },
        "size": {
          "description": "Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.",
          "$ref": "Size"
        },
        "compatibility": {
          "description": "Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "Deprecated enum value. No longer supported.",
            "Deprecated enum value. No longer supported.",
            "",
            ""
          ],
          "enum": [
            "DISPLAY",
            "DISPLAY_INTERSTITIAL",
            "APP",
            "APP_INTERSTITIAL",
            "IN_STREAM_VIDEO",
            "IN_STREAM_AUDIO"
          ]
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this ad. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "campaignIdDimensionValue": {
          "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "dynamicClickTracker": {
          "description": "Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.",
          "type": "boolean"
        },
        "languageTargeting": {
          "description": "Language targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD.",
          "$ref": "LanguageTargeting"
        },
        "targetingTemplateId": {
          "description": "Targeting template ID, used to apply preconfigured targeting information to this ad. This cannot be set while any of dayPartTargeting, geoTargeting, keyValueTargetingExpression, languageTargeting, remarketingListExpression, or technologyTargeting are set. Applicable when type is AD_SERVING_STANDARD_AD.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ad\".",
          "type": "string"
        },
        "contextualKeywordTargeting": {
          "description": "Optional. Contextual keyword targeting information for this ad.",
          "$ref": "ContextualKeywordTargeting"
        }
      }
    },
    "PlacementAssignment": {
      "id": "PlacementAssignment",
      "description": "Placement Assignment.",
      "type": "object",
      "properties": {
        "placementId": {
          "description": "ID of the placement to be assigned. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "active": {
          "description": "Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.",
          "type": "boolean"
        },
        "sslRequired": {
          "description": "Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.",
          "type": "boolean"
        },
        "placementIdDimensionValue": {
          "description": "Dimension value for the ID of the placement. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        }
      }
    },
    "DimensionValue": {
      "id": "DimensionValue",
      "description": "Represents a DimensionValue resource.",
      "type": "object",
      "properties": {
        "dimensionName": {
          "description": "The name of the dimension.",
          "type": "string"
        },
        "value": {
          "description": "The value of the dimension.",
          "type": "string"
        },
        "id": {
          "description": "The ID associated with the value if available.",
          "type": "string"
        },
        "matchType": {
          "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "EXACT",
            "BEGINS_WITH",
            "CONTAINS",
            "WILDCARD_EXPRESSION"
          ]
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#dimensionValue.",
          "type": "string"
        },
        "etag": {
          "description": "The eTag of this response for caching purposes.",
          "type": "string"
        }
      }
    },
    "EventTagOverride": {
      "id": "EventTagOverride",
      "description": "Event tag override information.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this event tag override. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "enabled": {
          "description": "Whether this override is enabled.",
          "type": "boolean"
        }
      }
    },
    "ClickThroughUrlSuffixProperties": {
      "id": "ClickThroughUrlSuffixProperties",
      "description": "Click Through URL Suffix settings.",
      "type": "object",
      "properties": {
        "overrideInheritedSuffix": {
          "description": "Whether this entity should override the inherited click-through URL suffix with its own defined value.",
          "type": "boolean"
        },
        "clickThroughUrlSuffix": {
          "description": "Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.",
          "type": "string"
        }
      }
    },
    "DefaultClickThroughEventTagProperties": {
      "id": "DefaultClickThroughEventTagProperties",
      "description": "Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further.",
      "type": "object",
      "properties": {
        "overrideInheritedEventTag": {
          "description": "Whether this entity should override the inherited default click-through event tag with its own defined value.",
          "type": "boolean"
        },
        "defaultClickThroughEventTagId": {
          "description": "ID of the click-through event tag to apply to all ads in this entity's scope.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "LastModifiedInfo": {
      "id": "LastModifiedInfo",
      "description": "Modification timestamp.",
      "type": "object",
      "properties": {
        "time": {
          "description": "Timestamp of the last change in milliseconds since epoch.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GeoTargeting": {
      "id": "GeoTargeting",
      "description": "Geographical Targeting.",
      "type": "object",
      "properties": {
        "excludeCountries": {
          "description": "Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.",
          "type": "boolean"
        },
        "countries": {
          "description": "Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.",
          "type": "array",
          "items": {
            "$ref": "Country"
          }
        },
        "regions": {
          "description": "Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.",
          "type": "array",
          "items": {
            "$ref": "Region"
          }
        },
        "cities": {
          "description": "Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.",
          "type": "array",
          "items": {
            "$ref": "City"
          }
        },
        "metros": {
          "description": "Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.",
          "type": "array",
          "items": {
            "$ref": "Metro"
          }
        },
        "postalCodes": {
          "description": "Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.",
          "type": "array",
          "items": {
            "$ref": "PostalCode"
          }
        }
      }
    },
    "Country": {
      "id": "Country",
      "description": "Contains information about a country that can be targeted by ads.",
      "type": "object",
      "properties": {
        "dartId": {
          "description": "DART ID of this country. This is the ID used for targeting and generating reports.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this country.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code.",
          "type": "string"
        },
        "sslEnabled": {
          "description": "Whether ad serving supports secure servers in this country.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#country\".",
          "type": "string"
        }
      }
    },
    "Region": {
      "id": "Region",
      "description": "Contains information about a region that can be targeted by ads.",
      "type": "object",
      "properties": {
        "dartId": {
          "description": "DART ID of this region.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this region.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code of the country to which this region belongs.",
          "type": "string"
        },
        "countryDartId": {
          "description": "DART ID of the country to which this region belongs.",
          "type": "string",
          "format": "int64"
        },
        "regionCode": {
          "description": "Region code.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#region\".",
          "type": "string"
        }
      }
    },
    "City": {
      "id": "City",
      "description": "Contains information about a city that can be targeted by ads.",
      "type": "object",
      "properties": {
        "dartId": {
          "description": "DART ID of this city. This is the ID used for targeting and generating reports.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this city.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code of the country to which this city belongs.",
          "type": "string"
        },
        "countryDartId": {
          "description": "DART ID of the country to which this city belongs.",
          "type": "string",
          "format": "int64"
        },
        "regionCode": {
          "description": "Region code of the region to which this city belongs.",
          "type": "string"
        },
        "regionDartId": {
          "description": "DART ID of the region to which this city belongs.",
          "type": "string",
          "format": "int64"
        },
        "metroCode": {
          "description": "Metro region code of the metro region (DMA) to which this city belongs.",
          "type": "string"
        },
        "metroDmaId": {
          "description": "ID of the metro region (DMA) to which this city belongs.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#city\".",
          "type": "string"
        }
      }
    },
    "Metro": {
      "id": "Metro",
      "description": "Contains information about a metro region that can be targeted by ads.",
      "type": "object",
      "properties": {
        "dmaId": {
          "description": "DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.",
          "type": "string",
          "format": "int64"
        },
        "dartId": {
          "description": "DART ID of this metro region.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this metro region.",
          "type": "string"
        },
        "metroCode": {
          "description": "Metro code of this metro region. This is equivalent to dma_id.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code of the country to which this metro region belongs.",
          "type": "string"
        },
        "countryDartId": {
          "description": "DART ID of the country to which this metro region belongs.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metro\".",
          "type": "string"
        }
      }
    },
    "PostalCode": {
      "id": "PostalCode",
      "description": "Contains information about a postal code that can be targeted by ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this postal code.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code of the country to which this postal code belongs.",
          "type": "string"
        },
        "countryDartId": {
          "description": "DART ID of the country to which this postal code belongs.",
          "type": "string",
          "format": "int64"
        },
        "code": {
          "description": "Postal code. This is equivalent to the id field.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCode\".",
          "type": "string"
        }
      }
    },
    "TechnologyTargeting": {
      "id": "TechnologyTargeting",
      "description": "Technology Targeting.",
      "type": "object",
      "properties": {
        "operatingSystems": {
          "description": "Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.",
          "type": "array",
          "items": {
            "$ref": "OperatingSystem"
          }
        },
        "browsers": {
          "description": "Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used. The other fields are populated automatically when the ad is inserted or updated.",
          "type": "array",
          "items": {
            "$ref": "Browser"
          }
        },
        "platformTypes": {
          "description": "Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.",
          "type": "array",
          "items": {
            "$ref": "PlatformType"
          }
        },
        "mobileCarriers": {
          "description": "Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.",
          "type": "array",
          "items": {
            "$ref": "MobileCarrier"
          }
        },
        "connectionTypes": {
          "description": "Connection types that this ad targets. For each connection type only id is required. The other fields are populated automatically when the ad is inserted or updated.",
          "type": "array",
          "items": {
            "$ref": "ConnectionType"
          }
        },
        "operatingSystemVersions": {
          "description": "Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.",
          "type": "array",
          "items": {
            "$ref": "OperatingSystemVersion"
          }
        }
      }
    },
    "OperatingSystem": {
      "id": "OperatingSystem",
      "description": "Contains information about an operating system that can be targeted by ads.",
      "type": "object",
      "properties": {
        "dartId": {
          "description": "DART ID of this operating system. This is the ID used for targeting.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this operating system.",
          "type": "string"
        },
        "desktop": {
          "description": "Whether this operating system is for desktop.",
          "type": "boolean"
        },
        "mobile": {
          "description": "Whether this operating system is for mobile.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystem\".",
          "type": "string"
        }
      }
    },
    "Browser": {
      "id": "Browser",
      "description": "Contains information about a browser that can be targeted by ads.",
      "type": "object",
      "properties": {
        "browserVersionId": {
          "description": "ID referring to this grouping of browser and version numbers. This is the ID used for targeting.",
          "type": "string",
          "format": "int64"
        },
        "dartId": {
          "description": "DART ID of this browser. This is the ID used when generating reports.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this browser.",
          "type": "string"
        },
        "majorVersion": {
          "description": "Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.",
          "type": "string"
        },
        "minorVersion": {
          "description": "Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browser\".",
          "type": "string"
        }
      }
    },
    "PlatformType": {
      "id": "PlatformType",
      "description": "Contains information about a platform type that can be targeted by ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this platform type.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this platform type.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformType\".",
          "type": "string"
        }
      }
    },
    "MobileCarrier": {
      "id": "MobileCarrier",
      "description": "Contains information about a mobile carrier that can be targeted by ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this mobile carrier.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this mobile carrier.",
          "type": "string"
        },
        "countryCode": {
          "description": "Country code of the country to which this mobile carrier belongs.",
          "type": "string"
        },
        "countryDartId": {
          "description": "DART ID of the country to which this mobile carrier belongs.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarrier\".",
          "type": "string"
        }
      }
    },
    "ConnectionType": {
      "id": "ConnectionType",
      "description": "Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this connection type.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this connection type.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionType\".",
          "type": "string"
        }
      }
    },
    "OperatingSystemVersion": {
      "id": "OperatingSystemVersion",
      "description": "Contains information about a particular version of an operating system that can be targeted by ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this operating system version.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this operating system version.",
          "type": "string"
        },
        "operatingSystem": {
          "description": "Operating system of this operating system version.",
          "$ref": "OperatingSystem"
        },
        "majorVersion": {
          "description": "Major version (leftmost number) of this operating system version.",
          "type": "string"
        },
        "minorVersion": {
          "description": "Minor version (number after the first dot) of this operating system version.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersion\".",
          "type": "string"
        }
      }
    },
    "DayPartTargeting": {
      "id": "DayPartTargeting",
      "description": "Day Part Targeting.",
      "type": "object",
      "properties": {
        "userLocalTime": {
          "description": "Whether or not to use the user's local time. If false, the America/New York time zone applies.",
          "type": "boolean"
        },
        "daysOfWeek": {
          "description": "Days of the week when the ad will serve. Acceptable values are: - \"SUNDAY\" - \"MONDAY\" - \"TUESDAY\" - \"WEDNESDAY\" - \"THURSDAY\" - \"FRIDAY\" - \"SATURDAY\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "SUNDAY",
              "MONDAY",
              "TUESDAY",
              "WEDNESDAY",
              "THURSDAY",
              "FRIDAY",
              "SATURDAY"
            ]
          }
        },
        "hoursOfDay": {
          "description": "Hours of the day when the ad will serve, where 0 is midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        }
      }
    },
    "DeliverySchedule": {
      "id": "DeliverySchedule",
      "description": "Delivery Schedule.",
      "type": "object",
      "properties": {
        "hardCutoff": {
          "description": "Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.",
          "type": "boolean"
        },
        "priority": {
          "description": "Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "AD_PRIORITY_01",
            "AD_PRIORITY_02",
            "AD_PRIORITY_03",
            "AD_PRIORITY_04",
            "AD_PRIORITY_05",
            "AD_PRIORITY_06",
            "AD_PRIORITY_07",
            "AD_PRIORITY_08",
            "AD_PRIORITY_09",
            "AD_PRIORITY_10",
            "AD_PRIORITY_11",
            "AD_PRIORITY_12",
            "AD_PRIORITY_13",
            "AD_PRIORITY_14",
            "AD_PRIORITY_15",
            "AD_PRIORITY_16"
          ]
        },
        "impressionRatio": {
          "description": "Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then Campaign Manager will serve ad B three times as often as ad A. Acceptable values are 1 to 10, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "frequencyCap": {
          "description": "Limit on the number of times an individual user can be served the ad within a specified period of time.",
          "$ref": "FrequencyCap"
        }
      }
    },
    "FrequencyCap": {
      "id": "FrequencyCap",
      "description": "Frequency Cap.",
      "type": "object",
      "properties": {
        "impressions": {
          "description": "Number of times an individual user can be served the ad within the specified duration. Acceptable values are 1 to 15, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "duration": {
          "description": "Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days. Acceptable values are 1 to 7776000, inclusive.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "CreativeRotation": {
      "id": "CreativeRotation",
      "description": "Creative Rotation.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of creative rotation. Can be used to specify whether to use sequential or random rotation.",
          "type": "string",
          "enumDescriptions": [
            "The weights of each creative in the rotation should be sequential starting at 1. The user may adjust the order.",
            "The weights are calculated according to the ad's CreativeRoationWeightStrategy."
          ],
          "enum": [
            "CREATIVE_ROTATION_TYPE_SEQUENTIAL",
            "CREATIVE_ROTATION_TYPE_RANDOM"
          ]
        },
        "weightCalculationStrategy": {
          "description": "Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.",
          "type": "string",
          "enumDescriptions": [
            "The creative weights should all be equal to 1. This is the default value for all ads with a rotation type of Random.",
            "The creative weights can be any user provided positive integer.",
            "The weights will be automatically calculated giving preference to the creative that has the highest CTR. The CTR for campaigns that are optimized for clicks = clicks/impressions. The CTR for campaigns that are optimized for view-through or click through is sum(activities + floodlight weight)/impressions.",
            "The creative weights will be automatically calculated using a formula that could not possibly be explained in these comments. The value will be within some predetermined range (probably 0 - 1,000,000)."
          ],
          "enum": [
            "WEIGHT_STRATEGY_EQUAL",
            "WEIGHT_STRATEGY_CUSTOM",
            "WEIGHT_STRATEGY_HIGHEST_CTR",
            "WEIGHT_STRATEGY_OPTIMIZED"
          ]
        },
        "creativeOptimizationConfigurationId": {
          "description": "Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.",
          "type": "string",
          "format": "int64"
        },
        "creativeAssignments": {
          "description": "Creative assignments in this creative rotation.",
          "type": "array",
          "items": {
            "$ref": "CreativeAssignment"
          }
        }
      }
    },
    "CreativeAssignment": {
      "id": "CreativeAssignment",
      "description": "Creative Assignment.",
      "type": "object",
      "properties": {
        "creativeId": {
          "description": "ID of the creative to be assigned. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "active": {
          "description": "Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.",
          "type": "boolean"
        },
        "weight": {
          "description": "Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater than or equal to 1.",
          "type": "integer",
          "format": "int32"
        },
        "startTime": {
          "type": "string",
          "format": "date-time"
        },
        "endTime": {
          "type": "string",
          "format": "date-time"
        },
        "sequence": {
          "description": "Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable values are 1 to 65535, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "clickThroughUrl": {
          "description": "Click-through URL of the creative assignment.",
          "$ref": "ClickThroughUrl"
        },
        "creativeGroupAssignments": {
          "description": "Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.",
          "type": "array",
          "items": {
            "$ref": "CreativeGroupAssignment"
          }
        },
        "richMediaExitOverrides": {
          "description": "Rich media exit overrides for this creative assignment. Applicable when the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR ",
          "type": "array",
          "items": {
            "$ref": "RichMediaExitOverride"
          }
        },
        "companionCreativeOverrides": {
          "description": "Companion creative overrides for this creative assignment. Applicable to video ads.",
          "type": "array",
          "items": {
            "$ref": "CompanionClickThroughOverride"
          }
        },
        "applyEventTags": {
          "description": "Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.",
          "type": "boolean"
        },
        "sslCompliant": {
          "description": "Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.",
          "type": "boolean"
        },
        "creativeIdDimensionValue": {
          "description": "Dimension value for the ID of the creative. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        }
      }
    },
    "ClickThroughUrl": {
      "id": "ClickThroughUrl",
      "description": "Click-through URL",
      "type": "object",
      "properties": {
        "defaultLandingPage": {
          "description": "Whether the campaign default landing page is used.",
          "type": "boolean"
        },
        "landingPageId": {
          "description": "ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.",
          "type": "string",
          "format": "int64"
        },
        "customClickThroughUrl": {
          "description": "Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.",
          "type": "string"
        },
        "computedClickThroughUrl": {
          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field. - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field. - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field. ",
          "type": "string"
        }
      }
    },
    "CreativeGroupAssignment": {
      "id": "CreativeGroupAssignment",
      "description": "Creative Group Assignment.",
      "type": "object",
      "properties": {
        "creativeGroupId": {
          "description": "ID of the creative group to be assigned.",
          "type": "string",
          "format": "int64"
        },
        "creativeGroupNumber": {
          "description": "Creative group number of the creative group assignment.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "CREATIVE_GROUP_ONE",
            "CREATIVE_GROUP_TWO"
          ]
        }
      }
    },
    "RichMediaExitOverride": {
      "id": "RichMediaExitOverride",
      "description": "Rich Media Exit Override.",
      "type": "object",
      "properties": {
        "exitId": {
          "description": "ID for the override to refer to a specific exit in the creative.",
          "type": "string",
          "format": "int64"
        },
        "enabled": {
          "description": "Whether to use the clickThroughUrl. If false, the creative-level exit will be used.",
          "type": "boolean"
        },
        "clickThroughUrl": {
          "description": "Click-through URL of this rich media exit override. Applicable if the enabled field is set to true.",
          "$ref": "ClickThroughUrl"
        }
      }
    },
    "CompanionClickThroughOverride": {
      "id": "CompanionClickThroughOverride",
      "description": "Companion Click-through override.",
      "type": "object",
      "properties": {
        "creativeId": {
          "description": "ID of the creative for this companion click-through override.",
          "type": "string",
          "format": "int64"
        },
        "clickThroughUrl": {
          "description": "Click-through URL of this companion click-through override.",
          "$ref": "ClickThroughUrl"
        }
      }
    },
    "ListTargetingExpression": {
      "id": "ListTargetingExpression",
      "description": "Remarketing List Targeting Expression.",
      "type": "object",
      "properties": {
        "expression": {
          "description": "Expression describing which lists are being targeted by the ad.",
          "type": "string"
        }
      }
    },
    "KeyValueTargetingExpression": {
      "id": "KeyValueTargetingExpression",
      "description": "Key Value Targeting Expression.",
      "type": "object",
      "properties": {
        "expression": {
          "description": "Keyword expression being targeted by the ad.",
          "type": "string"
        }
      }
    },
    "Size": {
      "id": "Size",
      "description": "Represents the dimensions of ads, placements, creatives, or creative assets.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this size. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "width": {
          "description": "Width of this size. Acceptable values are 0 to 32767, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "height": {
          "description": "Height of this size. Acceptable values are 0 to 32767, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "iab": {
          "description": "IAB standard size. This is a read-only, auto-generated field.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#size\".",
          "type": "string"
        }
      }
    },
    "LanguageTargeting": {
      "id": "LanguageTargeting",
      "description": "Language Targeting.",
      "type": "object",
      "properties": {
        "languages": {
          "description": "Languages that this ad targets. For each language only languageId is required. The other fields are populated automatically when the ad is inserted or updated.",
          "type": "array",
          "items": {
            "$ref": "Language"
          }
        }
      }
    },
    "Language": {
      "id": "Language",
      "description": "Contains information about a language that can be targeted by ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Language ID of this language. This is the ID used for targeting and generating reports.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this language.",
          "type": "string"
        },
        "languageCode": {
          "description": "Format of language code is an ISO 639 two-letter language code optionally followed by an underscore followed by an ISO 3166 code. Examples are \"en\" for English or \"zh_CN\" for Simplified Chinese.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#language\".",
          "type": "string"
        }
      }
    },
    "ContextualKeywordTargeting": {
      "id": "ContextualKeywordTargeting",
      "description": "Contextual Keyword Targeting.",
      "type": "object",
      "properties": {
        "keywords": {
          "description": "Contextual keywords that this ad targets",
          "type": "array",
          "items": {
            "$ref": "ContextualKeyword"
          }
        }
      }
    },
    "ContextualKeyword": {
      "id": "ContextualKeyword",
      "description": "Contains information about a Contextual Keyword that can be targeted by ads.",
      "type": "object",
      "properties": {
        "keyword": {
          "description": "The keyword that can be targeted by ads.",
          "type": "string"
        }
      }
    },
    "AdsListResponse": {
      "id": "AdsListResponse",
      "description": "Ad List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#adsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "ads": {
          "description": "Ad collection.",
          "type": "array",
          "items": {
            "$ref": "Ad"
          }
        }
      }
    },
    "AdvertiserGroup": {
      "id": "AdvertiserGroup",
      "description": "Groups advertisers together so that reports can be generated for the entire group at once.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this advertiser group. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this advertiser group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroup\".",
          "type": "string"
        }
      }
    },
    "AdvertiserGroupsListResponse": {
      "id": "AdvertiserGroupsListResponse",
      "description": "Advertiser Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroupsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "advertiserGroups": {
          "description": "Advertiser group collection.",
          "type": "array",
          "items": {
            "$ref": "AdvertiserGroup"
          }
        }
      }
    },
    "Advertiser": {
      "id": "Advertiser",
      "description": "Contains properties of a Campaign Manager advertiser.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this advertiser. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this advertiser.This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this advertiser.This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "floodlightConfigurationId": {
          "description": "Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as: - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups. - This advertiser's original floodlight configuration is not already shared with another advertiser. ",
          "type": "string",
          "format": "int64"
        },
        "advertiserGroupId": {
          "description": "ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "description": "Status of this advertiser.",
          "type": "string",
          "enumDescriptions": [
            "Approved (ads can deliver)",
            "On-hold (all ads are stopped)"
          ],
          "enum": [
            "APPROVED",
            "ON_HOLD"
          ]
        },
        "defaultEmail": {
          "description": "Default email address used in sender field for tag emails.",
          "type": "string"
        },
        "clickThroughUrlSuffix": {
          "description": "Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.",
          "type": "string"
        },
        "defaultClickThroughEventTagId": {
          "description": "ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.",
          "type": "string",
          "format": "int64"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "floodlightConfigurationIdDimensionValue": {
          "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "originalFloodlightConfigurationId": {
          "description": "Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiser\".",
          "type": "string"
        },
        "suspended": {
          "description": "Suspension status of this advertiser.",
          "type": "boolean"
        },
        "measurementPartnerLink": {
          "description": "Measurement partner advertiser link for tag wrapping.",
          "$ref": "MeasurementPartnerAdvertiserLink"
        },
        "euPoliticalAdsDeclaration": {
          "description": "Optional. Whether the advertiser plans to serve EU political ads.",
          "type": "string",
          "enumDescriptions": [
            "You'll need to confirm if your campaign contains EU political advertising.",
            "All new campaigns will have “No” selected for the question that asks if your campaign has EU political ads. You can change this for any campaign at any time."
          ],
          "enum": [
            "ADVERTISER_PLANS_TO_SERVE_EU_POLITICAL_ADS",
            "ADVERTISER_DOES_NOT_PLAN_TO_SERVE_EU_POLITICAL_ADS"
          ]
        }
      }
    },
    "MeasurementPartnerAdvertiserLink": {
      "id": "MeasurementPartnerAdvertiserLink",
      "type": "object",
      "properties": {
        "measurementPartner": {
          "description": "Measurement partner used for tag wrapping.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "NONE",
            "INTEGRAL_AD_SCIENCE",
            "DOUBLE_VERIFY"
          ]
        },
        "linkStatus": {
          "description": "Status of the partner link.",
          "type": "string",
          "enumDescriptions": [
            "Unlinked.",
            "Linked successfully",
            "Link pending for wrapping.",
            "Linking failure.",
            "Link opt-out by user.",
            "Link opt-out pending sync.",
            "Link wrap answer pending.",
            "Mode change pending.",
            "Partner unlink pending."
          ],
          "enum": [
            "MEASUREMENT_PARTNER_UNLINKED",
            "MEASUREMENT_PARTNER_LINKED",
            "MEASUREMENT_PARTNER_LINK_PENDING",
            "MEASUREMENT_PARTNER_LINK_FAILURE",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING",
            "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING",
            "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING",
            "MEASUREMENT_PARTNER_UNLINK_PENDING"
          ]
        },
        "partnerAdvertiserId": {
          "description": "partner Advertiser Id.",
          "type": "string"
        }
      }
    },
    "AdvertisersListResponse": {
      "id": "AdvertisersListResponse",
      "description": "Advertiser List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertisersListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "advertisers": {
          "description": "Advertiser collection.",
          "type": "array",
          "items": {
            "$ref": "Advertiser"
          }
        }
      }
    },
    "BillingAssignment": {
      "id": "BillingAssignment",
      "description": "List account, subaccount, advertiser, and campaign associated with a given Billing Profile.",
      "type": "object",
      "properties": {
        "accountId": {
          "description": "ID of the account associated with the billing assignment.This is a read-only, auto-generated field.",
          "type": "string"
        },
        "subaccountId": {
          "description": "ID of the subaccount associated with the billing assignment.Wildcard (*) means this assignment is not limited to a single subaccountThis is a read-only, auto-generated field.",
          "type": "string"
        },
        "advertiserId": {
          "description": "ID of the advertiser associated with the billing assignment.Wildcard (*) means this assignment is not limited to a single advertiser",
          "type": "string"
        },
        "campaignId": {
          "description": "ID of the campaign associated with the billing assignment. Wildcard (*) means this assignment is not limited to a single campaign",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#billingAssignment\".",
          "type": "string"
        }
      }
    },
    "BillingAssignmentsListResponse": {
      "id": "BillingAssignmentsListResponse",
      "description": "Billing assignment List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#billingAssignmentsListResponse\".",
          "type": "string"
        },
        "billingAssignments": {
          "description": "Billing assignments collection.",
          "type": "array",
          "items": {
            "$ref": "BillingAssignment"
          }
        }
      }
    },
    "BillingProfile": {
      "id": "BillingProfile",
      "description": "Contains properties of a Campaign Manager Billing Profile.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this billing profile. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this billing profile. This is a required field and must be less than 256 characters long and must be unique among billing profile in the same account.",
          "type": "string"
        },
        "status": {
          "description": "Status of this billing profile.This is a read-only field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "UNDER_REVIEW",
            "ACTIVE",
            "ARCHIVED"
          ]
        },
        "countryCode": {
          "description": "Country code of this billing profile.This is a read-only field.",
          "type": "string"
        },
        "currencyCode": {
          "description": "Billing currency code in ISO 4217 format.This is a read-only field.",
          "type": "string"
        },
        "purchaseOrder": {
          "description": "Purchase order (PO) for this billing profile. This PO number is used in the invoices for all of the advertisers in this billing profile.",
          "type": "string"
        },
        "invoiceLevel": {
          "description": "Invoice level for this billing profile. Used to group fees into separate invoices by account, advertiser, or campaign.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "ACCOUNT_LEVEL",
            "ADVERTISER_LEVEL",
            "CAMPAIGN_LEVEL"
          ]
        },
        "consolidatedInvoice": {
          "description": "Consolidated invoice option for this billing profile. Used to get a single, consolidated invoice across the chosen invoice level.",
          "type": "boolean"
        },
        "paymentsAccountId": {
          "description": "The ID of the payment account the billing profile belongs to. This is a read-only field.",
          "type": "string"
        },
        "paymentsCustomerId": {
          "description": "The ID of the payment customer the billing profile belongs to. This is a read-only field.",
          "type": "string"
        },
        "secondaryPaymentsCustomerId": {
          "description": "The ID of the secondary payment customer the billing profile belongs to. This is a read-only field.",
          "type": "string"
        },
        "isDefault": {
          "description": "True if the billing profile is the account default profile. This is a read-only field.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#billingProfile\".",
          "type": "string"
        }
      }
    },
    "BillingProfilesListResponse": {
      "id": "BillingProfilesListResponse",
      "description": "Billing profile List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#billingProfilesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "billingProfiles": {
          "description": "Billing profiles collection.",
          "type": "array",
          "items": {
            "$ref": "BillingProfile"
          }
        }
      }
    },
    "BillingRatesListResponse": {
      "id": "BillingRatesListResponse",
      "description": "Billing Rate List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#billingRatesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "billingRates": {
          "description": "Billing rates collection.",
          "type": "array",
          "items": {
            "$ref": "BillingRate"
          }
        }
      }
    },
    "BillingRate": {
      "id": "BillingRate",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this billing rate.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this billing rate. This must be less than 256 characters long.",
          "type": "string"
        },
        "type": {
          "description": "Type of this billing rate.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "AD_SERVING",
            "CLICKS",
            "MINIMUM_SERVICE",
            "PATH_TO_CONVERSION",
            "RICH_MEDIA_INPAGE",
            "RICH_MEDIA_EXPANDING",
            "RICH_MEDIA_FLOATING",
            "RICH_MEDIA_VIDEO",
            "RICH_MEDIA_TEASER",
            "RICH_MEDIA_VPAID",
            "INSTREAM_VIDEO",
            "PIXEL",
            "TRACKING",
            "TRAFFICKING_FEATURE",
            "CUSTOM_REPORTS",
            "EXPOSURE_TO_CONVERSION",
            "DATA_TRANSFER",
            "DATA_TRANSFER_SETUP",
            "STARTUP",
            "STATEMENT_OF_WORK",
            "PROVIDED_LIST",
            "PROVIDED_LIST_SETUP",
            "ENHANCED_FORMATS",
            "TRACKING_AD_IMPRESSIONS",
            "TRACKING_AD_CLICKS",
            "NIELSEN_DIGITAL_AD_RATINGS_FEE",
            "INSTREAM_VIDEO_REDIRECT",
            "INSTREAM_VIDEO_VPAID",
            "DISPLAY_AD_SERVING",
            "VIDEO_AD_SERVING",
            "AUDIO_AD_SERVING",
            "ADVANCED_DISPLAY_AD_SERVING"
          ]
        },
        "startDate": {
          "description": "Start date of this billing rate.",
          "type": "string"
        },
        "endDate": {
          "description": "End date of this billing rate.",
          "type": "string"
        },
        "currencyCode": {
          "description": "Billing currency code in ISO 4217 format.",
          "type": "string"
        },
        "unitOfMeasure": {
          "description": "Unit of measure for this billing rate.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "CPM",
            "CPC",
            "EA",
            "P2C"
          ]
        },
        "rateInMicros": {
          "description": "Flat rate in micros of this billing rate. This cannot co-exist with tiered rate.",
          "type": "string",
          "format": "int64"
        },
        "tieredRates": {
          "description": "Tiered rate of this billing rate. This cannot co-exist with flat rate.",
          "type": "array",
          "items": {
            "$ref": "BillingRateTieredRate"
          }
        }
      }
    },
    "BillingRateTieredRate": {
      "id": "BillingRateTieredRate",
      "type": "object",
      "properties": {
        "lowValue": {
          "description": "The minimum for this tier range.",
          "type": "string",
          "format": "int64"
        },
        "highValue": {
          "description": "The maximum for this tier range.",
          "type": "string",
          "format": "int64"
        },
        "rateInMicros": {
          "description": "Rate in micros for this tier.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "BrowsersListResponse": {
      "id": "BrowsersListResponse",
      "description": "Browser List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browsersListResponse\".",
          "type": "string"
        },
        "browsers": {
          "description": "Browser collection.",
          "type": "array",
          "items": {
            "$ref": "Browser"
          }
        }
      }
    },
    "CampaignCreativeAssociation": {
      "id": "CampaignCreativeAssociation",
      "description": "Identifies a creative which has been associated with a given campaign.",
      "type": "object",
      "properties": {
        "creativeId": {
          "description": "ID of the creative associated with the campaign. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociation\".",
          "type": "string"
        }
      }
    },
    "CampaignCreativeAssociationsListResponse": {
      "id": "CampaignCreativeAssociationsListResponse",
      "description": "Campaign Creative Association List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociationsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "campaignCreativeAssociations": {
          "description": "Campaign creative association collection",
          "type": "array",
          "items": {
            "$ref": "CampaignCreativeAssociation"
          }
        }
      }
    },
    "Campaign": {
      "id": "Campaign",
      "description": "Contains properties of a Campaign Manager campaign.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this campaign. This is a read-only auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this campaign. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this campaign. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this campaign. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "advertiserGroupId": {
          "description": "Advertiser group ID of the associated advertiser.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this campaign. This is a required field and must be less than 512 characters long and unique among campaigns of the same advertiser.",
          "type": "string"
        },
        "archived": {
          "description": "Whether this campaign has been archived.",
          "type": "boolean"
        },
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "comment": {
          "description": "Arbitrary comments about this campaign. Must be less than 256 characters long.",
          "type": "string"
        },
        "billingInvoiceCode": {
          "description": "Billing invoice code included in the Campaign Manager client billing invoices associated with the campaign.",
          "type": "string"
        },
        "audienceSegmentGroups": {
          "description": "Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.",
          "type": "array",
          "items": {
            "$ref": "AudienceSegmentGroup"
          }
        },
        "eventTagOverrides": {
          "description": "Overrides that can be used to activate or deactivate advertiser event tags.",
          "type": "array",
          "items": {
            "$ref": "EventTagOverride"
          }
        },
        "clickThroughUrlSuffixProperties": {
          "description": "Click-through URL suffix override properties for this campaign.",
          "$ref": "ClickThroughUrlSuffixProperties"
        },
        "defaultClickThroughEventTagProperties": {
          "description": "Click-through event tag ID override properties for this campaign.",
          "$ref": "DefaultClickThroughEventTagProperties"
        },
        "creativeGroupIds": {
          "description": "List of creative group IDs that are assigned to the campaign.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "creativeOptimizationConfiguration": {
          "description": "Creative optimization configuration for the campaign.",
          "$ref": "CreativeOptimizationConfiguration"
        },
        "additionalCreativeOptimizationConfigurations": {
          "description": "Additional creative optimization configurations for the campaign.",
          "type": "array",
          "items": {
            "$ref": "CreativeOptimizationConfiguration"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaign\".",
          "type": "string"
        },
        "createInfo": {
          "description": "Information about the creation of this campaign. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this campaign. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "externalId": {
          "description": "External ID for this campaign.",
          "type": "string"
        },
        "adBlockingConfiguration": {
          "description": "Ad blocking settings for this campaign.",
          "$ref": "AdBlockingConfiguration"
        },
        "defaultLandingPageId": {
          "description": "The default landing page ID for this campaign.",
          "type": "string",
          "format": "int64"
        },
        "measurementPartnerLink": {
          "description": "Measurement partner campaign link for tag wrapping.",
          "$ref": "MeasurementPartnerCampaignLink"
        },
        "euPoliticalAdsDeclaration": {
          "description": "Optional. Whether the campaign has EU political ads. Campaign Manager 360 doesn't allow campaigns with EU political ads to serve in the EU. They can still serve in other regions.",
          "type": "string",
          "enumDescriptions": [
            "The campaign contains EU political ads.",
            "The campaign does not contain EU political ads."
          ],
          "enum": [
            "CONTAINS_EU_POLITICAL_ADS",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADS"
          ]
        }
      }
    },
    "AudienceSegmentGroup": {
      "id": "AudienceSegmentGroup",
      "description": "Audience Segment Group.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this audience segment group. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this audience segment group. This is a required field and must be less than 65 characters long.",
          "type": "string"
        },
        "audienceSegments": {
          "description": "Audience segments assigned to this group. The number of segments must be between 2 and 100.",
          "type": "array",
          "items": {
            "$ref": "AudienceSegment"
          }
        }
      }
    },
    "AudienceSegment": {
      "id": "AudienceSegment",
      "description": "Audience Segment.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this audience segment. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this audience segment. This is a required field and must be less than 65 characters long.",
          "type": "string"
        },
        "allocation": {
          "description": "Weight allocated to this segment. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group. Acceptable values are 1 to 1000, inclusive.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "CreativeOptimizationConfiguration": {
      "id": "CreativeOptimizationConfiguration",
      "description": "Creative optimization settings.",
      "type": "object",
      "properties": {
        "optimizationModel": {
          "description": "Optimization model for this configuration.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "CLICK",
            "POST_CLICK",
            "POST_IMPRESSION",
            "POST_CLICK_AND_IMPRESSION",
            "VIDEO_COMPLETION"
          ]
        },
        "optimizationActivitys": {
          "description": "List of optimization activities associated with this configuration.",
          "type": "array",
          "items": {
            "$ref": "OptimizationActivity"
          }
        },
        "id": {
          "description": "ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this creative optimization config. This is a required field and must be less than 129 characters long.",
          "type": "string"
        }
      }
    },
    "OptimizationActivity": {
      "id": "OptimizationActivity",
      "description": "Creative optimization activity.",
      "type": "object",
      "properties": {
        "floodlightActivityId": {
          "description": "Floodlight activity ID of this optimization activity. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "weight": {
          "description": "Weight associated with this optimization. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities. Value must be greater than or equal to 1.",
          "type": "integer",
          "format": "int32"
        },
        "floodlightActivityIdDimensionValue": {
          "description": "Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        }
      }
    },
    "AdBlockingConfiguration": {
      "id": "AdBlockingConfiguration",
      "description": "Campaign ad blocking settings.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Whether this campaign has enabled ad blocking. When true, ad blocking is enabled for placements in the campaign, but this may be overridden by site and placement settings. When false, ad blocking is disabled for all placements under the campaign, regardless of site and placement settings.",
          "type": "boolean"
        }
      }
    },
    "MeasurementPartnerCampaignLink": {
      "id": "MeasurementPartnerCampaignLink",
      "type": "object",
      "properties": {
        "measurementPartner": {
          "description": "Measurement partner used for tag wrapping.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "NONE",
            "INTEGRAL_AD_SCIENCE",
            "DOUBLE_VERIFY"
          ]
        },
        "linkStatus": {
          "description": ".",
          "type": "string",
          "enumDescriptions": [
            "Unlinked.",
            "Linked successfully",
            "Link pending for wrapping.",
            "Linking failure.",
            "Link opt-out by user.",
            "Link opt-out pending sync.",
            "Link wrap answer pending.",
            "Mode change pending.",
            "Partner unlink pending."
          ],
          "enum": [
            "MEASUREMENT_PARTNER_UNLINKED",
            "MEASUREMENT_PARTNER_LINKED",
            "MEASUREMENT_PARTNER_LINK_PENDING",
            "MEASUREMENT_PARTNER_LINK_FAILURE",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING",
            "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING",
            "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING",
            "MEASUREMENT_PARTNER_UNLINK_PENDING"
          ]
        },
        "partnerCampaignId": {
          "description": "Partner campaign ID needed for establishing linking with Measurement partner.",
          "type": "string"
        }
      }
    },
    "CampaignsListResponse": {
      "id": "CampaignsListResponse",
      "description": "Campaign List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "campaigns": {
          "description": "Campaign collection.",
          "type": "array",
          "items": {
            "$ref": "Campaign"
          }
        }
      }
    },
    "ChangeLog": {
      "id": "ChangeLog",
      "description": "Describes a change that a user has made to a resource.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this change log.",
          "type": "string",
          "format": "int64"
        },
        "objectId": {
          "description": "ID of the object of this change log. The object could be a campaign, placement, ad, or other type.",
          "type": "string",
          "format": "int64"
        },
        "transactionId": {
          "description": "Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.",
          "type": "string",
          "format": "int64"
        },
        "userProfileId": {
          "description": "ID of the user who modified the object.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of the modified object.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of the modified object.",
          "type": "string",
          "format": "int64"
        },
        "userProfileName": {
          "description": "User profile name of the user who modified the object.",
          "type": "string"
        },
        "changeTime": {
          "type": "string",
          "format": "date-time"
        },
        "oldValue": {
          "description": "Old value of the object field.",
          "type": "string"
        },
        "newValue": {
          "description": "New value of the object field.",
          "type": "string"
        },
        "action": {
          "description": "Action which caused the change.",
          "type": "string"
        },
        "fieldName": {
          "description": "Field name of the object which changed.",
          "type": "string"
        },
        "objectType": {
          "description": "Object type of the change log.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLog\".",
          "type": "string"
        }
      }
    },
    "ChangeLogsListResponse": {
      "id": "ChangeLogsListResponse",
      "description": "Change Log List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLogsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "changeLogs": {
          "description": "Change log collection.",
          "type": "array",
          "items": {
            "$ref": "ChangeLog"
          }
        }
      }
    },
    "CitiesListResponse": {
      "id": "CitiesListResponse",
      "description": "City List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#citiesListResponse\".",
          "type": "string"
        },
        "cities": {
          "description": "City collection.",
          "type": "array",
          "items": {
            "$ref": "City"
          }
        }
      }
    },
    "ConnectionTypesListResponse": {
      "id": "ConnectionTypesListResponse",
      "description": "Connection Type List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionTypesListResponse\".",
          "type": "string"
        },
        "connectionTypes": {
          "description": "Collection of connection types such as broadband and mobile.",
          "type": "array",
          "items": {
            "$ref": "ConnectionType"
          }
        }
      }
    },
    "ContentCategory": {
      "id": "ContentCategory",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this content category. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this content category. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategory\".",
          "type": "string"
        }
      }
    },
    "ContentCategoriesListResponse": {
      "id": "ContentCategoriesListResponse",
      "description": "Content Category List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategoriesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "contentCategories": {
          "description": "Content category collection.",
          "type": "array",
          "items": {
            "$ref": "ContentCategory"
          }
        }
      }
    },
    "ConversionsBatchInsertRequest": {
      "id": "ConversionsBatchInsertRequest",
      "description": "Insert Conversions Request.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertRequest\".",
          "type": "string"
        },
        "conversions": {
          "description": "The set of conversions to insert.",
          "type": "array",
          "items": {
            "$ref": "Conversion"
          }
        },
        "encryptionInfo": {
          "description": "Describes how encryptedUserId or encryptedUserIdCandidates[] is encrypted. This is a required field if encryptedUserId or encryptedUserIdCandidates[] is used.",
          "$ref": "EncryptionInfo"
        }
      }
    },
    "Conversion": {
      "id": "Conversion",
      "description": "A Conversion represents when a user successfully performs a desired action after seeing an ad.",
      "type": "object",
      "properties": {
        "floodlightConfigurationId": {
          "description": "Floodlight Configuration ID of this conversion. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "floodlightActivityId": {
          "description": "Floodlight Activity ID of this conversion. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "encryptedUserId": {
          "description": "The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId, gclid, dclid, and impressionId. This or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid or dclid or impressionId is a required field.",
          "type": "string"
        },
        "mobileDeviceId": {
          "description": "The mobile device ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, gclid, dclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or gclid or dclid or impressionId is a required field.",
          "type": "string"
        },
        "timestampMicros": {
          "description": "The timestamp of conversion, in Unix epoch micros. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "value": {
          "description": "The value of the conversion. Interpreted in CM360 Floodlight config parent advertiser's currency code. This is a required field.",
          "type": "number",
          "format": "double"
        },
        "quantity": {
          "description": "The quantity of the conversion. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "ordinal": {
          "description": "The ordinal of the conversion. Use this field to control how conversions of the same user and day are de-duplicated. This is a required field.",
          "type": "string"
        },
        "customVariables": {
          "description": "Custom floodlight variables.",
          "type": "array",
          "items": {
            "$ref": "CustomFloodlightVariable"
          }
        },
        "limitAdTracking": {
          "description": "Whether Limit Ad Tracking is enabled. When set to true, the conversion will be used for reporting but not targeting. This will prevent remarketing.",
          "type": "boolean"
        },
        "childDirectedTreatment": {
          "description": "Whether this particular request may come from a user under the age of 13, under COPPA compliance.",
          "type": "boolean"
        },
        "encryptedUserIdCandidates": {
          "description": "A list of the alphanumeric encrypted user IDs. Any user ID with exposure prior to the conversion timestamp will be used in the inserted conversion. If no such user ID is found then the conversion will be rejected with INVALID_ARGUMENT error. When set, encryptionInfo should also be specified. This field may only be used when calling batchinsert; it is not supported by batchupdate. This field is mutually exclusive with encryptedUserId, matchId, mobileDeviceId, gclid dclid, and impressionId. This or encryptedUserId or matchId or mobileDeviceId or gclid or dclid or impressionId is a required field.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "gclid": {
          "description": "The Google click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, dclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or dclid or impressionId is a required field.",
          "type": "string"
        },
        "nonPersonalizedAd": {
          "description": "Whether the conversion was for a non personalized ad.",
          "type": "boolean"
        },
        "treatmentForUnderage": {
          "description": "Whether this particular request may come from a user under the age of 16 (may differ by country), under compliance with the European Union's General Data Protection Regulation (GDPR).",
          "type": "boolean"
        },
        "matchId": {
          "description": "The match ID field. A match ID is your own first-party identifier that has been synced with Google using the match ID feature in Floodlight. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId, gclid, dclid, and impressionId. This or encryptedUserId orencryptedUserIdCandidates[] or mobileDeviceId or gclid or dclid or impressionIdis a required field.",
          "type": "string"
        },
        "dclid": {
          "description": "The display click ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, gclid, and impressionId. This or encryptedUserId or encryptedUserIdCandidates[] or matchId or mobileDeviceId or gclid or impressionId is a required field.",
          "type": "string"
        },
        "impressionId": {
          "description": "The impression ID. This field is mutually exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId, mobileDeviceId, and gclid. One of these identifiers must be set.",
          "type": "string"
        },
        "userIdentifiers": {
          "description": "The user identifiers to enhance the conversion. The maximum number of user identifiers for each conversion is 5.",
          "type": "array",
          "items": {
            "$ref": "UserIdentifier"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversion\".",
          "type": "string"
        },
        "adUserDataConsent": {
          "description": "This represents consent for ad user data.",
          "type": "string",
          "enumDescriptions": [
            "Granted.",
            "Denied."
          ],
          "enum": [
            "GRANTED",
            "DENIED"
          ]
        },
        "cartData": {
          "description": "The cart data associated with this conversion.",
          "$ref": "CartData"
        },
        "sessionAttributesEncoded": {
          "description": "Session attributes for the conversion, encoded as based64 bytes. This field may only be used when calling batchinsert; it is not supported by batchupdate.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "CustomFloodlightVariable": {
      "id": "CustomFloodlightVariable",
      "description": "A custom floodlight variable. Can be used in both batchinsert and batchupdate. Adding this in batchupdate will update or append the variable to the existing list.",
      "type": "object",
      "properties": {
        "type": {
          "description": "The type of custom floodlight variable to supply a value for. These map to the \"u[1-100]=\" in the tags.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "U1",
            "U2",
            "U3",
            "U4",
            "U5",
            "U6",
            "U7",
            "U8",
            "U9",
            "U10",
            "U11",
            "U12",
            "U13",
            "U14",
            "U15",
            "U16",
            "U17",
            "U18",
            "U19",
            "U20",
            "U21",
            "U22",
            "U23",
            "U24",
            "U25",
            "U26",
            "U27",
            "U28",
            "U29",
            "U30",
            "U31",
            "U32",
            "U33",
            "U34",
            "U35",
            "U36",
            "U37",
            "U38",
            "U39",
            "U40",
            "U41",
            "U42",
            "U43",
            "U44",
            "U45",
            "U46",
            "U47",
            "U48",
            "U49",
            "U50",
            "U51",
            "U52",
            "U53",
            "U54",
            "U55",
            "U56",
            "U57",
            "U58",
            "U59",
            "U60",
            "U61",
            "U62",
            "U63",
            "U64",
            "U65",
            "U66",
            "U67",
            "U68",
            "U69",
            "U70",
            "U71",
            "U72",
            "U73",
            "U74",
            "U75",
            "U76",
            "U77",
            "U78",
            "U79",
            "U80",
            "U81",
            "U82",
            "U83",
            "U84",
            "U85",
            "U86",
            "U87",
            "U88",
            "U89",
            "U90",
            "U91",
            "U92",
            "U93",
            "U94",
            "U95",
            "U96",
            "U97",
            "U98",
            "U99",
            "U100"
          ]
        },
        "value": {
          "description": "The value of the custom floodlight variable. The length of string must not exceed 100 characters.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customFloodlightVariable\".",
          "type": "string"
        }
      }
    },
    "UserIdentifier": {
      "id": "UserIdentifier",
      "description": "User identifying information. Exactly one type of identifier must be specified.",
      "type": "object",
      "properties": {
        "hashedEmail": {
          "description": "Hashed email address using SHA-256 hash function after normalization.",
          "type": "string"
        },
        "hashedPhoneNumber": {
          "description": "Hashed phone number using SHA-256 hash function after normalization (E164 standard).",
          "type": "string"
        },
        "addressInfo": {
          "description": "Address information.",
          "$ref": "OfflineUserAddressInfo"
        }
      }
    },
    "OfflineUserAddressInfo": {
      "id": "OfflineUserAddressInfo",
      "description": "Identify a user by name and address.",
      "type": "object",
      "properties": {
        "hashedFirstName": {
          "description": "First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).",
          "type": "string"
        },
        "hashedLastName": {
          "description": "Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).",
          "type": "string"
        },
        "city": {
          "description": "City of the address.",
          "type": "string"
        },
        "state": {
          "description": "State code of the address.",
          "type": "string"
        },
        "countryCode": {
          "description": "2-letter country code in ISO-3166-1 alpha-2 of the user's address.",
          "type": "string"
        },
        "postalCode": {
          "description": "Postal code of the user's address.",
          "type": "string"
        },
        "hashedStreetAddress": {
          "description": "The street address of the user hashed using SHA-256 hash function after normalization (lower case only).",
          "type": "string"
        }
      }
    },
    "CartData": {
      "id": "CartData",
      "description": "Contains additional information about cart data. This field may only be used when calling batchinsert; it is not supported by batchupdate. Cart data reporting is only supported in SA360. [Learn more](https://support.google.com/sa360/topic/13425788)",
      "type": "object",
      "properties": {
        "merchantId": {
          "description": "The Merchant Center ID where the items are uploaded. Providing Merchant Center ID reduces ambiguity in identifying the right offer details.",
          "type": "string",
          "format": "int64"
        },
        "merchantFeedLabel": {
          "description": "The feed labels associated with the feed where your items are uploaded. For more information, please refer to \u200b\u200b https://support.google.com/merchants/answer/12453549. Providing the feed label reduces ambiguity in identifying the right offer details.",
          "type": "string"
        },
        "merchantFeedLanguage": {
          "description": "The language associated with the feed where your items are uploaded. Use ISO 639-1 language codes. Providing the feed language reduces ambiguity in identifying the right offer details.",
          "type": "string"
        },
        "items": {
          "description": "Data of the items purchased.",
          "type": "array",
          "items": {
            "$ref": "CartDataItem"
          }
        }
      }
    },
    "CartDataItem": {
      "id": "CartDataItem",
      "description": "Contains data of the items purchased.",
      "type": "object",
      "properties": {
        "itemId": {
          "description": "The shopping id of the item. Must be equal to the Merchant Center product identifier. This is a required field.",
          "type": "string"
        },
        "quantity": {
          "description": "Number of items sold. This is a required field.",
          "type": "integer",
          "format": "int32"
        },
        "unitPrice": {
          "description": "Unit price excluding tax, shipping, and any transaction level discounts. Interpreted in CM360 Floodlight config parent advertiser's currency code. This is a required field.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "EncryptionInfo": {
      "id": "EncryptionInfo",
      "description": "A description of how user IDs are encrypted.",
      "type": "object",
      "properties": {
        "encryptionEntityType": {
          "description": "The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "ENCRYPTION_ENTITY_TYPE_UNKNOWN",
            "DCM_ACCOUNT",
            "DCM_ADVERTISER",
            "DBM_PARTNER",
            "DBM_ADVERTISER",
            "ADWORDS_CUSTOMER",
            "DFP_NETWORK_CODE"
          ]
        },
        "encryptionEntityId": {
          "description": "The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.",
          "type": "string",
          "format": "int64"
        },
        "encryptionSource": {
          "description": "Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "ENCRYPTION_SCOPE_UNKNOWN",
            "AD_SERVING",
            "DATA_TRANSFER"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#encryptionInfo\".",
          "type": "string"
        }
      }
    },
    "ConversionsBatchInsertResponse": {
      "id": "ConversionsBatchInsertResponse",
      "description": "Insert Conversions Response.",
      "type": "object",
      "properties": {
        "hasFailures": {
          "description": "Indicates that some or all conversions failed to insert.",
          "type": "boolean"
        },
        "status": {
          "description": "The insert status of each conversion. Statuses are returned in the same order that conversions are inserted.",
          "type": "array",
          "items": {
            "$ref": "ConversionStatus"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertResponse\".",
          "type": "string"
        }
      }
    },
    "ConversionStatus": {
      "id": "ConversionStatus",
      "description": "The original conversion that was inserted or updated and whether there were any errors.",
      "type": "object",
      "properties": {
        "conversion": {
          "description": "The original conversion that was inserted or updated.",
          "$ref": "Conversion"
        },
        "errors": {
          "description": "A list of errors related to this conversion.",
          "type": "array",
          "items": {
            "$ref": "ConversionError"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionStatus\".",
          "type": "string"
        }
      }
    },
    "ConversionError": {
      "id": "ConversionError",
      "description": "The error code and description for a conversion that failed to insert or update.",
      "type": "object",
      "properties": {
        "code": {
          "description": "The error code.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "INVALID_ARGUMENT",
            "INTERNAL",
            "PERMISSION_DENIED",
            "NOT_FOUND"
          ]
        },
        "message": {
          "description": "A description of the error.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionError\".",
          "type": "string"
        }
      }
    },
    "ConversionsBatchUpdateRequest": {
      "id": "ConversionsBatchUpdateRequest",
      "description": "Update Conversions Request.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateRequest\".",
          "type": "string"
        },
        "conversions": {
          "description": "The set of conversions to update.",
          "type": "array",
          "items": {
            "$ref": "Conversion"
          }
        },
        "encryptionInfo": {
          "description": "Describes how encryptedUserId is encrypted. This is a required field if encryptedUserId is used.",
          "$ref": "EncryptionInfo"
        }
      }
    },
    "ConversionsBatchUpdateResponse": {
      "id": "ConversionsBatchUpdateResponse",
      "description": "Update Conversions Response.",
      "type": "object",
      "properties": {
        "hasFailures": {
          "description": "Indicates that some or all conversions failed to update.",
          "type": "boolean"
        },
        "status": {
          "description": "The update status of each conversion. Statuses are returned in the same order that conversions are updated.",
          "type": "array",
          "items": {
            "$ref": "ConversionStatus"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateResponse\".",
          "type": "string"
        }
      }
    },
    "CountriesListResponse": {
      "id": "CountriesListResponse",
      "description": "Country List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#countriesListResponse\".",
          "type": "string"
        },
        "countries": {
          "description": "Country collection.",
          "type": "array",
          "items": {
            "$ref": "Country"
          }
        }
      }
    },
    "CreativeAssetMetadata": {
      "id": "CreativeAssetMetadata",
      "description": "CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.",
      "type": "object",
      "properties": {
        "assetIdentifier": {
          "description": "ID of the creative asset. This is a required field.",
          "$ref": "CreativeAssetId"
        },
        "detectedFeatures": {
          "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "POST_MESSAGE always required due to html5 implementation.",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "CSS_FONT_FACE",
              "CSS_BACKGROUND_SIZE",
              "CSS_BORDER_IMAGE",
              "CSS_BORDER_RADIUS",
              "CSS_BOX_SHADOW",
              "CSS_FLEX_BOX",
              "CSS_HSLA",
              "CSS_MULTIPLE_BGS",
              "CSS_OPACITY",
              "CSS_RGBA",
              "CSS_TEXT_SHADOW",
              "CSS_ANIMATIONS",
              "CSS_COLUMNS",
              "CSS_GENERATED_CONTENT",
              "CSS_GRADIENTS",
              "CSS_REFLECTIONS",
              "CSS_TRANSFORMS",
              "CSS_TRANSFORMS3D",
              "CSS_TRANSITIONS",
              "APPLICATION_CACHE",
              "CANVAS",
              "CANVAS_TEXT",
              "DRAG_AND_DROP",
              "HASH_CHANGE",
              "HISTORY",
              "AUDIO",
              "VIDEO",
              "INDEXED_DB",
              "INPUT_ATTR_AUTOCOMPLETE",
              "INPUT_ATTR_AUTOFOCUS",
              "INPUT_ATTR_LIST",
              "INPUT_ATTR_PLACEHOLDER",
              "INPUT_ATTR_MAX",
              "INPUT_ATTR_MIN",
              "INPUT_ATTR_MULTIPLE",
              "INPUT_ATTR_PATTERN",
              "INPUT_ATTR_REQUIRED",
              "INPUT_ATTR_STEP",
              "INPUT_TYPE_SEARCH",
              "INPUT_TYPE_TEL",
              "INPUT_TYPE_URL",
              "INPUT_TYPE_EMAIL",
              "INPUT_TYPE_DATETIME",
              "INPUT_TYPE_DATE",
              "INPUT_TYPE_MONTH",
              "INPUT_TYPE_WEEK",
              "INPUT_TYPE_TIME",
              "INPUT_TYPE_DATETIME_LOCAL",
              "INPUT_TYPE_NUMBER",
              "INPUT_TYPE_RANGE",
              "INPUT_TYPE_COLOR",
              "LOCAL_STORAGE",
              "POST_MESSAGE",
              "SESSION_STORAGE",
              "WEB_SOCKETS",
              "WEB_SQL_DATABASE",
              "WEB_WORKERS",
              "GEO_LOCATION",
              "INLINE_SVG",
              "SMIL",
              "SVG_HREF",
              "SVG_CLIP_PATHS",
              "TOUCH",
              "WEBGL",
              "SVG_FILTERS",
              "SVG_FE_IMAGE"
            ]
          }
        },
        "warnedValidationRules": {
          "description": "Rules validated during code generation that generated a warning. This is a read-only, auto-generated field. Possible values are: - \"ADMOB_REFERENCED\" - \"ASSET_FORMAT_UNSUPPORTED_DCM\" - \"ASSET_INVALID\" - \"CLICK_TAG_HARD_CODED\" - \"CLICK_TAG_INVALID\" - \"CLICK_TAG_IN_GWD\" - \"CLICK_TAG_MISSING\" - \"CLICK_TAG_MORE_THAN_ONE\" - \"CLICK_TAG_NON_TOP_LEVEL\" - \"COMPONENT_UNSUPPORTED_DCM\" - \"ENABLER_UNSUPPORTED_METHOD_DCM\" - \"EXTERNAL_FILE_REFERENCED\" - \"FILE_DETAIL_EMPTY\" - \"FILE_TYPE_INVALID\" - \"GWD_PROPERTIES_INVALID\" - \"HTML5_FEATURE_UNSUPPORTED\" - \"LINKED_FILE_NOT_FOUND\" - \"MAX_FLASH_VERSION_11\" - \"MRAID_REFERENCED\" - \"NOT_SSL_COMPLIANT\" - \"ORPHANED_ASSET\" - \"PRIMARY_HTML_MISSING\" - \"SVG_INVALID\" - \"ZIP_INVALID\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Click tag initialization detected but not at the top level of the primary html file.",
              "No click tag detected.",
              "More than one click tag detected.",
              "Click tag invalid (failed url validation).",
              "Orphaned asset not referenced.",
              "Primary html file missing.",
              "Reference to a third-party resource.",
              "Reference to INAPP MRAID feature.",
              "Reference to INAPP ADMOB feature.",
              "Invalid file type referenced.",
              "Invalid zip passed in",
              "A relative file was linked to that wasn't included in zip.",
              "Max flash version at 11.",
              "Whether the asset uses secure urls or not.",
              "File detail empty.",
              "Asset is not valid and could not be processed.",
              "GWD properties are invalid.",
              "Unsupported Enabler methods in DCM.",
              "Asset ad format is unsupported in DCM.",
              "Component is unsupported in DCM.",
              "Html5 feature is unsupported.",
              "Click tag defined in GWD asset. GWD-published creatives should use exit events instead of defining var clickTag. Defined var clickTags are a symptom of an unsupported workflow, and an error should be thrown.",
              "Whether the asset has hard coded click tag url(s).",
              "Whether an SVG block could not be parsed.",
              "Click tag defined in rich media asset. Rich media creatives should use exit events instead of defining var clickTag. Defined var clickTags are a symptom of an unsupported workflow, and an error should be thrown.",
              "Rich media primary asset is missing the Enabler reference."
            ],
            "enum": [
              "CLICK_TAG_NON_TOP_LEVEL",
              "CLICK_TAG_MISSING",
              "CLICK_TAG_MORE_THAN_ONE",
              "CLICK_TAG_INVALID",
              "ORPHANED_ASSET",
              "PRIMARY_HTML_MISSING",
              "EXTERNAL_FILE_REFERENCED",
              "MRAID_REFERENCED",
              "ADMOB_REFERENCED",
              "FILE_TYPE_INVALID",
              "ZIP_INVALID",
              "LINKED_FILE_NOT_FOUND",
              "MAX_FLASH_VERSION_11",
              "NOT_SSL_COMPLIANT",
              "FILE_DETAIL_EMPTY",
              "ASSET_INVALID",
              "GWD_PROPERTIES_INVALID",
              "ENABLER_UNSUPPORTED_METHOD_DCM",
              "ASSET_FORMAT_UNSUPPORTED_DCM",
              "COMPONENT_UNSUPPORTED_DCM",
              "HTML5_FEATURE_UNSUPPORTED",
              "CLICK_TAG_IN_GWD",
              "CLICK_TAG_HARD_CODED",
              "SVG_INVALID",
              "CLICK_TAG_IN_RICH_MEDIA",
              "MISSING_ENABLER_REFERENCE"
            ]
          }
        },
        "clickTags": {
          "description": "List of detected click tags for assets. This is a read-only, auto-generated field. This field is empty for a rich media asset.",
          "type": "array",
          "items": {
            "$ref": "ClickTag"
          }
        },
        "id": {
          "description": "Numeric ID of the asset. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "idDimensionValue": {
          "description": "Dimension value for the numeric ID of the asset. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "richMedia": {
          "description": "True if the uploaded asset is a rich media asset. This is a read-only, auto-generated field.",
          "type": "boolean"
        },
        "counterCustomEvents": {
          "description": "List of counter events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "exitCustomEvents": {
          "description": "List of exit events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "timerCustomEvents": {
          "description": "List of timer events configured for the asset. This is a read-only, auto-generated field and only applicable to a rich media asset.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeAssetMetadata\".",
          "type": "string"
        }
      }
    },
    "CreativeAssetId": {
      "id": "CreativeAssetId",
      "description": "Creative Asset ID.",
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of asset to upload. This is a required field. FLASH and IMAGE are no longer supported for new uploads. All image assets should use HTML_IMAGE.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "IMAGE",
            "FLASH",
            "VIDEO",
            "HTML",
            "HTML_IMAGE",
            "AUDIO"
          ]
        },
        "name": {
          "description": "Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: \".-_ \". Spaces are allowed.",
          "type": "string"
        }
      }
    },
    "ClickTag": {
      "id": "ClickTag",
      "description": "Creative Click Tag.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Parameter name for the specified click tag. For DISPLAY_IMAGE_GALLERY creative assets, this field must match the value of the creative asset's creativeAssetId.name field.",
          "type": "string"
        },
        "eventName": {
          "description": "Advertiser event name associated with the click tag. This field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "string"
        },
        "clickThroughUrl": {
          "description": "Parameter value for the specified click tag. This field contains a click-through url.",
          "$ref": "CreativeClickThroughUrl"
        }
      }
    },
    "CreativeClickThroughUrl": {
      "id": "CreativeClickThroughUrl",
      "description": "Click-through URL",
      "type": "object",
      "properties": {
        "landingPageId": {
          "description": "ID of the landing page for the click-through URL.",
          "type": "string",
          "format": "int64"
        },
        "customClickThroughUrl": {
          "description": "Custom click-through URL. Applicable if the landingPageId field is left unset.",
          "type": "string"
        },
        "computedClickThroughUrl": {
          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If landingPageId is specified then that landing page's URL is assigned to this field. - Otherwise, the customClickThroughUrl is assigned to this field. ",
          "type": "string"
        }
      }
    },
    "CreativeCustomEvent": {
      "id": "CreativeCustomEvent",
      "description": "Creative Custom Event.",
      "type": "object",
      "properties": {
        "artworkLabel": {
          "description": "Artwork label column, used to link events in Campaign Manager back to events in Studio. This is a required field and should not be modified after insertion.",
          "type": "string"
        },
        "id": {
          "description": "ID of this event. This is a required field and should not be modified after insertion.",
          "type": "string",
          "format": "int64"
        },
        "videoReportingId": {
          "description": "Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.",
          "type": "string"
        },
        "artworkType": {
          "description": "Artwork type used by the creative.This is a read-only field.",
          "type": "string",
          "enumDescriptions": [
            "The creative is a Flash creative.",
            "The creative is HTML5.",
            "The creative is HTML5 if available, Flash otherwise.",
            "The creative is Image."
          ],
          "enum": [
            "ARTWORK_TYPE_FLASH",
            "ARTWORK_TYPE_HTML5",
            "ARTWORK_TYPE_MIXED",
            "ARTWORK_TYPE_IMAGE"
          ]
        },
        "advertiserCustomEventName": {
          "description": "User-entered name for the event.",
          "type": "string"
        },
        "targetType": {
          "description": "Target type used by the event.",
          "type": "string",
          "enumDescriptions": [
            "New tab",
            "Current tab",
            "Same frame",
            "Parent frame",
            "New window with properties specified in window_properties"
          ],
          "enum": [
            "TARGET_BLANK",
            "TARGET_TOP",
            "TARGET_SELF",
            "TARGET_PARENT",
            "TARGET_POPUP"
          ]
        },
        "advertiserCustomEventType": {
          "description": "Type of the event. This is a read-only field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "ADVERTISER_EVENT_TIMER",
            "ADVERTISER_EVENT_EXIT",
            "ADVERTISER_EVENT_COUNTER"
          ]
        },
        "popupWindowProperties": {
          "description": "Properties for rich media popup windows. This field is used only for exit events.",
          "$ref": "PopupWindowProperties"
        },
        "advertiserCustomEventId": {
          "description": "Unique ID of this event used by Reporting and Data Transfer. This is a read-only field.",
          "type": "string",
          "format": "int64"
        },
        "exitClickThroughUrl": {
          "description": "Exit click-through URL for the event. This field is used only for exit events.",
          "$ref": "CreativeClickThroughUrl"
        }
      }
    },
    "PopupWindowProperties": {
      "id": "PopupWindowProperties",
      "description": "Popup Window Properties.",
      "type": "object",
      "properties": {
        "offset": {
          "description": "Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.",
          "$ref": "OffsetPosition"
        },
        "showScrollBar": {
          "description": "Whether to display the browser scroll bar.",
          "type": "boolean"
        },
        "showToolBar": {
          "description": "Whether to display the browser tool bar.",
          "type": "boolean"
        },
        "showMenuBar": {
          "description": "Whether to display the browser menu bar.",
          "type": "boolean"
        },
        "showAddressBar": {
          "description": "Whether to display the browser address bar.",
          "type": "boolean"
        },
        "showStatusBar": {
          "description": "Whether to display the browser status bar.",
          "type": "boolean"
        },
        "positionType": {
          "description": "Popup window position either centered or at specific coordinate.",
          "type": "string",
          "enumDescriptions": [
            "window positioning at center.",
            "window positioning by upper left corner coordinates."
          ],
          "enum": [
            "CENTER",
            "COORDINATES"
          ]
        },
        "dimension": {
          "description": "Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID",
          "$ref": "Size"
        },
        "title": {
          "description": "Title of popup window.",
          "type": "string"
        }
      }
    },
    "OffsetPosition": {
      "id": "OffsetPosition",
      "description": "Offset Position.",
      "type": "object",
      "properties": {
        "top": {
          "description": "Offset distance from top side of an asset or a window.",
          "type": "integer",
          "format": "int32"
        },
        "left": {
          "description": "Offset distance from left side of an asset or a window.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "CreativeField": {
      "id": "CreativeField",
      "description": "Contains properties of a creative field.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this creative field. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this creative field. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this creative field. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this creative field. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.",
          "type": "string"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeField\".",
          "type": "string"
        }
      }
    },
    "CreativeFieldsListResponse": {
      "id": "CreativeFieldsListResponse",
      "description": "Creative Field List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "creativeFields": {
          "description": "Creative field collection.",
          "type": "array",
          "items": {
            "$ref": "CreativeField"
          }
        }
      }
    },
    "CreativeFieldValue": {
      "id": "CreativeFieldValue",
      "description": "Contains properties of a creative field value.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValue\".",
          "type": "string"
        },
        "id": {
          "description": "ID of this creative field value. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "value": {
          "description": "Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.",
          "type": "string"
        }
      }
    },
    "CreativeFieldValuesListResponse": {
      "id": "CreativeFieldValuesListResponse",
      "description": "Creative Field Value List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValuesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "creativeFieldValues": {
          "description": "Creative field value collection.",
          "type": "array",
          "items": {
            "$ref": "CreativeFieldValue"
          }
        }
      }
    },
    "CreativeGroup": {
      "id": "CreativeGroup",
      "description": "Contains properties of a creative group.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this creative group. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this creative group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this creative group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this creative group. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.",
          "type": "string"
        },
        "groupNumber": {
          "description": "Subgroup of the creative group. Assign your creative groups to a subgroup in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion. Acceptable values are 1 to 2, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroup\".",
          "type": "string"
        }
      }
    },
    "CreativeGroupsListResponse": {
      "id": "CreativeGroupsListResponse",
      "description": "Creative Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroupsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "creativeGroups": {
          "description": "Creative group collection.",
          "type": "array",
          "items": {
            "$ref": "CreativeGroup"
          }
        }
      }
    },
    "Creative": {
      "id": "Creative",
      "description": "Contains properties of a Creative.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Required. Name of the creative. This must be less than 256 characters long. Applicable to all creative types.",
          "type": "string"
        },
        "renderingId": {
          "description": "ID of current rendering version. This is a read-only field. Applicable to all creative types.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Required. Advertiser ID of this creative. This is a required field. Applicable to all creative types.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.",
          "type": "string",
          "format": "int64"
        },
        "active": {
          "description": "Whether the creative is active. Applicable to all creative types.",
          "type": "boolean"
        },
        "archived": {
          "description": "Whether the creative is archived. Applicable to all creative types.",
          "type": "boolean"
        },
        "version": {
          "description": "The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.",
          "type": "integer",
          "format": "int32"
        },
        "size": {
          "description": "Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.",
          "$ref": "Size"
        },
        "creativeFieldAssignments": {
          "description": "Creative field assignments for this creative. Applicable to all creative types.",
          "type": "array",
          "items": {
            "$ref": "CreativeFieldAssignment"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creative\".",
          "type": "string"
        },
        "lastModifiedInfo": {
          "description": "Creative last modification information. This is a read-only field. Applicable to all creative types.",
          "$ref": "LastModifiedInfo"
        },
        "sslCompliant": {
          "description": "Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.",
          "type": "boolean"
        },
        "compatibility": {
          "description": "Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in in-stream audio ads developed with the VAST standard. Applicable to all creative types. Acceptable values are: - \"APP\" - \"APP_INTERSTITIAL\" - \"IN_STREAM_VIDEO\" - \"IN_STREAM_AUDIO\" - \"DISPLAY\" - \"DISPLAY_INTERSTITIAL\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "Deprecated enum value. No longer supported.",
              "Deprecated enum value. No longer supported.",
              "",
              ""
            ],
            "enum": [
              "DISPLAY",
              "DISPLAY_INTERSTITIAL",
              "APP",
              "APP_INTERSTITIAL",
              "IN_STREAM_VIDEO",
              "IN_STREAM_AUDIO"
            ]
          }
        },
        "type": {
          "description": "Required. Type of this creative. Applicable to all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for existing creatives. New creatives should use DISPLAY as a replacement for these types.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "IMAGE",
            "DISPLAY_REDIRECT",
            "CUSTOM_DISPLAY",
            "INTERNAL_REDIRECT",
            "CUSTOM_DISPLAY_INTERSTITIAL",
            "INTERSTITIAL_INTERNAL_REDIRECT",
            "TRACKING_TEXT",
            "RICH_MEDIA_DISPLAY_BANNER",
            "RICH_MEDIA_INPAGE_FLOATING",
            "RICH_MEDIA_IM_EXPAND",
            "RICH_MEDIA_DISPLAY_EXPANDING",
            "RICH_MEDIA_DISPLAY_INTERSTITIAL",
            "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
            "RICH_MEDIA_MOBILE_IN_APP",
            "FLASH_INPAGE",
            "INSTREAM_VIDEO",
            "VPAID_LINEAR_VIDEO",
            "VPAID_NON_LINEAR_VIDEO",
            "INSTREAM_VIDEO_REDIRECT",
            "RICH_MEDIA_PEEL_DOWN",
            "HTML5_BANNER",
            "DISPLAY",
            "DISPLAY_IMAGE_GALLERY",
            "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
            "INSTREAM_AUDIO"
          ]
        },
        "creativeAssets": {
          "description": "Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT",
          "type": "array",
          "items": {
            "$ref": "CreativeAsset"
          }
        },
        "redirectUrl": {
          "description": "URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT",
          "type": "string"
        },
        "htmlCode": {
          "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is true. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.",
          "type": "string"
        },
        "htmlCodeLocked": {
          "description": "Whether HTML code is generated by Campaign Manager or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.",
          "type": "boolean"
        },
        "backgroundColor": {
          "description": "The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.",
          "type": "string"
        },
        "allowScriptAccess": {
          "description": "Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.",
          "type": "boolean"
        },
        "fsCommand": {
          "description": "OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.",
          "$ref": "FsCommand"
        },
        "backupImageTargetWindow": {
          "description": "Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "$ref": "TargetWindow"
        },
        "clickTags": {
          "description": "Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "array",
          "items": {
            "$ref": "ClickTag"
          }
        },
        "backupImageFeatures": {
          "description": "List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by Campaign Manager for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "POST_MESSAGE always required due to html5 implementation.",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "CSS_FONT_FACE",
              "CSS_BACKGROUND_SIZE",
              "CSS_BORDER_IMAGE",
              "CSS_BORDER_RADIUS",
              "CSS_BOX_SHADOW",
              "CSS_FLEX_BOX",
              "CSS_HSLA",
              "CSS_MULTIPLE_BGS",
              "CSS_OPACITY",
              "CSS_RGBA",
              "CSS_TEXT_SHADOW",
              "CSS_ANIMATIONS",
              "CSS_COLUMNS",
              "CSS_GENERATED_CONTENT",
              "CSS_GRADIENTS",
              "CSS_REFLECTIONS",
              "CSS_TRANSFORMS",
              "CSS_TRANSFORMS3D",
              "CSS_TRANSITIONS",
              "APPLICATION_CACHE",
              "CANVAS",
              "CANVAS_TEXT",
              "DRAG_AND_DROP",
              "HASH_CHANGE",
              "HISTORY",
              "AUDIO",
              "VIDEO",
              "INDEXED_DB",
              "INPUT_ATTR_AUTOCOMPLETE",
              "INPUT_ATTR_AUTOFOCUS",
              "INPUT_ATTR_LIST",
              "INPUT_ATTR_PLACEHOLDER",
              "INPUT_ATTR_MAX",
              "INPUT_ATTR_MIN",
              "INPUT_ATTR_MULTIPLE",
              "INPUT_ATTR_PATTERN",
              "INPUT_ATTR_REQUIRED",
              "INPUT_ATTR_STEP",
              "INPUT_TYPE_SEARCH",
              "INPUT_TYPE_TEL",
              "INPUT_TYPE_URL",
              "INPUT_TYPE_EMAIL",
              "INPUT_TYPE_DATETIME",
              "INPUT_TYPE_DATE",
              "INPUT_TYPE_MONTH",
              "INPUT_TYPE_WEEK",
              "INPUT_TYPE_TIME",
              "INPUT_TYPE_DATETIME_LOCAL",
              "INPUT_TYPE_NUMBER",
              "INPUT_TYPE_RANGE",
              "INPUT_TYPE_COLOR",
              "LOCAL_STORAGE",
              "POST_MESSAGE",
              "SESSION_STORAGE",
              "WEB_SOCKETS",
              "WEB_SQL_DATABASE",
              "WEB_WORKERS",
              "GEO_LOCATION",
              "INLINE_SVG",
              "SMIL",
              "SVG_HREF",
              "SVG_CLIP_PATHS",
              "TOUCH",
              "WEBGL",
              "SVG_FILTERS",
              "SVG_FE_IMAGE"
            ]
          }
        },
        "authoringTool": {
          "description": "Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "NINJA",
            "SWIFFY"
          ]
        },
        "requiredFlashPluginVersion": {
          "description": "The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string"
        },
        "adTagKeys": {
          "description": "Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customKeyValues": {
          "description": "Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "counterCustomEvents": {
          "description": "List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "exitCustomEvents": {
          "description": "List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "timerCustomEvents": {
          "description": "List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.",
          "type": "array",
          "items": {
            "$ref": "CreativeCustomEvent"
          }
        },
        "artworkType": {
          "description": "Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "enumDescriptions": [
            "The creative is a Flash creative.",
            "The creative is HTML5.",
            "The creative is HTML5 if available, Flash otherwise.",
            "The creative is Image."
          ],
          "enum": [
            "ARTWORK_TYPE_FLASH",
            "ARTWORK_TYPE_HTML5",
            "ARTWORK_TYPE_MIXED",
            "ARTWORK_TYPE_IMAGE"
          ]
        },
        "requiredFlashVersion": {
          "description": "The internal Flash version for this creative as calculated by Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "integer",
          "format": "int32"
        },
        "thirdPartyBackupImageImpressionsUrl": {
          "description": "Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string"
        },
        "thirdPartyRichMediaImpressionsUrl": {
          "description": "Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string"
        },
        "totalFileSize": {
          "description": "Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "format": "int64"
        },
        "mediaDuration": {
          "description": "Creative audio or video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.",
          "type": "number",
          "format": "float"
        },
        "commercialId": {
          "description": "Industry standard ID assigned to creative for reach and frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.",
          "type": "string"
        },
        "companionCreatives": {
          "description": "List of companion creatives assigned to an in-Stream video creative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with dynamicAssetSelection set to false.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "mediaDescription": {
          "description": "Description of the audio or video ad. Applicable to the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and all VPAID.",
          "type": "string"
        },
        "skippable": {
          "description": "Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.",
          "type": "boolean"
        },
        "thirdPartyUrls": {
          "description": "Third-party URLs for tracking in-stream creative events. Applicable to the following creative types: all INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.",
          "type": "array",
          "items": {
            "$ref": "ThirdPartyTrackingUrl"
          }
        },
        "adParameters": {
          "description": "Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.",
          "type": "string"
        },
        "overrideCss": {
          "description": "Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string"
        },
        "studioCreativeId": {
          "description": "Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "format": "int64"
        },
        "studioTraffickedCreativeId": {
          "description": "Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "format": "int64"
        },
        "latestTraffickedCreativeId": {
          "description": "Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "format": "int64"
        },
        "studioAdvertiserId": {
          "description": "Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.",
          "type": "string",
          "format": "int64"
        },
        "autoAdvanceImages": {
          "description": "Whether images are automatically advanced for image gallery creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.",
          "type": "boolean"
        },
        "backupImageReportingLabel": {
          "description": "Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "string"
        },
        "convertFlashToHtml5": {
          "description": "Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "boolean"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.",
          "$ref": "DimensionValue"
        },
        "renderingIdDimensionValue": {
          "description": "Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.",
          "$ref": "DimensionValue"
        },
        "sslOverride": {
          "description": "Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.",
          "type": "boolean"
        },
        "skipOffset": {
          "description": "Amount of time to play the video before the skip button appears. Applicable to the following creative types: all INSTREAM_VIDEO.",
          "$ref": "VideoOffset"
        },
        "progressOffset": {
          "description": "Amount of time to play the video before counting a view. Applicable to the following creative types: all INSTREAM_VIDEO.",
          "$ref": "VideoOffset"
        },
        "obaIcon": {
          "description": "Online behavioral advertising icon to be added to the creative. Applicable to the following creative types: all INSTREAM_VIDEO.",
          "$ref": "ObaIcon"
        },
        "authoringSource": {
          "description": "Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.",
          "type": "string",
          "enumDescriptions": [
            "DCM-UI or external API used to author the creative.",
            "DBM-UI used to author the creative.",
            "Studio-UI used to author the creative.",
            "Google Web Designer used to author the creative.",
            "ACS-UI used to author the creative.",
            "Creative authoring source is Adobe.",
            "Creative authoring source is Typeface.ai.",
            "Creative authoring source is Rembrand.",
            "Creative authoring source is Trackto.",
            "Creative authoring source is Bornlogic."
          ],
          "enum": [
            "CREATIVE_AUTHORING_SOURCE_DCM",
            "CREATIVE_AUTHORING_SOURCE_DBM",
            "CREATIVE_AUTHORING_SOURCE_STUDIO",
            "CREATIVE_AUTHORING_SOURCE_GWD",
            "CREATIVE_AUTHORING_SOURCE_ACS",
            "CREATIVE_AUTHORING_SOURCE_ADOBE",
            "CREATIVE_AUTHORING_SOURCE_TYPEFACE_AI",
            "CREATIVE_AUTHORING_SOURCE_REMBRAND",
            "CREATIVE_AUTHORING_SOURCE_TRACKTO_STUDIO",
            "CREATIVE_AUTHORING_SOURCE_BORNLOGIC"
          ]
        },
        "dynamicAssetSelection": {
          "description": "Set this to true to enable the use of rules to target individual assets in this creative. When set to true creativeAssetSelection must be set. This also controls asset-level companions. When this is true, companion creatives should be assigned to creative assets. Learn more. Applicable to INSTREAM_VIDEO creatives.",
          "type": "boolean"
        },
        "creativeAssetSelection": {
          "description": "Required if dynamicAssetSelection is true.",
          "$ref": "CreativeAssetSelection"
        },
        "universalAdId": {
          "description": "A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO and VPAID.",
          "$ref": "UniversalAdId"
        },
        "backupImageClickThroughUrl": {
          "description": "Click-through URL for backup image. Applicable to ENHANCED_BANNER when the primary asset type is not HTML_IMAGE.",
          "$ref": "CreativeClickThroughUrl"
        },
        "additionalSizes": {
          "description": "Additional sizes associated with a responsive creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. Applicable to DISPLAY creatives when the primary asset type is HTML_IMAGE.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        }
      }
    },
    "CreativeFieldAssignment": {
      "id": "CreativeFieldAssignment",
      "description": "Creative Field Assignment.",
      "type": "object",
      "properties": {
        "creativeFieldId": {
          "description": "ID of the creative field.",
          "type": "string",
          "format": "int64"
        },
        "creativeFieldValueId": {
          "description": "ID of the creative field value.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "CreativeAsset": {
      "id": "CreativeAsset",
      "description": "Creative Asset.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.",
          "type": "string",
          "format": "int64"
        },
        "assetIdentifier": {
          "description": "Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.",
          "$ref": "CreativeAssetId"
        },
        "sslCompliant": {
          "description": "Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.",
          "type": "boolean"
        },
        "size": {
          "description": "Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "$ref": "Size"
        },
        "fileSize": {
          "description": "File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.",
          "type": "string",
          "format": "int64"
        },
        "flashVersion": {
          "description": "Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "integer",
          "format": "int32"
        },
        "actionScript3": {
          "description": "Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "boolean"
        },
        "zipFilename": {
          "description": "File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.",
          "type": "string"
        },
        "zipFilesize": {
          "description": "Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.",
          "type": "string"
        },
        "detectedFeatures": {
          "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "POST_MESSAGE always required due to html5 implementation.",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "CSS_FONT_FACE",
              "CSS_BACKGROUND_SIZE",
              "CSS_BORDER_IMAGE",
              "CSS_BORDER_RADIUS",
              "CSS_BOX_SHADOW",
              "CSS_FLEX_BOX",
              "CSS_HSLA",
              "CSS_MULTIPLE_BGS",
              "CSS_OPACITY",
              "CSS_RGBA",
              "CSS_TEXT_SHADOW",
              "CSS_ANIMATIONS",
              "CSS_COLUMNS",
              "CSS_GENERATED_CONTENT",
              "CSS_GRADIENTS",
              "CSS_REFLECTIONS",
              "CSS_TRANSFORMS",
              "CSS_TRANSFORMS3D",
              "CSS_TRANSITIONS",
              "APPLICATION_CACHE",
              "CANVAS",
              "CANVAS_TEXT",
              "DRAG_AND_DROP",
              "HASH_CHANGE",
              "HISTORY",
              "AUDIO",
              "VIDEO",
              "INDEXED_DB",
              "INPUT_ATTR_AUTOCOMPLETE",
              "INPUT_ATTR_AUTOFOCUS",
              "INPUT_ATTR_LIST",
              "INPUT_ATTR_PLACEHOLDER",
              "INPUT_ATTR_MAX",
              "INPUT_ATTR_MIN",
              "INPUT_ATTR_MULTIPLE",
              "INPUT_ATTR_PATTERN",
              "INPUT_ATTR_REQUIRED",
              "INPUT_ATTR_STEP",
              "INPUT_TYPE_SEARCH",
              "INPUT_TYPE_TEL",
              "INPUT_TYPE_URL",
              "INPUT_TYPE_EMAIL",
              "INPUT_TYPE_DATETIME",
              "INPUT_TYPE_DATE",
              "INPUT_TYPE_MONTH",
              "INPUT_TYPE_WEEK",
              "INPUT_TYPE_TIME",
              "INPUT_TYPE_DATETIME_LOCAL",
              "INPUT_TYPE_NUMBER",
              "INPUT_TYPE_RANGE",
              "INPUT_TYPE_COLOR",
              "LOCAL_STORAGE",
              "POST_MESSAGE",
              "SESSION_STORAGE",
              "WEB_SOCKETS",
              "WEB_SQL_DATABASE",
              "WEB_WORKERS",
              "GEO_LOCATION",
              "INLINE_SVG",
              "SMIL",
              "SVG_HREF",
              "SVG_CLIP_PATHS",
              "TOUCH",
              "WEBGL",
              "SVG_FILTERS",
              "SVG_FE_IMAGE"
            ]
          }
        },
        "displayType": {
          "description": "Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "Asset exists in a box and stays within the box.",
            "Asset exists at a self described location on the page.",
            "Special display type for IM clients.",
            "Asset changes size.",
            "Not applicable for HTML5.",
            "Not applicable for HTML5.",
            "Asset sits on the top right and expands.",
            "VPAID linear asset.",
            "VPAID non linear asset.",
            "Backdrop (skin) asset."
          ],
          "enum": [
            "ASSET_DISPLAY_TYPE_INPAGE",
            "ASSET_DISPLAY_TYPE_FLOATING",
            "ASSET_DISPLAY_TYPE_OVERLAY",
            "ASSET_DISPLAY_TYPE_EXPANDING",
            "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH",
            "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING",
            "ASSET_DISPLAY_TYPE_PEEL_DOWN",
            "ASSET_DISPLAY_TYPE_VPAID_LINEAR",
            "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR",
            "ASSET_DISPLAY_TYPE_BACKDROP"
          ]
        },
        "artworkType": {
          "description": "Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "The creative is a Flash creative.",
            "The creative is HTML5.",
            "The creative is HTML5 if available, Flash otherwise.",
            "The creative is Image."
          ],
          "enum": [
            "ARTWORK_TYPE_FLASH",
            "ARTWORK_TYPE_HTML5",
            "ARTWORK_TYPE_MIXED",
            "ARTWORK_TYPE_IMAGE"
          ]
        },
        "collapsedSize": {
          "description": "Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.",
          "$ref": "Size"
        },
        "offset": {
          "description": "Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.",
          "$ref": "OffsetPosition"
        },
        "zIndex": {
          "description": "zIndex value of an asset. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable values are -999999999 to 999999999, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "windowMode": {
          "description": "Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.",
          "type": "string",
          "enumDescriptions": [
            "Allows overlapping of Html and SWF content.",
            "Default",
            "Used for non-square borders. Allows overlapping of Html and SWF content."
          ],
          "enum": [
            "OPAQUE",
            "WINDOW",
            "TRANSPARENT"
          ]
        },
        "transparency": {
          "description": "Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.",
          "type": "boolean"
        },
        "pushdown": {
          "description": "Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.",
          "type": "boolean"
        },
        "pushdownDuration": {
          "description": "Pushdown duration in seconds for an asset. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height. Acceptable values are 0 to 9.99, inclusive.",
          "type": "number",
          "format": "float"
        },
        "position": {
          "description": "Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.",
          "$ref": "OffsetPosition"
        },
        "positionTopUnit": {
          "description": "Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "Pixels on a screen.",
            "Percent offset for center asset (rather than top and left).",
            "Pixel offset for center of asset from center of browser window."
          ],
          "enum": [
            "OFFSET_UNIT_PIXEL",
            "OFFSET_UNIT_PERCENT",
            "OFFSET_UNIT_PIXEL_FROM_CENTER"
          ]
        },
        "positionLeftUnit": {
          "description": "Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "Pixels on a screen.",
            "Percent offset for center asset (rather than top and left).",
            "Pixel offset for center of asset from center of browser window."
          ],
          "enum": [
            "OFFSET_UNIT_PIXEL",
            "OFFSET_UNIT_PERCENT",
            "OFFSET_UNIT_PIXEL_FROM_CENTER"
          ]
        },
        "verticallyLocked": {
          "description": "Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "boolean"
        },
        "horizontallyLocked": {
          "description": "Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "boolean"
        },
        "startTimeType": {
          "description": "Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "Asset is not automatically displayed.",
            "Asset is automatically displayed after a fixed period of time."
          ],
          "enum": [
            "ASSET_START_TIME_TYPE_NONE",
            "ASSET_START_TIME_TYPE_CUSTOM"
          ]
        },
        "customStartTimeValue": {
          "description": "Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA. Value must be greater than or equal to 0.",
          "type": "integer",
          "format": "int32"
        },
        "durationType": {
          "description": "Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "string",
          "enumDescriptions": [
            "Asset is displayed for the single run of the time line.",
            "Asset is displayed indefinitely and it loops on the timeline.",
            "User entered duration value in seconds."
          ],
          "enum": [
            "ASSET_DURATION_TYPE_AUTO",
            "ASSET_DURATION_TYPE_NONE",
            "ASSET_DURATION_TYPE_CUSTOM"
          ]
        },
        "duration": {
          "description": "Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1.",
          "type": "integer",
          "format": "int32"
        },
        "hideFlashObjects": {
          "description": "Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "boolean"
        },
        "hideSelectionBoxes": {
          "description": "Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "boolean"
        },
        "alignment": {
          "description": "Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "ALIGNMENT_TOP",
            "ALIGNMENT_RIGHT",
            "ALIGNMENT_BOTTOM",
            "ALIGNMENT_LEFT"
          ]
        },
        "childAssetType": {
          "description": "Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.",
          "type": "string",
          "enumDescriptions": [
            "swf files",
            "flv and any other video files types",
            "image files",
            "rest of the supported file types .txt, .xml etc."
          ],
          "enum": [
            "CHILD_ASSET_TYPE_FLASH",
            "CHILD_ASSET_TYPE_VIDEO",
            "CHILD_ASSET_TYPE_IMAGE",
            "CHILD_ASSET_TYPE_DATA"
          ]
        },
        "originalBackup": {
          "description": "Whether the backup asset is original or changed by the user in Campaign Manager. Applicable to the following creative types: all RICH_MEDIA.",
          "type": "boolean"
        },
        "bitRate": {
          "description": "Detected bit-rate for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "integer",
          "format": "int32"
        },
        "mimeType": {
          "description": "Detected MIME type for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "string"
        },
        "active": {
          "description": "Whether the video or audio asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "boolean"
        },
        "progressiveServingUrl": {
          "description": "Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.",
          "type": "string"
        },
        "streamingServingUrl": {
          "description": "Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.",
          "type": "string"
        },
        "mediaDuration": {
          "description": "Detected duration for audio or video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "number",
          "format": "float"
        },
        "expandedDimension": {
          "description": "Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.",
          "$ref": "Size"
        },
        "role": {
          "description": "Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives. BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. OTHER refers to assets from sources other than Campaign Manager, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign Manager representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to audios uploaded by the user in Campaign Manager and is applicable to INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives. ",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PRIMARY",
            "BACKUP_IMAGE",
            "ADDITIONAL_IMAGE",
            "ADDITIONAL_FLASH",
            "PARENT_VIDEO",
            "TRANSCODED_VIDEO",
            "OTHER",
            "ALTERNATE_VIDEO",
            "PARENT_AUDIO",
            "TRANSCODED_AUDIO"
          ]
        },
        "backupImageExit": {
          "description": "Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.",
          "$ref": "CreativeCustomEvent"
        },
        "companionCreativeIds": {
          "description": "List of companion creatives assigned to an in-stream video creative asset. Acceptable values include IDs of existing flash and image creatives. Applicable to INSTREAM_VIDEO creative type with dynamicAssetSelection set to true.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of the asset. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "orientation": {
          "description": "Orientation of video asset. This is a read-only, auto-generated field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "LANDSCAPE",
            "PORTRAIT",
            "SQUARE"
          ]
        },
        "additionalSizes": {
          "description": "Additional sizes associated with this creative asset. HTML5 asset generated by compatible software such as GWD will be able to support more sizes this creative asset can render.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        },
        "audioBitRate": {
          "description": "Audio stream bit rate in kbps. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "integer",
          "format": "int32"
        },
        "audioSampleRate": {
          "description": "Audio sample bit rate in hertz. This is a read-only field. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.",
          "type": "integer",
          "format": "int32"
        },
        "frameRate": {
          "description": "Video frame rate for video asset in frames per second. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.",
          "type": "number",
          "format": "float"
        },
        "politeLoad": {
          "description": "Whether this asset is used as a polite load asset.",
          "type": "boolean"
        }
      }
    },
    "FsCommand": {
      "id": "FsCommand",
      "description": "FsCommand.",
      "type": "object",
      "properties": {
        "positionOption": {
          "description": "Position in the browser where the window will open.",
          "type": "string",
          "enumDescriptions": [
            "Center of the window Corresponds to \"center\" in UI",
            "user-defined distance from top left-hand corner of the window Corresponds to \"top-left\" in UI"
          ],
          "enum": [
            "CENTERED",
            "DISTANCE_FROM_TOP_LEFT_CORNER"
          ]
        },
        "top": {
          "description": "Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.",
          "type": "integer",
          "format": "int32"
        },
        "left": {
          "description": "Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.",
          "type": "integer",
          "format": "int32"
        },
        "windowWidth": {
          "description": "Width of the window.",
          "type": "integer",
          "format": "int32"
        },
        "windowHeight": {
          "description": "Height of the window.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "TargetWindow": {
      "id": "TargetWindow",
      "description": "Target Window.",
      "type": "object",
      "properties": {
        "targetWindowOption": {
          "description": "Type of browser window for which the backup image of the flash creative can be displayed.",
          "type": "string",
          "enumDescriptions": [
            "Open up a new window to display the backup image Corresponds to \"_blank\" in html",
            "Use the current window to display the backup image Corresponds to \"_top\" in html",
            "User-defined HTML used to display the backup image Corresponds to \"other\""
          ],
          "enum": [
            "NEW_WINDOW",
            "CURRENT_WINDOW",
            "CUSTOM"
          ]
        },
        "customHtml": {
          "description": "User-entered value.",
          "type": "string"
        }
      }
    },
    "ThirdPartyTrackingUrl": {
      "id": "ThirdPartyTrackingUrl",
      "description": "Third-party Tracking URL.",
      "type": "object",
      "properties": {
        "thirdPartyUrlType": {
          "description": "Third-party URL type for in-stream video and in-stream audio creatives.",
          "type": "string",
          "enumDescriptions": [
            "Used to count impressions of the ad after video buffering is complete.",
            "Used to track user clicks on the video.",
            "Used to track the number of times a user starts a video.",
            "Used to track the number of times the video plays to 25% of its length.",
            "Used to track the number of times the video plays to 50% of its length.",
            "Used to track the number of times the video plays to 75% of its length.",
            "Used to track the number of times the video plays to the end.",
            "Used to track the number of times a user mutes the video.",
            "Used to track the number of times a user pauses the video.",
            "Used to track the number of times a user replays the video.",
            "Used to track the number of times a user expands the video to full-screen size.",
            "Used to track the number of times a user stops the video.",
            "Used to track the number of times a user performs a custom click, such as clicking on a video hot spot.",
            "Used for DFA6 compatibility, this is deprecating in favor of event tags.",
            "Used by Studio RichMediaCreative, maps to its thirdPartyImpressionsUrl",
            "Used by Studio RichMediaCreative, maps to its thirdPartyRichMediaImpressionsUrl",
            "Used by Studio RichMediaCreative, maps to its thirdPartyBackupImageImpressionsUrl",
            "Used to track the number of times the video was skipped.",
            "Used to track the number of times the video plays to an offset determined by the user."
          ],
          "enum": [
            "IMPRESSION",
            "CLICK_TRACKING",
            "VIDEO_START",
            "VIDEO_FIRST_QUARTILE",
            "VIDEO_MIDPOINT",
            "VIDEO_THIRD_QUARTILE",
            "VIDEO_COMPLETE",
            "VIDEO_MUTE",
            "VIDEO_PAUSE",
            "VIDEO_REWIND",
            "VIDEO_FULLSCREEN",
            "VIDEO_STOP",
            "VIDEO_CUSTOM",
            "SURVEY",
            "RICH_MEDIA_IMPRESSION",
            "RICH_MEDIA_RM_IMPRESSION",
            "RICH_MEDIA_BACKUP_IMPRESSION",
            "VIDEO_SKIP",
            "VIDEO_PROGRESS"
          ]
        },
        "url": {
          "description": "URL for the specified third-party URL type.",
          "type": "string"
        }
      }
    },
    "VideoOffset": {
      "id": "VideoOffset",
      "description": "Video Offset",
      "type": "object",
      "properties": {
        "offsetSeconds": {
          "description": "Duration, in seconds. Do not set when offsetPercentage is set. Acceptable values are 0 to 86399, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "offsetPercentage": {
          "description": "Duration, as a percentage of video duration. Do not set when offsetSeconds is set. Acceptable values are 0 to 100, inclusive.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "ObaIcon": {
      "id": "ObaIcon",
      "description": "Online Behavioral Advertiser icon.",
      "type": "object",
      "properties": {
        "resourceUrl": {
          "description": "OBA icon resource URL. Campaign Manager only supports image and JavaScript icons. Learn more",
          "type": "string"
        },
        "xPosition": {
          "description": "OBA icon x coordinate position. Accepted values are left or right.",
          "type": "string"
        },
        "yPosition": {
          "description": "OBA icon y coordinate position. Accepted values are top or bottom.",
          "type": "string"
        },
        "size": {
          "description": "OBA icon size.",
          "$ref": "Size"
        },
        "program": {
          "description": "Identifies the industry initiative that the icon supports. For example, AdChoices.",
          "type": "string"
        },
        "iconClickThroughUrl": {
          "description": "URL to redirect to when an OBA icon is clicked.",
          "type": "string"
        },
        "iconClickTrackingUrl": {
          "description": "URL to track click when an OBA icon is clicked.",
          "type": "string"
        },
        "iconViewTrackingUrl": {
          "description": "URL to track view when an OBA icon is clicked.",
          "type": "string"
        }
      }
    },
    "CreativeAssetSelection": {
      "id": "CreativeAssetSelection",
      "description": "Encapsulates the list of rules for asset selection and a default asset in case none of the rules match. Applicable to INSTREAM_VIDEO creatives.",
      "type": "object",
      "properties": {
        "rules": {
          "description": "Rules determine which asset will be served to a viewer. Rules will be evaluated in the order in which they are stored in this list. This list must contain at least one rule. Applicable to INSTREAM_VIDEO creatives.",
          "type": "array",
          "items": {
            "$ref": "Rule"
          }
        },
        "defaultAssetId": {
          "description": "A creativeAssets[].id. This should refer to one of the parent assets in this creative, and will be served if none of the rules match. This is a required field.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "Rule": {
      "id": "Rule",
      "description": "A rule associates an asset with a targeting template for asset-level targeting. Applicable to INSTREAM_VIDEO creatives.",
      "type": "object",
      "properties": {
        "name": {
          "description": "A user-friendly name for this rule. This is a required field.",
          "type": "string"
        },
        "assetId": {
          "description": "A creativeAssets[].id. This should refer to one of the parent assets in this creative. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "targetingTemplateId": {
          "description": "A targeting template ID. The targeting from the targeting template will be used to determine whether this asset should be served. This is a required field.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "UniversalAdId": {
      "id": "UniversalAdId",
      "description": "A Universal Ad ID as per the VAST 4.0 spec. Applicable to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and VPAID.",
      "type": "object",
      "properties": {
        "registry": {
          "description": "Registry used for the Ad ID value.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "OTHER",
            "AD_ID_OFFICIAL",
            "CLEARCAST",
            "DCM",
            "ARPP",
            "CUSV"
          ]
        },
        "value": {
          "description": "ID value for this creative. Only alphanumeric characters and the following symbols are valid: \"_/\\-\". Maximum length is 64 characters. Read only when registry is DCM.",
          "type": "string"
        }
      }
    },
    "CreativesListResponse": {
      "id": "CreativesListResponse",
      "description": "Creative List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "creatives": {
          "description": "Creative collection.",
          "type": "array",
          "items": {
            "$ref": "Creative"
          }
        }
      }
    },
    "DimensionValueRequest": {
      "id": "DimensionValueRequest",
      "description": "Represents a DimensionValuesRequest.",
      "type": "object",
      "properties": {
        "dimensionName": {
          "description": "The name of the dimension for which values should be requested.",
          "type": "string"
        },
        "filters": {
          "description": "The list of filters by which to filter values. The filters are ANDed.",
          "type": "array",
          "items": {
            "$ref": "DimensionFilter"
          }
        },
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "kind": {
          "description": "The kind of request this is, in this case dfareporting#dimensionValueRequest .",
          "type": "string"
        }
      }
    },
    "DimensionFilter": {
      "id": "DimensionFilter",
      "description": "Represents a dimension filter.",
      "type": "object",
      "properties": {
        "dimensionName": {
          "description": "The name of the dimension to filter.",
          "type": "string"
        },
        "value": {
          "description": "The value of the dimension to filter.",
          "type": "string"
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#dimensionFilter.",
          "type": "string"
        }
      }
    },
    "DimensionValueList": {
      "id": "DimensionValueList",
      "description": "Represents the list of DimensionValue resources.",
      "type": "object",
      "properties": {
        "items": {
          "description": "The dimension values returned in this response.",
          "type": "array",
          "items": {
            "$ref": "DimensionValue"
          }
        },
        "kind": {
          "description": "The kind of list this is, in this case dfareporting#dimensionValueList.",
          "type": "string"
        },
        "etag": {
          "description": "The eTag of this response for caching purposes.",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.",
          "type": "string"
        }
      }
    },
    "DirectorySite": {
      "id": "DirectorySite",
      "description": "DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this directory site. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this directory site.",
          "type": "string"
        },
        "url": {
          "description": "URL of this directory site.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySite\".",
          "type": "string"
        },
        "settings": {
          "description": "Directory site settings.",
          "$ref": "DirectorySiteSettings"
        },
        "inpageTagFormats": {
          "description": "Tag types for regular placements. Acceptable values are: - \"STANDARD\" - \"IFRAME_JAVASCRIPT_INPAGE\" - \"INTERNAL_REDIRECT_INPAGE\" - \"JAVASCRIPT_INPAGE\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "STANDARD",
              "IFRAME_JAVASCRIPT_INPAGE",
              "INTERNAL_REDIRECT_INPAGE",
              "JAVASCRIPT_INPAGE"
            ]
          }
        },
        "interstitialTagFormats": {
          "description": "Tag types for interstitial placements. Acceptable values are: - \"IFRAME_JAVASCRIPT_INTERSTITIAL\" - \"INTERNAL_REDIRECT_INTERSTITIAL\" - \"JAVASCRIPT_INTERSTITIAL\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              ""
            ],
            "enum": [
              "IFRAME_JAVASCRIPT_INTERSTITIAL",
              "INTERNAL_REDIRECT_INTERSTITIAL",
              "JAVASCRIPT_INTERSTITIAL"
            ]
          }
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this directory site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "publisherSpecificationId": {
          "description": "Output only. Default publisher specification ID of video placements under this directory site. Possible values are: * `1`, Hulu * `2`, NBC * `3`, CBS * `4`, CBS Desktop * `5`, Discovery * `6`, VEVO HD * `7`, VEVO Vertical * `8`, Fox * `9`, CW Network * `10`, Disney * `11`, IGN * `12`, NFL.com * `13`, Turner Broadcasting * `14`, Tubi on Fox * `15`, Hearst Corporation * `16`, Twitch Desktop * `17`, ABC * `18`, Univision * `19`, MLB.com * `20`, MLB.com Mobile * `21`, MLB.com OTT * `22`, Polsat * `23`, TVN * `24`, Mediaset * `25`, Antena 3 * `26`, Mediamond * `27`, Sky Italia * `28`, Tubi on CBS * `29`, Spotify * `30`, Paramount * `31`, Max",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      }
    },
    "DirectorySiteSettings": {
      "id": "DirectorySiteSettings",
      "description": "Directory Site Settings",
      "type": "object",
      "properties": {
        "interstitialPlacementAccepted": {
          "description": "Whether this site accepts interstitial ads.",
          "type": "boolean"
        },
        "instreamVideoPlacementAccepted": {
          "description": "Whether this site accepts in-stream video ads.",
          "type": "boolean"
        },
        "dfpSettings": {
          "description": "Directory site Ad Manager settings.",
          "$ref": "DfpSettings"
        },
        "activeViewOptOut": {
          "description": "Whether this directory site has disabled active view creatives.",
          "type": "boolean"
        }
      }
    },
    "DfpSettings": {
      "id": "DfpSettings",
      "description": "Google Ad Manager Settings",
      "type": "object",
      "properties": {
        "dfpNetworkCode": {
          "description": "Ad Manager network code for this directory site.",
          "type": "string"
        },
        "dfpNetworkName": {
          "description": "Ad Manager network name for this directory site.",
          "type": "string"
        },
        "pubPaidPlacementAccepted": {
          "description": "Whether this directory site accepts publisher-paid tags.",
          "type": "boolean"
        },
        "publisherPortalOnly": {
          "description": "Whether this directory site is available only via Publisher Portal.",
          "type": "boolean"
        },
        "programmaticPlacementAccepted": {
          "description": "Whether this directory site accepts programmatic placements.",
          "type": "boolean"
        }
      }
    },
    "DirectorySitesListResponse": {
      "id": "DirectorySitesListResponse",
      "description": "Directory Site List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySitesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "directorySites": {
          "description": "Directory site collection.",
          "type": "array",
          "items": {
            "$ref": "DirectorySite"
          }
        }
      }
    },
    "DynamicFeed": {
      "id": "DynamicFeed",
      "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information.",
      "type": "object",
      "properties": {
        "dynamicFeedId": {
          "description": "Output only. Unique ID of this dynamic feed. This is a read-only, auto-generated field.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "studioAdvertiserId": {
          "description": "Required. Advertiser ID of this dynamic feed. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "dynamicFeedName": {
          "description": "Optional. Name of this dynamic feed. It is defaulted to content source file name if not provided.",
          "type": "string"
        },
        "contentSource": {
          "description": "Required. The content source of the dynamic feed. This is a required field.",
          "$ref": "ContentSource"
        },
        "element": {
          "description": "Required. The element of the dynamic feed that is to specify the schema of the feed. This is a required field.",
          "$ref": "Element"
        },
        "hasPublished": {
          "description": "Output only. Indicates whether the dynamic feed has a published version. This is a read-only field.",
          "readOnly": true,
          "type": "boolean"
        },
        "status": {
          "description": "Output only. The status of the feed. It is a read-only field that depends on the the feed ingestion status. The default value is INACTIVE, and it will be updated to ACTIVE once the feed is ingested successfully.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The status is unknown.",
            "The feedstatus is active.",
            "The feed status is inactive.",
            "The feed status is deleted."
          ],
          "enum": [
            "STATUS_UNKNOWN",
            "ACTIVE",
            "INACTIVE",
            "DELETED"
          ]
        },
        "feedSchedule": {
          "description": "Optional. The schedule of the dynamic feed. It can be set if the feed is published.",
          "$ref": "FeedSchedule"
        },
        "feedIngestionStatus": {
          "description": "Output only. The ingestion status of the dynamic feed. This is a read-only field.",
          "readOnly": true,
          "$ref": "FeedIngestionStatus"
        },
        "createInfo": {
          "description": "Output only. The creation timestamp of the dynamic feed. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Output only. The last modified timestamp of the dynamic feed. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "ContentSource": {
      "id": "ContentSource",
      "description": "Contains the content source of the dynamic feed.",
      "type": "object",
      "properties": {
        "contentSourceName": {
          "description": "Optional. The name of the content source. It is defaulted to content source file name if not provided.",
          "type": "string"
        },
        "resourceLink": {
          "description": "Required. The link to the file of the content source.",
          "type": "string"
        },
        "resourceType": {
          "description": "Required. The resource type of the content source.",
          "type": "string",
          "enumDescriptions": [
            "The resource type is unspecified.",
            "The resource type is google spreadsheet.",
            "The resource type is remote file."
          ],
          "enum": [
            "RESOURCE_TYPE_UNSPECIFIED",
            "RESOURCE_TYPE_GOOGLE_SPREADSHEET",
            "RESOURCE_TYPE_REMOTE_FILE"
          ]
        },
        "metaData": {
          "description": "Output only. Metadata of the content source. It contains the number of rows and the column names from resource link. This is a read-only field.",
          "readOnly": true,
          "$ref": "ContentSourceMetaData"
        },
        "createInfo": {
          "description": "Output only. The creation timestamp of the content source. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Output only. The last modified timestamp of the content source. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "ContentSourceMetaData": {
      "id": "ContentSourceMetaData",
      "description": "Contains the meta data of the content source. This is a read-only field.",
      "type": "object",
      "properties": {
        "charset": {
          "description": "Output only. The charset of the content source.",
          "readOnly": true,
          "type": "string"
        },
        "separator": {
          "description": "Output only. The separator of the content source.",
          "readOnly": true,
          "type": "string"
        },
        "fieldNames": {
          "description": "Output only. The list of column names in the content source.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "rowNumber": {
          "description": "Output only. The number of rows in the content source.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "Element": {
      "id": "Element",
      "description": "Contains the element of the dynamic feed.",
      "type": "object",
      "properties": {
        "elementName": {
          "description": "Optional. The name of the element. It is defaulted to resource file name if not provided.",
          "type": "string"
        },
        "feedFields": {
          "description": "Required. The list of fields of the element. The field order and name should match the meta data in the content source source.",
          "type": "array",
          "items": {
            "$ref": "FeedField"
          }
        },
        "externalIdFieldId": {
          "description": "Required. The field ID to specify the field used for uniquely identifying the feed row. This is a required field.",
          "type": "integer",
          "format": "int32"
        },
        "reportingLabelFieldId": {
          "description": "Required. The field ID to specify the field used for dynamic reporting in Campaign Manager 360.",
          "type": "integer",
          "format": "int32"
        },
        "defaultFieldId": {
          "description": "Optional. The field ID to specify the field that represents the default field in the feed.",
          "type": "integer",
          "format": "int32"
        },
        "startTimestampFieldId": {
          "description": "Optional. The field ID to specify the field that represents the start timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.",
          "type": "integer",
          "format": "int32"
        },
        "endTimestampFieldId": {
          "description": "Optional. The field ID to specify the field that represents the end timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.",
          "type": "integer",
          "format": "int32"
        },
        "isLocalTimestamp": {
          "description": "Optional. Whether the start and end timestamp is local timestamp. The default value is false which means start and end timestamp is in UTC.",
          "type": "boolean"
        },
        "proximityTargetingFieldId": {
          "description": "Optional. The field ID that specify field used for proximity targeting.",
          "type": "integer",
          "format": "int32"
        },
        "activeFieldId": {
          "description": "Optional. The field ID to specify the active field in the feed.",
          "type": "integer",
          "format": "int32"
        },
        "createInfo": {
          "description": "Output only. The creation timestamp of the element. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Output only. The last modified timestamp of the element. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "FeedField": {
      "id": "FeedField",
      "description": "Each field of the element. This is a required field.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Required. The ID of the field. The ID is based on the column index starting from 0, and it should match the column index in the resource link.",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "Required. The name of the field.",
          "type": "string"
        },
        "type": {
          "description": "Required. The type of the field.",
          "type": "string",
          "enumDescriptions": [
            "The type is unspecified. This is an unused value.",
            "The field type is text.",
            "The field type is whole number.",
            "The field type is image url",
            "The field type is asset url.",
            "The field type is the ISO 3166-2 alpha-2 codes. It is two-letter country codes defined in ISO 3166-1 published by the International Organization for Standardization.",
            "The field type is decimal.",
            "The field type is custom CM360 ad tag parameter.",
            "The field type is CM360 site ID.",
            "The field type is boolean.",
            "The field type is exit url.",
            "The field type is datetime.",
            "The field type is CM360 creative ID.",
            "The field type is CM360 placement ID.",
            "The field type is CM360 ad ID.",
            "The field type is CM360 advertiser ID.",
            "The field type is CM360 campaign ID.",
            "The field type is cities.",
            "The field type is region.",
            "The field type is postal code.",
            "The field type is metro code.",
            "The field type is custom value.",
            "The field type is remarketing value.",
            "The field type is accurate geographic type.",
            "The field type is weight.",
            "The field type is a list of values.",
            "The field type is creative dimension.",
            "The field type is CM/DV360 Audience ID.",
            "The field type is AssetLibrary directory path.",
            "The field type is AssetLibrary video file path.",
            "The field type is AssetLibrary path.",
            "The field type is third party served url.",
            "The field type is CM dynamic targeting key.",
            "The field type is DV360 line item ID."
          ],
          "enum": [
            "TYPE_UNKNOWN",
            "STRING",
            "LONG",
            "GPA_SERVED_IMAGE_URL",
            "GPA_SERVED_ASSET_URL",
            "COUNTRY_CODE_ISO",
            "FLOAT",
            "CM360_KEYWORD",
            "CM360_SITE_ID",
            "BOOL",
            "EXIT_URL",
            "DATETIME",
            "CM360_CREATIVE_ID",
            "CM360_PLACEMENT_ID",
            "CM360_AD_ID",
            "CM360_ADVERTISER_ID",
            "CM360_CAMPAIGN_ID",
            "CITY",
            "REGION",
            "POSTAL_CODE",
            "METRO",
            "CUSTOM_VALUE",
            "REMARKETING_VALUE",
            "GEO_CANONICAL",
            "WEIGHT",
            "STRING_LIST",
            "CREATIVE_DIMENSION",
            "USERLIST_ID",
            "ASSET_LIBRARY_DIRECTORY_HANDLE",
            "ASSET_LIBRARY_VIDEO_HANDLE",
            "ASSET_LIBRARY_HANDLE",
            "THIRD_PARTY_SERVED_URL",
            "CM360_DYNAMIC_TARGETING_KEY",
            "DV360_LINE_ITEM_ID"
          ]
        },
        "defaultValue": {
          "description": "Optional. The default value of the field.",
          "type": "string"
        },
        "filterable": {
          "description": "Optional. Whether the field is filterable. Could be set as true when the field type is any of the following and is not renderable: - STRING - BOOL - COUNTRY_CODE_ISO - CM360_SITE_ID - CM360_KEYWORD - CM360_CREATIVE_ID - CM360_PLACEMENT_ID - CM360_AD_ID - CM360_ADVERTISER_ID - CM360_CAMPAIGN_ID - CITY - REGION - POSTAL_CODE - METRO - CUSTOM_VALUE - REMARKETING_VALUE - GEO_CANONICAL - STRING_LIST - CREATIVE_DIMENSION - USERLIST_ID - CM360_DYNAMIC_TARGETING_KEY - DV360_LINE_ITEM_ID ",
          "type": "boolean"
        },
        "required": {
          "description": "Optional. Whether the field is required and should not be empty in the feed. Could be set as true when the field type is any of the following: - GPA_SERVED_IMAGE_URL - GPA_SERVED_ASSET_URL - ASSET_LIBRARY_HANDLE - ASSET_LIBRARY_VIDEO_HANDLE - ASSET_LIBRARY_DIRECTORY_HANDLE ",
          "type": "boolean"
        },
        "renderable": {
          "description": "Optional. Whether the field is able to display. Could be set as true when the field type is not in any of the following and the field is not filterable: - COUNTRY_CODE_ISO - CITY - REGION - POSTAL_CODE - METRO - GEO_CANONICAL - USERLIST_ID - CONTEXTUAL_KEYWORD - CM360_DYNAMIC_TARGETING_KEY - WEIGHT ",
          "type": "boolean"
        }
      }
    },
    "FeedSchedule": {
      "id": "FeedSchedule",
      "description": "Contains the schedule of the dynamic feed.",
      "type": "object",
      "properties": {
        "scheduleEnabled": {
          "description": "Optional. Whether the schedule is enabled.",
          "type": "boolean"
        },
        "repeatValue": {
          "description": "Optional. The number of times the feed retransforms within one day. This is a required field if the schedule is enabled. Acceptable values are between 1 to 6, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "startHour": {
          "description": "Optional. The hour of the day to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.",
          "type": "string"
        },
        "startMinute": {
          "description": "Optional. The minute of the hour to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.",
          "type": "string"
        },
        "timeZone": {
          "description": "Optional. The time zone to schedule the feed. It is applicable if the repeat value is equal to 1. Default value is \"America/Los_Angeles\".",
          "type": "string"
        }
      }
    },
    "FeedIngestionStatus": {
      "id": "FeedIngestionStatus",
      "description": "Contains the ingestion status of the dynamic feed. Feed ingestion is an asynchronous process. If the feed create request is successful, feed ingestion will be processed in the background, including validation, assets retrieval, and saving the data from the resource link. The processing time is dependent on the data size in the resource link. This read-only status field contains the current stage of that processing and its ingestion state.",
      "type": "object",
      "properties": {
        "state": {
          "description": "Output only. The processing state of the feed.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The feed processing state is unknown.",
            "The feed processing state is cancelled.",
            "The feed processing state is ingesting queued.",
            "The feed processing state is ingesting.",
            "The feed processing state is ingested successfully.",
            "The feed processing state is ingested with failure.",
            "The feed processing state is request to publish.",
            "The feed processing state is publishing.",
            "The feed processing state is published successfully.",
            "The feed processing state is published with failure."
          ],
          "enum": [
            "FEED_PROCESSING_STATE_UNKNOWN",
            "CANCELLED",
            "INGESTING_QUEUED",
            "INGESTING",
            "INGESTED_SUCCESS",
            "INGESTED_FAILURE",
            "REQUEST_TO_PUBLISH",
            "PUBLISHING",
            "PUBLISHED_SUCCESS",
            "PUBLISHED_FAILURE"
          ]
        },
        "ingestionStatus": {
          "description": "Output only. The ingestion status of the feed.",
          "readOnly": true,
          "$ref": "IngestionStatus"
        },
        "ingestionErrorRecords": {
          "description": "Output only. The ingestion error records of the feed.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "IngestionErrorRecord"
          }
        }
      }
    },
    "IngestionStatus": {
      "id": "IngestionStatus",
      "description": "Contains the ingestion status of the dynamic feed.",
      "type": "object",
      "properties": {
        "numRowsProcessed": {
          "description": "Output only. The number of rows processed in the feed.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "numRowsTotal": {
          "description": "Output only. The total number of rows in the feed.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "numRowsWithErrors": {
          "description": "Output only. The number of rows with errors in the feed.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "numWarningsTotal": {
          "description": "Output only. The total number of warnings in the feed.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "numActiveRows": {
          "description": "Output only. The number of active rows in the feed.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      }
    },
    "IngestionErrorRecord": {
      "id": "IngestionErrorRecord",
      "description": "Contains the ingestion error record of the dynamic feed. limited to 100 records.",
      "type": "object",
      "properties": {
        "recordId": {
          "description": "Output only. The record ID of the ingestion error record.",
          "readOnly": true,
          "type": "string"
        },
        "errors": {
          "description": "Output only. The list of field errors of the ingestion error record.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "FieldError"
          }
        }
      }
    },
    "FieldError": {
      "id": "FieldError",
      "description": "Contains the field error of the dynamic feed.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Output only. The ID of the field.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "fieldName": {
          "description": "Output only. The name of the field.",
          "readOnly": true,
          "type": "string"
        },
        "fieldValues": {
          "description": "Output only. The list of values of the field.",
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ingestionError": {
          "description": "Output only. The ingestion error of the field.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The ingestion error is unknown.",
            "The ingestion error when the ID value is missing.",
            "The ingestion error when the element value name used for reporting is missing.",
            "The ingestion error when a required value is empty",
            "The ingestion error when asset retrieval fails for a particular image or asset.",
            "The ingestion error when the ID value exceeds the string length limit.",
            "The ingestion error when the ID value is duplicate.",
            "The ingestion error when parsing the field fails.",
            "The ingestion error when parsing the country code fails.",
            "The ingestion error when parsing the long value fails.",
            "The ingestion error when parsing the boolean value fails.",
            "The ingestion error when parsing the expanded url fails.",
            "The ingestion error when parsing the float value fails.",
            "The ingestion error when parsing the datetime value fails.",
            "The ingestion error when the preference value is not a positive float.",
            "The ingestion error when a geo location is not found.",
            "The ingestion error when parsing the geo field fails.",
            "The ingestion error when a feed row has multiple geotargets with proximity targeting enabled.",
            "The ingestion error when parsing the postal code value fails.",
            "The ingestion error when parsing the metro code value fails.",
            "The ingestion error when parsing the datetime value fails.",
            "The ingestion error when parsing the weight value fails.",
            "The ingestion error when parsing the creative dimension value fails.",
            "The ingestion error when a STRING_LIST type ID has multiple values.",
            "The ingestion error when the end time is before the start time.",
            "The ingestion error when the asset library handle is invalid.",
            "The ingestion error when the asset library video handle is invalid.",
            "The ingestion error when the asset library directory handle is invalid.",
            "The ingestion error when a targeting key used but not defined for the CM360 Advertiser.",
            "The ingestion error when the userlist ID is not accessible for the CM360 Advertiser.",
            "The ingestion error when the end time is passed.",
            "The ingestion error when the end time is in the near future (i.e., \u003c7 days).",
            "The ingestion error when a text field specifies a reference to an asset.",
            "The ingestion error when Image field specifies a reference to an asset hosted on SCS (s0.2mdn.net/s0qa.2mdn.net).",
            "The ingestion error when a geo target is an airport.",
            "The ingestion error when the geo target's canonical name does not match the query string used to obtain it.",
            "The ingestion error or warning when the default row is not set.",
            "The ingestion error or warning when the default row is not active.",
            "The ingestion error or warning when the default row is not in the date range.",
            "The ingestion error or warning when the default row is not in the date range.",
            "The ingestion error when when the payload of the record is above a threshold.",
            "The ingestion error or warning when the field is not SSL compliant."
          ],
          "enum": [
            "UNKNOWN_PARSING_ERROR",
            "MISSING_ID",
            "MISSING_REPORTING_LABEL",
            "EMPTY_VALUE",
            "ASSET_DOWNLOAD_ERROR",
            "ID_TOO_LONG",
            "DUPLICATE_ID",
            "PARSING_ERROR",
            "COUNTRY_PARSING_ERROR",
            "LONG_PARSING_ERROR",
            "BOOL_PARSING_ERROR",
            "EXPANDED_URL_PARSING_ERROR",
            "FLOAT_PARSING_ERROR",
            "DATETIME_PARSING_ERROR",
            "INVALID_PREFERENCE_VALUE",
            "GEO_NOT_FOUND_ERROR",
            "GEO_PARSING_ERROR",
            "GEO_PROXIMITY_TARGETING_MULTIPLE_LOCATION_ERROR",
            "POSTAL_CODE_PARSING_ERROR",
            "METRO_CODE_PARSING_ERROR",
            "DATETIME_WITHOUT_TIMEZONE_PARSING_ERROR",
            "WEIGHT_PARSING_ERROR",
            "CREATIVE_DIMENSION_PARSING_ERROR",
            "MULTIVALUE_ID",
            "ENDTIME_BEFORE_STARTTIME",
            "INVALID_ASSET_LIBRARY_HANDLE",
            "INVALID_ASSET_LIBRARY_VIDEO_HANDLE",
            "INVALID_ASSET_LIBRARY_DIRECTORY_HANDLE",
            "DYNAMIC_TARGETING_KEY_NOT_DEFINED_FOR_ADVERTISER",
            "USERLIST_ID_NOT_ACCESSIBLE_FOR_ADVERTISER",
            "ENDTIME_PASSED",
            "ENDTIME_TOO_SOON",
            "TEXT_ASSET_REFERENCE",
            "IMAGE_ASSET_SCS_REFERENCE",
            "AIRPORT_GEO_TARGET",
            "CANONICAL_NAME_QUERY_MISMATCH",
            "NO_DEFAULT_ROW",
            "NO_ACTIVE_DEFAULT_ROW",
            "NO_DEFAULT_ROW_IN_DATE_RANGE",
            "NO_ACTIVE_DEFAULT_ROW_IN_DATE_RANGE",
            "PAYLOAD_LIMIT_EXCEEDED",
            "SSL_NOT_COMPLIANT"
          ]
        },
        "isError": {
          "description": "Output only. Incidcates whether the field has error or warning.",
          "readOnly": true,
          "type": "boolean"
        }
      }
    },
    "DynamicFeedsInsertRequest": {
      "id": "DynamicFeedsInsertRequest",
      "description": "Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id.",
      "type": "object",
      "properties": {
        "dynamicProfileId": {
          "description": "Required. Dynamic profile ID of the inserted dynamic feed.",
          "type": "string",
          "format": "int64"
        },
        "dynamicFeed": {
          "description": "Required. Dynamic feed to insert.",
          "$ref": "DynamicFeed"
        }
      }
    },
    "DynamicProfile": {
      "id": "DynamicProfile",
      "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic profile information.",
      "type": "object",
      "properties": {
        "dynamicProfileId": {
          "description": "Output only. Unique ID of this dynamic profile. This is a read-only, auto-generated field.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "studioAdvertiserId": {
          "description": "Required. Advertiser ID of this dynamic profile. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Required. Identifier. Name of this dynamic profile. This is a required field and must be less than 256 characters long.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of this dynamic profile.",
          "type": "string"
        },
        "status": {
          "description": "Optional. Status of this dynamic profile.",
          "type": "string",
          "enumDescriptions": [
            "The dynamic profile status is unknown. This value is unused.",
            "The dynamic profile is active.",
            "The dynamic profile is inactive.",
            "The dynamic profile is deleted."
          ],
          "enum": [
            "STATUS_UNKNOWN",
            "ACTIVE",
            "INACTIVE",
            "DELETED"
          ]
        },
        "archiveStatus": {
          "description": "Optional. Archive status of this dynamic profile.",
          "type": "string",
          "enumDescriptions": [
            "The dynamic profile archive status is unknown. This value is unused.",
            "The dynamic profile archive status is unarchived.",
            "The dynamic profile archive status is archived."
          ],
          "enum": [
            "ARCHIVE_STATUS_UNKNOWN",
            "UNARCHIVED",
            "ARCHIVED"
          ]
        },
        "createInfo": {
          "description": "Output only. The creation timestamp of the dynamic profile. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Output only. The last modified timestamp of the dynamic profile. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "draft": {
          "description": "Optional. Draft version of the dynamic profile.",
          "$ref": "DynamicProfileVersion"
        },
        "active": {
          "description": "Optional. Active version of the dynamic profile.",
          "$ref": "DynamicProfileVersion"
        },
        "kind": {
          "description": "Output only. Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicProfile\".",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "DynamicProfileVersion": {
      "id": "DynamicProfileVersion",
      "description": "Contains dynamic profile version information.",
      "type": "object",
      "properties": {
        "versionId": {
          "description": "Output only. Version ID of this dynamic profile version. This is a read-only, auto-generated field. -1 for draft version, 0+ for published versions.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "dynamicProfileFeedSettings": {
          "description": "Optional. Associated dynamic feeds and their settings (including dynamic rules) for this dynamic profile version.",
          "type": "array",
          "items": {
            "$ref": "DynamicProfileFeedSettings"
          }
        }
      }
    },
    "DynamicProfileFeedSettings": {
      "id": "DynamicProfileFeedSettings",
      "description": "Contains dynamic profile specific settings for an associated dynamic feed.",
      "type": "object",
      "properties": {
        "dynamicFeedId": {
          "description": "Optional. Dynamic feed ID associated with dynamic profile version.",
          "type": "string",
          "format": "int64"
        },
        "quantity": {
          "description": "Optional. The number of this dynamic feed rows needed by the dynamic profile, default value is 1. Acceptable values are between 1 to 99, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "dynamicRules": {
          "description": "Optional. Dynamic rules for row selection for the given dynamic feed in the given dynamic profile.",
          "$ref": "DynamicRules"
        }
      }
    },
    "DynamicRules": {
      "id": "DynamicRules",
      "description": "Contains dynamic rules information.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "Optional. The type of the rule, the default value is OPEN.",
          "type": "string",
          "enumDescriptions": [
            "The rule type is unknown. This value is unused.",
            "The rule type is open, all feed rows are eligible for selection. This is the default value.",
            "The rule type is auto, the feed rows are eligible for selection based on the automatic rules.",
            "The rule type is custom, the feed rows are eligible for selection based on the custom rules.",
            "The rule type is proximity targeting, the feed rows are eligible for selection based on the proximity targeting rules."
          ],
          "enum": [
            "RULE_SET_TYPE_UNKNOWN",
            "OPEN",
            "AUTO",
            "CUSTOM",
            "PROXIMITY_TARGETING"
          ]
        },
        "rotationType": {
          "description": "Optional. The rotation type to select from eligible rows. Rotation type only apply when the filtering rule results in more than one eligible rows.",
          "type": "string",
          "enumDescriptions": [
            "The rotation type is unknown. This value is unused.",
            "The rotation type is random. It is the default value.",
            "The rotation type is optimized.",
            "The rotation type is weighted."
          ],
          "enum": [
            "ROTATION_TYPE_UNKNOWN",
            "RANDOM",
            "OPTIMIZED",
            "WEIGHTED"
          ]
        },
        "customRules": {
          "description": "Optional. The custom rules of the dynamic feed, only applicable when rule type is CUSTOM.",
          "type": "array",
          "items": {
            "$ref": "CustomRule"
          }
        },
        "proximityFilter": {
          "description": "Optional. The proximity targeting rules of the dynamic feed, only applicable when rule type is PROXIMITY_TARGETING.",
          "$ref": "ProximityFilter"
        },
        "weightFieldId": {
          "description": "Optional. The field ID for the feed that will be used for weighted rotation, only applicable when rotation type is WEIGHTED.",
          "type": "integer",
          "format": "int32"
        },
        "autoTargetedFieldIds": {
          "description": "Optional. List of field IDs in this element that should be auto-targeted. Applicable when rule type is AUTO.",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "customValueFields": {
          "description": "Optional. Mapping between field ID and custom key that are used to match for auto filtering.",
          "type": "array",
          "items": {
            "$ref": "CustomValueField"
          }
        },
        "remarketingValueAttributes": {
          "description": "Optional. The link between an element field ID and a list of user attribute IDs.",
          "type": "array",
          "items": {
            "$ref": "RemarketingValueAttribute"
          }
        }
      }
    },
    "CustomRule": {
      "id": "CustomRule",
      "description": "Contains custom rule information.",
      "type": "object",
      "properties": {
        "priority": {
          "description": "Optional. Priority of the custom rule.",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "Optional. Name of this custom rule.",
          "type": "string"
        },
        "ruleBlocks": {
          "description": "Optional. A list of field filter, the custom rule will apply.",
          "type": "array",
          "items": {
            "$ref": "RuleBlock"
          }
        }
      }
    },
    "RuleBlock": {
      "id": "RuleBlock",
      "description": "Contains a list of field filters that the given custom rule will apply.",
      "type": "object",
      "properties": {
        "fieldFilter": {
          "description": "Optional. A list of non-auto field filters",
          "type": "array",
          "items": {
            "$ref": "FieldFilter"
          }
        }
      }
    },
    "FieldFilter": {
      "id": "FieldFilter",
      "description": "Contains field filter information.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Optional. The field ID on the left hand side of the expression.",
          "type": "integer",
          "format": "int32"
        },
        "matchType": {
          "description": "Optional. Left hand side of the expression match type.",
          "type": "string",
          "enumDescriptions": [
            "The left hand side of the expression is unknown. This value is unused.",
            "The left hand side of the expression is equals or unrestricted. It is the default value.",
            "The left hand side of the expression is equals.",
            "The left hand side of the expression is unrestricted. Unrestricted is used to target fields with no restrictions. For example, country targeting fields hold a list of countries. If the list is empty, we consider the element value to have no restrictions.",
            "Left hand side of the expression is not equals. Not equals specifies which fields should not be targeted."
          ],
          "enum": [
            "LHS_MATCH_TYPE_UNKNOWN",
            "EQUALS_OR_UNRESTRICTED",
            "EQUALS",
            "UNRESTRICTED",
            "NOT_EQUALS"
          ]
        },
        "valueType": {
          "description": "Optional. Right hand side of the expression.",
          "type": "string",
          "enumDescriptions": [
            "The right hand side of the expression is unknown. This value is unused.",
            "The right hand side of the expression is a string.",
            "The right hand side of the expression is a request value.",
            "The right hand side of the expression is a boolean.",
            "The right hand side of the expression is a dependent field value."
          ],
          "enum": [
            "RHS_VALUE_TYPE_UNKNOWN",
            "STRING",
            "REQUEST",
            "BOOL",
            "DEPENDENT"
          ]
        },
        "stringValue": {
          "description": "Optional. The string value, only applicable when rhs_value_type is STRING.",
          "type": "string"
        },
        "boolValue": {
          "description": "Optional. The boolean values, only applicable when rhs_value_type is BOOL.",
          "type": "boolean"
        },
        "requestValue": {
          "description": "Optional. The request value, only applicable when rhs_value_type is REQUEST.",
          "$ref": "RequestValue"
        },
        "dependentFieldValue": {
          "description": "Optional. The dependent values, only applicable when rhs_value_type is DEPENDENT.",
          "$ref": "DependentFieldValue"
        }
      }
    },
    "RequestValue": {
      "id": "RequestValue",
      "description": "Contains request value information.",
      "type": "object",
      "properties": {
        "key": {
          "description": "Optional. Custom key in the request. Used only when the field type is CUSTOM_VALUE.",
          "type": "string"
        },
        "userAttributeIds": {
          "description": "Optional. User attribute IDs in the request. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "excludeFromUserAttributeIds": {
          "description": "Optional. User attribute IDs in the request that should be excluded. Used only when the field type is REMARKETING_VALUE or USER_ATTRIBUTE_ID.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "DependentFieldValue": {
      "id": "DependentFieldValue",
      "description": "Contains dependent field value information.",
      "type": "object",
      "properties": {
        "elementId": {
          "description": "Optional. The ID of the element that value's field will match against.",
          "type": "string",
          "format": "int64"
        },
        "fieldId": {
          "description": "Optional. The field id of the dependent field.",
          "type": "integer",
          "format": "int32"
        },
        "dynamicFeedId": {
          "description": "Optional. The ID of the dynamic feed that value's field will match against.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ProximityFilter": {
      "id": "ProximityFilter",
      "description": "Contains proximity filter information.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Optional. Field ID in the element.",
          "type": "integer",
          "format": "int32"
        },
        "radiusValue": {
          "description": "Optional. Radius length in units defined by radius_units.",
          "type": "integer",
          "format": "int32"
        },
        "radiusUnitType": {
          "description": "Optional. The units of the radius value",
          "type": "string",
          "enumDescriptions": [
            "The units of the radius value are unknown. This value is unused.",
            "The units of the radius value are kilometers.",
            "The units of the radius value are miles."
          ],
          "enum": [
            "RADIUS_UNIT_TYPE_UNKNOWN",
            "KILOMETERS",
            "MILES"
          ]
        },
        "radiusBucketType": {
          "description": "Optional. The radius bucket type of the proximity filter",
          "type": "string",
          "enumDescriptions": [
            "The radius bucket type is unknown.",
            "The radius bucket type is small.",
            "The radius bucket type is medium.",
            "The radius bucket type is large.",
            "The radius bucket type is multi-regional.",
            "The radius bucket type is national."
          ],
          "enum": [
            "RADIUS_BUCKET_TYPE_UNKNOWN",
            "SMALL",
            "MEDIUM",
            "LARGE",
            "MULTI_REGIONAL",
            "NATIONAL"
          ]
        }
      }
    },
    "CustomValueField": {
      "id": "CustomValueField",
      "description": "Contains custom value field information.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Optional. Field ID in the element.",
          "type": "integer",
          "format": "int32"
        },
        "requestKey": {
          "description": "Optional. Custom key used to match for auto filtering.",
          "type": "string"
        }
      }
    },
    "RemarketingValueAttribute": {
      "id": "RemarketingValueAttribute",
      "description": "Contains remarketing value attribute information.",
      "type": "object",
      "properties": {
        "fieldId": {
          "description": "Optional. Field ID in the element.",
          "type": "integer",
          "format": "int32"
        },
        "userAttributeIds": {
          "description": "Optional. Remarketing user attribute IDs for auto filtering.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      }
    },
    "DynamicProfileGenerateCodeResponse": {
      "id": "DynamicProfileGenerateCodeResponse",
      "description": "Response message for DfareportingDynamicProfiles.GenerateCode.",
      "type": "object",
      "properties": {
        "code": {
          "description": "Generated code for the dynamic profile. The code will need to be unescaped.",
          "type": "string"
        }
      }
    },
    "DynamicTargetingKey": {
      "id": "DynamicTargetingKey",
      "description": "Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with Studio dynamic creatives. Use these labels instead of numeric Campaign Manager IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.",
          "type": "string"
        },
        "objectType": {
          "description": "Type of the object of this dynamic targeting key. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "OBJECT_ADVERTISER",
            "OBJECT_AD",
            "OBJECT_CREATIVE",
            "OBJECT_PLACEMENT"
          ]
        },
        "objectId": {
          "description": "ID of the object of this dynamic targeting key. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKey\".",
          "type": "string"
        }
      }
    },
    "DynamicTargetingKeysListResponse": {
      "id": "DynamicTargetingKeysListResponse",
      "description": "Dynamic Targeting Key List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKeysListResponse\".",
          "type": "string"
        },
        "dynamicTargetingKeys": {
          "description": "Dynamic targeting key collection.",
          "type": "array",
          "items": {
            "$ref": "DynamicTargetingKey"
          }
        }
      }
    },
    "EventTag": {
      "id": "EventTag",
      "description": "Contains properties of an event tag.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this event tag. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this event tag. This is a required field and must be less than 256 characters long.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this event tag. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this event tag. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this event tag. This field or the campaignId field is required on insertion.",
          "type": "string",
          "format": "int64"
        },
        "campaignId": {
          "description": "Campaign ID of this event tag. This field or the advertiserId field is required on insertion.",
          "type": "string",
          "format": "int64"
        },
        "type": {
          "description": "Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "A third-party pixel for impression tracking.",
            "A third-party JavaScript URL for impression tracking.",
            "A third-party URL for click tracking that redirects to the landing page."
          ],
          "enum": [
            "IMPRESSION_IMAGE_EVENT_TAG",
            "IMPRESSION_JAVASCRIPT_EVENT_TAG",
            "CLICK_THROUGH_EVENT_TAG"
          ]
        },
        "url": {
          "description": "Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.",
          "type": "string"
        },
        "siteIds": {
          "description": "Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a allowlist or blocklist filter.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "siteFilterType": {
          "description": "Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.",
          "type": "string",
          "enumDescriptions": [
            "The event tag should only ever fire on specified sites.",
            "The event tag should fire on all sites EXCEPT the specified sites."
          ],
          "enum": [
            "ALLOWLIST",
            "BLOCKLIST"
          ]
        },
        "enabledByDefault": {
          "description": "Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.",
          "type": "boolean"
        },
        "status": {
          "description": "Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "ENABLED",
            "DISABLED"
          ]
        },
        "urlEscapeLevels": {
          "description": "Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.",
          "type": "integer",
          "format": "int32"
        },
        "sslCompliant": {
          "description": "Whether this tag is SSL-compliant or not. This is a read-only field.",
          "type": "boolean"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "campaignIdDimensionValue": {
          "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "excludeFromAdxRequests": {
          "description": "Whether to remove this event tag from ads that are trafficked through Display & Video 360 to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTag\".",
          "type": "string"
        }
      }
    },
    "EventTagsListResponse": {
      "id": "EventTagsListResponse",
      "description": "Event Tag List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTagsListResponse\".",
          "type": "string"
        },
        "eventTags": {
          "description": "Event tag collection.",
          "type": "array",
          "items": {
            "$ref": "EventTag"
          }
        }
      }
    },
    "File": {
      "id": "File",
      "description": "Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is \"REPORT_AVAILABLE\".",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique ID of this report file.",
          "type": "string",
          "format": "int64"
        },
        "reportId": {
          "description": "The ID of the report this file was generated from.",
          "type": "string",
          "format": "int64"
        },
        "etag": {
          "description": "Etag of this resource.",
          "type": "string"
        },
        "status": {
          "description": "The status of the report file.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PROCESSING",
            "REPORT_AVAILABLE",
            "FAILED",
            "CANCELLED",
            "QUEUED"
          ]
        },
        "fileName": {
          "description": "The filename of the file.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#file\".",
          "type": "string"
        },
        "dateRange": {
          "description": "The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.",
          "$ref": "DateRange"
        },
        "format": {
          "description": "The output format of the report. Only available once the file is available.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "CSV",
            "EXCEL"
          ]
        },
        "lastModifiedTime": {
          "description": "The timestamp in milliseconds since epoch when this file was last modified.",
          "type": "string",
          "format": "int64"
        },
        "urls": {
          "description": "The URLs where the completed report file can be downloaded.",
          "type": "object",
          "properties": {
            "browserUrl": {
              "description": "The URL for downloading the report data through a browser.",
              "type": "string"
            },
            "apiUrl": {
              "description": "The URL for downloading the report data through the API.",
              "type": "string"
            }
          }
        }
      }
    },
    "DateRange": {
      "id": "DateRange",
      "description": "Represents a date range.",
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "relativeDateRange": {
          "description": "The date range relative to the date of when the report is run.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "TODAY",
            "YESTERDAY",
            "WEEK_TO_DATE",
            "MONTH_TO_DATE",
            "QUARTER_TO_DATE",
            "YEAR_TO_DATE",
            "PREVIOUS_WEEK",
            "PREVIOUS_MONTH",
            "PREVIOUS_QUARTER",
            "PREVIOUS_YEAR",
            "LAST_7_DAYS",
            "LAST_30_DAYS",
            "LAST_90_DAYS",
            "LAST_365_DAYS",
            "LAST_24_MONTHS",
            "LAST_14_DAYS",
            "LAST_60_DAYS"
          ]
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#dateRange.",
          "type": "string"
        }
      }
    },
    "FileList": {
      "id": "FileList",
      "description": "List of files for a report.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "Continuation token used to page through files. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#fileList\".",
          "type": "string"
        },
        "etag": {
          "description": "Etag of this resource.",
          "type": "string"
        },
        "items": {
          "description": "The files returned in this response.",
          "type": "array",
          "items": {
            "$ref": "File"
          }
        }
      }
    },
    "FloodlightActivityGroup": {
      "id": "FloodlightActivityGroup",
      "description": "Contains properties of a Floodlight activity group.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this floodlight activity group. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.",
          "type": "string"
        },
        "tagString": {
          "description": "Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.",
          "type": "string"
        },
        "type": {
          "description": "Type of the floodlight activity group. This is a required field that is read-only after insertion.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "COUNTER",
            "SALE"
          ]
        },
        "floodlightConfigurationId": {
          "description": "Floodlight configuration ID of this floodlight activity group. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this floodlight activity group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "floodlightConfigurationIdDimensionValue": {
          "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroup\".",
          "type": "string"
        }
      }
    },
    "FloodlightActivityGroupsListResponse": {
      "id": "FloodlightActivityGroupsListResponse",
      "description": "Floodlight Activity Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroupsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "floodlightActivityGroups": {
          "description": "Floodlight activity group collection.",
          "type": "array",
          "items": {
            "$ref": "FloodlightActivityGroup"
          }
        }
      }
    },
    "FloodlightActivitiesGenerateTagResponse": {
      "id": "FloodlightActivitiesGenerateTagResponse",
      "description": "Floodlight Activity GenerateTag Response",
      "type": "object",
      "properties": {
        "floodlightActivityTag": {
          "description": "Generated tag for this Floodlight activity. For Google tags, this is the event snippet.",
          "type": "string"
        },
        "globalSiteTagGlobalSnippet": {
          "description": "The global snippet section of a Google tag. The Google tag sets new cookies on your domain, which will store a unique identifier for a user or the ad click that brought the user to your site. Learn more.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesGenerateTagResponse\".",
          "type": "string"
        }
      }
    },
    "FloodlightActivity": {
      "id": "FloodlightActivity",
      "description": "Contains properties of a Floodlight activity.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this floodlight activity. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.",
          "type": "string"
        },
        "tagString": {
          "description": "Value of the cat= parameter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.",
          "type": "string"
        },
        "expectedUrl": {
          "description": "URL where this tag will be deployed. If specified, must be less than 256 characters long.",
          "type": "string"
        },
        "secure": {
          "description": "Whether this tag should use SSL.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivity\".",
          "type": "string"
        },
        "countingMethod": {
          "description": "Counting method for conversions for this floodlight activity. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "Count every conversion.",
            "Count the first conversion for each unique user during each 24-hour day, from midnight to midnight, Eastern Time.",
            "Count one conversion per user per session. Session length is set by the site where the Spotlight tag is deployed.",
            "Count all conversions, plus the total number of sales that take place and the total revenue for these transactions.",
            "Count each conversion, plus the total number of items sold and the total revenue for these sales."
          ],
          "enum": [
            "STANDARD_COUNTING",
            "UNIQUE_COUNTING",
            "SESSION_COUNTING",
            "TRANSACTIONS_COUNTING",
            "ITEMS_SOLD_COUNTING"
          ]
        },
        "tagFormat": {
          "description": "Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "HTML",
            "XHTML"
          ]
        },
        "cacheBustingType": {
          "description": "Code type used for cache busting in the generated tag. Applicable only when floodlightActivityGroupType is COUNTER and countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "JAVASCRIPT",
            "ACTIVE_SERVER_PAGE",
            "JSP",
            "PHP",
            "COLD_FUSION"
          ]
        },
        "userDefinedVariableTypes": {
          "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type. Acceptable values are U1 to U100, inclusive. ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "U1",
              "U2",
              "U3",
              "U4",
              "U5",
              "U6",
              "U7",
              "U8",
              "U9",
              "U10",
              "U11",
              "U12",
              "U13",
              "U14",
              "U15",
              "U16",
              "U17",
              "U18",
              "U19",
              "U20",
              "U21",
              "U22",
              "U23",
              "U24",
              "U25",
              "U26",
              "U27",
              "U28",
              "U29",
              "U30",
              "U31",
              "U32",
              "U33",
              "U34",
              "U35",
              "U36",
              "U37",
              "U38",
              "U39",
              "U40",
              "U41",
              "U42",
              "U43",
              "U44",
              "U45",
              "U46",
              "U47",
              "U48",
              "U49",
              "U50",
              "U51",
              "U52",
              "U53",
              "U54",
              "U55",
              "U56",
              "U57",
              "U58",
              "U59",
              "U60",
              "U61",
              "U62",
              "U63",
              "U64",
              "U65",
              "U66",
              "U67",
              "U68",
              "U69",
              "U70",
              "U71",
              "U72",
              "U73",
              "U74",
              "U75",
              "U76",
              "U77",
              "U78",
              "U79",
              "U80",
              "U81",
              "U82",
              "U83",
              "U84",
              "U85",
              "U86",
              "U87",
              "U88",
              "U89",
              "U90",
              "U91",
              "U92",
              "U93",
              "U94",
              "U95",
              "U96",
              "U97",
              "U98",
              "U99",
              "U100"
            ]
          }
        },
        "notes": {
          "description": "General notes or implementation instructions for the tag.",
          "type": "string"
        },
        "defaultTags": {
          "description": "Dynamic floodlight tags.",
          "type": "array",
          "items": {
            "$ref": "FloodlightActivityDynamicTag"
          }
        },
        "publisherTags": {
          "description": "Publisher dynamic floodlight tags.",
          "type": "array",
          "items": {
            "$ref": "FloodlightActivityPublisherDynamicTag"
          }
        },
        "floodlightActivityGroupId": {
          "description": "Floodlight activity group ID of this floodlight activity. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "floodlightConfigurationId": {
          "description": "Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this floodlight activity. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "floodlightActivityGroupType": {
          "description": "Type of the associated floodlight activity group. This is a read-only field.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "COUNTER",
            "SALE"
          ]
        },
        "floodlightActivityGroupTagString": {
          "description": "Tag string of the associated floodlight activity group. This is a read-only field.",
          "type": "string"
        },
        "floodlightActivityGroupName": {
          "description": "Name of the associated floodlight activity group. This is a read-only field.",
          "type": "string"
        },
        "sslCompliant": {
          "description": "Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.",
          "type": "boolean"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "floodlightConfigurationIdDimensionValue": {
          "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "sslRequired": {
          "description": "Whether this floodlight activity must be SSL-compliant.",
          "type": "boolean"
        },
        "floodlightTagType": {
          "description": "The type of Floodlight tag this activity will generate. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "IFRAME",
            "IMAGE",
            "GLOBAL_SITE_TAG"
          ]
        },
        "status": {
          "description": "The status of the activity. This can only be set to ACTIVE or ARCHIVED_AND_DISABLED. The ARCHIVED status is no longer supported and cannot be set for Floodlight activities. The DISABLED_POLICY status indicates that a Floodlight activity is violating Google policy. Contact your account manager for more information.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "ACTIVE",
            "ARCHIVED_AND_DISABLED",
            "ARCHIVED",
            "DISABLED_POLICY"
          ]
        },
        "attributionEnabled": {
          "description": "Whether the activity is enabled for attribution.",
          "type": "boolean"
        }
      }
    },
    "FloodlightActivityDynamicTag": {
      "id": "FloodlightActivityDynamicTag",
      "description": "Dynamic Tag",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this dynamic tag. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this tag.",
          "type": "string"
        },
        "tag": {
          "description": "Tag code.",
          "type": "string"
        }
      }
    },
    "FloodlightActivityPublisherDynamicTag": {
      "id": "FloodlightActivityPublisherDynamicTag",
      "description": "Publisher Dynamic Tag",
      "type": "object",
      "properties": {
        "dynamicTag": {
          "description": "Dynamic floodlight tag.",
          "$ref": "FloodlightActivityDynamicTag"
        },
        "siteId": {
          "description": "Site ID of this dynamic tag.",
          "type": "string",
          "format": "int64"
        },
        "directorySiteId": {
          "description": "Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.",
          "type": "string",
          "format": "int64"
        },
        "clickThrough": {
          "description": "Whether this tag is applicable only for click-throughs.",
          "type": "boolean"
        },
        "viewThrough": {
          "description": "Whether this tag is applicable only for view-throughs.",
          "type": "boolean"
        },
        "siteIdDimensionValue": {
          "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        }
      }
    },
    "FloodlightActivitiesListResponse": {
      "id": "FloodlightActivitiesListResponse",
      "description": "Floodlight Activity List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "floodlightActivities": {
          "description": "Floodlight activity collection.",
          "type": "array",
          "items": {
            "$ref": "FloodlightActivity"
          }
        }
      }
    },
    "FloodlightConfiguration": {
      "id": "FloodlightConfiguration",
      "description": "Contains properties of a Floodlight configuration.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this floodlight configuration. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this floodlight configuration. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of the parent advertiser of this floodlight configuration.",
          "type": "string",
          "format": "int64"
        },
        "firstDayOfWeek": {
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "SUNDAY",
            "MONDAY"
          ]
        },
        "lookbackConfiguration": {
          "description": "Lookback window settings for this floodlight configuration.",
          "$ref": "LookbackConfiguration"
        },
        "naturalSearchConversionAttributionOption": {
          "description": "Types of attribution options for natural search conversions.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION",
            "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION",
            "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
          ]
        },
        "omnitureSettings": {
          "description": "Settings for Campaign Manager Omniture integration.",
          "$ref": "OmnitureSettings"
        },
        "exposureToConversionEnabled": {
          "description": "Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.",
          "type": "boolean"
        },
        "tagSettings": {
          "description": "Configuration settings for dynamic and image floodlight tags.",
          "$ref": "TagSettings"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfiguration\".",
          "type": "string"
        },
        "userDefinedVariableConfigurations": {
          "description": "List of user defined variables enabled for this configuration.",
          "type": "array",
          "items": {
            "$ref": "UserDefinedVariableConfiguration"
          }
        },
        "analyticsDataSharingEnabled": {
          "description": "Whether advertiser data is shared with Google Analytics.",
          "type": "boolean"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "inAppAttributionTrackingEnabled": {
          "description": "Whether in-app attribution tracking is enabled.",
          "type": "boolean"
        },
        "thirdPartyAuthenticationTokens": {
          "description": "List of third-party authentication tokens enabled for this configuration.",
          "type": "array",
          "items": {
            "$ref": "ThirdPartyAuthenticationToken"
          }
        },
        "customViewabilityMetric": {
          "description": "Custom Viewability metric for the floodlight configuration.",
          "$ref": "CustomViewabilityMetric"
        }
      }
    },
    "OmnitureSettings": {
      "id": "OmnitureSettings",
      "description": "Omniture Integration Settings.",
      "type": "object",
      "properties": {
        "omnitureIntegrationEnabled": {
          "description": "Whether Omniture integration is enabled. This property can be enabled only when the \"Advanced Ad Serving\" account setting is enabled.",
          "type": "boolean"
        },
        "omnitureCostDataEnabled": {
          "description": "Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.",
          "type": "boolean"
        }
      }
    },
    "TagSettings": {
      "id": "TagSettings",
      "description": "Dynamic and Image Tag Settings.",
      "type": "object",
      "properties": {
        "dynamicTagEnabled": {
          "description": "Whether dynamic floodlight tags are enabled.",
          "type": "boolean"
        },
        "imageTagEnabled": {
          "description": "Whether image tags are enabled.",
          "type": "boolean"
        }
      }
    },
    "UserDefinedVariableConfiguration": {
      "id": "UserDefinedVariableConfiguration",
      "description": "User Defined Variable configuration.",
      "type": "object",
      "properties": {
        "variableType": {
          "description": "Variable name in the tag. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "U1",
            "U2",
            "U3",
            "U4",
            "U5",
            "U6",
            "U7",
            "U8",
            "U9",
            "U10",
            "U11",
            "U12",
            "U13",
            "U14",
            "U15",
            "U16",
            "U17",
            "U18",
            "U19",
            "U20",
            "U21",
            "U22",
            "U23",
            "U24",
            "U25",
            "U26",
            "U27",
            "U28",
            "U29",
            "U30",
            "U31",
            "U32",
            "U33",
            "U34",
            "U35",
            "U36",
            "U37",
            "U38",
            "U39",
            "U40",
            "U41",
            "U42",
            "U43",
            "U44",
            "U45",
            "U46",
            "U47",
            "U48",
            "U49",
            "U50",
            "U51",
            "U52",
            "U53",
            "U54",
            "U55",
            "U56",
            "U57",
            "U58",
            "U59",
            "U60",
            "U61",
            "U62",
            "U63",
            "U64",
            "U65",
            "U66",
            "U67",
            "U68",
            "U69",
            "U70",
            "U71",
            "U72",
            "U73",
            "U74",
            "U75",
            "U76",
            "U77",
            "U78",
            "U79",
            "U80",
            "U81",
            "U82",
            "U83",
            "U84",
            "U85",
            "U86",
            "U87",
            "U88",
            "U89",
            "U90",
            "U91",
            "U92",
            "U93",
            "U94",
            "U95",
            "U96",
            "U97",
            "U98",
            "U99",
            "U100"
          ]
        },
        "dataType": {
          "description": "Data type for the variable. This is a required field.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "STRING",
            "NUMBER"
          ]
        },
        "reportName": {
          "description": "User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: \"\"\u003c\u003e\".",
          "type": "string"
        }
      }
    },
    "ThirdPartyAuthenticationToken": {
      "id": "ThirdPartyAuthenticationToken",
      "description": "Third Party Authentication Token",
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the third-party authentication token.",
          "type": "string"
        },
        "value": {
          "description": "Value of the third-party authentication token. This is a read-only, auto-generated field.",
          "type": "string"
        }
      }
    },
    "CustomViewabilityMetric": {
      "id": "CustomViewabilityMetric",
      "description": "Custom Viewability Metric",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of the custom viewability metric.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of the custom viewability metric.",
          "type": "string"
        },
        "configuration": {
          "description": "Configuration of the custom viewability metric.",
          "$ref": "CustomViewabilityMetricConfiguration"
        }
      }
    },
    "CustomViewabilityMetricConfiguration": {
      "id": "CustomViewabilityMetricConfiguration",
      "description": "The attributes, like playtime and percent onscreen, that define the Custom Viewability Metric.",
      "type": "object",
      "properties": {
        "viewabilityPercent": {
          "description": "The percentage of video that must be on screen for the Custom Viewability Metric to count an impression.",
          "type": "integer",
          "format": "int32"
        },
        "audible": {
          "description": "Whether the video must be audible to count an impression.",
          "type": "boolean"
        },
        "timeMillis": {
          "description": "The time in milliseconds the video must play for the Custom Viewability Metric to count an impression. If both this and timePercent are specified, the earlier of the two will be used.",
          "type": "integer",
          "format": "int32"
        },
        "timePercent": {
          "description": "The percentage of video that must play for the Custom Viewability Metric to count an impression. If both this and timeMillis are specified, the earlier of the two will be used.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "FloodlightConfigurationsListResponse": {
      "id": "FloodlightConfigurationsListResponse",
      "description": "Floodlight Configuration List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfigurationsListResponse\".",
          "type": "string"
        },
        "floodlightConfigurations": {
          "description": "Floodlight configuration collection.",
          "type": "array",
          "items": {
            "$ref": "FloodlightConfiguration"
          }
        }
      }
    },
    "InventoryItem": {
      "id": "InventoryItem",
      "description": "Represents a buy from the Planning inventory store.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "projectId": {
          "description": "Project ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "orderId": {
          "description": "Order ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "siteId": {
          "description": "ID of the site this inventory item is associated with.",
          "type": "string",
          "format": "int64"
        },
        "inPlan": {
          "description": "Whether this inventory item is in plan.",
          "type": "boolean"
        },
        "estimatedClickThroughRate": {
          "description": "Estimated click-through rate of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "estimatedConversionRate": {
          "description": "Estimated conversion rate of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "pricing": {
          "description": "Pricing of this inventory item.",
          "$ref": "Pricing"
        },
        "adSlots": {
          "description": "Ad slots of this inventory item. If this inventory item represents a standalone placement, there will be exactly one ad slot. If this inventory item represents a placement group, there will be more than one ad slot, each representing one child placement in that placement group.",
          "type": "array",
          "items": {
            "$ref": "AdSlot"
          }
        },
        "rfpId": {
          "description": "RFP ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "negotiationChannelId": {
          "description": "Negotiation channel ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this inventory item.",
          "$ref": "LastModifiedInfo"
        },
        "contentCategoryId": {
          "description": "Content category ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "placementStrategyId": {
          "description": "Placement strategy ID of this inventory item.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this inventory item. For standalone inventory items, this is the same name as that of its only ad slot. For group inventory items, this can differ from the name of any of its ad slots.",
          "type": "string"
        },
        "type": {
          "description": "Type of inventory item.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "PLANNING_PLACEMENT_TYPE_REGULAR",
            "PLANNING_PLACEMENT_TYPE_CREDIT"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItem\".",
          "type": "string"
        }
      }
    },
    "Pricing": {
      "id": "Pricing",
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "capCostType": {
          "description": "Cap cost type of this inventory item.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE",
            "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY",
            "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
          ]
        },
        "pricingType": {
          "description": "Pricing type of this inventory item.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS",
            "PLANNING_PLACEMENT_PRICING_TYPE_CPM",
            "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS",
            "PLANNING_PLACEMENT_PRICING_TYPE_CPC",
            "PLANNING_PLACEMENT_PRICING_TYPE_CPA",
            "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
            "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS",
            "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
          ]
        },
        "flights": {
          "description": "Flights of this inventory item. A flight (a.k.a. pricing period) represents the inventory item pricing information for a specific period of time.",
          "type": "array",
          "items": {
            "$ref": "Flight"
          }
        },
        "groupType": {
          "description": "Group type of this inventory item if it represents a placement group. Is null otherwise. There are two type of placement groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory items that acts as a single pricing point for a group of tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned inventory items to be marked as primary.",
          "type": "string",
          "enumDescriptions": [
            "A placement package represents \"package pricing\": Pricing and flight information is defined on the package, not on its child placements. The placements in a package do not need to be on the same page.",
            "A roadblock represents a set of placements that are all the same page. One of the child placements is designated as the \"primary\" placement for reporting purposes."
          ],
          "enum": [
            "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE",
            "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
          ]
        }
      }
    },
    "Flight": {
      "id": "Flight",
      "description": "Flight",
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "units": {
          "description": "Units of this flight.",
          "type": "string",
          "format": "int64"
        },
        "rateOrCost": {
          "description": "Rate or cost of this flight.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "AdSlot": {
      "id": "AdSlot",
      "description": "Ad Slot",
      "type": "object",
      "properties": {
        "linkedPlacementId": {
          "description": "ID of the placement from an external platform that is linked to this ad slot.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this ad slot.",
          "type": "string"
        },
        "width": {
          "description": "Width of this ad slot.",
          "type": "string",
          "format": "int64"
        },
        "height": {
          "description": "Height of this ad slot.",
          "type": "string",
          "format": "int64"
        },
        "compatibility": {
          "description": "Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "Deprecated enum value. No longer supported.",
            "Deprecated enum value. No longer supported.",
            "",
            ""
          ],
          "enum": [
            "DISPLAY",
            "DISPLAY_INTERSTITIAL",
            "APP",
            "APP_INTERSTITIAL",
            "IN_STREAM_VIDEO",
            "IN_STREAM_AUDIO"
          ]
        },
        "paymentSourceType": {
          "description": "Payment source type of this ad slot.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID",
            "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
          ]
        },
        "comment": {
          "description": "Comment for this ad slot.",
          "type": "string"
        },
        "primary": {
          "description": "Primary ad slot of a roadblock inventory item.",
          "type": "boolean"
        }
      }
    },
    "InventoryItemsListResponse": {
      "id": "InventoryItemsListResponse",
      "description": "Inventory item List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItemsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "inventoryItems": {
          "description": "Inventory item collection",
          "type": "array",
          "items": {
            "$ref": "InventoryItem"
          }
        }
      }
    },
    "AdvertiserInvoicesListResponse": {
      "id": "AdvertiserInvoicesListResponse",
      "description": "Invoice List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserInvoicesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "invoices": {
          "description": "Invoice collection",
          "type": "array",
          "items": {
            "$ref": "Invoice"
          }
        }
      }
    },
    "Invoice": {
      "id": "Invoice",
      "description": "Contains information about a single invoice",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this invoice.",
          "type": "string"
        },
        "paymentsProfileId": {
          "description": "The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as *Billing ID*.",
          "type": "string"
        },
        "paymentsAccountId": {
          "description": "The ID of the payments account the invoice belongs to. Appears on the invoice PDF as *Billing Account Number*.",
          "type": "string"
        },
        "issueDate": {
          "description": "The date when the invoice was issued.",
          "type": "string"
        },
        "dueDate": {
          "description": "The invoice due date.",
          "type": "string"
        },
        "serviceStartDate": {
          "description": "The invoice service start date.",
          "type": "string"
        },
        "serviceEndDate": {
          "description": "The invoice service end date.",
          "type": "string"
        },
        "currencyCode": {
          "description": "Invoice currency code in ISO 4217 format.",
          "type": "string"
        },
        "subtotalAmountMicros": {
          "description": "The pre-tax subtotal amount, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        },
        "totalTaxAmountMicros": {
          "description": "The sum of all taxes in invoice, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        },
        "totalAmountMicros": {
          "description": "The invoice total amount, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        },
        "purchaseOrderNumber": {
          "description": "Purchase order number associated with the invoice.",
          "type": "string"
        },
        "invoiceType": {
          "description": "The type of invoice document.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "INVOICE_TYPE_UNSPECIFIED",
            "INVOICE_TYPE_CREDIT",
            "INVOICE_TYPE_INVOICE"
          ]
        },
        "correctedInvoiceId": {
          "description": "The originally issued invoice that is being adjusted by this invoice, if applicable. May appear on invoice PDF as *Reference invoice number*.",
          "type": "string"
        },
        "replacedInvoiceIds": {
          "description": "The originally issued invoice(s) that is being cancelled by this invoice, if applicable. May appear on invoice PDF as *Replaced invoice numbers*. Note: There may be multiple replaced invoices due to consolidation of multiple invoices into a single invoice.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pdfUrl": {
          "description": "The URL to download a PDF copy of the invoice. Note that this URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an *Authorization: Bearer* HTTP header. The URL will only be usable for 7 days from when the api is called.",
          "type": "string"
        },
        "campaign_summaries": {
          "description": "The list of summarized campaign information associated with this invoice.",
          "type": "array",
          "items": {
            "$ref": "CampaignSummary"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#invoice\".",
          "type": "string"
        }
      }
    },
    "CampaignSummary": {
      "id": "CampaignSummary",
      "description": "Represents a summarized campaign information associated with this invoice.",
      "type": "object",
      "properties": {
        "campaignId": {
          "description": "Campaign ID.",
          "type": "string",
          "format": "int64"
        },
        "billingInvoiceCode": {
          "description": "Campaign billing invoice code.",
          "type": "string"
        },
        "preTaxAmountMicros": {
          "description": "The pre-tax amount for this campaign, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        },
        "taxAmountMicros": {
          "description": "The tax amount for this campaign, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        },
        "totalAmountMicros": {
          "description": "The total amount of charges for this campaign, in micros of the invoice's currency.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "LandingPage": {
      "id": "LandingPage",
      "description": "Contains information about where a user's browser is taken after the user clicks an ad.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this landing page. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this landing page. This is a required field. It must be less than 256 characters long.",
          "type": "string"
        },
        "url": {
          "description": "URL of this landing page. This is a required field.",
          "type": "string"
        },
        "archived": {
          "description": "Whether this landing page has been archived.",
          "type": "boolean"
        },
        "advertiserId": {
          "description": "Advertiser ID of this landing page. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "deepLinks": {
          "description": "Links that will direct the user to a mobile app, if installed.",
          "type": "array",
          "items": {
            "$ref": "DeepLink"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#landingPage\".",
          "type": "string"
        }
      }
    },
    "DeepLink": {
      "id": "DeepLink",
      "description": "Contains information about a landing page deep link.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#deepLink\".",
          "type": "string"
        },
        "appUrl": {
          "description": "The URL of the mobile app being linked to.",
          "type": "string"
        },
        "fallbackUrl": {
          "description": "The fallback URL. This URL will be served to users who do not have the mobile app installed.",
          "type": "string"
        },
        "remarketingListIds": {
          "description": "Ads served to users on these remarketing lists will use this deep link. Applicable when mobileApp.directory is APPLE_APP_STORE.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "mobileApp": {
          "description": "The mobile app targeted by this deep link.",
          "$ref": "MobileApp"
        }
      }
    },
    "MobileApp": {
      "id": "MobileApp",
      "description": "Contains information about a mobile app. Used as a landing page deep link.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this mobile app.",
          "type": "string"
        },
        "title": {
          "description": "Title of this mobile app.",
          "type": "string"
        },
        "directory": {
          "description": "Mobile app directory.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "UNKNOWN",
            "APPLE_APP_STORE",
            "GOOGLE_PLAY_STORE",
            "ROKU_APP_STORE",
            "AMAZON_FIRETV_APP_STORE",
            "PLAYSTATION_APP_STORE",
            "APPLE_TV_APP_STORE",
            "XBOX_APP_STORE",
            "SAMSUNG_TV_APP_STORE",
            "ANDROID_TV_APP_STORE",
            "GENERIC_CTV_APP_STORE"
          ]
        },
        "publisherName": {
          "description": "Publisher name.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileApp\".",
          "type": "string"
        }
      }
    },
    "AdvertiserLandingPagesListResponse": {
      "id": "AdvertiserLandingPagesListResponse",
      "description": "Landing Page List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserLandingPagesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "landingPages": {
          "description": "Landing page collection",
          "type": "array",
          "items": {
            "$ref": "LandingPage"
          }
        }
      }
    },
    "LanguagesListResponse": {
      "id": "LanguagesListResponse",
      "description": "Language List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#languagesListResponse\".",
          "type": "string"
        },
        "languages": {
          "description": "Language collection.",
          "type": "array",
          "items": {
            "$ref": "Language"
          }
        }
      }
    },
    "MetrosListResponse": {
      "id": "MetrosListResponse",
      "description": "Metro List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metrosListResponse\".",
          "type": "string"
        },
        "metros": {
          "description": "Metro collection.",
          "type": "array",
          "items": {
            "$ref": "Metro"
          }
        }
      }
    },
    "MobileAppsListResponse": {
      "id": "MobileAppsListResponse",
      "description": "Mobile app List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileAppsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "mobileApps": {
          "description": "Mobile apps collection.",
          "type": "array",
          "items": {
            "$ref": "MobileApp"
          }
        }
      }
    },
    "MobileCarriersListResponse": {
      "id": "MobileCarriersListResponse",
      "description": "Mobile Carrier List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarriersListResponse\".",
          "type": "string"
        },
        "mobileCarriers": {
          "description": "Mobile carrier collection.",
          "type": "array",
          "items": {
            "$ref": "MobileCarrier"
          }
        }
      }
    },
    "OperatingSystemsListResponse": {
      "id": "OperatingSystemsListResponse",
      "description": "Operating System List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemsListResponse\".",
          "type": "string"
        },
        "operatingSystems": {
          "description": "Operating system collection.",
          "type": "array",
          "items": {
            "$ref": "OperatingSystem"
          }
        }
      }
    },
    "OperatingSystemVersionsListResponse": {
      "id": "OperatingSystemVersionsListResponse",
      "description": "Operating System Version List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersionsListResponse\".",
          "type": "string"
        },
        "operatingSystemVersions": {
          "description": "Operating system version collection.",
          "type": "array",
          "items": {
            "$ref": "OperatingSystemVersion"
          }
        }
      }
    },
    "Order": {
      "id": "Order",
      "description": "Describes properties of a Planning order.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this order. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this order.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this order.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this order.",
          "type": "string",
          "format": "int64"
        },
        "projectId": {
          "description": "Project ID of this order.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this order.",
          "type": "string"
        },
        "buyerOrganizationName": {
          "description": "Name of the buyer organization.",
          "type": "string"
        },
        "sellerOrganizationName": {
          "description": "Name of the seller organization.",
          "type": "string"
        },
        "contacts": {
          "description": "Contacts for this order.",
          "type": "array",
          "items": {
            "$ref": "OrderContact"
          }
        },
        "termsAndConditions": {
          "description": "Terms and conditions of this order.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#order\".",
          "type": "string"
        },
        "notes": {
          "description": "Notes of this order.",
          "type": "string"
        },
        "buyerInvoiceId": {
          "description": "Buyer invoice ID associated with this order.",
          "type": "string"
        },
        "sellerOrderId": {
          "description": "Seller order ID associated with this order.",
          "type": "string"
        },
        "comments": {
          "description": "Comments in this order.",
          "type": "string"
        },
        "planningTermId": {
          "description": "ID of the terms and conditions template used in this order.",
          "type": "string",
          "format": "int64"
        },
        "approverUserProfileIds": {
          "description": "IDs for users that have to approve documents created for this order.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "siteNames": {
          "description": "Free-form site names this order is associated with.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "siteId": {
          "description": "Site IDs this order is associated with.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this order.",
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "OrderContact": {
      "id": "OrderContact",
      "description": "Contact of an order.",
      "type": "object",
      "properties": {
        "contactInfo": {
          "description": "Free-form information about this contact. It could be any information related to this contact in addition to type, title, name, and signature user profile ID.",
          "type": "string"
        },
        "contactType": {
          "description": "Type of this contact.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "PLANNING_ORDER_CONTACT_BUYER_CONTACT",
            "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT",
            "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
          ]
        },
        "contactTitle": {
          "description": "Title of this contact.",
          "type": "string"
        },
        "contactName": {
          "description": "Name of this contact.",
          "type": "string"
        },
        "signatureUserProfileId": {
          "description": "ID of the user profile containing the signature that will be embedded into order documents.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "OrdersListResponse": {
      "id": "OrdersListResponse",
      "description": "Order List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ordersListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "orders": {
          "description": "Order collection.",
          "type": "array",
          "items": {
            "$ref": "Order"
          }
        }
      }
    },
    "RemarketingList": {
      "id": "RemarketingList",
      "description": "Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Remarketing list ID. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Dimension value for the advertiser ID that owns this remarketing list. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "name": {
          "description": "Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.",
          "type": "string"
        },
        "description": {
          "description": "Remarketing list description.",
          "type": "string"
        },
        "active": {
          "description": "Whether this remarketing list is active.",
          "type": "boolean"
        },
        "listSize": {
          "description": "Number of users currently in the list. This is a read-only field.",
          "type": "string",
          "format": "int64"
        },
        "lifeSpan": {
          "description": "Number of days that a user should remain in the remarketing list without an impression. Acceptable values are 1 to 540, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "listPopulationRule": {
          "description": "Rule used to populate the remarketing list with users.",
          "$ref": "ListPopulationRule"
        },
        "listSource": {
          "description": "Product from which this remarketing list was originated.",
          "type": "string",
          "enumDescriptions": [
            "covers sources not supported in DCM other than those listed below",
            "ADX",
            "DFP",
            "XFP",
            "DoubleClick Campaign Manager",
            "Google Analytics Premium",
            "Youtube",
            "DoubleClick Bid Manager",
            "G+",
            "DoubleClick Audience Center",
            "Playstore"
          ],
          "enum": [
            "REMARKETING_LIST_SOURCE_OTHER",
            "REMARKETING_LIST_SOURCE_ADX",
            "REMARKETING_LIST_SOURCE_DFP",
            "REMARKETING_LIST_SOURCE_XFP",
            "REMARKETING_LIST_SOURCE_DFA",
            "REMARKETING_LIST_SOURCE_GA",
            "REMARKETING_LIST_SOURCE_YOUTUBE",
            "REMARKETING_LIST_SOURCE_DBM",
            "REMARKETING_LIST_SOURCE_GPLUS",
            "REMARKETING_LIST_SOURCE_DMP",
            "REMARKETING_LIST_SOURCE_PLAY_STORE"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingList\".",
          "type": "string"
        }
      }
    },
    "ListPopulationRule": {
      "id": "ListPopulationRule",
      "description": "Remarketing List Population Rule.",
      "type": "object",
      "properties": {
        "floodlightActivityId": {
          "description": "Floodlight activity ID associated with this rule. This field can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "floodlightActivityName": {
          "description": "Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.",
          "type": "string"
        },
        "listPopulationClauses": {
          "description": "Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.",
          "type": "array",
          "items": {
            "$ref": "ListPopulationClause"
          }
        }
      }
    },
    "ListPopulationClause": {
      "id": "ListPopulationClause",
      "description": "A group clause made up of list population terms representing constraints joined by ORs.",
      "type": "object",
      "properties": {
        "terms": {
          "description": "Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.",
          "type": "array",
          "items": {
            "$ref": "ListPopulationTerm"
          }
        }
      }
    },
    "ListPopulationTerm": {
      "id": "ListPopulationTerm",
      "description": "Remarketing List Population Rule Term.",
      "type": "object",
      "properties": {
        "variableName": {
          "description": "Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.",
          "type": "string"
        },
        "variableFriendlyName": {
          "description": "Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.",
          "type": "string"
        },
        "operator": {
          "description": "Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "NUM_EQUALS",
            "NUM_LESS_THAN",
            "NUM_LESS_THAN_EQUAL",
            "NUM_GREATER_THAN",
            "NUM_GREATER_THAN_EQUAL",
            "STRING_EQUALS",
            "STRING_CONTAINS"
          ]
        },
        "value": {
          "description": "Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.",
          "type": "string"
        },
        "negation": {
          "description": "Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.",
          "type": "boolean"
        },
        "remarketingListId": {
          "description": "ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.",
          "type": "string",
          "format": "int64"
        },
        "contains": {
          "description": "Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.",
          "type": "boolean"
        },
        "type": {
          "description": "List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "CUSTOM_VARIABLE_TERM",
            "LIST_MEMBERSHIP_TERM",
            "REFERRER_TERM"
          ]
        }
      }
    },
    "RemarketingListShare": {
      "id": "RemarketingListShare",
      "description": "Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.",
      "type": "object",
      "properties": {
        "remarketingListId": {
          "description": "Remarketing list ID. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "sharedAccountIds": {
          "description": "Accounts that the remarketing list is shared with.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "sharedAdvertiserIds": {
          "description": "Advertisers that the remarketing list is shared with.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListShare\".",
          "type": "string"
        }
      }
    },
    "Site": {
      "id": "Site",
      "description": "Contains properties of a site.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this site. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "keyName": {
          "description": "Key name of this site. This is a read-only, auto-generated field.",
          "type": "string"
        },
        "name": {
          "description": "Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this site. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this site. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "approved": {
          "description": "Whether this site is approved.",
          "type": "boolean"
        },
        "siteSettings": {
          "description": "Site-wide settings.",
          "$ref": "SiteSettings"
        },
        "siteContacts": {
          "description": "Site contacts.",
          "type": "array",
          "items": {
            "$ref": "SiteContact"
          }
        },
        "directorySiteId": {
          "description": "Directory site associated with this site. This is a required field that is read-only after insertion.",
          "type": "string",
          "format": "int64"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "directorySiteIdDimensionValue": {
          "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#site\".",
          "type": "string"
        },
        "videoSettings": {
          "description": "Default video settings for new placements created under this site. This value will be used to populate the placements.videoSettings field, when no value is specified for the new placement.",
          "$ref": "SiteVideoSettings"
        },
        "adServingPlatformId": {
          "description": "Optional. Ad serving platform ID to identify the ad serving platform used by the site. Measurement partners can use this field to add ad-server specific macros. If set, this value acts as the default during placement creation. Possible values are: * `1`, Adelphic * `2`, Adform * `3`, Adobe * `4`, Amobee * `5`, Basis (Centro) * `6`, Beeswax * `7`, Amazon * `8`, DV360 (DBM) * `9`, Innovid * `10`, MediaMath * `11`, Roku OneView DSP * `12`, TabMo Hawk * `13`, The Trade Desk * `14`, Xandr Invest DSP * `15`, Yahoo DSP * `16`, Zeta Global * `17`, Scaleout * `18`, Bidtellect * `19`, Unicorn * `20`, Teads * `21`, Quantcast * `22`, Cognitiv * `23`, AdTheorent * `24`, DeepIntent * `25`, Pulsepoint",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "SiteSettings": {
      "id": "SiteSettings",
      "description": "Site Settings",
      "type": "object",
      "properties": {
        "disableNewCookie": {
          "description": "Whether new cookies are disabled for this site.",
          "type": "boolean"
        },
        "tagSetting": {
          "description": "Configuration settings for dynamic and image floodlight tags.",
          "$ref": "TagSetting"
        },
        "activeViewOptOut": {
          "description": "Whether active view creatives are disabled for this site.",
          "type": "boolean"
        },
        "adBlockingOptOut": {
          "description": "Whether this site opts out of ad blocking. When true, ad blocking is disabled for all placements under the site, regardless of the individual placement settings. When false, the campaign and placement settings take effect.",
          "type": "boolean"
        },
        "videoActiveViewOptOutTemplate": {
          "description": "Whether Verification and ActiveView for in-stream video creatives are disabled by default for new placements created under this site. This value will be used to populate the placement.videoActiveViewOptOut field, when no value is specified for the new placement.",
          "type": "boolean"
        },
        "vpaidAdapterChoiceTemplate": {
          "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter). *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
          "type": "string",
          "enumDescriptions": [
            "DEFAULT means Google chooses which adapter, if any, to serve.",
            "",
            "",
            ""
          ],
          "enum": [
            "DEFAULT",
            "FLASH",
            "HTML5",
            "BOTH"
          ]
        }
      }
    },
    "TagSetting": {
      "id": "TagSetting",
      "description": "Tag Settings",
      "type": "object",
      "properties": {
        "additionalKeyValues": {
          "description": "Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.",
          "type": "string"
        },
        "includeClickTracking": {
          "description": "Whether click-tracking string should be included in the tags.",
          "type": "boolean"
        },
        "includeClickThroughUrls": {
          "description": "Whether static landing page URLs should be included in the tags. New placements will default to the value set on their site.",
          "type": "boolean"
        },
        "keywordOption": {
          "description": "Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.",
          "type": "string",
          "enumDescriptions": [
            "Creates DART ad tags with a placeholder, such as kw=[keyword] and a list of keywords. The site trafficker must replace [keyword] with the keywords targeted by an ad.",
            "Creates DART ad tags that do not have a placeholder for keywords and creates a list of keywords separately from the DART ad tags. Use this option if the site uses a keyword referrer or is a site that uses DART for Publishers.",
            "Results in unique tag generation for each relevant keyword during tag export. For example, an ad with three keywords will generate three tags with each tag having its kw= parameter filled in with the relevant keyword values."
          ],
          "enum": [
            "PLACEHOLDER_WITH_LIST_OF_KEYWORDS",
            "IGNORE",
            "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
          ]
        },
        "includeUnescapedlpurlMacro": {
          "description": "Optional. Indicates that the unescapedlpurl macro should be included in the tag for the static landing page. New placements will default to the value set on their site.",
          "type": "boolean"
        }
      }
    },
    "SiteContact": {
      "id": "SiteContact",
      "description": "Site Contact",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this site contact. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "contactType": {
          "description": "Site contact type.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "SALES_PERSON",
            "TRAFFICKER"
          ]
        },
        "email": {
          "description": "Email address of this site contact. This is a required field.",
          "type": "string"
        },
        "firstName": {
          "description": "First name of this site contact.",
          "type": "string"
        },
        "lastName": {
          "description": "Last name of this site contact.",
          "type": "string"
        },
        "title": {
          "description": "Title or designation of this site contact.",
          "type": "string"
        },
        "address": {
          "description": "Address of this site contact.",
          "type": "string"
        },
        "phone": {
          "description": "Primary phone number of this site contact.",
          "type": "string"
        }
      }
    },
    "SiteVideoSettings": {
      "id": "SiteVideoSettings",
      "description": "Video Settings",
      "type": "object",
      "properties": {
        "companionSettings": {
          "description": "Settings for the companion creatives of video creatives served to this site.",
          "$ref": "SiteCompanionSetting"
        },
        "transcodeSettings": {
          "description": "Settings for the transcodes of video creatives served to this site. This will act as default for new placements created under this site.",
          "$ref": "SiteTranscodeSetting"
        },
        "skippableSettings": {
          "description": "Settings for the skippability of video creatives served to this site. This will act as default for new placements created under this site.",
          "$ref": "SiteSkippableSetting"
        },
        "orientation": {
          "description": "Orientation of a site template used for video. This will act as default for new placements created under this site.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "ANY",
            "LANDSCAPE",
            "PORTRAIT"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteVideoSettings\".",
          "type": "string"
        },
        "obaSettings": {
          "description": "Settings for the OBA icon of video creatives served to this site. This will act as default for new placements created under this site.",
          "$ref": "ObaIcon"
        },
        "obaEnabled": {
          "description": "Whether OBA icons are enabled for this placement.",
          "type": "boolean"
        },
        "publisherSpecificationId": {
          "description": "Publisher specification ID used to identify site-associated publisher requirements and automatically populate transcode settings. If publisher specification ID is specified, it will take precedence over transcode settings. Possible values are: * `1`, Hulu * `2`, NBC * `3`, CBS * `4`, CBS Desktop * `5`, Discovery * `6`, VEVO HD * `7`, VEVO Vertical * `8`, Fox * `9`, CW Network * `10`, Disney * `11`, IGN * `12`, NFL.com * `13`, Turner Broadcasting * `14`, Tubi on Fox * `15`, Hearst Corporation * `16`, Twitch Desktop * `17`, ABC * `18`, Univision * `19`, MLB.com * `20`, MLB.com Mobile * `21`, MLB.com OTT * `22`, Polsat * `23`, TVN * `24`, Mediaset * `25`, Antena 3 * `26`, Mediamond * `27`, Sky Italia * `28`, Tubi on CBS * `29`, Spotify * `30`, Paramount * `31`, Max",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "SiteCompanionSetting": {
      "id": "SiteCompanionSetting",
      "description": "Companion Settings",
      "type": "object",
      "properties": {
        "companionsDisabled": {
          "description": "Whether companions are disabled for this site template.",
          "type": "boolean"
        },
        "enabledSizes": {
          "description": "Allowlist of companion sizes to be served via this site template. Set this list to null or empty to serve all companion sizes.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        },
        "imageOnly": {
          "description": "Whether to serve only static images as companions.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteCompanionSetting\".",
          "type": "string"
        }
      }
    },
    "SiteTranscodeSetting": {
      "id": "SiteTranscodeSetting",
      "description": "Transcode Settings",
      "type": "object",
      "properties": {
        "enabledVideoFormats": {
          "description": "Allowlist of video formats to be served to this site template. Set this list to null or empty to serve all video formats.",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteTranscodeSetting\".",
          "type": "string"
        }
      }
    },
    "SiteSkippableSetting": {
      "id": "SiteSkippableSetting",
      "description": "Skippable Settings",
      "type": "object",
      "properties": {
        "skippable": {
          "description": "Whether the user can skip creatives served to this site. This will act as default for new placements created under this site.",
          "type": "boolean"
        },
        "skipOffset": {
          "description": "Amount of time to play videos served to this site before the skip button should appear. Applicable when skippable is true.",
          "$ref": "VideoOffset"
        },
        "progressOffset": {
          "description": "Amount of time to play videos served to this site template before counting a view. Applicable when skippable is true.",
          "$ref": "VideoOffset"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteSkippableSetting\".",
          "type": "string"
        }
      }
    },
    "Subaccount": {
      "id": "Subaccount",
      "description": "Contains properties of a Campaign Manager subaccount.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this subaccount. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "ID of the account that contains this subaccount. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "availablePermissionIds": {
          "description": "IDs of the available user role permissions for this subaccount.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccount\".",
          "type": "string"
        }
      }
    },
    "UserRole": {
      "id": "UserRole",
      "description": "Contains properties of auser role, which is used to manage user access.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this user role. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this user role. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this user role. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "parentUserRoleId": {
          "description": "ID of the user role that this user role is based on or copied from. This is a required field.",
          "type": "string",
          "format": "int64"
        },
        "permissions": {
          "description": "List of permissions associated with this user role.",
          "type": "array",
          "items": {
            "$ref": "UserRolePermission"
          }
        },
        "defaultUserRole": {
          "description": "Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRole\".",
          "type": "string"
        }
      }
    },
    "UserRolePermission": {
      "id": "UserRolePermission",
      "description": "Contains properties of a user role permission.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this user role permission.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this user role permission.",
          "type": "string"
        },
        "permissionGroupId": {
          "description": "ID of the permission group that this user role permission belongs to.",
          "type": "string",
          "format": "int64"
        },
        "availability": {
          "description": "Levels of availability for a user role permission.",
          "type": "string",
          "enumDescriptions": [
            "Not available by default.",
            "Available by default to accounts only.",
            "Available by default to both accounts and subaccounts.",
            "Always available to accounts.",
            "Always available to both accounts and subaccounts.",
            "Available for user profile permissions only."
          ],
          "enum": [
            "NOT_AVAILABLE_BY_DEFAULT",
            "ACCOUNT_BY_DEFAULT",
            "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT",
            "ACCOUNT_ALWAYS",
            "SUBACCOUNT_AND_ACCOUNT_ALWAYS",
            "USER_PROFILE_ONLY"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermission\".",
          "type": "string"
        }
      }
    },
    "TargetingTemplate": {
      "id": "TargetingTemplate",
      "description": "Contains properties of a targeting template. A targeting template encapsulates targeting information which can be reused across multiple ads.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this targeting template. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this targeting template. This field, if left unset, will be auto-generated on insert and is read-only after insert.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this targeting template. This field, if left unset, will be auto-generated on insert and is read-only after insert.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this targeting template. This is a required field on insert and is read-only after insert.",
          "type": "string",
          "format": "int64"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "name": {
          "description": "Name of this targeting template. This field is required. It must be less than 256 characters long and unique within an advertiser.",
          "type": "string"
        },
        "geoTargeting": {
          "description": "Geographical targeting criteria.",
          "$ref": "GeoTargeting"
        },
        "technologyTargeting": {
          "description": "Technology platform targeting criteria.",
          "$ref": "TechnologyTargeting"
        },
        "dayPartTargeting": {
          "description": "Time and day targeting criteria.",
          "$ref": "DayPartTargeting"
        },
        "keyValueTargetingExpression": {
          "description": "Key-value targeting criteria.",
          "$ref": "KeyValueTargetingExpression"
        },
        "languageTargeting": {
          "description": "Language targeting criteria.",
          "$ref": "LanguageTargeting"
        },
        "listTargetingExpression": {
          "description": "Remarketing list targeting criteria.",
          "$ref": "ListTargetingExpression"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplate\".",
          "type": "string"
        },
        "contextualKeywordTargeting": {
          "description": "Optional. Contextual keyword targeting criteria.",
          "$ref": "ContextualKeywordTargeting"
        }
      }
    },
    "Placement": {
      "id": "Placement",
      "description": "Contains properties of a placement.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this placement. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this placement. This field can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this placement. This field can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this placement. This field can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "campaignId": {
          "description": "Campaign ID of this placement. This field is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this placement.This is a required field and must be less than or equal to 512 characters long.",
          "type": "string"
        },
        "siteId": {
          "description": "Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.",
          "type": "string",
          "format": "int64"
        },
        "keyName": {
          "description": "Key name of this placement. This is a read-only, auto-generated field.",
          "type": "string"
        },
        "directorySiteId": {
          "description": "Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.",
          "type": "string",
          "format": "int64"
        },
        "paymentSource": {
          "description": "Payment source for this placement. This is a required field that is read-only after insertion.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "PLACEMENT_AGENCY_PAID",
            "PLACEMENT_PUBLISHER_PAID"
          ]
        },
        "compatibility": {
          "description": "Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "Deprecated enum value. No longer supported.",
            "Deprecated enum value. No longer supported.",
            "",
            ""
          ],
          "enum": [
            "DISPLAY",
            "DISPLAY_INTERSTITIAL",
            "APP",
            "APP_INTERSTITIAL",
            "IN_STREAM_VIDEO",
            "IN_STREAM_AUDIO"
          ]
        },
        "size": {
          "description": "Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.",
          "$ref": "Size"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placement\".",
          "type": "string"
        },
        "paymentApproved": {
          "description": "Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.",
          "type": "boolean"
        },
        "pricingSchedule": {
          "description": "Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.",
          "$ref": "PricingSchedule"
        },
        "placementGroupId": {
          "description": "ID of this placement's group, if applicable.",
          "type": "string",
          "format": "int64"
        },
        "primary": {
          "description": "Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.",
          "type": "boolean"
        },
        "tagSetting": {
          "description": "Tag settings for this placement.",
          "$ref": "TagSetting"
        },
        "tagFormats": {
          "description": "Tag formats to generate for this placement. This field is required on insertion. Acceptable values are: - \"PLACEMENT_TAG_STANDARD\" - \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_IFRAME_ILAYER\" - \"PLACEMENT_TAG_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\" - \"PLACEMENT_TAG_CLICK_COMMANDS\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4\" - \"PLACEMENT_TAG_TRACKING\" - \"PLACEMENT_TAG_TRACKING_IFRAME\" - \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\" ",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "PLACEMENT_TAG_STANDARD",
              "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
              "PLACEMENT_TAG_IFRAME_ILAYER",
              "PLACEMENT_TAG_INTERNAL_REDIRECT",
              "PLACEMENT_TAG_JAVASCRIPT",
              "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
              "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
              "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
              "PLACEMENT_TAG_CLICK_COMMANDS",
              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
              "PLACEMENT_TAG_TRACKING",
              "PLACEMENT_TAG_TRACKING_IFRAME",
              "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
              "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
              "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
              "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
              "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
              "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
            ]
          }
        },
        "contentCategoryId": {
          "description": "ID of the content category assigned to this placement.",
          "type": "string",
          "format": "int64"
        },
        "placementStrategyId": {
          "description": "ID of the placement strategy assigned to this placement.",
          "type": "string",
          "format": "int64"
        },
        "lookbackConfiguration": {
          "description": "Lookback window settings for this placement.",
          "$ref": "LookbackConfiguration"
        },
        "comment": {
          "description": "Comments for this placement.",
          "type": "string"
        },
        "status": {
          "description": "Third-party placement status.",
          "type": "string",
          "enumDescriptions": [
            "Placement is not yet reviewed by publisher.",
            "Placement Ad Serving fee is accepted by publisher",
            "Placement Ad Serving fee is rejected by publisher",
            "Advertisers has accepted rejection of placement ad serving fee. This will suppress future notification on DDMM UI",
            "Advertisers has accepted acceptance of placement ad serving fee. This will suppress future notification on DDMM UI",
            "Advertisers is still working on placement not yet ready for Publisher review; default status for pub-paid placements"
          ],
          "enum": [
            "PENDING_REVIEW",
            "PAYMENT_ACCEPTED",
            "PAYMENT_REJECTED",
            "ACKNOWLEDGE_REJECTION",
            "ACKNOWLEDGE_ACCEPTANCE",
            "DRAFT"
          ]
        },
        "publisherUpdateInfo": {
          "description": "Information about the last publisher update. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this placement. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "sslRequired": {
          "description": "Whether creatives assigned to this placement must be SSL-compliant.",
          "type": "boolean"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this placement. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "campaignIdDimensionValue": {
          "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "siteIdDimensionValue": {
          "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "directorySiteIdDimensionValue": {
          "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "placementGroupIdDimensionValue": {
          "description": "Dimension value for the ID of the placement group. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "externalId": {
          "description": "External ID for this placement.",
          "type": "string"
        },
        "createInfo": {
          "description": "Information about the creation of this placement. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "videoSettings": {
          "description": "A collection of settings which affect video creatives served through this placement. Applicable to placements with IN_STREAM_VIDEO compatibility.",
          "$ref": "VideoSettings"
        },
        "videoActiveViewOptOut": {
          "description": "Whether Verification and ActiveView are disabled for in-stream video creatives for this placement. The same setting videoActiveViewOptOut exists on the site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.",
          "type": "boolean"
        },
        "vpaidAdapterChoice": {
          "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement. *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
          "type": "string",
          "enumDescriptions": [
            "DEFAULT means Google chooses which adapter, if any, to serve.",
            "",
            "",
            ""
          ],
          "enum": [
            "DEFAULT",
            "FLASH",
            "HTML5",
            "BOTH"
          ]
        },
        "adBlockingOptOut": {
          "description": "Whether this placement opts out of ad blocking. When true, ad blocking is disabled for this placement. When false, the campaign and site settings take effect.",
          "type": "boolean"
        },
        "additionalSizes": {
          "description": "Additional sizes associated with this placement. When inserting or updating a placement, only the size ID field is used.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        },
        "wrappingOptOut": {
          "description": "Whether this placement opts out of tag wrapping.",
          "type": "boolean"
        },
        "partnerWrappingData": {
          "description": "Measurement partner provided settings for a wrapped placement.",
          "$ref": "MeasurementPartnerWrappingData"
        },
        "activeStatus": {
          "description": "Whether this placement is active, inactive, archived or permanently archived.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PLACEMENT_STATUS_UNKNOWN",
            "PLACEMENT_STATUS_ACTIVE",
            "PLACEMENT_STATUS_INACTIVE",
            "PLACEMENT_STATUS_ARCHIVED",
            "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED"
          ]
        },
        "conversionDomainOverride": {
          "description": "Optional. Conversion domain overrides for a placement.",
          "$ref": "PlacementConversionDomainOverride"
        },
        "adServingPlatformId": {
          "description": "Optional. Ad serving platform ID to identify the ad serving platform used by the placement. Measurement partners can use this field to add ad-server specific macros. Possible values are: * `1`, Adelphic * `2`, Adform * `3`, Adobe * `4`, Amobee * `5`, Basis (Centro) * `6`, Beeswax * `7`, Amazon * `8`, DV360 (DBM) * `9`, Innovid * `10`, MediaMath * `11`, Roku OneView DSP * `12`, TabMo Hawk * `13`, The Trade Desk * `14`, Xandr Invest DSP * `15`, Yahoo DSP * `16`, Zeta Global * `17`, Scaleout * `18`, Bidtellect * `19`, Unicorn * `20`, Teads * `21`, Quantcast * `22`, Cognitiv * `23`, AdTheorent * `24`, DeepIntent * `25`, Pulsepoint",
          "type": "string",
          "format": "int64"
        },
        "siteServed": {
          "description": "Optional. Whether the ads in the placement are served by another platform and CM is only used for tracking or they are served by CM. A false value indicates the ad is served by CM.",
          "type": "boolean"
        },
        "allowOnYoutube": {
          "description": "Optional. Whether the placement is enabled for YouTube integration.",
          "type": "boolean"
        },
        "youtubeSettings": {
          "description": "Optional. YouTube settings for the placement. The placement must be enabled for YouTube to use this field.",
          "$ref": "YoutubeSettings"
        }
      }
    },
    "PricingSchedule": {
      "id": "PricingSchedule",
      "description": "Pricing Schedule",
      "type": "object",
      "properties": {
        "testingStartDate": {
          "type": "string",
          "format": "date"
        },
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "pricingType": {
          "description": "Placement pricing type. This field is required on insertion.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PRICING_TYPE_CPM",
            "PRICING_TYPE_CPC",
            "PRICING_TYPE_CPA",
            "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
            "PRICING_TYPE_FLAT_RATE_CLICKS",
            "PRICING_TYPE_CPM_ACTIVEVIEW"
          ]
        },
        "capCostOption": {
          "description": "Placement cap cost option.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "CAP_COST_NONE",
            "CAP_COST_MONTHLY",
            "CAP_COST_CUMULATIVE"
          ]
        },
        "flighted": {
          "description": "Whether this placement is flighted. If true, pricing periods will be computed automatically.",
          "type": "boolean"
        },
        "pricingPeriods": {
          "description": "Pricing periods for this placement.",
          "type": "array",
          "items": {
            "$ref": "PricingSchedulePricingPeriod"
          }
        },
        "floodlightActivityId": {
          "description": "Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "PricingSchedulePricingPeriod": {
      "id": "PricingSchedulePricingPeriod",
      "description": "Pricing Period",
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "units": {
          "description": "Units of this pricing period. Acceptable values are 0 to 10000000000, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "rateOrCostNanos": {
          "description": "Rate or cost of this pricing period in nanos (i.e., multiplied by 1000000000). Acceptable values are 0 to 1000000000000000000, inclusive.",
          "type": "string",
          "format": "int64"
        },
        "pricingComment": {
          "description": "Comments for this pricing period.",
          "type": "string"
        }
      }
    },
    "VideoSettings": {
      "id": "VideoSettings",
      "description": "Video Settings",
      "type": "object",
      "properties": {
        "companionSettings": {
          "description": "Settings for the companion creatives of video creatives served to this placement.",
          "$ref": "CompanionSetting"
        },
        "transcodeSettings": {
          "description": "Settings for the transcodes of video creatives served to this placement. If this object is provided, the creative-level transcode settings will be overridden.",
          "$ref": "TranscodeSetting"
        },
        "skippableSettings": {
          "description": "Settings for the skippability of video creatives served to this placement. If this object is provided, the creative-level skippable settings will be overridden.",
          "$ref": "SkippableSetting"
        },
        "orientation": {
          "description": "Orientation of a video placement. If this value is set, placement will return assets matching the specified orientation.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "ANY",
            "LANDSCAPE",
            "PORTRAIT"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoSettings\".",
          "type": "string"
        },
        "obaSettings": {
          "description": "Settings for the OBA icon of video creatives served to this placement. If this object is provided, the creative-level OBA settings will be overridden.",
          "$ref": "ObaIcon"
        },
        "obaEnabled": {
          "description": "Whether OBA icons are enabled for this placement.",
          "type": "boolean"
        },
        "durationSeconds": {
          "description": "Duration of a video placement in seconds.",
          "type": "integer",
          "format": "int32"
        },
        "publisherSpecificationId": {
          "description": "Publisher specification ID of a video placement. Possible values are: * `1`, Hulu * `2`, NBC * `3`, CBS * `4`, CBS Desktop * `5`, Discovery * `6`, VEVO HD * `7`, VEVO Vertical * `8`, Fox * `9`, CW Network * `10`, Disney * `11`, IGN * `12`, NFL.com * `13`, Turner Broadcasting * `14`, Tubi on Fox * `15`, Hearst Corporation * `16`, Twitch Desktop * `17`, ABC * `18`, Univision * `19`, MLB.com * `20`, MLB.com Mobile * `21`, MLB.com OTT * `22`, Polsat * `23`, TVN * `24`, Mediaset * `25`, Antena 3 * `26`, Mediamond * `27`, Sky Italia * `28`, Tubi on CBS * `29`, Spotify * `30`, Paramount * `31`, Max",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "CompanionSetting": {
      "id": "CompanionSetting",
      "description": "Companion Settings",
      "type": "object",
      "properties": {
        "companionsDisabled": {
          "description": "Whether companions are disabled for this placement.",
          "type": "boolean"
        },
        "enabledSizes": {
          "description": "Allowlist of companion sizes to be served to this placement. Set this list to null or empty to serve all companion sizes.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        },
        "imageOnly": {
          "description": "Whether to serve only static images as companions.",
          "type": "boolean"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#companionSetting\".",
          "type": "string"
        }
      }
    },
    "TranscodeSetting": {
      "id": "TranscodeSetting",
      "description": "Transcode Settings",
      "type": "object",
      "properties": {
        "enabledVideoFormats": {
          "description": "Allowlist of video formats to be served to this placement. Set this list to null or empty to serve all video formats.",
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#transcodeSetting\".",
          "type": "string"
        }
      }
    },
    "SkippableSetting": {
      "id": "SkippableSetting",
      "description": "Skippable Settings",
      "type": "object",
      "properties": {
        "skippable": {
          "description": "Whether the user can skip creatives served to this placement.",
          "type": "boolean"
        },
        "skipOffset": {
          "description": "Amount of time to play videos served to this placement before the skip button should appear. Applicable when skippable is true.",
          "$ref": "VideoOffset"
        },
        "progressOffset": {
          "description": "Amount of time to play videos served to this placement before counting a view. Applicable when skippable is true.",
          "$ref": "VideoOffset"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#skippableSetting\".",
          "type": "string"
        }
      }
    },
    "MeasurementPartnerWrappingData": {
      "id": "MeasurementPartnerWrappingData",
      "description": "Placement tag wrapping",
      "type": "object",
      "properties": {
        "measurementPartner": {
          "description": "Measurement partner used for wrapping the placement.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "NONE",
            "INTEGRAL_AD_SCIENCE",
            "DOUBLE_VERIFY"
          ]
        },
        "linkStatus": {
          "description": "Placement wrapping status.",
          "type": "string",
          "enumDescriptions": [
            "Unlinked.",
            "Linked successfully",
            "Link pending for wrapping.",
            "Linking failure.",
            "Link opt-out by user.",
            "Link opt-out pending sync.",
            "Link wrap answer pending.",
            "Mode change pending.",
            "Partner unlink pending."
          ],
          "enum": [
            "MEASUREMENT_PARTNER_UNLINKED",
            "MEASUREMENT_PARTNER_LINKED",
            "MEASUREMENT_PARTNER_LINK_PENDING",
            "MEASUREMENT_PARTNER_LINK_FAILURE",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT",
            "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING",
            "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING",
            "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING",
            "MEASUREMENT_PARTNER_UNLINK_PENDING"
          ]
        },
        "wrappedTag": {
          "description": "Tag provided by the measurement partner during wrapping.",
          "type": "string"
        },
        "tagWrappingMode": {
          "description": "Measurement mode for the wrapped placement.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "NONE",
            "BLOCKING",
            "MONITORING",
            "MONITORING_READ_ONLY",
            "VIDEO_PIXEL_MONITORING",
            "TRACKING",
            "VPAID_MONITORING",
            "VPAID_BLOCKING",
            "NON_VPAID_MONITORING",
            "VPAID_ONLY_MONITORING",
            "VPAID_ONLY_BLOCKING",
            "VPAID_ONLY_FILTERING",
            "VPAID_FILTERING",
            "NON_VPAID_FILTERING",
            "BLOCKING_FILTERING_VPAID",
            "BLOCKING_FILTERING_VPAID_ONLY"
          ]
        }
      }
    },
    "PlacementConversionDomainOverride": {
      "id": "PlacementConversionDomainOverride",
      "type": "object",
      "properties": {
        "conversionDomains": {
          "type": "array",
          "items": {
            "$ref": "PlacementSingleConversionDomain"
          }
        }
      }
    },
    "PlacementSingleConversionDomain": {
      "id": "PlacementSingleConversionDomain",
      "type": "object",
      "properties": {
        "conversionDomainId": {
          "type": "string",
          "format": "int64"
        },
        "conversionDomainValue": {
          "type": "string"
        }
      }
    },
    "YoutubeSettings": {
      "id": "YoutubeSettings",
      "description": "Contains the YouTube settings.",
      "type": "object",
      "properties": {
        "businessName": {
          "description": "Optional. The business name.",
          "type": "string"
        },
        "businessLogoCreativeIds": {
          "description": "Optional. The IDs of the creatives to use for the business logo. Currently only one creative is supported.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "longHeadlines": {
          "description": "Optional. The long headlines. Currently only one long headline is supported.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "descriptions": {
          "description": "Optional. The descriptions. Currently only one description is supported.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "callToActions": {
          "description": "Optional. The call to actions. Currently only one call to action is supported.",
          "type": "array",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "enum": [
              "CALL_TO_ACTION_UNKNOWN",
              "CALL_TO_ACTION_LEARN_MORE",
              "CALL_TO_ACTION_GET_QUOTE",
              "CALL_TO_ACTION_APPLY_NOW",
              "CALL_TO_ACTION_SIGN_UP",
              "CALL_TO_ACTION_CONTACT_US",
              "CALL_TO_ACTION_SUBSCRIBE",
              "CALL_TO_ACTION_DOWNLOAD",
              "CALL_TO_ACTION_BOOK_NOW",
              "CALL_TO_ACTION_GET_OFFER",
              "CALL_TO_ACTION_SHOP_NOW",
              "CALL_TO_ACTION_VISIT_STORE",
              "CALL_TO_ACTION_CALL_NOW",
              "CALL_TO_ACTION_VIEW_MENU",
              "CALL_TO_ACTION_TEST_DRIVE",
              "CALL_TO_ACTION_SCHEDULE_NOW",
              "CALL_TO_ACTION_BUY_NOW",
              "CALL_TO_ACTION_DONATE_NOW",
              "CALL_TO_ACTION_ORDER_NOW",
              "CALL_TO_ACTION_PLAY_NOW",
              "CALL_TO_ACTION_SEE_MORE",
              "CALL_TO_ACTION_START_NOW",
              "CALL_TO_ACTION_VISIT_SITE",
              "CALL_TO_ACTION_WATCH_NOW"
            ]
          }
        },
        "headlines": {
          "description": "Optional. The headlines associated with the call to actions. Currently only one headline is supported.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "PlacementGroup": {
      "id": "PlacementGroup",
      "description": "Contains properties of a package or roadblock.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this placement group. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this placement group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this placement group. This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this placement group. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "campaignId": {
          "description": "Campaign ID of this placement group. This field is required on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this placement group. This is a required field and must be less than 256 characters long.",
          "type": "string"
        },
        "siteId": {
          "description": "Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.",
          "type": "string",
          "format": "int64"
        },
        "directorySiteId": {
          "description": "Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroup\".",
          "type": "string"
        },
        "pricingSchedule": {
          "description": "Pricing schedule of this placement group. This field is required on insertion.",
          "$ref": "PricingSchedule"
        },
        "placementGroupType": {
          "description": "Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.",
          "type": "string",
          "enumDescriptions": [
            "A simple group of site-placements (tags). Basically acts as a single pricing point for a group of tags.",
            "A group of site-placements (tags) that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. This kind of group requires one of its assigned site-placements to be marked as primary for reporting purposes."
          ],
          "enum": [
            "PLACEMENT_PACKAGE",
            "PLACEMENT_ROADBLOCK"
          ]
        },
        "contentCategoryId": {
          "description": "ID of the content category assigned to this placement group.",
          "type": "string",
          "format": "int64"
        },
        "placementStrategyId": {
          "description": "ID of the placement strategy assigned to this placement group.",
          "type": "string",
          "format": "int64"
        },
        "comment": {
          "description": "Comments for this placement group.",
          "type": "string"
        },
        "childPlacementIds": {
          "description": "IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "primaryPlacementId": {
          "description": "ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.",
          "type": "string",
          "format": "int64"
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this placement group. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "idDimensionValue": {
          "description": "Dimension value for the ID of this placement group. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "campaignIdDimensionValue": {
          "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "siteIdDimensionValue": {
          "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "directorySiteIdDimensionValue": {
          "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "primaryPlacementIdDimensionValue": {
          "description": "Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.",
          "$ref": "DimensionValue"
        },
        "externalId": {
          "description": "External ID for this placement.",
          "type": "string"
        },
        "createInfo": {
          "description": "Information about the creation of this placement group. This is a read-only field.",
          "$ref": "LastModifiedInfo"
        },
        "activeStatus": {
          "description": "Whether this placement group is active, inactive, archived or permanently archived.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PLACEMENT_STATUS_UNKNOWN",
            "PLACEMENT_STATUS_ACTIVE",
            "PLACEMENT_STATUS_INACTIVE",
            "PLACEMENT_STATUS_ARCHIVED",
            "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED"
          ]
        }
      }
    },
    "PlacementStrategy": {
      "id": "PlacementStrategy",
      "description": "Contains properties of a placement strategy.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this placement strategy. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.",
          "type": "string"
        },
        "accountId": {
          "description": "Account ID of this placement strategy.This is a read-only field that can be left blank.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategy\".",
          "type": "string"
        }
      }
    },
    "PlacementGroupsListResponse": {
      "id": "PlacementGroupsListResponse",
      "description": "Placement Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroupsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "placementGroups": {
          "description": "Placement group collection.",
          "type": "array",
          "items": {
            "$ref": "PlacementGroup"
          }
        }
      }
    },
    "PlacementsGenerateTagsResponse": {
      "id": "PlacementsGenerateTagsResponse",
      "description": "Placement GenerateTags Response",
      "type": "object",
      "properties": {
        "placementTags": {
          "description": "Set of generated tags for the specified placements.",
          "type": "array",
          "items": {
            "$ref": "PlacementTag"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsGenerateTagsResponse\".",
          "type": "string"
        }
      }
    },
    "PlacementTag": {
      "id": "PlacementTag",
      "description": "Placement Tag",
      "type": "object",
      "properties": {
        "placementId": {
          "description": "Placement ID",
          "type": "string",
          "format": "int64"
        },
        "tagDatas": {
          "description": "Tags generated for this placement.",
          "type": "array",
          "items": {
            "$ref": "TagData"
          }
        }
      }
    },
    "TagData": {
      "id": "TagData",
      "description": "Placement Tag Data",
      "type": "object",
      "properties": {
        "format": {
          "description": "TagData tag format of this tag.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PLACEMENT_TAG_STANDARD",
            "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
            "PLACEMENT_TAG_IFRAME_ILAYER",
            "PLACEMENT_TAG_INTERNAL_REDIRECT",
            "PLACEMENT_TAG_JAVASCRIPT",
            "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
            "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
            "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
            "PLACEMENT_TAG_CLICK_COMMANDS",
            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
            "PLACEMENT_TAG_TRACKING",
            "PLACEMENT_TAG_TRACKING_IFRAME",
            "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
            "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
            "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
            "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
            "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
            "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
          ]
        },
        "impressionTag": {
          "description": "Tag string for serving an ad.",
          "type": "string"
        },
        "clickTag": {
          "description": "Tag string to record a click.",
          "type": "string"
        },
        "adId": {
          "description": "Ad associated with this placement tag. Applicable only when format is PLACEMENT_TAG_TRACKING.",
          "type": "string",
          "format": "int64"
        },
        "creativeId": {
          "description": "Creative associated with this placement tag. Applicable only when format is PLACEMENT_TAG_TRACKING.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "PlacementsListResponse": {
      "id": "PlacementsListResponse",
      "description": "Placement List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "placements": {
          "description": "Placement collection.",
          "type": "array",
          "items": {
            "$ref": "Placement"
          }
        }
      }
    },
    "PlacementStrategiesListResponse": {
      "id": "PlacementStrategiesListResponse",
      "description": "Placement Strategy List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategiesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "placementStrategies": {
          "description": "Placement strategy collection.",
          "type": "array",
          "items": {
            "$ref": "PlacementStrategy"
          }
        }
      }
    },
    "PlatformTypesListResponse": {
      "id": "PlatformTypesListResponse",
      "description": "Platform Type List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformTypesListResponse\".",
          "type": "string"
        },
        "platformTypes": {
          "description": "Platform type collection.",
          "type": "array",
          "items": {
            "$ref": "PlatformType"
          }
        }
      }
    },
    "PostalCodesListResponse": {
      "id": "PostalCodesListResponse",
      "description": "Postal Code List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCodesListResponse\".",
          "type": "string"
        },
        "postalCodes": {
          "description": "Postal code collection.",
          "type": "array",
          "items": {
            "$ref": "PostalCode"
          }
        }
      }
    },
    "Project": {
      "id": "Project",
      "description": "Contains properties of a Planning project.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this project. This is a read-only, auto-generated field.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this project.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this project.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Advertiser ID of this project.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this project.",
          "type": "string"
        },
        "startDate": {
          "type": "string",
          "format": "date"
        },
        "endDate": {
          "type": "string",
          "format": "date"
        },
        "clientName": {
          "description": "Name of the project client.",
          "type": "string"
        },
        "clientBillingCode": {
          "description": "Client billing code of this project.",
          "type": "string"
        },
        "budget": {
          "description": "Budget of this project in the currency specified by the current account. The value stored in this field represents only the non-fractional amount. For example, for USD, the smallest value that can be represented by this field is 1 US dollar.",
          "type": "string",
          "format": "int64"
        },
        "targetCpmNanos": {
          "description": "CPM that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "targetCpcNanos": {
          "description": "CPC that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "targetCpaNanos": {
          "description": "CPA that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "targetImpressions": {
          "description": "Number of impressions that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "targetClicks": {
          "description": "Number of clicks that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "targetConversions": {
          "description": "Number of conversions that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "audienceAgeGroup": {
          "description": "Audience age group of this project.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "PLANNING_AUDIENCE_AGE_18_24",
            "PLANNING_AUDIENCE_AGE_25_34",
            "PLANNING_AUDIENCE_AGE_35_44",
            "PLANNING_AUDIENCE_AGE_45_54",
            "PLANNING_AUDIENCE_AGE_55_64",
            "PLANNING_AUDIENCE_AGE_65_OR_MORE",
            "PLANNING_AUDIENCE_AGE_UNKNOWN"
          ]
        },
        "audienceGender": {
          "description": "Audience gender of this project.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "PLANNING_AUDIENCE_GENDER_MALE",
            "PLANNING_AUDIENCE_GENDER_FEMALE"
          ]
        },
        "lastModifiedInfo": {
          "description": "Information about the most recent modification of this project.",
          "$ref": "LastModifiedInfo"
        },
        "overview": {
          "description": "Overview of this project.",
          "type": "string"
        },
        "targetCpmActiveViewNanos": {
          "description": "vCPM from Active View that the advertiser is targeting.",
          "type": "string",
          "format": "int64"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#project\".",
          "type": "string"
        }
      }
    },
    "ProjectsListResponse": {
      "id": "ProjectsListResponse",
      "description": "Project List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#projectsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "projects": {
          "description": "Project collection.",
          "type": "array",
          "items": {
            "$ref": "Project"
          }
        }
      }
    },
    "RegionsListResponse": {
      "id": "RegionsListResponse",
      "description": "Region List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#regionsListResponse\".",
          "type": "string"
        },
        "regions": {
          "description": "Region collection.",
          "type": "array",
          "items": {
            "$ref": "Region"
          }
        }
      }
    },
    "RemarketingListsListResponse": {
      "id": "RemarketingListsListResponse",
      "description": "Remarketing list response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "remarketingLists": {
          "description": "Remarketing list collection.",
          "type": "array",
          "items": {
            "$ref": "RemarketingList"
          }
        }
      }
    },
    "TargetableRemarketingList": {
      "id": "TargetableRemarketingList",
      "description": "Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to facilitate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Targetable remarketing list ID.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.",
          "type": "string",
          "format": "int64"
        },
        "subaccountId": {
          "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Dimension value for the advertiser ID that owns this targetable remarketing list.",
          "type": "string",
          "format": "int64"
        },
        "advertiserIdDimensionValue": {
          "description": "Dimension value for the ID of the advertiser.",
          "$ref": "DimensionValue"
        },
        "name": {
          "description": "Name of the targetable remarketing list. Is no greater than 128 characters long.",
          "type": "string"
        },
        "description": {
          "description": "Targetable remarketing list description.",
          "type": "string"
        },
        "active": {
          "description": "Whether this targetable remarketing list is active.",
          "type": "boolean"
        },
        "listSize": {
          "description": "Number of users currently in the list. This is a read-only field.",
          "type": "string",
          "format": "int64"
        },
        "lifeSpan": {
          "description": "Number of days that a user should remain in the targetable remarketing list without an impression.",
          "type": "string",
          "format": "int64"
        },
        "listSource": {
          "description": "Product from which this targetable remarketing list was originated.",
          "type": "string",
          "enumDescriptions": [
            "covers sources not supported in DCM other than those listed below",
            "ADX",
            "DFP",
            "XFP",
            "DoubleClick Campaign Manager",
            "Google Analytics Premium",
            "Youtube",
            "DoubleClick Bid Manager",
            "G+",
            "DoubleClick Audience Center",
            "Playstore"
          ],
          "enum": [
            "REMARKETING_LIST_SOURCE_OTHER",
            "REMARKETING_LIST_SOURCE_ADX",
            "REMARKETING_LIST_SOURCE_DFP",
            "REMARKETING_LIST_SOURCE_XFP",
            "REMARKETING_LIST_SOURCE_DFA",
            "REMARKETING_LIST_SOURCE_GA",
            "REMARKETING_LIST_SOURCE_YOUTUBE",
            "REMARKETING_LIST_SOURCE_DBM",
            "REMARKETING_LIST_SOURCE_GPLUS",
            "REMARKETING_LIST_SOURCE_DMP",
            "REMARKETING_LIST_SOURCE_PLAY_STORE"
          ]
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingList\".",
          "type": "string"
        }
      }
    },
    "TargetableRemarketingListsListResponse": {
      "id": "TargetableRemarketingListsListResponse",
      "description": "Targetable remarketing list response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingListsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "targetableRemarketingLists": {
          "description": "Targetable remarketing list collection.",
          "type": "array",
          "items": {
            "$ref": "TargetableRemarketingList"
          }
        }
      }
    },
    "Report": {
      "id": "Report",
      "description": "Represents a Report resource.",
      "type": "object",
      "properties": {
        "id": {
          "description": "The unique ID identifying this report resource.",
          "type": "string",
          "format": "int64"
        },
        "ownerProfileId": {
          "description": "The user profile id of the owner of this report.",
          "type": "string",
          "format": "int64"
        },
        "accountId": {
          "description": "The account ID to which this report belongs.",
          "type": "string",
          "format": "int64"
        },
        "subAccountId": {
          "description": "The subaccount ID to which this report belongs if applicable.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "The name of the report.",
          "type": "string"
        },
        "fileName": {
          "description": "The filename used when generating report files for this report.",
          "type": "string"
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#report.",
          "type": "string"
        },
        "type": {
          "description": "The type of the report.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "STANDARD",
            "REACH",
            "PATH_TO_CONVERSION",
            "CROSS_DIMENSION_REACH",
            "FLOODLIGHT",
            "CROSS_MEDIA_REACH"
          ]
        },
        "etag": {
          "description": "The eTag of this response for caching purposes.",
          "type": "string"
        },
        "lastModifiedTime": {
          "description": "The timestamp (in milliseconds since epoch) of when this report was last modified.",
          "type": "string",
          "format": "uint64"
        },
        "format": {
          "description": "The output format of the report. If not specified, default format is \"CSV\". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. \"CSV\" will then be the fallback format.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "CSV",
            "EXCEL"
          ]
        },
        "criteria": {
          "description": "The report criteria for a report of type \"STANDARD\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "The date range for which this report should be run.",
              "$ref": "DateRange"
            },
            "dimensions": {
              "description": "The list of standard dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "metricNames": {
              "description": "The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "dimensionFilters": {
              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "activities": {
              "description": "Activity group.",
              "$ref": "Activities"
            },
            "customRichMediaEvents": {
              "description": "Custom Rich Media Events group.",
              "$ref": "CustomRichMediaEvents"
            }
          }
        },
        "schedule": {
          "description": "The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not \"TODAY\".",
          "type": "object",
          "properties": {
            "active": {
              "description": "Whether the schedule is active or not. Must be set to either true or false.",
              "type": "boolean"
            },
            "repeats": {
              "description": "The interval for which the report is repeated. Note: - \"DAILY\" also requires field \"every\" to be set. - \"WEEKLY\" also requires fields \"every\" and \"repeatsOnWeekDays\" to be set. - \"MONTHLY\" also requires fields \"every\" and \"runsOnDayOfMonth\" to be set. ",
              "type": "string"
            },
            "repeatsOnWeekDays": {
              "description": "List of week days \"WEEKLY\" on which scheduled reports should run.",
              "type": "array",
              "items": {
                "type": "string",
                "enumDescriptions": [
                  "",
                  "",
                  "",
                  "",
                  "",
                  "",
                  ""
                ],
                "enum": [
                  "SUNDAY",
                  "MONDAY",
                  "TUESDAY",
                  "WEDNESDAY",
                  "THURSDAY",
                  "FRIDAY",
                  "SATURDAY"
                ]
              }
            },
            "every": {
              "description": "Defines every how many days, weeks or months the report should be run. Needs to be set when \"repeats\" is either \"DAILY\", \"WEEKLY\" or \"MONTHLY\".",
              "type": "integer",
              "format": "int32"
            },
            "startDate": {
              "type": "string",
              "format": "date"
            },
            "expirationDate": {
              "type": "string",
              "format": "date"
            },
            "runsOnDayOfMonth": {
              "description": "Enum to define for \"MONTHLY\" scheduled reports whether reports should be repeated on the same day of the month as \"startDate\" or the same day of the week of the month. Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent reports on the first Monday of the month.",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "DAY_OF_MONTH",
                "WEEK_OF_MONTH"
              ]
            },
            "timezone": {
              "description": "The timezone when the report will run.",
              "type": "string"
            }
          }
        },
        "reachCriteria": {
          "description": "The report criteria for a report of type \"REACH\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "The date range this report should be run for.",
              "$ref": "DateRange"
            },
            "dimensions": {
              "description": "The list of dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "metricNames": {
              "description": "The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "dimensionFilters": {
              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "activities": {
              "description": "Activity group.",
              "$ref": "Activities"
            },
            "customRichMediaEvents": {
              "description": "Custom Rich Media Events group.",
              "$ref": "CustomRichMediaEvents"
            },
            "reachByFrequencyMetricNames": {
              "description": "The list of names of Reach By Frequency metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "enableAllDimensionCombinations": {
              "description": "Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last 42 days.",
              "type": "boolean"
            }
          }
        },
        "pathToConversionCriteria": {
          "description": "The report criteria for a report of type \"PATH_TO_CONVERSION\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "The date range this report should be run for.",
              "$ref": "DateRange"
            },
            "floodlightConfigId": {
              "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.",
              "$ref": "DimensionValue"
            },
            "activityFilters": {
              "description": "The list of 'dfa:activity' values to filter on.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "conversionDimensions": {
              "description": "The list of conversion dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "perInteractionDimensions": {
              "description": "The list of per interaction dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "metricNames": {
              "description": "The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "customFloodlightVariables": {
              "description": "The list of custom floodlight variables the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "customRichMediaEvents": {
              "description": "The list of custom rich media events to include.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "reportProperties": {
              "description": "The properties of the report.",
              "type": "object",
              "properties": {
                "clicksLookbackWindow": {
                  "description": "CM360 checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.",
                  "type": "integer",
                  "format": "int32"
                },
                "impressionsLookbackWindow": {
                  "description": "CM360 checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.",
                  "type": "integer",
                  "format": "int32"
                },
                "maximumInteractionGap": {
                  "description": "The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.",
                  "type": "integer",
                  "format": "int32"
                },
                "maximumClickInteractions": {
                  "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.",
                  "type": "integer",
                  "format": "int32"
                },
                "maximumImpressionInteractions": {
                  "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.",
                  "type": "integer",
                  "format": "int32"
                },
                "pivotOnInteractionPath": {
                  "description": "Enable pivoting on interaction path.",
                  "type": "boolean"
                },
                "includeAttributedIPConversions": {
                  "description": "Deprecated: has no effect.",
                  "type": "boolean"
                },
                "includeUnattributedCookieConversions": {
                  "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.",
                  "type": "boolean"
                },
                "includeUnattributedIPConversions": {
                  "description": "Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.",
                  "type": "boolean"
                }
              }
            }
          }
        },
        "crossDimensionReachCriteria": {
          "description": "The report criteria for a report of type \"CROSS_DIMENSION_REACH\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "The date range this report should be run for.",
              "$ref": "DateRange"
            },
            "dimension": {
              "description": "The dimension option.",
              "type": "string",
              "enumDescriptions": [
                "",
                "",
                "",
                ""
              ],
              "enum": [
                "ADVERTISER",
                "CAMPAIGN",
                "SITE_BY_ADVERTISER",
                "SITE_BY_CAMPAIGN"
              ]
            },
            "pivoted": {
              "description": "Whether the report is pivoted or not. Defaults to true.",
              "type": "boolean"
            },
            "dimensionFilters": {
              "description": "The list of filters on which dimensions are filtered.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "breakdown": {
              "description": "The list of dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "metricNames": {
              "description": "The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "overlapMetricNames": {
              "description": "The list of names of overlap metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "floodlightCriteria": {
          "description": "The report criteria for a report of type \"FLOODLIGHT\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "The date range this report should be run for.",
              "$ref": "DateRange"
            },
            "floodlightConfigId": {
              "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.",
              "$ref": "DimensionValue"
            },
            "dimensionFilters": {
              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "dimensions": {
              "description": "The list of dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "metricNames": {
              "description": "The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "customRichMediaEvents": {
              "description": "The list of custom rich media events to include.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "reportProperties": {
              "description": "The properties of the report.",
              "type": "object",
              "properties": {
                "includeAttributedIPConversions": {
                  "description": "Include conversions that have no cookie, but do have an exposure path.",
                  "type": "boolean"
                },
                "includeUnattributedCookieConversions": {
                  "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.",
                  "type": "boolean"
                },
                "includeUnattributedIPConversions": {
                  "description": "Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.",
                  "type": "boolean"
                }
              }
            }
          }
        },
        "delivery": {
          "description": "The report's email delivery settings.",
          "type": "object",
          "properties": {
            "emailOwner": {
              "description": "Whether the report should be emailed to the report owner.",
              "type": "boolean"
            },
            "emailOwnerDeliveryType": {
              "description": "The type of delivery for the owner to receive, if enabled.",
              "type": "string",
              "enumDescriptions": [
                "",
                ""
              ],
              "enum": [
                "LINK",
                "ATTACHMENT"
              ]
            },
            "message": {
              "description": "The message to be sent with each email.",
              "type": "string"
            },
            "recipients": {
              "description": "The list of recipients to which to email the report.",
              "type": "array",
              "items": {
                "$ref": "Recipient"
              }
            }
          }
        },
        "crossMediaReachCriteria": {
          "description": "Optional. The report criteria for a report of type \"CROSS_MEDIA_REACH\".",
          "type": "object",
          "properties": {
            "dateRange": {
              "description": "Required. The date range this report should be run for.",
              "$ref": "DateRange"
            },
            "dimensions": {
              "description": "Required. The list of dimensions the report should include.",
              "type": "array",
              "items": {
                "$ref": "SortedDimension"
              }
            },
            "dimensionFilters": {
              "description": "Required. The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
              "type": "array",
              "items": {
                "$ref": "DimensionValue"
              }
            },
            "metricNames": {
              "description": "Required. The list of names of metrics the report should include.",
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "SortedDimension": {
      "id": "SortedDimension",
      "description": "Represents a sorted dimension.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the dimension.",
          "type": "string"
        },
        "sortOrder": {
          "description": "An optional sort order for the dimension column.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "ASCENDING",
            "DESCENDING"
          ]
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#sortedDimension.",
          "type": "string"
        }
      }
    },
    "Activities": {
      "id": "Activities",
      "description": "Represents an activity group.",
      "type": "object",
      "properties": {
        "filters": {
          "description": "List of activity filters. The dimension values need to be all either of type \"dfa:activity\" or \"dfa:activityGroup\".",
          "type": "array",
          "items": {
            "$ref": "DimensionValue"
          }
        },
        "metricNames": {
          "description": "List of names of floodlight activity metrics.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#activities.",
          "type": "string"
        }
      }
    },
    "CustomRichMediaEvents": {
      "id": "CustomRichMediaEvents",
      "description": "Represents a Custom Rich Media Events group.",
      "type": "object",
      "properties": {
        "filteredEventIds": {
          "description": "List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.",
          "type": "array",
          "items": {
            "$ref": "DimensionValue"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#customRichMediaEvents.",
          "type": "string"
        }
      }
    },
    "Recipient": {
      "id": "Recipient",
      "description": "Represents a recipient.",
      "type": "object",
      "properties": {
        "email": {
          "description": "The email address of the recipient.",
          "type": "string"
        },
        "deliveryType": {
          "description": "The delivery type for the recipient.",
          "type": "string",
          "enumDescriptions": [
            "",
            ""
          ],
          "enum": [
            "LINK",
            "ATTACHMENT"
          ]
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#recipient.",
          "type": "string"
        }
      }
    },
    "ReportList": {
      "id": "ReportList",
      "description": "Represents the list of reports.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "The kind of list this is, in this case dfareporting#reportList.",
          "type": "string"
        },
        "etag": {
          "description": "The eTag of this response for caching purposes.",
          "type": "string"
        },
        "items": {
          "description": "The reports returned in this response.",
          "type": "array",
          "items": {
            "$ref": "Report"
          }
        },
        "nextPageToken": {
          "description": "Continuation token used to page through reports. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.",
          "type": "string"
        }
      }
    },
    "CompatibleFields": {
      "id": "CompatibleFields",
      "description": "Represents a response to the queryCompatibleFields method. Next ID: 10",
      "type": "object",
      "properties": {
        "reportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"STANDARD\".",
          "$ref": "ReportCompatibleFields"
        },
        "crossMediaReachReportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"CROSS_MEDIA_REACH\".",
          "$ref": "CrossMediaReachReportCompatibleFields"
        },
        "reachReportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"REACH\".",
          "$ref": "ReachReportCompatibleFields"
        },
        "pathToConversionReportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\".",
          "$ref": "PathToConversionReportCompatibleFields"
        },
        "crossDimensionReachReportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\".",
          "$ref": "CrossDimensionReachReportCompatibleFields"
        },
        "floodlightReportCompatibleFields": {
          "description": "Contains items that are compatible to be selected for a report of type \"FLOODLIGHT\".",
          "$ref": "FloodlightReportCompatibleFields"
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#compatibleFields.",
          "type": "string"
        }
      }
    },
    "ReportCompatibleFields": {
      "id": "ReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"STANDARD\".",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "dimensionFilters": {
          "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "pivotedActivityMetrics": {
          "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#reportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "Dimension": {
      "id": "Dimension",
      "description": "Represents a dimension.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The dimension name, e.g. advertiser",
          "type": "string"
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#dimension.",
          "type": "string"
        }
      }
    },
    "Metric": {
      "id": "Metric",
      "description": "Represents a metric.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The metric name, e.g. impressions",
          "type": "string"
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#metric.",
          "type": "string"
        }
      }
    },
    "CrossMediaReachReportCompatibleFields": {
      "id": "CrossMediaReachReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"CROSS_MEDIA_REACH\".",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "dimensionFilters": {
          "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#crossMediaReachReportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "ReachReportCompatibleFields": {
      "id": "ReachReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"REACH\".",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "reachByFrequencyMetrics": {
          "description": "Metrics which are compatible to be selected in the \"reachByFrequencyMetricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "dimensionFilters": {
          "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "pivotedActivityMetrics": {
          "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "PathToConversionReportCompatibleFields": {
      "id": "PathToConversionReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\".",
      "type": "object",
      "properties": {
        "conversionDimensions": {
          "description": "Conversion dimensions which are compatible to be selected in the \"conversionDimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "perInteractionDimensions": {
          "description": "Per-interaction dimensions which are compatible to be selected in the \"perInteractionDimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "customFloodlightVariables": {
          "description": "Custom floodlight variables which are compatible to be selected in the \"customFloodlightVariables\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "CrossDimensionReachReportCompatibleFields": {
      "id": "CrossDimensionReachReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\".",
      "type": "object",
      "properties": {
        "dimensionFilters": {
          "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "breakdown": {
          "description": "Dimensions which are compatible to be selected in the \"breakdown\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "overlapMetrics": {
          "description": "Metrics which are compatible to be selected in the \"overlapMetricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "FloodlightReportCompatibleFields": {
      "id": "FloodlightReportCompatibleFields",
      "description": "Represents fields that are compatible to be selected for a report of type \"FlOODLIGHT\".",
      "type": "object",
      "properties": {
        "dimensionFilters": {
          "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "dimensions": {
          "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Dimension"
          }
        },
        "metrics": {
          "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.",
          "type": "array",
          "items": {
            "$ref": "Metric"
          }
        },
        "kind": {
          "description": "The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.",
          "type": "string"
        }
      }
    },
    "SitesListResponse": {
      "id": "SitesListResponse",
      "description": "Site List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sitesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "sites": {
          "description": "Site collection.",
          "type": "array",
          "items": {
            "$ref": "Site"
          }
        }
      }
    },
    "SizesListResponse": {
      "id": "SizesListResponse",
      "description": "Size List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sizesListResponse\".",
          "type": "string"
        },
        "sizes": {
          "description": "Size collection.",
          "type": "array",
          "items": {
            "$ref": "Size"
          }
        }
      }
    },
    "DfareportingStudioCreativeAssetsInsertRequest": {
      "id": "DfareportingStudioCreativeAssetsInsertRequest",
      "description": "Request message for DfareportingStudioCreativeAssets.Insert.",
      "type": "object",
      "properties": {
        "studioAdvertiserId": {
          "description": "Required. Studio advertiser ID of the studio creative asset. It is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "studioAccountId": {
          "description": "Optional. Studio account ID of the studio creative asset. It is a optional.",
          "type": "string",
          "format": "int64"
        },
        "studioCreativeId": {
          "description": "Optional. Studio creative ID of the studio creative asset. It is a optional field. If it is set, the asset will be associated to the creative.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "StudioCreativeAssetsResponse": {
      "id": "StudioCreativeAssetsResponse",
      "description": "Response message for DfareportingStudioCreativeAssets.Insert.",
      "type": "object",
      "properties": {
        "assets": {
          "description": "The list of studio creative assets.",
          "type": "array",
          "items": {
            "$ref": "StudioCreativeAsset"
          }
        }
      }
    },
    "StudioCreativeAsset": {
      "id": "StudioCreativeAsset",
      "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative asset information.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Output only. Unique ID of this studio creative asset. This is a read-only, auto-generated field.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "studioAccountId": {
          "description": "Studio account ID of this studio creative asset. This field, if left unset, will be auto-populated..",
          "type": "string",
          "format": "int64"
        },
        "studioAdvertiserId": {
          "description": "Studio advertiser ID of this studio creative asset. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "studioCreativeId": {
          "description": "Studio creative ID of this studio creative asset. The asset will be associated to the creative if creative id is set.",
          "type": "string",
          "format": "int64"
        },
        "type": {
          "description": "The type of the studio creative asset. It is a auto-generated, read-only field.",
          "type": "string",
          "enumDescriptions": [
            "Unknown type of asset.",
            "The asset is an HTML file.",
            "The asset is a video file.",
            "The asset is an image file.",
            "The asset is a font file."
          ],
          "enum": [
            "UNKNOWN_TYPE",
            "HTML",
            "VIDEO",
            "IMAGE",
            "FONT"
          ]
        },
        "filename": {
          "description": "The filename of the studio creative asset. It is default to the original filename of the asset.",
          "type": "string"
        },
        "filesize": {
          "description": "The filesize of the studio creative asset. This is a read-only field.",
          "type": "string",
          "format": "int64"
        },
        "videoProcessingData": {
          "description": "The processing data of the studio creative asset. This is a read-only field.",
          "$ref": "VideoProcessingData"
        },
        "createInfo": {
          "description": "Output only. The creation timestamp of the studio creative asset. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "Output only. The last modified timestamp of the studio creative asset. This is a read-only field.",
          "readOnly": true,
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "VideoProcessingData": {
      "id": "VideoProcessingData",
      "description": "Contains processing data for a video asset.",
      "type": "object",
      "properties": {
        "processingState": {
          "description": "Output only. The processing state of the studio creative asset.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The processing state is unknown.",
            "The asset is being processed.",
            "The asset was successfully processed.",
            "The asset failed to be processed."
          ],
          "enum": [
            "UNKNOWN",
            "PROCESSING",
            "SUCCEEDED",
            "FAILED"
          ]
        },
        "errorReason": {
          "description": "For a FAILED processing state, the error reason discovered.",
          "type": "string"
        }
      }
    },
    "StudioCreative": {
      "id": "StudioCreative",
      "description": " *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains studio creative information.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Output only. Unique ID of this studio creative. This is a read-only, auto-generated field.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "studioAccountId": {
          "description": "Studio account ID of this creative. This field, if left unset, will be auto-populated.",
          "type": "string",
          "format": "int64"
        },
        "studioAdvertiserId": {
          "description": "Studio advertiser ID of this studio creative. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "studioCampaignId": {
          "description": "Studio campaign ID of this studio creative. This is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Identifier. Name of this studio creative. This is a required field on insertion.",
          "type": "string"
        },
        "format": {
          "description": "Format of this studio creative. This is a required field on insertion.",
          "type": "string",
          "enumDescriptions": [
            "The format of the studio creative is unknown. This value is unused.",
            "Banner format.",
            "Expanding format.",
            "Intertitial format.",
            "VPAID linear video creative format."
          ],
          "enum": [
            "UNKNOWN",
            "BANNER",
            "EXPANDING",
            "INTERSTITIAL",
            "VPAID_LINEAR_VIDEO"
          ]
        },
        "dimension": {
          "description": "Dimension of this studio creative. This is a required field on insertion if format is BANNER or EXPANDING.",
          "$ref": "StudioCreativeDimension"
        },
        "status": {
          "description": "Output only. Status of this studio creative. It is a read-only field.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The status of the studio creative is unknown. This value is unused.",
            "The creative is still being developed.",
            "The creative has been published and is ready for QA.",
            "The creative has failed QA and must be corrected.",
            "The creative has passed QA and is ready to be trafficked.",
            "The creative has been trafficked to an adserver."
          ],
          "enum": [
            "UNKNOWN_STATUS",
            "IN_DEVELOPMENT",
            "PUBLISHED",
            "QA_REJECTED",
            "QA_APPROVED",
            "TRAFFICKED"
          ]
        },
        "dynamicProfileId": {
          "description": "Dynamic profile ID of this studio creative.",
          "type": "string",
          "format": "int64"
        },
        "backupImageAssetId": {
          "description": "Backup image asset ID of this studio creative. It is a required field on insertion.",
          "type": "string",
          "format": "int64"
        },
        "assetIds": {
          "description": "List of assets associated with this studio creative. It is a required field on insertion.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "createdInfo": {
          "description": "The timestamp when the studio creative was created. This is a read-only, auto-generated field.",
          "$ref": "LastModifiedInfo"
        },
        "lastModifiedInfo": {
          "description": "The timestamp when the studio creative was last modified. This is a read-only, auto-generated field.",
          "$ref": "LastModifiedInfo"
        }
      }
    },
    "StudioCreativeDimension": {
      "id": "StudioCreativeDimension",
      "description": "Dimension information for a studio creative.",
      "type": "object",
      "properties": {
        "width": {
          "description": "Width of the studio creative.",
          "type": "integer",
          "format": "int32"
        },
        "height": {
          "description": "Height of the studio creative.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "SubaccountsListResponse": {
      "id": "SubaccountsListResponse",
      "description": "Subaccount List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccountsListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "subaccounts": {
          "description": "Subaccount collection.",
          "type": "array",
          "items": {
            "$ref": "Subaccount"
          }
        }
      }
    },
    "TargetingTemplatesListResponse": {
      "id": "TargetingTemplatesListResponse",
      "description": "Targeting Template List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplatesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "targetingTemplates": {
          "description": "Targeting template collection.",
          "type": "array",
          "items": {
            "$ref": "TargetingTemplate"
          }
        }
      }
    },
    "TvCampaignDetail": {
      "id": "TvCampaignDetail",
      "description": "TvCampaignDetail contains data from a TV campaign for specific start dates and date windows.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this TV campaign.",
          "type": "string"
        },
        "timepoints": {
          "description": "The timepoints of the TV campaign.",
          "type": "array",
          "items": {
            "$ref": "TvCampaignTimepoint"
          }
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#tvCampaignSummary\".",
          "type": "string"
        }
      }
    },
    "TvCampaignTimepoint": {
      "id": "TvCampaignTimepoint",
      "description": "A single data point for TvCampaignDetail, which holds information about the TV campaign for a specific start date and date window.",
      "type": "object",
      "properties": {
        "startDate": {
          "description": "The start date of the timepoint. A string in the format of \"yyyy-MM-dd\".",
          "type": "string"
        },
        "dateWindow": {
          "description": "The date window of the timepoint.",
          "type": "string",
          "enumDescriptions": [
            "Default value, should never be set.",
            "One Day.",
            "One week.",
            "Four weeks.",
            "Eight weeks.",
            "Twelve weeks."
          ],
          "enum": [
            "WEEKS_UNSPECIFIED",
            "DAYS_ONE",
            "WEEKS_ONE",
            "WEEKS_FOUR",
            "WEEKS_EIGHT",
            "WEEKS_TWELVE"
          ]
        },
        "spend": {
          "description": "The spend within the time range of the timepoint.",
          "type": "number",
          "format": "double"
        }
      }
    },
    "TvCampaignSummariesListResponse": {
      "id": "TvCampaignSummariesListResponse",
      "description": "Response message for TvCampaignSummariesService.List.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#tvCampaignSummariesListResponse\".",
          "type": "string"
        },
        "tvCampaignSummaries": {
          "description": "List of TV campaign summaries.",
          "type": "array",
          "items": {
            "$ref": "TvCampaignSummary"
          }
        }
      }
    },
    "TvCampaignSummary": {
      "id": "TvCampaignSummary",
      "description": "TvCampaignSummary contains aggregate data from a TV campaign.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this TV campaign.",
          "type": "string"
        },
        "name": {
          "description": "Identifier. Name of this TV campaign.",
          "type": "string"
        },
        "type": {
          "description": "\"CampaignComponentType\" of this TV campaign.",
          "type": "string",
          "enumDescriptions": [
            "Required to exist; do not use.",
            "Company.",
            "Brand.",
            "Product.",
            "Campaign."
          ],
          "enum": [
            "CAMPAIGN_COMPONENT_TYPE_UNSPECIFIED",
            "COMPANY",
            "BRAND",
            "PRODUCT",
            "CAMPAIGN"
          ]
        },
        "spend": {
          "description": "Spend across the entire TV campaign.",
          "type": "number",
          "format": "double"
        },
        "impressions": {
          "description": "Impressions across the entire TV campaign.",
          "type": "string",
          "format": "int64"
        },
        "grp": {
          "description": "GRP of this TV campaign.",
          "type": "string",
          "format": "int64"
        },
        "startDate": {
          "description": "The start date of the TV campaign, inclusive. A string of the format: \"yyyy-MM-dd\".",
          "type": "string"
        },
        "endDate": {
          "description": "The end date of the TV campaign, inclusive. A string of the format: \"yyyy-MM-dd\".",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#tvCampaignSummary\".",
          "type": "string"
        }
      }
    },
    "UserProfile": {
      "id": "UserProfile",
      "description": "A UserProfile resource lets you list all DFA user profiles that are associated with a Google user account. The profile_id needs to be specified in other API requests. ",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfile\".",
          "type": "string"
        },
        "profileId": {
          "description": "The unique ID of the user profile.",
          "type": "string",
          "format": "int64"
        },
        "userName": {
          "description": "The user name.",
          "type": "string"
        },
        "accountId": {
          "description": "The account ID to which this profile belongs.",
          "type": "string",
          "format": "int64"
        },
        "accountName": {
          "description": "The account name this profile belongs to.",
          "type": "string"
        },
        "subAccountId": {
          "description": "The sub account ID this profile belongs to if applicable.",
          "type": "string",
          "format": "int64"
        },
        "subAccountName": {
          "description": "The sub account name this profile belongs to if applicable.",
          "type": "string"
        },
        "etag": {
          "description": "Etag of this resource.",
          "type": "string"
        }
      }
    },
    "UserProfileList": {
      "id": "UserProfileList",
      "description": "Represents the list of user profiles.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfileList\".",
          "type": "string"
        },
        "etag": {
          "description": "Etag of this resource.",
          "type": "string"
        },
        "items": {
          "description": "The user profiles returned in this response.",
          "type": "array",
          "items": {
            "$ref": "UserProfile"
          }
        }
      }
    },
    "UserRolePermissionGroup": {
      "id": "UserRolePermissionGroup",
      "description": "Represents a grouping of related user role permissions.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of this user role permission.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Name of this user role permission group.",
          "type": "string"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroup\".",
          "type": "string"
        }
      }
    },
    "UserRolePermissionGroupsListResponse": {
      "id": "UserRolePermissionGroupsListResponse",
      "description": "User Role Permission Group List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroupsListResponse\".",
          "type": "string"
        },
        "userRolePermissionGroups": {
          "description": "User role permission group collection.",
          "type": "array",
          "items": {
            "$ref": "UserRolePermissionGroup"
          }
        }
      }
    },
    "UserRolePermissionsListResponse": {
      "id": "UserRolePermissionsListResponse",
      "description": "User Role Permission List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionsListResponse\".",
          "type": "string"
        },
        "userRolePermissions": {
          "description": "User role permission collection.",
          "type": "array",
          "items": {
            "$ref": "UserRolePermission"
          }
        }
      }
    },
    "UserRolesListResponse": {
      "id": "UserRolesListResponse",
      "description": "User Role List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolesListResponse\".",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Pagination token to be used for the next list operation.",
          "type": "string"
        },
        "userRoles": {
          "description": "User role collection.",
          "type": "array",
          "items": {
            "$ref": "UserRole"
          }
        }
      }
    },
    "VideoFormat": {
      "id": "VideoFormat",
      "description": "Contains information about supported video formats.",
      "type": "object",
      "properties": {
        "id": {
          "description": "ID of the video format.",
          "type": "integer",
          "format": "int32"
        },
        "fileType": {
          "description": "File type of the video format.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "FLV",
            "THREEGPP",
            "MP4",
            "WEBM",
            "M3U8"
          ]
        },
        "targetBitRate": {
          "description": "The target bit rate of this video format.",
          "type": "integer",
          "format": "int32"
        },
        "resolution": {
          "description": "The resolution of this video format.",
          "$ref": "Size"
        },
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormat\".",
          "type": "string"
        }
      }
    },
    "VideoFormatsListResponse": {
      "id": "VideoFormatsListResponse",
      "description": "Video Format List Response",
      "type": "object",
      "properties": {
        "kind": {
          "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormatsListResponse\".",
          "type": "string"
        },
        "videoFormats": {
          "description": "Video format collection.",
          "type": "array",
          "items": {
            "$ref": "VideoFormat"
          }
        }
      }
    }
  },
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "protocol": "rest",
  "canonicalName": "Dfareporting",
  "basePath": "/dfareporting/v4/",
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "name": "dfareporting",
  "rootUrl": "https://dfareporting.googleapis.com/",
  "fullyEncodeReservedExpansion": true,
  "baseUrl": "https://dfareporting.googleapis.com/dfareporting/v4/",
  "id": "dfareporting:v4",
  "servicePath": "dfareporting/v4/",
  "revision": "20260326"
}
