{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/display-video": {
          "description": "Create, see, edit, and permanently delete your Display & Video 360 entities and reports"
        },
        "https://www.googleapis.com/auth/display-video-mediaplanning": {
          "description": "Create, see, and edit Display & Video 360 Campaign entities and see billing invoices"
        },
        "https://www.googleapis.com/auth/doubleclickbidmanager": {
          "description": "View and manage your reports in DoubleClick Bid Manager"
        },
        "https://www.googleapis.com/auth/display-video-user-management": {
          "description": "Private Service: https://www.googleapis.com/auth/display-video-user-management"
        }
      }
    }
  },
  "resources": {
    "combinedAudiences": {
      "methods": {
        "get": {
          "response": {
            "$ref": "CombinedAudience"
          },
          "parameters": {
            "combinedAudienceId": {
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the combined audience to fetch.",
              "required": true,
              "location": "path",
              "format": "int64"
            },
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the fetched combined audience.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that has access to the fetched combined audience."
            }
          },
          "parameterOrder": [
            "combinedAudienceId"
          ],
          "description": "Gets a combined audience.",
          "id": "displayvideo.combinedAudiences.get",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/combinedAudiences/{+combinedAudienceId}",
          "flatPath": "v2/combinedAudiences/{combinedAudiencesId}"
        },
        "list": {
          "id": "displayvideo.combinedAudiences.list",
          "path": "v2/combinedAudiences",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "flatPath": "v2/combinedAudiences",
          "parameters": {
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the fetched combined audiences.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "filter": {
              "location": "query",
              "type": "string",
              "description": "Allows filtering by combined audience fields. Supported syntax: * Filter expressions for combined audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All combined audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
            },
            "orderBy": {
              "description": "Field by which to sort the list. Acceptable values are: * `combinedAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
              "location": "query",
              "type": "string"
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that has access to the fetched combined audiences."
            },
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCombinedAudiences` method. If not specified, the first page of results will be returned."
            }
          },
          "response": {
            "$ref": "ListCombinedAudiencesResponse"
          },
          "parameterOrder": [],
          "description": "Lists combined audiences. The order is defined by the order_by parameter."
        }
      }
    },
    "targetingTypes": {
      "resources": {
        "targetingOptions": {
          "methods": {
            "get": {
              "path": "v2/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.targetingTypes.targetingOptions.get",
              "flatPath": "v2/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}",
              "parameters": {
                "targetingType": {
                  "location": "path",
                  "description": "Required. The type of targeting option to retrieve. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`",
                  "required": true,
                  "enum": [
                    "TARGETING_TYPE_UNSPECIFIED",
                    "TARGETING_TYPE_CHANNEL",
                    "TARGETING_TYPE_APP_CATEGORY",
                    "TARGETING_TYPE_APP",
                    "TARGETING_TYPE_URL",
                    "TARGETING_TYPE_DAY_AND_TIME",
                    "TARGETING_TYPE_AGE_RANGE",
                    "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                    "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                    "TARGETING_TYPE_GENDER",
                    "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                    "TARGETING_TYPE_USER_REWARDED_CONTENT",
                    "TARGETING_TYPE_PARENTAL_STATUS",
                    "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                    "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                    "TARGETING_TYPE_DEVICE_TYPE",
                    "TARGETING_TYPE_AUDIENCE_GROUP",
                    "TARGETING_TYPE_BROWSER",
                    "TARGETING_TYPE_HOUSEHOLD_INCOME",
                    "TARGETING_TYPE_ON_SCREEN_POSITION",
                    "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                    "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                    "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                    "TARGETING_TYPE_ENVIRONMENT",
                    "TARGETING_TYPE_CARRIER_AND_ISP",
                    "TARGETING_TYPE_OPERATING_SYSTEM",
                    "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                    "TARGETING_TYPE_KEYWORD",
                    "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                    "TARGETING_TYPE_VIEWABILITY",
                    "TARGETING_TYPE_CATEGORY",
                    "TARGETING_TYPE_INVENTORY_SOURCE",
                    "TARGETING_TYPE_LANGUAGE",
                    "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                    "TARGETING_TYPE_GEO_REGION",
                    "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                    "TARGETING_TYPE_EXCHANGE",
                    "TARGETING_TYPE_SUB_EXCHANGE",
                    "TARGETING_TYPE_POI",
                    "TARGETING_TYPE_BUSINESS_CHAIN",
                    "TARGETING_TYPE_CONTENT_DURATION",
                    "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                    "TARGETING_TYPE_OMID",
                    "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                    "TARGETING_TYPE_CONTENT_GENRE",
                    "TARGETING_TYPE_YOUTUBE_VIDEO",
                    "TARGETING_TYPE_YOUTUBE_CHANNEL",
                    "TARGETING_TYPE_SESSION_POSITION"
                  ],
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "enumDescriptions": [
                    "Default value when type is not specified or is unknown in this version.",
                    "Target a channel (a custom group of related websites or apps).",
                    "Target an app category (for example, education or puzzle games).",
                    "Target a specific app (for example, Angry Birds).",
                    "Target a specific url (for example, quora.com).",
                    "Target ads during a chosen time period on a specific day.",
                    "Target ads to a specific age range (for example, 18-24).",
                    "Target ads to the specified regions on a regional location list.",
                    "Target ads to the specified points of interest on a proximity location list.",
                    "Target ads to a specific gender (for example, female or male).",
                    "Target a specific video player size for video ads.",
                    "Target user rewarded content for video ads.",
                    "Target ads to a specific parental status (for example, parent or not a parent).",
                    "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                    "Target ads in a specific content outstream position.",
                    "Target ads to a specific device type (for example, tablet or connected TV).",
                    "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                    "Target ads to specific web browsers (for example, Chrome).",
                    "Target ads to a specific household income range (for example, top 10%).",
                    "Target ads in a specific on screen position.",
                    "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                    "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                    "Filter website content by sensitive categories (for example, adult).",
                    "Target ads to a specific environment (for example, web or app).",
                    "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                    "Target ads to a specific operating system (for example, macOS).",
                    "Target ads to a specific device make or model (for example, Roku or Samsung).",
                    "Target ads to a specific keyword (for example, dog or retriever).",
                    "Target ads to a specific negative keyword list.",
                    "Target ads to a specific viewability (for example, 80% viewable).",
                    "Target ads to a specific content category (for example, arts & entertainment).",
                    "Purchase impressions from specific deals and auction packages.",
                    "Target ads to a specific language (for example, English or Japanese).",
                    "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                    "Target ads to a specific regional location (for example, a city or state).",
                    "Purchase impressions from a group of deals and auction packages.",
                    "Purchase impressions from specific exchanges.",
                    "Purchase impressions from specific sub-exchanges.",
                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                    "Target ads around locations of a business chain within a specific geo region.",
                    "Target ads to a specific video content duration.",
                    "Target ads to a specific video content stream type.",
                    "Target ads to a specific native content position.",
                    "Target ads in an Open Measurement enabled inventory.",
                    "Target ads to a specific audio content type.",
                    "Target ads to a specific content genre.",
                    "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                  ]
                },
                "targetingOptionId": {
                  "required": true,
                  "description": "Required. The ID of the of targeting option to retrieve.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path"
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "Required. The Advertiser this request is being made in the context of."
                }
              },
              "response": {
                "$ref": "TargetingOption"
              },
              "description": "Gets a single targeting option.",
              "parameterOrder": [
                "targetingType",
                "targetingOptionId"
              ]
            },
            "search": {
              "description": "Searches for targeting options of a given type based on the given search terms.",
              "parameterOrder": [
                "targetingType"
              ],
              "request": {
                "$ref": "SearchTargetingOptionsRequest"
              },
              "response": {
                "$ref": "SearchTargetingOptionsResponse"
              },
              "parameters": {
                "targetingType": {
                  "location": "path",
                  "required": true,
                  "enum": [
                    "TARGETING_TYPE_UNSPECIFIED",
                    "TARGETING_TYPE_CHANNEL",
                    "TARGETING_TYPE_APP_CATEGORY",
                    "TARGETING_TYPE_APP",
                    "TARGETING_TYPE_URL",
                    "TARGETING_TYPE_DAY_AND_TIME",
                    "TARGETING_TYPE_AGE_RANGE",
                    "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                    "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                    "TARGETING_TYPE_GENDER",
                    "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                    "TARGETING_TYPE_USER_REWARDED_CONTENT",
                    "TARGETING_TYPE_PARENTAL_STATUS",
                    "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                    "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                    "TARGETING_TYPE_DEVICE_TYPE",
                    "TARGETING_TYPE_AUDIENCE_GROUP",
                    "TARGETING_TYPE_BROWSER",
                    "TARGETING_TYPE_HOUSEHOLD_INCOME",
                    "TARGETING_TYPE_ON_SCREEN_POSITION",
                    "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                    "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                    "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                    "TARGETING_TYPE_ENVIRONMENT",
                    "TARGETING_TYPE_CARRIER_AND_ISP",
                    "TARGETING_TYPE_OPERATING_SYSTEM",
                    "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                    "TARGETING_TYPE_KEYWORD",
                    "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                    "TARGETING_TYPE_VIEWABILITY",
                    "TARGETING_TYPE_CATEGORY",
                    "TARGETING_TYPE_INVENTORY_SOURCE",
                    "TARGETING_TYPE_LANGUAGE",
                    "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                    "TARGETING_TYPE_GEO_REGION",
                    "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                    "TARGETING_TYPE_EXCHANGE",
                    "TARGETING_TYPE_SUB_EXCHANGE",
                    "TARGETING_TYPE_POI",
                    "TARGETING_TYPE_BUSINESS_CHAIN",
                    "TARGETING_TYPE_CONTENT_DURATION",
                    "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                    "TARGETING_TYPE_OMID",
                    "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                    "TARGETING_TYPE_CONTENT_GENRE",
                    "TARGETING_TYPE_YOUTUBE_VIDEO",
                    "TARGETING_TYPE_YOUTUBE_CHANNEL",
                    "TARGETING_TYPE_SESSION_POSITION"
                  ],
                  "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "enumDescriptions": [
                    "Default value when type is not specified or is unknown in this version.",
                    "Target a channel (a custom group of related websites or apps).",
                    "Target an app category (for example, education or puzzle games).",
                    "Target a specific app (for example, Angry Birds).",
                    "Target a specific url (for example, quora.com).",
                    "Target ads during a chosen time period on a specific day.",
                    "Target ads to a specific age range (for example, 18-24).",
                    "Target ads to the specified regions on a regional location list.",
                    "Target ads to the specified points of interest on a proximity location list.",
                    "Target ads to a specific gender (for example, female or male).",
                    "Target a specific video player size for video ads.",
                    "Target user rewarded content for video ads.",
                    "Target ads to a specific parental status (for example, parent or not a parent).",
                    "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                    "Target ads in a specific content outstream position.",
                    "Target ads to a specific device type (for example, tablet or connected TV).",
                    "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                    "Target ads to specific web browsers (for example, Chrome).",
                    "Target ads to a specific household income range (for example, top 10%).",
                    "Target ads in a specific on screen position.",
                    "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                    "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                    "Filter website content by sensitive categories (for example, adult).",
                    "Target ads to a specific environment (for example, web or app).",
                    "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                    "Target ads to a specific operating system (for example, macOS).",
                    "Target ads to a specific device make or model (for example, Roku or Samsung).",
                    "Target ads to a specific keyword (for example, dog or retriever).",
                    "Target ads to a specific negative keyword list.",
                    "Target ads to a specific viewability (for example, 80% viewable).",
                    "Target ads to a specific content category (for example, arts & entertainment).",
                    "Purchase impressions from specific deals and auction packages.",
                    "Target ads to a specific language (for example, English or Japanese).",
                    "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                    "Target ads to a specific regional location (for example, a city or state).",
                    "Purchase impressions from a group of deals and auction packages.",
                    "Purchase impressions from specific exchanges.",
                    "Purchase impressions from specific sub-exchanges.",
                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                    "Target ads around locations of a business chain within a specific geo region.",
                    "Target ads to a specific video content duration.",
                    "Target ads to a specific video content stream type.",
                    "Target ads to a specific native content position.",
                    "Target ads in an Open Measurement enabled inventory.",
                    "Target ads to a specific audio content type.",
                    "Target ads to a specific content genre.",
                    "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                  ]
                }
              },
              "flatPath": "v2/targetingTypes/{targetingTypesId}/targetingOptions:search",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/targetingTypes/{+targetingType}/targetingOptions:search",
              "id": "displayvideo.targetingTypes.targetingOptions.search"
            },
            "list": {
              "flatPath": "v2/targetingTypes/{targetingTypesId}/targetingOptions",
              "id": "displayvideo.targetingTypes.targetingOptions.list",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/targetingTypes/{+targetingType}/targetingOptions",
              "parameterOrder": [
                "targetingType"
              ],
              "description": "Lists targeting options of a given type.",
              "response": {
                "$ref": "ListTargetingOptionsResponse"
              },
              "parameters": {
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `targetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingOptionId desc`.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "description": "Required. The Advertiser this request is being made in the context of.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                },
                "filter": {
                  "description": "Allows filtering by targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` * `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: `geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_COUNTRY\" OR geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_STATE\"` * All `CARRIER AND ISP` targeting options that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: `carrierAndIspDetails.type=\"CARRIER_AND_ISP_TYPE_CARRIER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "targetingType": {
                  "description": "Required. The type of targeting option to be listed. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`",
                  "required": true,
                  "enum": [
                    "TARGETING_TYPE_UNSPECIFIED",
                    "TARGETING_TYPE_CHANNEL",
                    "TARGETING_TYPE_APP_CATEGORY",
                    "TARGETING_TYPE_APP",
                    "TARGETING_TYPE_URL",
                    "TARGETING_TYPE_DAY_AND_TIME",
                    "TARGETING_TYPE_AGE_RANGE",
                    "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                    "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                    "TARGETING_TYPE_GENDER",
                    "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                    "TARGETING_TYPE_USER_REWARDED_CONTENT",
                    "TARGETING_TYPE_PARENTAL_STATUS",
                    "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                    "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                    "TARGETING_TYPE_DEVICE_TYPE",
                    "TARGETING_TYPE_AUDIENCE_GROUP",
                    "TARGETING_TYPE_BROWSER",
                    "TARGETING_TYPE_HOUSEHOLD_INCOME",
                    "TARGETING_TYPE_ON_SCREEN_POSITION",
                    "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                    "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                    "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                    "TARGETING_TYPE_ENVIRONMENT",
                    "TARGETING_TYPE_CARRIER_AND_ISP",
                    "TARGETING_TYPE_OPERATING_SYSTEM",
                    "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                    "TARGETING_TYPE_KEYWORD",
                    "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                    "TARGETING_TYPE_VIEWABILITY",
                    "TARGETING_TYPE_CATEGORY",
                    "TARGETING_TYPE_INVENTORY_SOURCE",
                    "TARGETING_TYPE_LANGUAGE",
                    "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                    "TARGETING_TYPE_GEO_REGION",
                    "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                    "TARGETING_TYPE_EXCHANGE",
                    "TARGETING_TYPE_SUB_EXCHANGE",
                    "TARGETING_TYPE_POI",
                    "TARGETING_TYPE_BUSINESS_CHAIN",
                    "TARGETING_TYPE_CONTENT_DURATION",
                    "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                    "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                    "TARGETING_TYPE_OMID",
                    "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                    "TARGETING_TYPE_CONTENT_GENRE",
                    "TARGETING_TYPE_YOUTUBE_VIDEO",
                    "TARGETING_TYPE_YOUTUBE_CHANNEL",
                    "TARGETING_TYPE_SESSION_POSITION"
                  ],
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "enumDescriptions": [
                    "Default value when type is not specified or is unknown in this version.",
                    "Target a channel (a custom group of related websites or apps).",
                    "Target an app category (for example, education or puzzle games).",
                    "Target a specific app (for example, Angry Birds).",
                    "Target a specific url (for example, quora.com).",
                    "Target ads during a chosen time period on a specific day.",
                    "Target ads to a specific age range (for example, 18-24).",
                    "Target ads to the specified regions on a regional location list.",
                    "Target ads to the specified points of interest on a proximity location list.",
                    "Target ads to a specific gender (for example, female or male).",
                    "Target a specific video player size for video ads.",
                    "Target user rewarded content for video ads.",
                    "Target ads to a specific parental status (for example, parent or not a parent).",
                    "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                    "Target ads in a specific content outstream position.",
                    "Target ads to a specific device type (for example, tablet or connected TV).",
                    "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                    "Target ads to specific web browsers (for example, Chrome).",
                    "Target ads to a specific household income range (for example, top 10%).",
                    "Target ads in a specific on screen position.",
                    "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                    "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                    "Filter website content by sensitive categories (for example, adult).",
                    "Target ads to a specific environment (for example, web or app).",
                    "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                    "Target ads to a specific operating system (for example, macOS).",
                    "Target ads to a specific device make or model (for example, Roku or Samsung).",
                    "Target ads to a specific keyword (for example, dog or retriever).",
                    "Target ads to a specific negative keyword list.",
                    "Target ads to a specific viewability (for example, 80% viewable).",
                    "Target ads to a specific content category (for example, arts & entertainment).",
                    "Purchase impressions from specific deals and auction packages.",
                    "Target ads to a specific language (for example, English or Japanese).",
                    "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                    "Target ads to a specific regional location (for example, a city or state).",
                    "Purchase impressions from a group of deals and auction packages.",
                    "Purchase impressions from specific exchanges.",
                    "Purchase impressions from specific sub-exchanges.",
                    "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                    "Target ads around locations of a business chain within a specific geo region.",
                    "Target ads to a specific video content duration.",
                    "Target ads to a specific video content stream type.",
                    "Target ads to a specific native content position.",
                    "Target ads in an Open Measurement enabled inventory.",
                    "Target ads to a specific audio content type.",
                    "Target ads to a specific content genre.",
                    "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                    "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                  ],
                  "location": "path"
                },
                "pageSize": {
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListTargetingOptions` method. If not specified, the first page of results will be returned."
                }
              }
            }
          }
        }
      }
    },
    "media": {
      "methods": {
        "download": {
          "id": "displayvideo.media.download",
          "path": "download/{+resourceName}",
          "httpMethod": "GET",
          "supportsMediaDownload": true,
          "scopes": [
            "https://www.googleapis.com/auth/display-video",
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "flatPath": "download/{downloadId}",
          "parameters": {
            "resourceName": {
              "location": "path",
              "pattern": "^.*$",
              "type": "string",
              "required": true,
              "description": "Name of the media that is being downloaded. See ReadRequest.resource_name."
            }
          },
          "response": {
            "$ref": "GoogleBytestreamMedia"
          },
          "parameterOrder": [
            "resourceName"
          ],
          "description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: Download requests will not be successful without including `alt=media` query string."
        },
        "upload": {
          "flatPath": "media/{mediaId}",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video",
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "path": "media/{+resourceName}",
          "id": "displayvideo.media.upload",
          "description": "Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload requests will not be successful without including `upload_type=media` query string.",
          "parameterOrder": [
            "resourceName"
          ],
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/media/{+resourceName}"
              }
            }
          },
          "request": {
            "$ref": "GoogleBytestreamMedia"
          },
          "supportsMediaUpload": true,
          "response": {
            "$ref": "GoogleBytestreamMedia"
          },
          "parameters": {
            "resourceName": {
              "location": "path",
              "required": true,
              "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
              "pattern": "^.*$",
              "type": "string"
            }
          }
        }
      }
    },
    "sdfdownloadtasks": {
      "methods": {
        "create": {
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/sdfdownloadtasks",
          "id": "displayvideo.sdfdownloadtasks.create",
          "flatPath": "v2/sdfdownloadtasks",
          "response": {
            "$ref": "Operation"
          },
          "parameters": {},
          "description": "Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the response type of the operation is SdfDownloadTask. The response will not include the download files, which must be retrieved with media.download. The state of operation can be retrieved with `sdfdownloadtasks.operations.get`. Any errors can be found in the error.message. Note that error.details is expected to be empty.",
          "parameterOrder": [],
          "request": {
            "$ref": "CreateSdfDownloadTaskRequest"
          }
        }
      },
      "resources": {
        "operations": {
          "methods": {
            "get": {
              "flatPath": "v2/sdfdownloadtasks/operations/{operationsId}",
              "path": "v2/{+name}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/doubleclickbidmanager"
              ],
              "id": "displayvideo.sdfdownloadtasks.operations.get",
              "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "description": "The name of the operation resource.",
                  "pattern": "^sdfdownloadtasks/operations/[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "Operation"
              }
            }
          }
        }
      }
    },
    "inventorySourceGroups": {
      "resources": {
        "assignedInventorySources": {
          "methods": {
            "create": {
              "parameterOrder": [
                "inventorySourceGroupId"
              ],
              "request": {
                "$ref": "AssignedInventorySource"
              },
              "description": "Creates an assignment between an inventory source and an inventory source group.",
              "parameters": {
                "advertiserId": {
                  "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner will not have access to this assigned inventory source.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                },
                "inventorySourceGroupId": {
                  "location": "path",
                  "format": "int64",
                  "description": "Required. The ID of the inventory source group to which the assignment will be assigned.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the parent inventory source group. Only this partner will have write access to this assigned inventory source."
                }
              },
              "response": {
                "$ref": "AssignedInventorySource"
              },
              "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
              "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create",
              "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ]
            },
            "delete": {
              "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}",
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}",
              "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete",
              "description": "Deletes the assignment between an inventory source and an inventory source group.",
              "parameterOrder": [
                "inventorySourceGroupId",
                "assignedInventorySourceId"
              ],
              "response": {
                "$ref": "Empty"
              },
              "parameters": {
                "inventorySourceGroupId": {
                  "description": "Required. The ID of the inventory source group to which this assignment is assigned.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source."
                },
                "assignedInventorySourceId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the assigned inventory source to delete.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to this assigned inventory source."
                }
              }
            },
            "bulkEdit": {
              "response": {
                "$ref": "BulkEditAssignedInventorySourcesResponse"
              },
              "parameters": {
                "inventorySourceGroupId": {
                  "description": "Required. The ID of the inventory source group to which the assignments are assigned.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "parameterOrder": [
                "inventorySourceGroupId"
              ],
              "request": {
                "$ref": "BulkEditAssignedInventorySourcesRequest"
              },
              "description": "Bulk edits multiple assignments between inventory sources and a single inventory source group. The operation will delete the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.",
              "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit",
              "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit"
            },
            "list": {
              "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
              "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list",
              "description": "Lists inventory sources assigned to an inventory source group.",
              "parameterOrder": [
                "inventorySourceGroupId"
              ],
              "response": {
                "$ref": "ListAssignedInventorySourcesResponse"
              },
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedInventorySources` method. If not specified, the first page of results will be returned."
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `assignedInventorySourceId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedInventorySourceId desc`.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the advertiser that has access to the assignment. If the parent inventory source group is partner-owned, only advertisers to which the parent group is explicitly shared can access the assigned inventory source."
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by assigned inventory source fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedInventorySourceId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                },
                "inventorySourceGroupId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the inventory source group to which these assignments are assigned.",
                  "location": "path",
                  "format": "int64"
                },
                "partnerId": {
                  "description": "The ID of the partner that has access to the assignment. If the parent inventory source group is advertiser-owned, the assignment cannot be accessed via a partner.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                }
              }
            }
          }
        }
      },
      "methods": {
        "list": {
          "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the first page of results will be returned."
            },
            "partnerId": {
              "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "filter": {
              "location": "query",
              "type": "string",
              "description": "Allows filtering by inventory source group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `inventorySourceGroupId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
            },
            "orderBy": {
              "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `inventorySourceGroupId` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
              "location": "query",
              "type": "string"
            }
          },
          "response": {
            "$ref": "ListInventorySourceGroupsResponse"
          },
          "flatPath": "v2/inventorySourceGroups",
          "path": "v2/inventorySourceGroups",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.inventorySourceGroups.list"
        },
        "patch": {
          "path": "v2/inventorySourceGroups/{inventorySourceGroupId}",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.inventorySourceGroups.patch",
          "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupId}",
          "parameters": {
            "updateMask": {
              "location": "query",
              "type": "string",
              "format": "google-fieldmask",
              "description": "Required. The mask to control which fields to update."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group."
            },
            "inventorySourceGroupId": {
              "required": true,
              "description": "Output only. The unique ID of the inventory source group. Assigned by the system.",
              "type": "string",
              "location": "path",
              "format": "int64"
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group."
            }
          },
          "response": {
            "$ref": "InventorySourceGroup"
          },
          "description": "Updates an inventory source group. Returns the updated inventory source group if successful.",
          "parameterOrder": [
            "inventorySourceGroupId"
          ],
          "request": {
            "$ref": "InventorySourceGroup"
          }
        },
        "get": {
          "parameters": {
            "inventorySourceGroupId": {
              "pattern": "^[^/]+$",
              "type": "string",
              "required": true,
              "description": "Required. The ID of the inventory source group to fetch.",
              "location": "path",
              "format": "int64"
            },
            "partnerId": {
              "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "InventorySourceGroup"
          },
          "description": "Gets an inventory source group.",
          "parameterOrder": [
            "inventorySourceGroupId"
          ],
          "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.inventorySourceGroups.get",
          "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}"
        },
        "create": {
          "flatPath": "v2/inventorySourceGroups",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/inventorySourceGroups",
          "id": "displayvideo.inventorySourceGroups.create",
          "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.",
          "parameterOrder": [],
          "request": {
            "$ref": "InventorySourceGroup"
          },
          "response": {
            "$ref": "InventorySourceGroup"
          },
          "parameters": {
            "partnerId": {
              "description": "The ID of the partner that owns the inventory source group. Only this partner will have write access to this group. Only advertisers to which this group is explicitly shared will have read access to this group.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group."
            }
          }
        },
        "delete": {
          "parameterOrder": [
            "inventorySourceGroupId"
          ],
          "description": "Deletes an inventory source group.",
          "parameters": {
            "inventorySourceGroupId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the inventory source group to delete.",
              "required": true
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group."
            }
          },
          "response": {
            "$ref": "Empty"
          },
          "flatPath": "v2/inventorySourceGroups/{inventorySourceGroupsId}",
          "id": "displayvideo.inventorySourceGroups.delete",
          "path": "v2/inventorySourceGroups/{+inventorySourceGroupId}",
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        }
      }
    },
    "floodlightGroups": {
      "methods": {
        "patch": {
          "response": {
            "$ref": "FloodlightGroup"
          },
          "parameters": {
            "floodlightGroupId": {
              "type": "string",
              "required": true,
              "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.",
              "location": "path",
              "format": "int64"
            },
            "partnerId": {
              "description": "Required. The partner context by which the Floodlight group is being accessed.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "updateMask": {
              "description": "Required. The mask to control which fields to update.",
              "location": "query",
              "type": "string",
              "format": "google-fieldmask"
            }
          },
          "parameterOrder": [
            "floodlightGroupId"
          ],
          "request": {
            "$ref": "FloodlightGroup"
          },
          "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.",
          "id": "displayvideo.floodlightGroups.patch",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/floodlightGroups/{floodlightGroupId}",
          "flatPath": "v2/floodlightGroups/{floodlightGroupId}"
        },
        "get": {
          "flatPath": "v2/floodlightGroups/{floodlightGroupsId}",
          "id": "displayvideo.floodlightGroups.get",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/floodlightGroups/{+floodlightGroupId}",
          "parameterOrder": [
            "floodlightGroupId"
          ],
          "description": "Gets a Floodlight group.",
          "response": {
            "$ref": "FloodlightGroup"
          },
          "parameters": {
            "floodlightGroupId": {
              "location": "path",
              "format": "int64",
              "required": true,
              "description": "Required. The ID of the Floodlight group to fetch.",
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "partnerId": {
              "description": "Required. The partner context by which the Floodlight group is being accessed.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          }
        }
      },
      "resources": {
        "floodlightActivities": {
          "methods": {
            "get": {
              "id": "displayvideo.floodlightGroups.floodlightActivities.get",
              "path": "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities/{+floodlightActivityId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/floodlightGroups/{floodlightGroupsId}/floodlightActivities/{floodlightActivitiesId}",
              "parameters": {
                "floodlightActivityId": {
                  "description": "Required. The ID of the Floodlight activity to fetch.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "floodlightGroupId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the parent Floodlight group to which the requested Floodlight activity belongs.",
                  "required": true
                },
                "partnerId": {
                  "description": "Required. The ID of the partner through which the Floodlight activity is being accessed.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "FloodlightActivity"
              },
              "parameterOrder": [
                "floodlightGroupId",
                "floodlightActivityId"
              ],
              "description": "Gets a Floodlight activity."
            },
            "list": {
              "flatPath": "v2/floodlightGroups/{floodlightGroupsId}/floodlightActivities",
              "id": "displayvideo.floodlightGroups.floodlightActivities.list",
              "path": "v2/floodlightGroups/{+floodlightGroupId}/floodlightActivities",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "parameterOrder": [
                "floodlightGroupId"
              ],
              "description": "Lists Floodlight activities in a Floodlight group.",
              "parameters": {
                "floodlightGroupId": {
                  "description": "Required. The ID of the parent Floodlight group to which the requested Floodlight activities belong.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "partnerId": {
                  "description": "Required. The ID of the partner through which the Floodlight activities are being accessed.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `floodlightActivityId` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`."
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListFloodlightActivities` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListFloodlightActivitiesResponse"
              }
            }
          }
        }
      }
    },
    "customBiddingAlgorithms": {
      "methods": {
        "list": {
          "parameterOrder": [],
          "description": "Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.",
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm."
            },
            "filter": {
              "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field must use the `EQUALS (=)` operator. * The `displayName` field must use the `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:\"politics\"`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
              "location": "query",
              "type": "string"
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the DV360 partner that has access to the custom bidding algorithm."
            }
          },
          "response": {
            "$ref": "ListCustomBiddingAlgorithmsResponse"
          },
          "flatPath": "v2/customBiddingAlgorithms",
          "id": "displayvideo.customBiddingAlgorithms.list",
          "path": "v2/customBiddingAlgorithms",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        },
        "patch": {
          "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. Requests updating a custom bidding algorithm assigned to a line item will return an error.",
          "parameterOrder": [
            "customBiddingAlgorithmId"
          ],
          "request": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "response": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "parameters": {
            "updateMask": {
              "description": "Required. The mask to control which fields to update.",
              "location": "query",
              "type": "string",
              "format": "google-fieldmask"
            },
            "customBiddingAlgorithmId": {
              "location": "path",
              "format": "int64",
              "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            }
          },
          "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}",
          "id": "displayvideo.customBiddingAlgorithms.patch"
        },
        "uploadScript": {
          "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadScript",
          "id": "displayvideo.customBiddingAlgorithms.uploadScript",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript",
          "parameterOrder": [
            "customBiddingAlgorithmId"
          ],
          "description": "Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.",
          "response": {
            "$ref": "CustomBiddingScriptRef"
          },
          "parameters": {
            "customBiddingAlgorithmId": {
              "location": "path",
              "format": "int64",
              "required": true,
              "description": "Required. The ID of the custom bidding algorithm owns the script.",
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that owns the parent custom bidding algorithm."
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script."
            }
          }
        },
        "get": {
          "parameterOrder": [
            "customBiddingAlgorithmId"
          ],
          "description": "Gets a custom bidding algorithm.",
          "parameters": {
            "customBiddingAlgorithmId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the custom bidding algorithm to fetch.",
              "required": true
            },
            "advertiserId": {
              "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "partnerId": {
              "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}",
          "id": "displayvideo.customBiddingAlgorithms.get",
          "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        },
        "create": {
          "response": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "description": "Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.",
          "id": "displayvideo.customBiddingAlgorithms.create",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/customBiddingAlgorithms",
          "flatPath": "v2/customBiddingAlgorithms"
        }
      },
      "resources": {
        "scripts": {
          "methods": {
            "list": {
              "parameterOrder": [
                "customBiddingAlgorithmId"
              ],
              "description": "Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by parameter.",
              "response": {
                "$ref": "ListCustomBiddingScriptsResponse"
              },
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingScripts` method. If not specified, the first page of results will be returned."
                },
                "customBiddingAlgorithmId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the custom bidding algorithm owns the script.",
                  "location": "path",
                  "format": "int64"
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script."
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`."
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the advertiser that owns the parent custom bidding algorithm."
                }
              },
              "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts",
              "id": "displayvideo.customBiddingAlgorithms.scripts.list",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts"
            },
            "create": {
              "parameterOrder": [
                "customBiddingAlgorithmId"
              ],
              "request": {
                "$ref": "CustomBiddingScript"
              },
              "description": "Creates a new custom bidding script. Returns the newly created script if successful. Requests creating a custom bidding script under an algorithm assigned to a line item will return an error.",
              "response": {
                "$ref": "CustomBiddingScript"
              },
              "parameters": {
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script."
                },
                "customBiddingAlgorithmId": {
                  "required": true,
                  "description": "Required. The ID of the custom bidding algorithm that owns the script.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "advertiserId": {
                  "description": "The ID of the advertiser that owns the parent custom bidding algorithm.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                }
              },
              "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts",
              "id": "displayvideo.customBiddingAlgorithms.scripts.create",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts"
            },
            "get": {
              "response": {
                "$ref": "CustomBiddingScript"
              },
              "parameters": {
                "customBiddingAlgorithmId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the custom bidding algorithm owns the script.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "customBiddingScriptId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the custom bidding script to fetch.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the advertiser that owns the parent custom bidding algorithm."
                },
                "partnerId": {
                  "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                }
              },
              "description": "Gets a custom bidding script.",
              "parameterOrder": [
                "customBiddingAlgorithmId",
                "customBiddingScriptId"
              ],
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}",
              "id": "displayvideo.customBiddingAlgorithms.scripts.get",
              "flatPath": "v2/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts/{scriptsId}"
            }
          }
        }
      }
    },
    "customLists": {
      "methods": {
        "get": {
          "parameters": {
            "customListId": {
              "required": true,
              "description": "Required. The ID of the custom list to fetch.",
              "pattern": "^[^/]+$",
              "type": "string",
              "location": "path",
              "format": "int64"
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the DV360 advertiser that has access to the fetched custom lists."
            }
          },
          "response": {
            "$ref": "CustomList"
          },
          "parameterOrder": [
            "customListId"
          ],
          "description": "Gets a custom list.",
          "id": "displayvideo.customLists.get",
          "path": "v2/customLists/{+customListId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "flatPath": "v2/customLists/{customListsId}"
        },
        "list": {
          "parameterOrder": [],
          "description": "Lists custom lists. The order is defined by the order_by parameter.",
          "parameters": {
            "orderBy": {
              "description": "Field by which to sort the list. Acceptable values are: * `customListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
              "location": "query",
              "type": "string"
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the DV360 advertiser that has access to the fetched custom lists."
            },
            "filter": {
              "location": "query",
              "type": "string",
              "description": "Allows filtering by custom list fields. Supported syntax: * Filter expressions for custom lists can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All custom lists for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
            },
            "pageSize": {
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomLists` method. If not specified, the first page of results will be returned."
            }
          },
          "response": {
            "$ref": "ListCustomListsResponse"
          },
          "flatPath": "v2/customLists",
          "id": "displayvideo.customLists.list",
          "path": "v2/customLists",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        }
      }
    },
    "guaranteedOrders": {
      "methods": {
        "create": {
          "parameterOrder": [],
          "request": {
            "$ref": "GuaranteedOrder"
          },
          "description": "Creates a new guaranteed order. Returns the newly created guaranteed order if successful.",
          "parameters": {
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that the request is being made within."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that the request is being made within."
            }
          },
          "response": {
            "$ref": "GuaranteedOrder"
          },
          "flatPath": "v2/guaranteedOrders",
          "id": "displayvideo.guaranteedOrders.create",
          "path": "v2/guaranteedOrders",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        },
        "get": {
          "description": "Gets a guaranteed order.",
          "parameterOrder": [
            "guaranteedOrderId"
          ],
          "parameters": {
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the guaranteed order.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "guaranteedOrderId": {
              "location": "path",
              "description": "Required. The ID of the guaranteed order to fetch. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "partnerId": {
              "description": "The ID of the partner that has access to the guaranteed order.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "GuaranteedOrder"
          },
          "flatPath": "v2/guaranteedOrders/{guaranteedOrdersId}",
          "path": "v2/guaranteedOrders/{+guaranteedOrderId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.guaranteedOrders.get"
        },
        "list": {
          "response": {
            "$ref": "ListGuaranteedOrdersResponse"
          },
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListGuaranteedOrders` method. If not specified, the first page of results will be returned."
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that has access to the guaranteed order."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that has access to the guaranteed order."
            },
            "filter": {
              "description": "Allows filtering by guaranteed order fields. * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `guaranteed_order_id` * `exchange` * `display_name` * `status.entityStatus` Examples: * All active guaranteed orders: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Guaranteed orders belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`."
            }
          },
          "description": "Lists guaranteed orders that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
          "parameterOrder": [],
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/guaranteedOrders",
          "id": "displayvideo.guaranteedOrders.list",
          "flatPath": "v2/guaranteedOrders"
        },
        "patch": {
          "id": "displayvideo.guaranteedOrders.patch",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/guaranteedOrders/{+guaranteedOrderId}",
          "flatPath": "v2/guaranteedOrders/{guaranteedOrdersId}",
          "response": {
            "$ref": "GuaranteedOrder"
          },
          "parameters": {
            "guaranteedOrderId": {
              "location": "path",
              "required": true,
              "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.",
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that the request is being made within."
            },
            "advertiserId": {
              "description": "The ID of the advertiser that the request is being made within.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "updateMask": {
              "description": "Required. The mask to control which fields to update.",
              "location": "query",
              "type": "string",
              "format": "google-fieldmask"
            }
          },
          "parameterOrder": [
            "guaranteedOrderId"
          ],
          "request": {
            "$ref": "GuaranteedOrder"
          },
          "description": "Updates an existing guaranteed order. Returns the updated guaranteed order if successful."
        },
        "editGuaranteedOrderReadAccessors": {
          "path": "v2/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors",
          "flatPath": "v2/guaranteedOrders/{guaranteedOrdersId}:editGuaranteedOrderReadAccessors",
          "parameters": {
            "guaranteedOrderId": {
              "location": "path",
              "description": "Required. The ID of the guaranteed order to edit. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            }
          },
          "response": {
            "$ref": "EditGuaranteedOrderReadAccessorsResponse"
          },
          "description": "Edits read advertisers of a guaranteed order.",
          "parameterOrder": [
            "guaranteedOrderId"
          ],
          "request": {
            "$ref": "EditGuaranteedOrderReadAccessorsRequest"
          }
        }
      }
    },
    "users": {
      "methods": {
        "create": {
          "parameterOrder": [],
          "request": {
            "$ref": "User"
          },
          "description": "Creates a new user. Returns the newly created user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "response": {
            "$ref": "User"
          },
          "parameters": {},
          "flatPath": "v2/users",
          "id": "displayvideo.users.create",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "path": "v2/users"
        },
        "delete": {
          "parameterOrder": [
            "userId"
          ],
          "description": "Deletes a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "response": {
            "$ref": "Empty"
          },
          "parameters": {
            "userId": {
              "location": "path",
              "format": "int64",
              "description": "Required. The ID of the user to delete.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            }
          },
          "flatPath": "v2/users/{usersId}",
          "id": "displayvideo.users.delete",
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "path": "v2/users/{+userId}"
        },
        "get": {
          "response": {
            "$ref": "User"
          },
          "parameters": {
            "userId": {
              "location": "path",
              "format": "int64",
              "description": "Required. The ID of the user to fetch.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            }
          },
          "parameterOrder": [
            "userId"
          ],
          "description": "Gets a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "id": "displayvideo.users.get",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "path": "v2/users/{+userId}",
          "flatPath": "v2/users/{usersId}"
        },
        "list": {
          "response": {
            "$ref": "ListUsersResponse"
          },
          "parameters": {
            "pageSize": {
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListUsers` method. If not specified, the first page of results will be returned.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`."
            },
            "filter": {
              "description": "Allows filtering by user fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `displayName` and `email` fields must use the `HAS (:)` operator. * The `lastLoginTime` field must use either the `LESS THAN OR EQUAL TO (\u003c=)` or `GREATER THAN OR EQUAL TO (\u003e=)` operator. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` * `assignedUserRole.entityType`: This is synthetic field of `AssignedUserRole` used for filtering. Identifies the type of entity to which the user role is assigned. Valid values are `Partner` and `Advertiser`. * `assignedUserRole.parentPartnerId`: This is a synthetic field of `AssignedUserRole` used for filtering. Identifies the parent partner of the entity to which the user role is assigned. * `assignedUserRole.partnerId` * `assignedUserRole.userRole` * `displayName` * `email` * `lastLoginTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * The user with `displayName` containing \"foo\": `displayName:\"foo\"` * The user with `email` containing \"bar\": `email:\"bar\"` * All users with standard user roles: `assignedUserRole.userRole=\"STANDARD\"` * All users with user roles for partner 123: `assignedUserRole.partnerId=\"123\"` * All users with user roles for advertiser 123: `assignedUserRole.advertiserId=\"123\"` * All users with partner level user roles: `entityType=\"PARTNER\"` * All users with user roles for partner 123 and advertisers under partner 123: `parentPartnerId=\"123\"` * All users that last logged in on or after 2023-01-01T00:00:00Z (format of ISO 8601): `lastLoginTime\u003e=\"2023-01-01T00:00:00Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [],
          "description": "Lists users that are accessible to the current user. If two users have user roles on the same partner or advertiser, they can access each other. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "id": "displayvideo.users.list",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "path": "v2/users",
          "flatPath": "v2/users"
        },
        "patch": {
          "flatPath": "v2/users/{usersId}",
          "path": "v2/users/{+userId}",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "id": "displayvideo.users.patch",
          "description": "Updates an existing user. Returns the updated user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "parameterOrder": [
            "userId"
          ],
          "request": {
            "$ref": "User"
          },
          "parameters": {
            "userId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Output only. The unique ID of the user. Assigned by the system.",
              "required": true
            },
            "updateMask": {
              "description": "Required. The mask to control which fields to update.",
              "location": "query",
              "type": "string",
              "format": "google-fieldmask"
            }
          },
          "response": {
            "$ref": "User"
          }
        },
        "bulkEditAssignedUserRoles": {
          "description": "Bulk edits user roles for a user. The operation will delete the assigned user roles provided in BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.",
          "parameterOrder": [
            "userId"
          ],
          "request": {
            "$ref": "BulkEditAssignedUserRolesRequest"
          },
          "parameters": {
            "userId": {
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the user to which the assigned user roles belong.",
              "required": true,
              "location": "path",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "BulkEditAssignedUserRolesResponse"
          },
          "flatPath": "v2/users/{usersId}:bulkEditAssignedUserRoles",
          "path": "v2/users/{+userId}:bulkEditAssignedUserRoles",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video-user-management"
          ],
          "id": "displayvideo.users.bulkEditAssignedUserRoles"
        }
      }
    },
    "advertisers": {
      "resources": {
        "targetingTypes": {
          "resources": {
            "assignedTargetingOptions": {
              "methods": {
                "list": {
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the advertiser.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                    },
                    "orderBy": {
                      "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
                      "location": "query",
                      "type": "string"
                    },
                    "targetingType": {
                      "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ],
                      "location": "path"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned."
                    }
                  },
                  "response": {
                    "$ref": "ListAdvertiserAssignedTargetingOptionsResponse"
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "targetingType"
                  ],
                  "description": "Lists the targeting options assigned to an advertiser.",
                  "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list",
                  "path": "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "flatPath": "v2/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions"
                },
                "create": {
                  "response": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "Required. The ID of the advertiser.",
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "targetingType": {
                      "location": "path",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ],
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ]
                    }
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "targetingType"
                  ],
                  "request": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.",
                  "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                  "flatPath": "v2/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions"
                },
                "delete": {
                  "flatPath": "v2/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
                  "path": "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete",
                  "description": "Deletes an assigned targeting option from an advertiser.",
                  "parameterOrder": [
                    "advertiserId",
                    "targetingType",
                    "assignedTargetingOptionId"
                  ],
                  "parameters": {
                    "targetingType": {
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ],
                      "location": "path"
                    },
                    "assignedTargetingOptionId": {
                      "location": "path",
                      "description": "Required. The ID of the assigned targeting option to delete.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "advertiserId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the advertiser.",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  }
                },
                "get": {
                  "parameterOrder": [
                    "advertiserId",
                    "targetingType",
                    "assignedTargetingOptionId"
                  ],
                  "description": "Gets a single targeting option assigned to an advertiser.",
                  "parameters": {
                    "assignedTargetingOptionId": {
                      "location": "path",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.",
                      "required": true
                    },
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the advertiser.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "targetingType": {
                      "location": "path",
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ]
                    }
                  },
                  "response": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "flatPath": "v2/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
                  "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get",
                  "path": "v2/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ]
                }
              }
            }
          }
        },
        "campaigns": {
          "methods": {
            "create": {
              "id": "displayvideo.advertisers.campaigns.create",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "path": "v2/advertisers/{+advertiserId}/campaigns",
              "flatPath": "v2/advertisers/{advertisersId}/campaigns",
              "response": {
                "$ref": "Campaign"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "Campaign"
              },
              "description": "Creates a new campaign. Returns the newly created campaign if successful."
            },
            "delete": {
              "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}",
              "id": "displayvideo.advertisers.campaigns.delete",
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}",
              "parameterOrder": [
                "advertiserId",
                "campaignId"
              ],
              "description": "Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.",
              "response": {
                "$ref": "Empty"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "The ID of the advertiser this campaign belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "campaignId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the campaign we need to delete.",
                  "location": "path",
                  "format": "int64"
                }
              }
            },
            "get": {
              "response": {
                "$ref": "Campaign"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the advertiser this campaign belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "campaignId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the campaign to fetch.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                }
              },
              "description": "Gets a campaign.",
              "parameterOrder": [
                "advertiserId",
                "campaignId"
              ],
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}",
              "id": "displayvideo.advertisers.campaigns.get",
              "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}"
            },
            "list": {
              "flatPath": "v2/advertisers/{advertisersId}/campaigns",
              "id": "displayvideo.advertisers.campaigns.list",
              "path": "v2/advertisers/{+advertiserId}/campaigns",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "parameterOrder": [
                "advertiserId"
              ],
              "description": "Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`."
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaigns` method. If not specified, the first page of results will be returned."
                },
                "advertiserId": {
                  "description": "The ID of the advertiser to list campaigns for.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "filter": {
                  "description": "Allows filtering by campaign fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All campaigns with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All campaigns with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`."
                }
              },
              "response": {
                "$ref": "ListCampaignsResponse"
              }
            },
            "patch": {
              "parameters": {
                "campaignId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the campaign. Assigned by the system."
                },
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "Campaign"
              },
              "description": "Updates an existing campaign. Returns the updated campaign if successful.",
              "parameterOrder": [
                "advertiserId",
                "campaignId"
              ],
              "request": {
                "$ref": "Campaign"
              },
              "path": "v2/advertisers/{+advertiserId}/campaigns/{+campaignId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "id": "displayvideo.advertisers.campaigns.patch",
              "flatPath": "v2/advertisers/{advertisersId}/campaigns/{campaignsId}"
            }
          }
        },
        "invoices": {
          "methods": {
            "list": {
              "description": "Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a \"Partner\" invoice level are not retrievable through this method.",
              "parameterOrder": [
                "advertiserId"
              ],
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser to list invoices for.",
                  "location": "path",
                  "format": "int64"
                },
                "loiSapinInvoiceType": {
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "Value is not specified.",
                    "Invoices with Media cost.",
                    "Invoices with Platform fee."
                  ],
                  "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.",
                  "enum": [
                    "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED",
                    "LOI_SAPIN_INVOICE_TYPE_MEDIA",
                    "LOI_SAPIN_INVOICE_TYPE_PLATFORM"
                  ]
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInvoices` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                },
                "issueMonth": {
                  "location": "query",
                  "type": "string",
                  "description": "The month to list the invoices for. If not set, the request will retrieve invoices for the previous month. Must be in the format YYYYMM."
                }
              },
              "response": {
                "$ref": "ListInvoicesResponse"
              },
              "flatPath": "v2/advertisers/{advertisersId}/invoices",
              "path": "v2/advertisers/{+advertiserId}/invoices",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "id": "displayvideo.advertisers.invoices.list"
            },
            "lookupInvoiceCurrency": {
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video",
                "https://www.googleapis.com/auth/display-video-mediaplanning"
              ],
              "path": "v2/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency",
              "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency",
              "flatPath": "v2/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency",
              "response": {
                "$ref": "LookupInvoiceCurrencyResponse"
              },
              "parameters": {
                "advertiserId": {
                  "description": "Required. The ID of the advertiser to lookup currency for.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "invoiceMonth": {
                  "description": "Month for which the currency is needed. If not set, the request will return existing currency settings for the advertiser. Must be in the format YYYYMM.",
                  "location": "query",
                  "type": "string"
                }
              },
              "description": "Retrieves the invoice currency used by an advertiser in a given month.",
              "parameterOrder": [
                "advertiserId"
              ]
            }
          }
        },
        "assets": {
          "methods": {
            "upload": {
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/assets",
              "id": "displayvideo.advertisers.assets.upload",
              "flatPath": "v2/advertisers/{advertisersId}/assets",
              "supportsMediaUpload": true,
              "response": {
                "$ref": "CreateAssetResponse"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser this asset belongs to."
                }
              },
              "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using provided client libraries can be found in our [Creating Creatives guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset).",
              "parameterOrder": [
                "advertiserId"
              ],
              "mediaUpload": {
                "accept": [
                  "*/*"
                ],
                "protocols": {
                  "simple": {
                    "multipart": true,
                    "path": "/upload/v2/advertisers/{+advertiserId}/assets"
                  }
                }
              },
              "request": {
                "$ref": "CreateAssetRequest"
              }
            }
          }
        },
        "lineItems": {
          "methods": {
            "list": {
              "flatPath": "v2/advertisers/{advertisersId}/lineItems",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/lineItems",
              "id": "displayvideo.advertisers.lineItems.list",
              "description": "Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
              "parameterOrder": [
                "advertiserId"
              ],
              "response": {
                "$ref": "ListLineItemsResponse"
              },
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItems` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`."
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser to list line items for."
                },
                "filter": {
                  "description": "Allows filtering by line item fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All line items with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                }
              }
            },
            "patch": {
              "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}",
              "id": "displayvideo.advertisers.lineItems.patch",
              "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "parameterOrder": [
                "advertiserId",
                "lineItemId"
              ],
              "request": {
                "$ref": "LineItem"
              },
              "description": "Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * BulkUpdateLineItems * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.",
              "parameters": {
                "updateMask": {
                  "description": "Required. The mask to control which fields to update.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the advertiser the line item belongs to.",
                  "location": "path",
                  "format": "int64"
                },
                "lineItemId": {
                  "description": "Output only. The unique ID of the line item. Assigned by the system.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "LineItem"
              }
            },
            "bulkEditAssignedTargetingOptions": {
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions",
              "id": "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions",
              "flatPath": "v2/advertisers/{advertisersId}/lineItems:bulkEditAssignedTargetingOptions",
              "response": {
                "$ref": "BulkEditAssignedTargetingOptionsResponse"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser the line items belong to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "description": "Bulk edits targeting options under multiple line items. The operation will delete the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkUpdate * lineItems.patch * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API.",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "BulkEditAssignedTargetingOptionsRequest"
              }
            },
            "delete": {
              "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}",
              "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.lineItems.delete",
              "description": "Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. YouTube & Partners line items cannot be created or updated using the API.",
              "parameterOrder": [
                "advertiserId",
                "lineItemId"
              ],
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the advertiser this line item belongs to."
                },
                "lineItemId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "The ID of the line item to delete.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "Empty"
              }
            },
            "get": {
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the advertiser this line item belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "lineItemId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the line item to fetch.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "LineItem"
              },
              "parameterOrder": [
                "advertiserId",
                "lineItemId"
              ],
              "description": "Gets a line item.",
              "id": "displayvideo.advertisers.lineItems.get",
              "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}"
            },
            "bulkListAssignedTargetingOptions": {
              "response": {
                "$ref": "BulkListAssignedTargetingOptionsResponse"
              },
              "parameters": {
                "pageSize": {
                  "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to the `BulkListAssignedTargetingOptions` method. If not specified, the first page of results will be returned."
                },
                "lineItemIds": {
                  "location": "query",
                  "format": "int64",
                  "repeated": true,
                  "type": "string",
                  "description": "Required. The IDs of the line items to list assigned targeting options for."
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `lineItemId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser the line items belongs to.",
                  "location": "path",
                  "format": "int64"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                }
              },
              "parameterOrder": [
                "advertiserId"
              ],
              "description": "Lists assigned targeting options for multiple line items across targeting types.",
              "id": "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions",
              "flatPath": "v2/advertisers/{advertisersId}/lineItems:bulkListAssignedTargetingOptions"
            },
            "bulkUpdate": {
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "BulkUpdateLineItemsRequest"
              },
              "description": "Updates multiple line items. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * UpdateLineItem * assignedTargetingOptions.create * assignedTargetingOptions.delete YouTube & Partners line items cannot be created or updated using the API.",
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the advertiser this line item belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "BulkUpdateLineItemsResponse"
              },
              "flatPath": "v2/advertisers/{advertisersId}/lineItems:bulkUpdate",
              "id": "displayvideo.advertisers.lineItems.bulkUpdate",
              "path": "v2/advertisers/{+advertiserId}/lineItems:bulkUpdate",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ]
            },
            "create": {
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Output only. The unique ID of the advertiser the line item belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "LineItem"
              },
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "LineItem"
              },
              "description": "Creates a new line item. Returns the newly created line item if successful. YouTube & Partners line items cannot be created or updated using the API.",
              "id": "displayvideo.advertisers.lineItems.create",
              "path": "v2/advertisers/{+advertiserId}/lineItems",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/advertisers/{advertisersId}/lineItems"
            },
            "duplicate": {
              "response": {
                "$ref": "DuplicateLineItemResponse"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser this line item belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "lineItemId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the line item to duplicate."
                }
              },
              "parameterOrder": [
                "advertiserId",
                "lineItemId"
              ],
              "request": {
                "$ref": "DuplicateLineItemRequest"
              },
              "description": "Duplicates a line item. Returns the ID of the created line item if successful. YouTube & Partners line items cannot be created or updated using the API. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.",
              "id": "displayvideo.advertisers.lineItems.duplicate",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate",
              "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}:duplicate"
            }
          },
          "resources": {
            "targetingTypes": {
              "resources": {
                "assignedTargetingOptions": {
                  "methods": {
                    "create": {
                      "httpMethod": "POST",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                      "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create",
                      "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
                      "response": {
                        "$ref": "AssignedTargetingOption"
                      },
                      "parameters": {
                        "advertiserId": {
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "description": "Required. The ID of the advertiser the line item belongs to.",
                          "required": true,
                          "location": "path",
                          "format": "int64"
                        },
                        "lineItemId": {
                          "location": "path",
                          "format": "int64",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "required": true,
                          "description": "Required. The ID of the line item the assigned targeting option will belong to."
                        },
                        "targetingType": {
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`",
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ],
                          "location": "path"
                        }
                      },
                      "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * DeleteLineItemAssignedTargetingOption YouTube & Partners line items cannot be created or updated using the API.",
                      "parameterOrder": [
                        "advertiserId",
                        "lineItemId",
                        "targetingType"
                      ],
                      "request": {
                        "$ref": "AssignedTargetingOption"
                      }
                    },
                    "delete": {
                      "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete",
                      "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                      "httpMethod": "DELETE",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
                      "parameters": {
                        "targetingType": {
                          "location": "path",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`",
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ]
                        },
                        "lineItemId": {
                          "location": "path",
                          "format": "int64",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "description": "Required. The ID of the line item the assigned targeting option belongs to.",
                          "required": true
                        },
                        "advertiserId": {
                          "required": true,
                          "description": "Required. The ID of the advertiser the line item belongs to.",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "location": "path",
                          "format": "int64"
                        },
                        "assignedTargetingOptionId": {
                          "location": "path",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "description": "Required. The ID of the assigned targeting option to delete.",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "Empty"
                      },
                      "parameterOrder": [
                        "advertiserId",
                        "lineItemId",
                        "targetingType",
                        "assignedTargetingOptionId"
                      ],
                      "description": "Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * CreateLineItemAssignedTargetingOption YouTube & Partners line items cannot be created or updated using the API."
                    },
                    "get": {
                      "description": "Gets a single targeting option assigned to a line item.",
                      "parameterOrder": [
                        "advertiserId",
                        "lineItemId",
                        "targetingType",
                        "assignedTargetingOptionId"
                      ],
                      "parameters": {
                        "lineItemId": {
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "required": true,
                          "description": "Required. The ID of the line item the assigned targeting option belongs to.",
                          "location": "path",
                          "format": "int64"
                        },
                        "targetingType": {
                          "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)",
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ],
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "location": "path"
                        },
                        "assignedTargetingOptionId": {
                          "location": "path",
                          "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string"
                        },
                        "advertiserId": {
                          "location": "path",
                          "format": "int64",
                          "description": "Required. The ID of the advertiser the line item belongs to.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "AssignedTargetingOption"
                      },
                      "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
                      "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get"
                    },
                    "list": {
                      "flatPath": "v2/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "path": "v2/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                      "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list",
                      "description": "Lists the targeting options assigned to a line item.",
                      "parameterOrder": [
                        "advertiserId",
                        "lineItemId",
                        "targetingType"
                      ],
                      "response": {
                        "$ref": "ListLineItemAssignedTargetingOptionsResponse"
                      },
                      "parameters": {
                        "advertiserId": {
                          "location": "path",
                          "format": "int64",
                          "description": "Required. The ID of the advertiser the line item belongs to.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                          "location": "query",
                          "type": "string"
                        },
                        "orderBy": {
                          "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
                          "location": "query",
                          "type": "string"
                        },
                        "targetingType": {
                          "location": "path",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ],
                          "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)"
                        },
                        "lineItemId": {
                          "location": "path",
                          "format": "int64",
                          "description": "Required. The ID of the line item to list assigned targeting options for.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItemAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
                          "location": "query",
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "manualTriggers": {
          "methods": {
            "activate": {
              "description": "Activates a manual trigger. Each activation of the manual trigger must be at least 5 minutes apart, otherwise an error will be returned. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameterOrder": [
                "advertiserId",
                "triggerId"
              ],
              "request": {
                "$ref": "ActivateManualTriggerRequest"
              },
              "response": {
                "$ref": "ManualTrigger"
              },
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser that the manual trigger belongs.",
                  "location": "path",
                  "format": "int64"
                },
                "triggerId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the manual trigger to activate.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:activate",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate",
              "id": "displayvideo.advertisers.manualTriggers.activate"
            },
            "create": {
              "response": {
                "$ref": "ManualTrigger"
              },
              "parameters": {
                "advertiserId": {
                  "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "description": "Creates a new manual trigger. Returns the newly created manual trigger if successful. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "ManualTrigger"
              },
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/manualTriggers",
              "id": "displayvideo.advertisers.manualTriggers.create",
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers"
            },
            "deactivate": {
              "description": "Deactivates a manual trigger. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameterOrder": [
                "advertiserId",
                "triggerId"
              ],
              "request": {
                "$ref": "DeactivateManualTriggerRequest"
              },
              "response": {
                "$ref": "ManualTrigger"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser that the manual trigger belongs.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "triggerId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the manual trigger to deactivate.",
                  "required": true
                }
              },
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:deactivate",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate",
              "id": "displayvideo.advertisers.manualTriggers.deactivate"
            },
            "get": {
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
              "id": "displayvideo.advertisers.manualTriggers.get",
              "path": "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "parameterOrder": [
                "advertiserId",
                "triggerId"
              ],
              "description": "Gets a manual trigger. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "description": "Required. The ID of the advertiser this manual trigger belongs to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "triggerId": {
                  "description": "Required. The ID of the manual trigger to fetch.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "ManualTrigger"
              }
            },
            "list": {
              "response": {
                "$ref": "ListManualTriggersResponse"
              },
              "parameters": {
                "pageSize": {
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListManualTriggers` method. If not specified, the first page of results will be returned."
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `state` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "description": "Required. The ID of the advertiser that the fetched manual triggers belong to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by manual trigger fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `displayName` * `state` Examples: * All active manual triggers under an advertiser: `state=\"ACTIVE\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                }
              },
              "description": "Lists manual triggers that are accessible to the current user for a given advertiser ID. The order is defined by the order_by parameter. A single advertiser_id is required. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameterOrder": [
                "advertiserId"
              ],
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/manualTriggers",
              "id": "displayvideo.advertisers.manualTriggers.list",
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers"
            },
            "patch": {
              "description": "Updates a manual trigger. Returns the updated manual trigger if successful. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This method will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information.",
              "parameterOrder": [
                "advertiserId",
                "triggerId"
              ],
              "request": {
                "$ref": "ManualTrigger"
              },
              "parameters": {
                "advertiserId": {
                  "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "triggerId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Output only. The unique ID of the manual trigger.",
                  "required": true
                },
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                }
              },
              "response": {
                "$ref": "ManualTrigger"
              },
              "flatPath": "v2/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
              "path": "v2/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.manualTriggers.patch"
            }
          }
        },
        "youtubeAdGroupAds": {
          "methods": {
            "get": {
              "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroupAds/{youtubeAdGroupAdsId}",
              "id": "displayvideo.advertisers.youtubeAdGroupAds.get",
              "path": "v2/advertisers/{+advertiserId}/youtubeAdGroupAds/{+youtubeAdGroupAdId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "parameterOrder": [
                "advertiserId",
                "youtubeAdGroupAdId"
              ],
              "description": "Gets a YouTube ad group ad.",
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser this ad group ad belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "youtubeAdGroupAdId": {
                  "required": true,
                  "description": "Required. The ID of the ad group ad to fetch.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "YoutubeAdGroupAd"
              }
            },
            "list": {
              "description": "Lists YouTube ad group ads.",
              "parameterOrder": [
                "advertiserId"
              ],
              "response": {
                "$ref": "ListYoutubeAdGroupAdsResponse"
              },
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListYoutubeAdGroupAds` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser the ad groups belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by custom YouTube ad group ad fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `adGroupId` * `displayName` * `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad group: `adGroupId=\"1234\"` * All ad group ads under an ad group with an entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupId=\"12345\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`."
                }
              },
              "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroupAds",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/youtubeAdGroupAds",
              "id": "displayvideo.advertisers.youtubeAdGroupAds.list"
            }
          }
        },
        "creatives": {
          "methods": {
            "create": {
              "description": "Creates a new creative. Returns the newly created creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "Creative"
              },
              "response": {
                "$ref": "Creative"
              },
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the advertiser the creative belongs to.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "flatPath": "v2/advertisers/{advertisersId}/creatives",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/creatives",
              "id": "displayvideo.advertisers.creatives.create"
            },
            "delete": {
              "id": "displayvideo.advertisers.creatives.delete",
              "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}",
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}",
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "The ID of the advertiser this creative belongs to.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "creativeId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the creative to be deleted.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "Empty"
              },
              "parameterOrder": [
                "advertiserId",
                "creativeId"
              ],
              "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request."
            },
            "get": {
              "parameterOrder": [
                "advertiserId",
                "creativeId"
              ],
              "description": "Gets a creative.",
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the advertiser this creative belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "creativeId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the creative to fetch."
                }
              },
              "response": {
                "$ref": "Creative"
              },
              "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}",
              "id": "displayvideo.advertisers.creatives.get",
              "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ]
            },
            "list": {
              "flatPath": "v2/advertisers/{advertisersId}/creatives",
              "path": "v2/advertisers/{+advertiserId}/creatives",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.creatives.list",
              "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
              "parameterOrder": [
                "advertiserId"
              ],
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser to list creatives for."
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListCreativesResponse"
              }
            },
            "patch": {
              "response": {
                "$ref": "Creative"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Output only. The unique ID of the advertiser the creative belongs to.",
                  "required": true
                },
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                },
                "creativeId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the creative. Assigned by the system.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "parameterOrder": [
                "advertiserId",
                "creativeId"
              ],
              "request": {
                "$ref": "Creative"
              },
              "description": "Updates an existing creative. Returns the updated creative if successful. A [\"Standard\" user role](//support.google.com/displayvideo/answer/2723011) or greater for the parent advertiser or partner is required to make this request.",
              "id": "displayvideo.advertisers.creatives.patch",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/creatives/{+creativeId}",
              "flatPath": "v2/advertisers/{advertisersId}/creatives/{creativesId}"
            }
          }
        },
        "channels": {
          "resources": {
            "sites": {
              "methods": {
                "list": {
                  "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}/sites",
                  "id": "displayvideo.advertisers.channels.sites.list",
                  "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}/sites",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "parameterOrder": [
                    "advertiserId",
                    "channelId"
                  ],
                  "description": "Lists sites in a channel.",
                  "parameters": {
                    "partnerId": {
                      "location": "query",
                      "type": "string",
                      "format": "int64",
                      "description": "The ID of the partner that owns the parent channel."
                    },
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "The ID of the advertiser that owns the parent channel."
                    },
                    "filter": {
                      "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.",
                      "location": "query",
                      "type": "string"
                    },
                    "channelId": {
                      "description": "Required. The ID of the parent channel to which the requested sites belong.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned."
                    }
                  },
                  "response": {
                    "$ref": "ListSitesResponse"
                  }
                },
                "create": {
                  "parameters": {
                    "channelId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "description": "Required. The ID of the parent channel in which the site will be created.",
                      "required": true,
                      "location": "path",
                      "format": "int64"
                    },
                    "partnerId": {
                      "description": "The ID of the partner that owns the parent channel.",
                      "location": "query",
                      "type": "string",
                      "format": "int64"
                    },
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "Site"
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "Site"
                  },
                  "description": "Creates a site in a channel.",
                  "id": "displayvideo.advertisers.channels.sites.create",
                  "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites"
                },
                "delete": {
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "type": "string"
                    },
                    "channelId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent channel to which the site belongs.",
                      "location": "path",
                      "format": "int64"
                    },
                    "urlOrAppId": {
                      "required": true,
                      "description": "Required. The URL or app ID of the site to delete.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path"
                    },
                    "partnerId": {
                      "description": "The ID of the partner that owns the parent channel.",
                      "location": "query",
                      "type": "string",
                      "format": "int64"
                    }
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "channelId",
                    "urlOrAppId"
                  ],
                  "description": "Deletes a site from a channel.",
                  "id": "displayvideo.advertisers.channels.sites.delete",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}",
                  "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}"
                },
                "bulkEdit": {
                  "id": "displayvideo.advertisers.channels.sites.bulkEdit",
                  "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit",
                  "parameters": {
                    "advertiserId": {
                      "type": "string",
                      "required": true,
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "location": "path",
                      "format": "int64"
                    },
                    "channelId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent channel to which the sites belong.",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "response": {
                    "$ref": "BulkEditSitesResponse"
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "BulkEditSitesRequest"
                  },
                  "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites."
                },
                "replace": {
                  "flatPath": "v2/advertisers/{advertiserId}/channels/{channelsId}/sites:replace",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/advertisers/{advertiserId}/channels/{+channelId}/sites:replace",
                  "id": "displayvideo.advertisers.channels.sites.replace",
                  "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.",
                  "parameterOrder": [
                    "advertiserId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "ReplaceSitesRequest"
                  },
                  "response": {
                    "$ref": "ReplaceSitesResponse"
                  },
                  "parameters": {
                    "advertiserId": {
                      "required": true,
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "channelId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent channel whose sites will be replaced."
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "list": {
              "path": "v2/advertisers/{+advertiserId}/channels",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.channels.list",
              "flatPath": "v2/advertisers/{advertisersId}/channels",
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the advertiser that owns the channels.",
                  "location": "path",
                  "format": "int64"
                },
                "filter": {
                  "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`."
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the channels."
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListChannelsResponse"
              },
              "description": "Lists channels for a partner or advertiser.",
              "parameterOrder": [
                "advertiserId"
              ]
            },
            "patch": {
              "id": "displayvideo.advertisers.channels.patch",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/channels/{channelId}",
              "flatPath": "v2/advertisers/{advertisersId}/channels/{channelId}",
              "response": {
                "$ref": "Channel"
              },
              "parameters": {
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the advertiser that owns the created channel."
                },
                "channelId": {
                  "location": "path",
                  "format": "int64",
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the channel. Assigned by the system."
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the created channel."
                }
              },
              "parameterOrder": [
                "advertiserId",
                "channelId"
              ],
              "request": {
                "$ref": "Channel"
              },
              "description": "Updates a channel. Returns the updated channel if successful."
            },
            "create": {
              "id": "displayvideo.advertisers.channels.create",
              "path": "v2/advertisers/{+advertiserId}/channels",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/advertisers/{advertisersId}/channels",
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "description": "The ID of the advertiser that owns the created channel.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the created channel."
                }
              },
              "response": {
                "$ref": "Channel"
              },
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "Channel"
              },
              "description": "Creates a new channel. Returns the newly created channel if successful."
            },
            "get": {
              "flatPath": "v2/advertisers/{advertisersId}/channels/{channelsId}",
              "id": "displayvideo.advertisers.channels.get",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/channels/{+channelId}",
              "parameterOrder": [
                "advertiserId",
                "channelId"
              ],
              "description": "Gets a channel for a partner or advertiser.",
              "response": {
                "$ref": "Channel"
              },
              "parameters": {
                "channelId": {
                  "required": true,
                  "description": "Required. The ID of the channel to fetch.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "partnerId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the partner that owns the fetched channel."
                },
                "advertiserId": {
                  "required": true,
                  "description": "The ID of the advertiser that owns the fetched channel.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              }
            }
          }
        },
        "insertionOrders": {
          "methods": {
            "create": {
              "flatPath": "v2/advertisers/{advertisersId}/insertionOrders",
              "id": "displayvideo.advertisers.insertionOrders.create",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/insertionOrders",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "InsertionOrder"
              },
              "description": "Creates a new insertion order. Returns the newly created insertion order if successful.",
              "response": {
                "$ref": "InsertionOrder"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              }
            },
            "delete": {
              "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.insertionOrders.delete",
              "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "The ID of the advertiser this insertion order belongs to.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "insertionOrderId": {
                  "description": "The ID of the insertion order to delete.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "Empty"
              },
              "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.",
              "parameterOrder": [
                "advertiserId",
                "insertionOrderId"
              ]
            },
            "get": {
              "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.",
              "parameterOrder": [
                "advertiserId",
                "insertionOrderId"
              ],
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the advertiser this insertion order belongs to.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "insertionOrderId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the insertion order to fetch.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "InsertionOrder"
              },
              "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
              "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.insertionOrders.get"
            },
            "list": {
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser to list insertion orders for."
                },
                "filter": {
                  "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListInsertionOrdersResponse"
              },
              "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
              "parameterOrder": [
                "advertiserId"
              ],
              "path": "v2/advertisers/{+advertiserId}/insertionOrders",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.insertionOrders.list",
              "flatPath": "v2/advertisers/{advertisersId}/insertionOrders"
            },
            "patch": {
              "parameters": {
                "updateMask": {
                  "description": "Required. The mask to control which fields to update.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "insertionOrderId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Output only. The unique ID of the insertion order. Assigned by the system.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "InsertionOrder"
              },
              "description": "Updates an existing insertion order. Returns the updated insertion order if successful.",
              "parameterOrder": [
                "advertiserId",
                "insertionOrderId"
              ],
              "request": {
                "$ref": "InsertionOrder"
              },
              "path": "v2/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.insertionOrders.patch",
              "flatPath": "v2/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}"
            }
          }
        },
        "locationLists": {
          "methods": {
            "get": {
              "path": "v2/advertisers/{+advertiserId}/locationLists/{+locationListId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.locationLists.get",
              "flatPath": "v2/advertisers/{advertisersId}/locationLists/{locationListsId}",
              "parameters": {
                "locationListId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the location list to fetch.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "LocationList"
              },
              "description": "Gets a location list.",
              "parameterOrder": [
                "advertiserId",
                "locationListId"
              ]
            },
            "create": {
              "flatPath": "v2/advertisers/{advertisersId}/locationLists",
              "id": "displayvideo.advertisers.locationLists.create",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/locationLists",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "LocationList"
              },
              "description": "Creates a new location list. Returns the newly created location list if successful.",
              "response": {
                "$ref": "LocationList"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              }
            },
            "list": {
              "description": "Lists location lists based on a given advertiser id.",
              "parameterOrder": [
                "advertiserId"
              ],
              "response": {
                "$ref": "ListLocationListsResponse"
              },
              "parameters": {
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `locationListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.",
                  "location": "path",
                  "format": "int64"
                },
                "filter": {
                  "description": "Allows filtering by location list fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All regional location list: `locationType=\"TARGETING_LOCATION_TYPE_REGIONAL\"` * All proximity location list: `locationType=\"TARGETING_LOCATION_TYPE_PROXIMITY\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLocationLists` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                }
              },
              "flatPath": "v2/advertisers/{advertisersId}/locationLists",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/locationLists",
              "id": "displayvideo.advertisers.locationLists.list"
            },
            "patch": {
              "description": "Updates a location list. Returns the updated location list if successful.",
              "parameterOrder": [
                "advertiserId",
                "locationListId"
              ],
              "request": {
                "$ref": "LocationList"
              },
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "locationListId": {
                  "location": "path",
                  "format": "int64",
                  "type": "string",
                  "description": "Output only. The unique ID of the location list. Assigned by the system.",
                  "required": true
                },
                "updateMask": {
                  "description": "Required. The mask to control which fields to update.",
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask"
                }
              },
              "response": {
                "$ref": "LocationList"
              },
              "flatPath": "v2/advertisers/{advertisersId}/locationLists/{locationListId}",
              "path": "v2/advertisers/{+advertiserId}/locationLists/{locationListId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.locationLists.patch"
            }
          },
          "resources": {
            "assignedLocations": {
              "methods": {
                "bulkEdit": {
                  "parameters": {
                    "locationListId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the location list to which these assignments are assigned.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the location list belongs."
                    }
                  },
                  "response": {
                    "$ref": "BulkEditAssignedLocationsResponse"
                  },
                  "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in deletedAssignedLocations and then create the assigned locations provided in createdAssignedLocations.",
                  "parameterOrder": [
                    "advertiserId",
                    "locationListId"
                  ],
                  "request": {
                    "$ref": "BulkEditAssignedLocationsRequest"
                  },
                  "path": "v2/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit",
                  "flatPath": "v2/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit"
                },
                "create": {
                  "response": {
                    "$ref": "AssignedLocation"
                  },
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the location list belongs."
                    },
                    "locationListId": {
                      "required": true,
                      "description": "Required. The ID of the location list for which the assignment will be created.",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "locationListId"
                  ],
                  "request": {
                    "$ref": "AssignedLocation"
                  },
                  "description": "Creates an assignment between a location and a location list.",
                  "id": "displayvideo.advertisers.locationLists.assignedLocations.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
                  "flatPath": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations"
                },
                "delete": {
                  "parameterOrder": [
                    "advertiserId",
                    "locationListId",
                    "assignedLocationId"
                  ],
                  "description": "Deletes the assignment between a location and a location list.",
                  "parameters": {
                    "locationListId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "Required. The ID of the location list to which this assignment is assigned.",
                      "type": "string"
                    },
                    "advertiserId": {
                      "type": "string",
                      "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
                      "required": true,
                      "location": "path",
                      "format": "int64"
                    },
                    "assignedLocationId": {
                      "required": true,
                      "description": "Required. The ID of the assigned location to delete.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}",
                  "id": "displayvideo.advertisers.locationLists.assignedLocations.delete",
                  "path": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ]
                },
                "list": {
                  "flatPath": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
                  "id": "displayvideo.advertisers.locationLists.assignedLocations.list",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
                  "parameterOrder": [
                    "advertiserId",
                    "locationListId"
                  ],
                  "description": "Lists locations assigned to a location list.",
                  "response": {
                    "$ref": "ListAssignedLocationsResponse"
                  },
                  "parameters": {
                    "advertiserId": {
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Allows filtering by location list assignment fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedLocationId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                    },
                    "locationListId": {
                      "required": true,
                      "description": "Required. The ID of the location list to which these assignments are assigned.",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "orderBy": {
                      "description": "Field by which to sort the list. Acceptable values are: * `assignedLocationId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedLocationId desc`.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedLocations` method. If not specified, the first page of results will be returned."
                    }
                  }
                }
              }
            }
          }
        },
        "negativeKeywordLists": {
          "methods": {
            "get": {
              "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.",
              "parameterOrder": [
                "advertiserId",
                "negativeKeywordListId"
              ],
              "parameters": {
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "negativeKeywordListId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the negative keyword list to fetch."
                }
              },
              "response": {
                "$ref": "NegativeKeywordList"
              },
              "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
              "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.negativeKeywordLists.get"
            },
            "create": {
              "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.negativeKeywordLists.create",
              "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists",
              "parameters": {
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong."
                }
              },
              "response": {
                "$ref": "NegativeKeywordList"
              },
              "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.",
              "parameterOrder": [
                "advertiserId"
              ],
              "request": {
                "$ref": "NegativeKeywordList"
              }
            },
            "delete": {
              "httpMethod": "DELETE",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
              "id": "displayvideo.advertisers.negativeKeywordLists.delete",
              "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
              "response": {
                "$ref": "Empty"
              },
              "parameters": {
                "advertiserId": {
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                },
                "negativeKeywordListId": {
                  "required": true,
                  "description": "Required. The ID of the negative keyword list to delete.",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.",
              "parameterOrder": [
                "advertiserId",
                "negativeKeywordListId"
              ]
            },
            "list": {
              "id": "displayvideo.advertisers.negativeKeywordLists.list",
              "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists",
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywordLists` method. If not specified, the first page of results will be returned."
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "ListNegativeKeywordListsResponse"
              },
              "parameterOrder": [
                "advertiserId"
              ],
              "description": "Lists negative keyword lists based on a given advertiser id."
            },
            "patch": {
              "parameterOrder": [
                "advertiserId",
                "negativeKeywordListId"
              ],
              "request": {
                "$ref": "NegativeKeywordList"
              },
              "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.",
              "parameters": {
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "negativeKeywordListId": {
                  "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "NegativeKeywordList"
              },
              "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}",
              "id": "displayvideo.advertisers.negativeKeywordLists.patch",
              "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}",
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ]
            }
          },
          "resources": {
            "negativeKeywords": {
              "methods": {
                "bulkEdit": {
                  "parameterOrder": [
                    "advertiserId",
                    "negativeKeywordListId"
                  ],
                  "request": {
                    "$ref": "BulkEditNegativeKeywordsRequest"
                  },
                  "description": "Bulk edits negative keywords in a single negative keyword list. The operation will delete the negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is guaranteed to be atomic and will never result in a partial success or partial failure.",
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
                      "type": "string"
                    },
                    "negativeKeywordListId": {
                      "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "response": {
                    "$ref": "BulkEditNegativeKeywordsResponse"
                  },
                  "flatPath": "v2/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit",
                  "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit",
                  "path": "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ]
                },
                "replace": {
                  "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace",
                  "path": "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "flatPath": "v2/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace",
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
                      "type": "string"
                    },
                    "negativeKeywordListId": {
                      "required": true,
                      "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "response": {
                    "$ref": "ReplaceNegativeKeywordsResponse"
                  },
                  "parameterOrder": [
                    "advertiserId",
                    "negativeKeywordListId"
                  ],
                  "request": {
                    "$ref": "ReplaceNegativeKeywordsRequest"
                  },
                  "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keyword list with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords."
                },
                "create": {
                  "parameters": {
                    "advertiserId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
                      "required": true
                    },
                    "negativeKeywordListId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "NegativeKeyword"
                  },
                  "description": "Creates a negative keyword in a negative keyword list.",
                  "parameterOrder": [
                    "advertiserId",
                    "negativeKeywordListId"
                  ],
                  "request": {
                    "$ref": "NegativeKeyword"
                  },
                  "path": "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create",
                  "flatPath": "v2/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords"
                },
                "delete": {
                  "description": "Deletes a negative keyword from a negative keyword list.",
                  "parameterOrder": [
                    "advertiserId",
                    "negativeKeywordListId",
                    "keywordValue"
                  ],
                  "parameters": {
                    "keywordValue": {
                      "required": true,
                      "description": "Required. The keyword value of the negative keyword to delete.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path"
                    },
                    "advertiserId": {
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "negativeKeywordListId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.",
                      "pattern": "^[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "flatPath": "v2/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}",
                  "path": "v2/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete"
                },
                "list": {
                  "description": "Lists negative keywords in a negative keyword list.",
                  "parameterOrder": [
                    "advertiserId",
                    "negativeKeywordListId"
                  ],
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Requested page size. Must be between `1` and `1000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                    },
                    "pageToken": {
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywords` method. If not specified, the first page of results will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "advertiserId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
                      "location": "path",
                      "format": "int64"
                    },
                    "negativeKeywordListId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Allows filtering by negative keyword fields. Supported syntax: * Filter expressions for negative keywords can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `keywordValue` Examples: * All negative keywords for which the keyword value contains \"google\": `keywordValue : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Field by which to sort the list. Acceptable values are: * `keywordValue` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `keywordValue desc`."
                    }
                  },
                  "response": {
                    "$ref": "ListNegativeKeywordsResponse"
                  },
                  "flatPath": "v2/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
                  "path": "v2/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list"
                }
              }
            }
          }
        },
        "youtubeAdGroups": {
          "resources": {
            "targetingTypes": {
              "resources": {
                "assignedTargetingOptions": {
                  "methods": {
                    "get": {
                      "response": {
                        "$ref": "AssignedTargetingOption"
                      },
                      "parameters": {
                        "advertiserId": {
                          "required": true,
                          "description": "Required. The ID of the advertiser the ad group belongs to.",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "location": "path",
                          "format": "int64"
                        },
                        "youtubeAdGroupId": {
                          "description": "Required. The ID of the ad group the assigned targeting option belongs to.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "location": "path",
                          "format": "int64"
                        },
                        "assignedTargetingOptionId": {
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "required": true,
                          "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.",
                          "location": "path"
                        },
                        "targetingType": {
                          "location": "path",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ],
                          "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`"
                        }
                      },
                      "description": "Gets a single targeting option assigned to a YouTube ad group. Inherited assigned targeting options are not included.",
                      "parameterOrder": [
                        "advertiserId",
                        "youtubeAdGroupId",
                        "targetingType",
                        "assignedTargetingOptionId"
                      ],
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "path": "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                      "id": "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.get",
                      "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups/{youtubeAdGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}"
                    },
                    "list": {
                      "parameters": {
                        "targetingType": {
                          "required": true,
                          "enum": [
                            "TARGETING_TYPE_UNSPECIFIED",
                            "TARGETING_TYPE_CHANNEL",
                            "TARGETING_TYPE_APP_CATEGORY",
                            "TARGETING_TYPE_APP",
                            "TARGETING_TYPE_URL",
                            "TARGETING_TYPE_DAY_AND_TIME",
                            "TARGETING_TYPE_AGE_RANGE",
                            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                            "TARGETING_TYPE_GENDER",
                            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                            "TARGETING_TYPE_USER_REWARDED_CONTENT",
                            "TARGETING_TYPE_PARENTAL_STATUS",
                            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                            "TARGETING_TYPE_DEVICE_TYPE",
                            "TARGETING_TYPE_AUDIENCE_GROUP",
                            "TARGETING_TYPE_BROWSER",
                            "TARGETING_TYPE_HOUSEHOLD_INCOME",
                            "TARGETING_TYPE_ON_SCREEN_POSITION",
                            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                            "TARGETING_TYPE_ENVIRONMENT",
                            "TARGETING_TYPE_CARRIER_AND_ISP",
                            "TARGETING_TYPE_OPERATING_SYSTEM",
                            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                            "TARGETING_TYPE_KEYWORD",
                            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                            "TARGETING_TYPE_VIEWABILITY",
                            "TARGETING_TYPE_CATEGORY",
                            "TARGETING_TYPE_INVENTORY_SOURCE",
                            "TARGETING_TYPE_LANGUAGE",
                            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                            "TARGETING_TYPE_GEO_REGION",
                            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                            "TARGETING_TYPE_EXCHANGE",
                            "TARGETING_TYPE_SUB_EXCHANGE",
                            "TARGETING_TYPE_POI",
                            "TARGETING_TYPE_BUSINESS_CHAIN",
                            "TARGETING_TYPE_CONTENT_DURATION",
                            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                            "TARGETING_TYPE_OMID",
                            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                            "TARGETING_TYPE_CONTENT_GENRE",
                            "TARGETING_TYPE_YOUTUBE_VIDEO",
                            "TARGETING_TYPE_YOUTUBE_CHANNEL",
                            "TARGETING_TYPE_SESSION_POSITION"
                          ],
                          "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "enumDescriptions": [
                            "Default value when type is not specified or is unknown in this version.",
                            "Target a channel (a custom group of related websites or apps).",
                            "Target an app category (for example, education or puzzle games).",
                            "Target a specific app (for example, Angry Birds).",
                            "Target a specific url (for example, quora.com).",
                            "Target ads during a chosen time period on a specific day.",
                            "Target ads to a specific age range (for example, 18-24).",
                            "Target ads to the specified regions on a regional location list.",
                            "Target ads to the specified points of interest on a proximity location list.",
                            "Target ads to a specific gender (for example, female or male).",
                            "Target a specific video player size for video ads.",
                            "Target user rewarded content for video ads.",
                            "Target ads to a specific parental status (for example, parent or not a parent).",
                            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                            "Target ads in a specific content outstream position.",
                            "Target ads to a specific device type (for example, tablet or connected TV).",
                            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                            "Target ads to specific web browsers (for example, Chrome).",
                            "Target ads to a specific household income range (for example, top 10%).",
                            "Target ads in a specific on screen position.",
                            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                            "Filter website content by sensitive categories (for example, adult).",
                            "Target ads to a specific environment (for example, web or app).",
                            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                            "Target ads to a specific operating system (for example, macOS).",
                            "Target ads to a specific device make or model (for example, Roku or Samsung).",
                            "Target ads to a specific keyword (for example, dog or retriever).",
                            "Target ads to a specific negative keyword list.",
                            "Target ads to a specific viewability (for example, 80% viewable).",
                            "Target ads to a specific content category (for example, arts & entertainment).",
                            "Purchase impressions from specific deals and auction packages.",
                            "Target ads to a specific language (for example, English or Japanese).",
                            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                            "Target ads to a specific regional location (for example, a city or state).",
                            "Purchase impressions from a group of deals and auction packages.",
                            "Purchase impressions from specific exchanges.",
                            "Purchase impressions from specific sub-exchanges.",
                            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                            "Target ads around locations of a business chain within a specific geo region.",
                            "Target ads to a specific video content duration.",
                            "Target ads to a specific video content stream type.",
                            "Target ads to a specific native content position.",
                            "Target ads in an Open Measurement enabled inventory.",
                            "Target ads to a specific audio content type.",
                            "Target ads to a specific content genre.",
                            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                          ],
                          "location": "path"
                        },
                        "advertiserId": {
                          "location": "path",
                          "format": "int64",
                          "description": "Required. The ID of the advertiser the ad group belongs to.",
                          "required": true,
                          "pattern": "^[^/]+$",
                          "type": "string"
                        },
                        "filter": {
                          "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                          "location": "query",
                          "type": "string"
                        },
                        "youtubeAdGroupId": {
                          "location": "path",
                          "format": "int64",
                          "pattern": "^[^/]+$",
                          "type": "string",
                          "required": true,
                          "description": "Required. The ID of the ad group to list assigned targeting options for."
                        },
                        "orderBy": {
                          "location": "query",
                          "type": "string",
                          "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`."
                        },
                        "pageSize": {
                          "location": "query",
                          "type": "integer",
                          "format": "int32",
                          "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                        },
                        "pageToken": {
                          "location": "query",
                          "type": "string",
                          "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListYoutubeAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned."
                        }
                      },
                      "response": {
                        "$ref": "ListYoutubeAdGroupAssignedTargetingOptionsResponse"
                      },
                      "description": "Lists the targeting options assigned to a YouTube ad group. Inherited assigned targeting options are not included.",
                      "parameterOrder": [
                        "advertiserId",
                        "youtubeAdGroupId",
                        "targetingType"
                      ],
                      "path": "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/display-video"
                      ],
                      "id": "displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.list",
                      "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups/{youtubeAdGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions"
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "get": {
              "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups/{youtubeAdGroupsId}",
              "path": "v2/advertisers/{+advertiserId}/youtubeAdGroups/{+youtubeAdGroupId}",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.advertisers.youtubeAdGroups.get",
              "description": "Gets a YouTube ad group.",
              "parameterOrder": [
                "advertiserId",
                "youtubeAdGroupId"
              ],
              "parameters": {
                "youtubeAdGroupId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the ad group to fetch.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "advertiserId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "Required. The ID of the advertiser this ad group belongs to.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "response": {
                "$ref": "YoutubeAdGroup"
              }
            },
            "bulkListAdGroupAssignedTargetingOptions": {
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/advertisers/{+advertiserId}/youtubeAdGroups:bulkListAdGroupAssignedTargetingOptions",
              "id": "displayvideo.advertisers.youtubeAdGroups.bulkListAdGroupAssignedTargetingOptions",
              "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups:bulkListAdGroupAssignedTargetingOptions",
              "response": {
                "$ref": "BulkListAdGroupAssignedTargetingOptionsResponse"
              },
              "parameters": {
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`."
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "description": "Required. The ID of the advertiser the line items belongs to.",
                  "required": true,
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "filter": {
                  "description": "Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: `targetingType=\"TARGETING_TYPE_YOUTUBE_VIDEO\" OR targetingType=\"TARGETING_TYPE_YOUTUBE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                  "location": "query",
                  "type": "string"
                },
                "youtubeAdGroupIds": {
                  "repeated": true,
                  "location": "query",
                  "format": "int64",
                  "description": "Required. The IDs of the youtube ad groups to list assigned targeting options for.",
                  "type": "string"
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Optional. Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "Optional. A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to the `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                }
              },
              "description": "Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherited assigned targeting options are not included.",
              "parameterOrder": [
                "advertiserId"
              ]
            },
            "list": {
              "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups",
              "id": "displayvideo.advertisers.youtubeAdGroups.list",
              "path": "v2/advertisers/{+advertiserId}/youtubeAdGroups",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "parameterOrder": [
                "advertiserId"
              ],
              "description": "Lists YouTube ad groups.",
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListYoutubeAdGroups` method. If not specified, the first page of results will be returned.",
                  "location": "query",
                  "type": "string"
                },
                "advertiserId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the advertiser the ad groups belongs to.",
                  "required": true
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by custom YouTube ad group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported properties: * `adGroupId` * `displayName` * `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups under an line item: `lineItemId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` `YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupFormat=\"YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                },
                "orderBy": {
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListYoutubeAdGroupsResponse"
              }
            }
          }
        }
      },
      "methods": {
        "listAssignedTargetingOptions": {
          "parameters": {
            "advertiserId": {
              "location": "path",
              "format": "int64",
              "description": "Required. The ID of the advertiser the line item belongs to.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "filter": {
              "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields: * `targetingType` Examples: * targetingType with value TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`."
            },
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned."
            }
          },
          "response": {
            "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse"
          },
          "description": "Lists assigned targeting options of an advertiser across targeting types.",
          "parameterOrder": [
            "advertiserId"
          ],
          "path": "v2/advertisers/{+advertiserId}:listAssignedTargetingOptions",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.advertisers.listAssignedTargetingOptions",
          "flatPath": "v2/advertisers/{advertisersId}:listAssignedTargetingOptions"
        },
        "audit": {
          "description": "Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. Used entities count towards their respective resource limit. See https://support.google.com/displayvideo/answer/6071450.",
          "parameterOrder": [
            "advertiserId"
          ],
          "parameters": {
            "readMask": {
              "location": "query",
              "type": "string",
              "format": "google-fieldmask",
              "description": "Optional. The specific fields to return. If no mask is specified, all fields in the response proto will be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount"
            },
            "advertiserId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the advertiser to audit.",
              "required": true
            }
          },
          "response": {
            "$ref": "AuditAdvertiserResponse"
          },
          "flatPath": "v2/advertisers/{advertisersId}:audit",
          "path": "v2/advertisers/{+advertiserId}:audit",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "id": "displayvideo.advertisers.audit"
        },
        "get": {
          "flatPath": "v2/advertisers/{advertisersId}",
          "id": "displayvideo.advertisers.get",
          "path": "v2/advertisers/{+advertiserId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "parameterOrder": [
            "advertiserId"
          ],
          "description": "Gets an advertiser.",
          "parameters": {
            "advertiserId": {
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the advertiser to fetch.",
              "required": true,
              "location": "path",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "Advertiser"
          }
        },
        "create": {
          "flatPath": "v2/advertisers",
          "id": "displayvideo.advertisers.create",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/advertisers",
          "parameterOrder": [],
          "request": {
            "$ref": "Advertiser"
          },
          "description": "Creates a new advertiser. Returns the newly created advertiser if successful. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.",
          "response": {
            "$ref": "Advertiser"
          },
          "parameters": {}
        },
        "delete": {
          "description": "Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, campaigns, insertion orders and line items. A deleted advertiser cannot be recovered.",
          "parameterOrder": [
            "advertiserId"
          ],
          "response": {
            "$ref": "Empty"
          },
          "parameters": {
            "advertiserId": {
              "description": "The ID of the advertiser we need to delete.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string",
              "location": "path",
              "format": "int64"
            }
          },
          "flatPath": "v2/advertisers/{advertisersId}",
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/advertisers/{+advertiserId}",
          "id": "displayvideo.advertisers.delete"
        },
        "editAssignedTargetingOptions": {
          "flatPath": "v2/advertisers/{advertisersId}:editAssignedTargetingOptions",
          "id": "displayvideo.advertisers.editAssignedTargetingOptions",
          "path": "v2/advertisers/{+advertiserId}:editAssignedTargetingOptions",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "parameterOrder": [
            "advertiserId"
          ],
          "request": {
            "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest"
          },
          "description": "Edits targeting options under a single advertiser. The operation will delete the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .",
          "parameters": {
            "advertiserId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the advertiser.",
              "required": true
            }
          },
          "response": {
            "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse"
          }
        },
        "list": {
          "flatPath": "v2/advertisers",
          "id": "displayvideo.advertisers.list",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/advertisers",
          "parameterOrder": [],
          "description": "Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A single partner_id is required. Cross-partner listing is not supported.",
          "response": {
            "$ref": "ListAdvertisersResponse"
          },
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertisers` method. If not specified, the first page of results will be returned."
            },
            "filter": {
              "description": "Allows filtering by advertiser fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `advertiserId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` * All advertisers with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All advertisers with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`."
            },
            "partnerId": {
              "description": "Required. The ID of the partner that the fetched advertisers should all belong to. The system only supports listing advertisers for one partner at a time.",
              "location": "query",
              "type": "string",
              "format": "int64"
            }
          }
        },
        "patch": {
          "id": "displayvideo.advertisers.patch",
          "path": "v2/advertisers/{+advertiserId}",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "flatPath": "v2/advertisers/{advertisersId}",
          "parameters": {
            "advertiserId": {
              "location": "path",
              "format": "int64",
              "description": "Output only. The unique ID of the advertiser. Assigned by the system.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            },
            "updateMask": {
              "location": "query",
              "type": "string",
              "format": "google-fieldmask",
              "description": "Required. The mask to control which fields to update."
            }
          },
          "response": {
            "$ref": "Advertiser"
          },
          "parameterOrder": [
            "advertiserId"
          ],
          "request": {
            "$ref": "Advertiser"
          },
          "description": "Updates an existing advertiser. Returns the updated advertiser if successful."
        }
      }
    },
    "googleAudiences": {
      "methods": {
        "get": {
          "parameterOrder": [
            "googleAudienceId"
          ],
          "description": "Gets a Google audience.",
          "response": {
            "$ref": "GoogleAudience"
          },
          "parameters": {
            "advertiserId": {
              "description": "The ID of the advertiser that has access to the fetched Google audience.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "googleAudienceId": {
              "location": "path",
              "format": "int64",
              "pattern": "^[^/]+$",
              "type": "string",
              "description": "Required. The ID of the Google audience to fetch.",
              "required": true
            },
            "partnerId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the partner that has access to the fetched Google audience."
            }
          },
          "flatPath": "v2/googleAudiences/{googleAudiencesId}",
          "id": "displayvideo.googleAudiences.get",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/googleAudiences/{+googleAudienceId}"
        },
        "list": {
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/googleAudiences",
          "id": "displayvideo.googleAudiences.list",
          "flatPath": "v2/googleAudiences",
          "response": {
            "$ref": "ListGoogleAudiencesResponse"
          },
          "parameters": {
            "partnerId": {
              "description": "The ID of the partner that has access to the fetched Google audiences.",
              "location": "query",
              "type": "string",
              "format": "int64"
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Field by which to sort the list. Acceptable values are: * `googleAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`."
            },
            "advertiserId": {
              "location": "query",
              "type": "string",
              "format": "int64",
              "description": "The ID of the advertiser that has access to the fetched Google audiences."
            },
            "filter": {
              "location": "query",
              "type": "string",
              "description": "Allows filtering by Google audience fields. Supported syntax: * Filter expressions for Google audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All Google audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
            },
            "pageSize": {
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListGoogleAudiences` method. If not specified, the first page of results will be returned."
            }
          },
          "description": "Lists Google audiences. The order is defined by the order_by parameter.",
          "parameterOrder": []
        }
      }
    },
    "partners": {
      "resources": {
        "channels": {
          "methods": {
            "create": {
              "flatPath": "v2/partners/{partnersId}/channels",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/partners/{+partnerId}/channels",
              "id": "displayvideo.partners.channels.create",
              "description": "Creates a new channel. Returns the newly created channel if successful.",
              "parameterOrder": [
                "partnerId"
              ],
              "request": {
                "$ref": "Channel"
              },
              "response": {
                "$ref": "Channel"
              },
              "parameters": {
                "partnerId": {
                  "location": "path",
                  "format": "int64",
                  "required": true,
                  "description": "The ID of the partner that owns the created channel.",
                  "pattern": "^[^/]+$",
                  "type": "string"
                },
                "advertiserId": {
                  "description": "The ID of the advertiser that owns the created channel.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                }
              }
            },
            "get": {
              "flatPath": "v2/partners/{partnersId}/channels/{channelsId}",
              "id": "displayvideo.partners.channels.get",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/partners/{+partnerId}/channels/{+channelId}",
              "parameterOrder": [
                "partnerId",
                "channelId"
              ],
              "description": "Gets a channel for a partner or advertiser.",
              "response": {
                "$ref": "Channel"
              },
              "parameters": {
                "advertiserId": {
                  "description": "The ID of the advertiser that owns the fetched channel.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                },
                "partnerId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "The ID of the partner that owns the fetched channel.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                },
                "channelId": {
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "description": "Required. The ID of the channel to fetch.",
                  "required": true,
                  "location": "path",
                  "format": "int64"
                }
              }
            },
            "list": {
              "parameters": {
                "partnerId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the partner that owns the channels."
                },
                "advertiserId": {
                  "location": "query",
                  "type": "string",
                  "format": "int64",
                  "description": "The ID of the advertiser that owns the channels."
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`."
                },
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
                },
                "pageToken": {
                  "location": "query",
                  "type": "string",
                  "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned."
                }
              },
              "response": {
                "$ref": "ListChannelsResponse"
              },
              "description": "Lists channels for a partner or advertiser.",
              "parameterOrder": [
                "partnerId"
              ],
              "path": "v2/partners/{+partnerId}/channels",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "id": "displayvideo.partners.channels.list",
              "flatPath": "v2/partners/{partnersId}/channels"
            },
            "patch": {
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/display-video"
              ],
              "path": "v2/partners/{+partnerId}/channels/{channelId}",
              "id": "displayvideo.partners.channels.patch",
              "flatPath": "v2/partners/{partnersId}/channels/{channelId}",
              "response": {
                "$ref": "Channel"
              },
              "parameters": {
                "advertiserId": {
                  "description": "The ID of the advertiser that owns the created channel.",
                  "location": "query",
                  "type": "string",
                  "format": "int64"
                },
                "updateMask": {
                  "location": "query",
                  "type": "string",
                  "format": "google-fieldmask",
                  "description": "Required. The mask to control which fields to update."
                },
                "partnerId": {
                  "location": "path",
                  "format": "int64",
                  "pattern": "^[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The ID of the partner that owns the created channel."
                },
                "channelId": {
                  "type": "string",
                  "required": true,
                  "description": "Output only. The unique ID of the channel. Assigned by the system.",
                  "location": "path",
                  "format": "int64"
                }
              },
              "description": "Updates a channel. Returns the updated channel if successful.",
              "parameterOrder": [
                "partnerId",
                "channelId"
              ],
              "request": {
                "$ref": "Channel"
              }
            }
          },
          "resources": {
            "sites": {
              "methods": {
                "list": {
                  "id": "displayvideo.partners.channels.sites.list",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{+partnerId}/channels/{+channelId}/sites",
                  "flatPath": "v2/partners/{partnersId}/channels/{channelsId}/sites",
                  "response": {
                    "$ref": "ListSitesResponse"
                  },
                  "parameters": {
                    "pageSize": {
                      "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "channelId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the parent channel to which the requested sites belong.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`."
                    },
                    "advertiserId": {
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "location": "query",
                      "type": "string",
                      "format": "int64"
                    },
                    "filter": {
                      "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
                      "location": "query",
                      "type": "string"
                    },
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "description": "The ID of the partner that owns the parent channel.",
                      "required": true
                    }
                  },
                  "parameterOrder": [
                    "partnerId",
                    "channelId"
                  ],
                  "description": "Lists sites in a channel."
                },
                "create": {
                  "flatPath": "v2/partners/{partnerId}/channels/{channelsId}/sites",
                  "id": "displayvideo.partners.channels.sites.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{partnerId}/channels/{+channelId}/sites",
                  "parameterOrder": [
                    "partnerId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "Site"
                  },
                  "description": "Creates a site in a channel.",
                  "response": {
                    "$ref": "Site"
                  },
                  "parameters": {
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "required": true,
                      "description": "The ID of the partner that owns the parent channel."
                    },
                    "channelId": {
                      "location": "path",
                      "format": "int64",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent channel in which the site will be created."
                    },
                    "advertiserId": {
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "location": "query",
                      "type": "string",
                      "format": "int64"
                    }
                  }
                },
                "delete": {
                  "flatPath": "v2/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}",
                  "id": "displayvideo.partners.channels.sites.delete",
                  "description": "Deletes a site from a channel.",
                  "parameterOrder": [
                    "partnerId",
                    "channelId",
                    "urlOrAppId"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameters": {
                    "partnerId": {
                      "type": "string",
                      "required": true,
                      "description": "The ID of the partner that owns the parent channel.",
                      "location": "path",
                      "format": "int64"
                    },
                    "channelId": {
                      "required": true,
                      "description": "Required. The ID of the parent channel to which the site belongs.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "urlOrAppId": {
                      "description": "Required. The URL or app ID of the site to delete.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path"
                    },
                    "advertiserId": {
                      "description": "The ID of the advertiser that owns the parent channel.",
                      "location": "query",
                      "type": "string",
                      "format": "int64"
                    }
                  }
                },
                "bulkEdit": {
                  "response": {
                    "$ref": "BulkEditSitesResponse"
                  },
                  "parameters": {
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "required": true,
                      "description": "The ID of the partner that owns the parent channel.",
                      "type": "string"
                    },
                    "channelId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the parent channel to which the sites belong.",
                      "location": "path",
                      "format": "int64"
                    }
                  },
                  "parameterOrder": [
                    "partnerId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "BulkEditSitesRequest"
                  },
                  "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.",
                  "id": "displayvideo.partners.channels.sites.bulkEdit",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit",
                  "flatPath": "v2/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit"
                },
                "replace": {
                  "id": "displayvideo.partners.channels.sites.replace",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{partnerId}/channels/{+channelId}/sites:replace",
                  "flatPath": "v2/partners/{partnerId}/channels/{channelsId}/sites:replace",
                  "response": {
                    "$ref": "ReplaceSitesResponse"
                  },
                  "parameters": {
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "type": "string",
                      "required": true,
                      "description": "The ID of the partner that owns the parent channel."
                    },
                    "channelId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the parent channel whose sites will be replaced.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "partnerId",
                    "channelId"
                  ],
                  "request": {
                    "$ref": "ReplaceSitesRequest"
                  },
                  "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors."
                }
              }
            }
          }
        },
        "targetingTypes": {
          "resources": {
            "assignedTargetingOptions": {
              "methods": {
                "list": {
                  "description": "Lists the targeting options assigned to a partner.",
                  "parameterOrder": [
                    "partnerId",
                    "targetingType"
                  ],
                  "response": {
                    "$ref": "ListPartnerAssignedTargetingOptionsResponse"
                  },
                  "parameters": {
                    "pageSize": {
                      "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartnerAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
                      "location": "query",
                      "type": "string"
                    },
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the partner.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "targetingType": {
                      "location": "path",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ]
                    },
                    "orderBy": {
                      "location": "query",
                      "type": "string",
                      "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
                    }
                  },
                  "flatPath": "v2/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                  "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list"
                },
                "create": {
                  "flatPath": "v2/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
                  "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
                  "parameterOrder": [
                    "partnerId",
                    "targetingType"
                  ],
                  "request": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.",
                  "response": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "parameters": {
                    "partnerId": {
                      "required": true,
                      "description": "Required. The ID of the partner.",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "location": "path",
                      "format": "int64"
                    },
                    "targetingType": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ],
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
                      "location": "path"
                    }
                  }
                },
                "delete": {
                  "parameters": {
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the partner.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "targetingType": {
                      "location": "path",
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ]
                    },
                    "assignedTargetingOptionId": {
                      "location": "path",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. The ID of the assigned targeting option to delete."
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "description": "Deletes an assigned targeting option from a partner.",
                  "parameterOrder": [
                    "partnerId",
                    "targetingType",
                    "assignedTargetingOptionId"
                  ],
                  "path": "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete",
                  "flatPath": "v2/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}"
                },
                "get": {
                  "parameterOrder": [
                    "partnerId",
                    "targetingType",
                    "assignedTargetingOptionId"
                  ],
                  "description": "Gets a single targeting option assigned to a partner.",
                  "response": {
                    "$ref": "AssignedTargetingOption"
                  },
                  "parameters": {
                    "assignedTargetingOptionId": {
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "required": true,
                      "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.",
                      "location": "path"
                    },
                    "partnerId": {
                      "location": "path",
                      "format": "int64",
                      "description": "Required. The ID of the partner.",
                      "required": true,
                      "pattern": "^[^/]+$",
                      "type": "string"
                    },
                    "targetingType": {
                      "required": true,
                      "enum": [
                        "TARGETING_TYPE_UNSPECIFIED",
                        "TARGETING_TYPE_CHANNEL",
                        "TARGETING_TYPE_APP_CATEGORY",
                        "TARGETING_TYPE_APP",
                        "TARGETING_TYPE_URL",
                        "TARGETING_TYPE_DAY_AND_TIME",
                        "TARGETING_TYPE_AGE_RANGE",
                        "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
                        "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
                        "TARGETING_TYPE_GENDER",
                        "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
                        "TARGETING_TYPE_USER_REWARDED_CONTENT",
                        "TARGETING_TYPE_PARENTAL_STATUS",
                        "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
                        "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
                        "TARGETING_TYPE_DEVICE_TYPE",
                        "TARGETING_TYPE_AUDIENCE_GROUP",
                        "TARGETING_TYPE_BROWSER",
                        "TARGETING_TYPE_HOUSEHOLD_INCOME",
                        "TARGETING_TYPE_ON_SCREEN_POSITION",
                        "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
                        "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
                        "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
                        "TARGETING_TYPE_ENVIRONMENT",
                        "TARGETING_TYPE_CARRIER_AND_ISP",
                        "TARGETING_TYPE_OPERATING_SYSTEM",
                        "TARGETING_TYPE_DEVICE_MAKE_MODEL",
                        "TARGETING_TYPE_KEYWORD",
                        "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
                        "TARGETING_TYPE_VIEWABILITY",
                        "TARGETING_TYPE_CATEGORY",
                        "TARGETING_TYPE_INVENTORY_SOURCE",
                        "TARGETING_TYPE_LANGUAGE",
                        "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
                        "TARGETING_TYPE_GEO_REGION",
                        "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
                        "TARGETING_TYPE_EXCHANGE",
                        "TARGETING_TYPE_SUB_EXCHANGE",
                        "TARGETING_TYPE_POI",
                        "TARGETING_TYPE_BUSINESS_CHAIN",
                        "TARGETING_TYPE_CONTENT_DURATION",
                        "TARGETING_TYPE_CONTENT_STREAM_TYPE",
                        "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
                        "TARGETING_TYPE_OMID",
                        "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
                        "TARGETING_TYPE_CONTENT_GENRE",
                        "TARGETING_TYPE_YOUTUBE_VIDEO",
                        "TARGETING_TYPE_YOUTUBE_CHANNEL",
                        "TARGETING_TYPE_SESSION_POSITION"
                      ],
                      "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
                      "pattern": "^[^/]+$",
                      "type": "string",
                      "enumDescriptions": [
                        "Default value when type is not specified or is unknown in this version.",
                        "Target a channel (a custom group of related websites or apps).",
                        "Target an app category (for example, education or puzzle games).",
                        "Target a specific app (for example, Angry Birds).",
                        "Target a specific url (for example, quora.com).",
                        "Target ads during a chosen time period on a specific day.",
                        "Target ads to a specific age range (for example, 18-24).",
                        "Target ads to the specified regions on a regional location list.",
                        "Target ads to the specified points of interest on a proximity location list.",
                        "Target ads to a specific gender (for example, female or male).",
                        "Target a specific video player size for video ads.",
                        "Target user rewarded content for video ads.",
                        "Target ads to a specific parental status (for example, parent or not a parent).",
                        "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
                        "Target ads in a specific content outstream position.",
                        "Target ads to a specific device type (for example, tablet or connected TV).",
                        "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
                        "Target ads to specific web browsers (for example, Chrome).",
                        "Target ads to a specific household income range (for example, top 10%).",
                        "Target ads in a specific on screen position.",
                        "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
                        "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
                        "Filter website content by sensitive categories (for example, adult).",
                        "Target ads to a specific environment (for example, web or app).",
                        "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
                        "Target ads to a specific operating system (for example, macOS).",
                        "Target ads to a specific device make or model (for example, Roku or Samsung).",
                        "Target ads to a specific keyword (for example, dog or retriever).",
                        "Target ads to a specific negative keyword list.",
                        "Target ads to a specific viewability (for example, 80% viewable).",
                        "Target ads to a specific content category (for example, arts & entertainment).",
                        "Purchase impressions from specific deals and auction packages.",
                        "Target ads to a specific language (for example, English or Japanese).",
                        "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
                        "Target ads to a specific regional location (for example, a city or state).",
                        "Purchase impressions from a group of deals and auction packages.",
                        "Purchase impressions from specific exchanges.",
                        "Purchase impressions from specific sub-exchanges.",
                        "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
                        "Target ads around locations of a business chain within a specific geo region.",
                        "Target ads to a specific video content duration.",
                        "Target ads to a specific video content stream type.",
                        "Target ads to a specific native content position.",
                        "Target ads in an Open Measurement enabled inventory.",
                        "Target ads to a specific audio content type.",
                        "Target ads to a specific content genre.",
                        "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
                        "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
                      ],
                      "location": "path"
                    }
                  },
                  "flatPath": "v2/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
                  "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/display-video"
                  ],
                  "path": "v2/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"
                }
              }
            }
          }
        }
      },
      "methods": {
        "list": {
          "parameterOrder": [],
          "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.",
          "parameters": {
            "pageSize": {
              "location": "query",
              "type": "integer",
              "format": "int32",
              "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`."
            },
            "pageToken": {
              "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartners` method. If not specified, the first page of results will be returned.",
              "location": "query",
              "type": "string"
            },
            "orderBy": {
              "description": "Field by which to sort the list. Acceptable values are: * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
              "location": "query",
              "type": "string"
            },
            "filter": {
              "location": "query",
              "type": "string",
              "description": "Allows filtering by partner fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All active partners: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information."
            }
          },
          "response": {
            "$ref": "ListPartnersResponse"
          },
          "flatPath": "v2/partners",
          "id": "displayvideo.partners.list",
          "path": "v2/partners",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ]
        },
        "editAssignedTargetingOptions": {
          "parameterOrder": [
            "partnerId"
          ],
          "request": {
            "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest"
          },
          "description": "Edits targeting options under a single partner. The operation will delete the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .",
          "response": {
            "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse"
          },
          "parameters": {
            "partnerId": {
              "location": "path",
              "format": "int64",
              "description": "Required. The ID of the partner.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string"
            }
          },
          "flatPath": "v2/partners/{partnersId}:editAssignedTargetingOptions",
          "id": "displayvideo.partners.editAssignedTargetingOptions",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/partners/{+partnerId}:editAssignedTargetingOptions"
        },
        "get": {
          "description": "Gets a partner.",
          "parameterOrder": [
            "partnerId"
          ],
          "response": {
            "$ref": "Partner"
          },
          "parameters": {
            "partnerId": {
              "description": "Required. The ID of the partner to fetch.",
              "required": true,
              "pattern": "^[^/]+$",
              "type": "string",
              "location": "path",
              "format": "int64"
            }
          },
          "flatPath": "v2/partners/{partnersId}",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/display-video"
          ],
          "path": "v2/partners/{+partnerId}",
          "id": "displayvideo.partners.get"
        }
      }
    }
  },
  "basePath": "",
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "fullyEncodeReservedExpansion": true,
  "description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.",
  "servicePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "rootUrl": "https://displayvideo.googleapis.com/",
  "version": "v2",
  "ownerDomain": "google.com",
  "version_module": true,
  "documentationLink": "https://developers.google.com/display-video/",
  "baseUrl": "https://displayvideo.googleapis.com/",
  "protocol": "rest",
  "canonicalName": "Display Video",
  "title": "Display & Video 360 API",
  "batchPath": "batch",
  "ownerName": "Google",
  "parameters": {
    "alt": {
      "default": "json",
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "$.xgafv": {
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ]
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "prettyPrint": {
      "default": "true",
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "key": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    }
  },
  "schemas": {
    "ListTargetingOptionsResponse": {
      "description": "Response message for ListTargetingOptions.",
      "properties": {
        "targetingOptions": {
          "type": "array",
          "items": {
            "$ref": "TargetingOption"
          },
          "description": "The list of targeting options. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListTargetingOptions` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListTargetingOptionsResponse"
    },
    "ContentOutstreamPositionAssignedTargetingOptionDetails": {
      "properties": {
        "contentOutstreamPosition": {
          "enum": [
            "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED",
            "CONTENT_OUTSTREAM_POSITION_UNKNOWN",
            "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE",
            "CONTENT_OUTSTREAM_POSITION_IN_BANNER",
            "CONTENT_OUTSTREAM_POSITION_IN_FEED",
            "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL"
          ],
          "description": "Required. The content outstream position.",
          "type": "string",
          "enumDescriptions": [
            "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.",
            "The ad position is unknown in the content outstream.",
            "Ads that appear between the paragraphs of your pages.",
            "Ads that display on the top and the sides of a page.",
            "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
            "Ads shown before or between content loads."
          ]
        },
        "adType": {
          "type": "string",
          "enumDescriptions": [
            "Ad type is not specified or is unknown in this version.",
            "Display creatives, e.g. image and HTML5.",
            "Video creatives, e.g. video ads that play during streaming content in video players.",
            "Audio creatives, e.g. audio ads that play during audio content."
          ],
          "enum": [
            "AD_TYPE_UNSPECIFIED",
            "AD_TYPE_DISPLAY",
            "AD_TYPE_VIDEO",
            "AD_TYPE_AUDIO"
          ],
          "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.",
          "readOnly": true
        }
      },
      "description": "Assigned content outstream position targeting option details. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.",
      "id": "ContentOutstreamPositionAssignedTargetingOptionDetails",
      "type": "object"
    },
    "CampaignFlight": {
      "type": "object",
      "id": "CampaignFlight",
      "description": "Settings that track the planned spend and duration of a campaign.",
      "properties": {
        "plannedSpendAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency."
        },
        "plannedDates": {
          "description": "Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037.",
          "$ref": "DateRange"
        }
      }
    },
    "BudgetSummary": {
      "id": "BudgetSummary",
      "type": "object",
      "properties": {
        "taxAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The amount of tax applied to charges under this budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar."
        },
        "totalAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The total sum of charges made under this budget, including tax, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar."
        },
        "externalBudgetId": {
          "description": "Corresponds to the external_budget_id of a campaign budget. If the value is not set in the campaign budget, this field will be empty.",
          "type": "string"
        },
        "preTaxAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The sum of charges made under this budget before taxes, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar."
        },
        "prismaCpeCode": {
          "description": "Relevant client, product, and estimate codes from the Mediaocean Prisma tool. Only applicable for campaign budgets with an external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN.",
          "$ref": "PrismaCpeCode"
        }
      },
      "description": "Summarized information of an individual campaign budget."
    },
    "SubExchangeTargetingOptionDetails": {
      "id": "SubExchangeTargetingOptionDetails",
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the sub-exchange.",
          "readOnly": true
        }
      },
      "description": "Represents a targetable sub-exchange. This will be populated in the sub_exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`."
    },
    "Partner": {
      "description": "A single partner in Display & Video 360 (DV360).",
      "properties": {
        "entityStatus": {
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Output only. The status of the partner.",
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ],
          "readOnly": true
        },
        "dataAccessConfig": {
          "description": "Settings that control how partner data may be accessed.",
          "$ref": "PartnerDataAccessConfig"
        },
        "partnerId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the partner. Assigned by the system.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the partner.",
          "readOnly": true
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The timestamp when the partner was last updated. Assigned by the system.",
          "readOnly": true
        },
        "adServerConfig": {
          "description": "Ad server related settings of the partner.",
          "$ref": "PartnerAdServerConfig"
        },
        "exchangeConfig": {
          "description": "Settings that control which exchanges are enabled for the partner.",
          "$ref": "ExchangeConfig"
        },
        "displayName": {
          "description": "The display name of the partner. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "generalConfig": {
          "description": "General settings of the partner.",
          "$ref": "PartnerGeneralConfig"
        }
      },
      "type": "object",
      "id": "Partner"
    },
    "BulkEditPartnerAssignedTargetingOptionsResponse": {
      "properties": {
        "createdAssignedTargetingOptions": {
          "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "type": "array"
        }
      },
      "id": "BulkEditPartnerAssignedTargetingOptionsResponse",
      "type": "object"
    },
    "GuaranteedOrderStatus": {
      "properties": {
        "entityPauseReason": {
          "description": "The user-provided reason for pausing this guaranteed order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.",
          "type": "string"
        },
        "configStatus": {
          "description": "Output only. The configuration status of the guaranteed order. Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be configured (fill in the required fields, choose creatives, and select a default campaign) before it can serve. Currently the configuration action can only be performed via UI.",
          "enum": [
            "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED",
            "PENDING",
            "COMPLETED"
          ],
          "type": "string",
          "enumDescriptions": [
            "The approval status is not specified or is unknown in this version.",
            "The beginning state of a guaranteed order. The guaranteed order in this state needs to be configured before it can serve.",
            "The state after the buyer configures a guaranteed order."
          ],
          "readOnly": true
        },
        "entityStatus": {
          "description": "Whether or not the guaranteed order is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.",
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ]
        }
      },
      "description": "The status settings of the guaranteed order.",
      "id": "GuaranteedOrderStatus",
      "type": "object"
    },
    "DigitalContentLabelTargetingOptionDetails": {
      "description": "Represents a targetable digital content label rating tier. This will be populated in the digital_content_label_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.",
      "properties": {
        "contentRatingTier": {
          "type": "string",
          "enumDescriptions": [
            "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.",
            "Content that has not been labeled.",
            "Content suitable for general audiences.",
            "Content suitable for most audiences with parental guidance.",
            "Content suitable for teen and older audiences.",
            "Content suitable only for mature audiences.",
            "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items."
          ],
          "enum": [
            "CONTENT_RATING_TIER_UNSPECIFIED",
            "CONTENT_RATING_TIER_UNRATED",
            "CONTENT_RATING_TIER_GENERAL",
            "CONTENT_RATING_TIER_PARENTAL_GUIDANCE",
            "CONTENT_RATING_TIER_TEENS",
            "CONTENT_RATING_TIER_MATURE",
            "CONTENT_RATING_TIER_FAMILIES"
          ],
          "description": "Output only. An enum for the content label brand safety tiers.",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "DigitalContentLabelTargetingOptionDetails"
    },
    "AuditAdvertiserResponse": {
      "description": "Response message for AdvertiserService.AuditAdvertiser.",
      "properties": {
        "usedCampaignsCount": {
          "description": "The number of ACTIVE and PAUSED campaigns under this advertiser. These campaigns count towards the limit of 9999 campaigns per advertiser.",
          "type": "string",
          "format": "int64"
        },
        "negativeKeywordListsCount": {
          "description": "The number of negative keyword lists created under this advertiser. These negative keyword lists count towards the limit of 20 negative keyword lists per advertiser.",
          "type": "string",
          "format": "int64"
        },
        "usedLineItemsCount": {
          "type": "string",
          "format": "int64",
          "description": "The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser. These line items count towards the limit of 9999 line items per advertiser."
        },
        "usedInsertionOrdersCount": {
          "type": "string",
          "format": "int64",
          "description": "The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser. These insertion orders count towards the limit of 9999 insertion orders per advertiser."
        },
        "channelsCount": {
          "description": "The number of channels created under this advertiser. These channels count towards the limit of 1000 channels per advertiser.",
          "type": "string",
          "format": "int64"
        },
        "adGroupCriteriaCount": {
          "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 4500000 ad group targeting options per advertiser. Qualifying Targeting types: * Channels, URLs, apps, and collections * Demographic * Google Audiences, including Affinity, Custom Affinity, and In-market audiences * Inventory source * Keyword * Mobile app category * User lists * Video targeting * Viewability",
          "type": "string",
          "format": "int64"
        },
        "campaignCriteriaCount": {
          "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 900000 campaign targeting options per advertiser. Qualifying Targeting types: * Position * Browser * Connection speed * Day and time * Device and operating system * Digital content label * Sensitive categories * Environment * Geography, including business chains and proximity * ISP * Language * Third-party verification",
          "type": "string",
          "format": "int64"
        },
        "negativelyTargetedChannelsCount": {
          "type": "string",
          "format": "int64",
          "description": "The number of negatively targeted channels created under this advertiser. These negatively targeted channels count towards the limit of 5 negatively targeted channels per advertiser."
        }
      },
      "type": "object",
      "id": "AuditAdvertiserResponse"
    },
    "FloodlightActivity": {
      "id": "FloodlightActivity",
      "type": "object",
      "properties": {
        "floodlightActivityId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the Floodlight activity. Assigned by the system.",
          "readOnly": true
        },
        "remarketingConfigs": {
          "readOnly": true,
          "items": {
            "$ref": "RemarketingConfig"
          },
          "description": "Output only. A list of configuration objects designating whether remarketing for this Floodlight Activity is enabled and available for a specifc advertiser. If enabled, this Floodlight Activity generates a remarketing user list that is able to be used in targeting under the advertiser.",
          "type": "array"
        },
        "floodlightGroupId": {
          "description": "Required. Immutable. The ID of the parent Floodlight group.",
          "type": "string",
          "format": "int64"
        },
        "advertiserIds": {
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Output only. IDs of the advertisers that have access to the parent Floodlight group. Only advertisers under the provided partner ID will be listed in this field.",
          "type": "array"
        },
        "displayName": {
          "description": "Required. The display name of the Floodlight activity.",
          "type": "string"
        },
        "sslRequired": {
          "type": "boolean",
          "description": "Output only. Whether tags are required to be compliant.",
          "readOnly": true
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the Floodlight activity."
        },
        "servingStatus": {
          "description": "Optional. Whether the Floodlight activity is served.",
          "enum": [
            "FLOODLIGHT_ACTIVITY_SERVING_STATUS_UNSPECIFIED",
            "FLOODLIGHT_ACTIVITY_SERVING_STATUS_ENABLED",
            "FLOODLIGHT_ACTIVITY_SERVING_STATUS_DISABLED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Enabled.",
            "Disabled."
          ]
        }
      },
      "description": "A single Floodlight activity."
    },
    "BusinessChainTargetingOptionDetails": {
      "type": "object",
      "id": "BusinessChainTargetingOptionDetails",
      "description": "Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
      "properties": {
        "geoRegion": {
          "type": "string",
          "description": "Output only. The display name of the geographic region, e.g. \"Ontario, Canada\".",
          "readOnly": true
        },
        "geoRegionType": {
          "readOnly": true,
          "description": "Output only. The type of the geographic region.",
          "enum": [
            "GEO_REGION_TYPE_UNKNOWN",
            "GEO_REGION_TYPE_OTHER",
            "GEO_REGION_TYPE_COUNTRY",
            "GEO_REGION_TYPE_REGION",
            "GEO_REGION_TYPE_TERRITORY",
            "GEO_REGION_TYPE_PROVINCE",
            "GEO_REGION_TYPE_STATE",
            "GEO_REGION_TYPE_PREFECTURE",
            "GEO_REGION_TYPE_GOVERNORATE",
            "GEO_REGION_TYPE_CANTON",
            "GEO_REGION_TYPE_UNION_TERRITORY",
            "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY",
            "GEO_REGION_TYPE_DMA_REGION",
            "GEO_REGION_TYPE_METRO",
            "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT",
            "GEO_REGION_TYPE_COUNTY",
            "GEO_REGION_TYPE_MUNICIPALITY",
            "GEO_REGION_TYPE_CITY",
            "GEO_REGION_TYPE_POSTAL_CODE",
            "GEO_REGION_TYPE_DEPARTMENT",
            "GEO_REGION_TYPE_AIRPORT",
            "GEO_REGION_TYPE_TV_REGION",
            "GEO_REGION_TYPE_OKRUG",
            "GEO_REGION_TYPE_BOROUGH",
            "GEO_REGION_TYPE_CITY_REGION",
            "GEO_REGION_TYPE_ARRONDISSEMENT",
            "GEO_REGION_TYPE_NEIGHBORHOOD",
            "GEO_REGION_TYPE_UNIVERSITY",
            "GEO_REGION_TYPE_DISTRICT",
            "GEO_REGION_TYPE_NATIONAL_PARK",
            "GEO_REGION_TYPE_BARRIO",
            "GEO_REGION_TYPE_SUB_WARD",
            "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT",
            "GEO_REGION_TYPE_SUB_DISTRICT",
            "GEO_REGION_TYPE_QUARTER",
            "GEO_REGION_TYPE_DIVISION",
            "GEO_REGION_TYPE_COMMUNE",
            "GEO_REGION_TYPE_COLLOQUIAL_AREA",
            "GEO_REGION_TYPE_POST_TOWN"
          ],
          "type": "string",
          "enumDescriptions": [
            "The geographic region type is unknown.",
            "The geographic region type is other.",
            "The geographic region is a country.",
            "The geographic region type is region.",
            "The geographic region is a territory.",
            "The geographic region is a province.",
            "The geographic region is a state.",
            "The geographic region is a prefecture.",
            "The geographic region is a governorate.",
            "The geographic region is a canton.",
            "The geographic region is a union territory.",
            "The geographic region is an autonomous community.",
            "The geographic region is a designated market area (DMA) region.",
            "The geographic region type is metro.",
            "The geographic region is a congressional district.",
            "The geographic region is a county.",
            "The geographic region is a municipality.",
            "The geographic region is a city.",
            "The geographic region targeting type is postal code.",
            "The geographic region targeting type is department.",
            "The geographic region is an airport.",
            "The geographic region is a TV region.",
            "The geographic region is an okrug.",
            "The geographic region is a borough.",
            "The geographic region is a city region.",
            "The geographic region is an arrondissement.",
            "The geographic region is a neighborhood.",
            "The geographic region is a university.",
            "The geographic region is a district.",
            "The geographic region is a national park.",
            "The geographic region is a barrio.",
            "The geographic region is a sub ward.",
            "The geographic region is a municipality district.",
            "The geographic region is a sub district.",
            "The geographic region is a quarter.",
            "The geographic region is a division.",
            "The geographic region is a commune.",
            "The geographic region is a colloquial area.",
            "The geographic region is a post town."
          ]
        },
        "businessChain": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the business chain, e.g. \"KFC\", \"Chase Bank\"."
        }
      }
    },
    "ReplaceSitesRequest": {
      "type": "object",
      "id": "ReplaceSitesRequest",
      "description": "Request message for SiteService.ReplaceSites.",
      "properties": {
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the advertiser that owns the parent channel."
        },
        "partnerId": {
          "description": "The ID of the partner that owns the parent channel.",
          "type": "string",
          "format": "int64"
        },
        "newSites": {
          "description": "The sites that will replace the existing sites assigned to the channel, specified as a list of Sites.",
          "items": {
            "$ref": "Site"
          },
          "type": "array"
        }
      }
    },
    "AuthorizedSellerStatusAssignedTargetingOptionDetails": {
      "id": "AuthorizedSellerStatusAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "authorizedSellerStatus": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.",
            "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.",
            "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI."
          ],
          "enum": [
            "AUTHORIZED_SELLER_STATUS_UNSPECIFIED",
            "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY",
            "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
          ],
          "description": "Output only. The authorized seller status to target."
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.",
          "type": "string"
        }
      },
      "description": "Represents an assigned authorized seller status. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not have an `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is using the \"Authorized Direct Sellers and Resellers\" option."
    },
    "AudioContentTypeAssignedTargetingOptionDetails": {
      "properties": {
        "audioContentType": {
          "description": "Required. The audio content type.",
          "enum": [
            "AUDIO_CONTENT_TYPE_UNSPECIFIED",
            "AUDIO_CONTENT_TYPE_UNKNOWN",
            "AUDIO_CONTENT_TYPE_MUSIC",
            "AUDIO_CONTENT_TYPE_BROADCAST",
            "AUDIO_CONTENT_TYPE_PODCAST"
          ],
          "type": "string",
          "enumDescriptions": [
            "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.",
            "The audio content type is unknown.",
            "The audio content type is music.",
            "The audio content type is broadcast.",
            "The audio content type is podcast."
          ]
        }
      },
      "description": "Details for audio content type assigned targeting option. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not supported. Remove all audio content type targeting options to achieve this effect.",
      "id": "AudioContentTypeAssignedTargetingOptionDetails",
      "type": "object"
    },
    "TargetFrequency": {
      "description": "Setting that controls the average number of times the ads will show to the same person over a certain period of time.",
      "properties": {
        "targetCount": {
          "type": "string",
          "format": "int64",
          "description": "The target number of times, on average, the ads will be shown to the same person in the timespan dictated by time_unit and time_unit_count."
        },
        "timeUnit": {
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "TIME_UNIT_UNSPECIFIED",
            "TIME_UNIT_LIFETIME",
            "TIME_UNIT_MONTHS",
            "TIME_UNIT_WEEKS",
            "TIME_UNIT_DAYS",
            "TIME_UNIT_HOURS",
            "TIME_UNIT_MINUTES"
          ],
          "description": "The unit of time in which the target frequency will be applied. The following time unit is applicable: * `TIME_UNIT_WEEKS`",
          "type": "string",
          "enumDescriptions": [
            "Time unit value is not specified or is unknown in this version.",
            "The frequency cap will be applied to the whole life time of the line item.",
            "The frequency cap will be applied to a number of months.",
            "The frequency cap will be applied to a number of weeks.",
            "The frequency cap will be applied to a number of days.",
            "The frequency cap will be applied to a number of hours.",
            "The frequency cap will be applied to a number of minutes."
          ]
        },
        "timeUnitCount": {
          "description": "The number of time_unit the target frequency will last. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must be 1",
          "type": "integer",
          "format": "int32"
        }
      },
      "type": "object",
      "id": "TargetFrequency"
    },
    "AudioAd": {
      "id": "AudioAd",
      "type": "object",
      "properties": {
        "finalUrl": {
          "description": "The URL address of the webpage that people reach after they click the ad.",
          "type": "string"
        },
        "video": {
          "description": "The YouTube video of the ad.",
          "$ref": "YoutubeVideoDetails"
        },
        "displayUrl": {
          "description": "The webpage address that appears with the ad.",
          "type": "string"
        },
        "trackingUrl": {
          "description": "The URL address loaded in the background for tracking purposes.",
          "type": "string"
        }
      },
      "description": "Details for an audio ad."
    },
    "ListFloodlightActivitiesResponse": {
      "type": "object",
      "id": "ListFloodlightActivitiesResponse",
      "properties": {
        "floodlightActivities": {
          "type": "array",
          "items": {
            "$ref": "FloodlightActivity"
          },
          "description": "The list of Floodlight activities. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListFloodlightActivities` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "LineItemFlight": {
      "description": "Settings that control the active duration of a line item.",
      "properties": {
        "flightDateType": {
          "enum": [
            "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED",
            "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED",
            "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM"
          ],
          "description": "Required. The type of the line item's flight dates.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The line item's flight dates are inherited from its parent insertion order.",
            "The line item uses its own custom flight dates."
          ]
        },
        "dateRange": {
          "description": "The flight start and end dates of the line item. They are resolved relative to the parent advertiser's time zone. * Required when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only otherwise. * When creating a new flight, both `start_date` and `end_date` must be in the future. * An existing flight with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037.",
          "$ref": "DateRange"
        }
      },
      "type": "object",
      "id": "LineItemFlight"
    },
    "SdfDownloadTask": {
      "description": "Type for the response returned by SdfDownloadTaskService.CreateSdfDownloadTask.",
      "properties": {
        "resourceName": {
          "description": "A resource name to be used in media.download to Download the prepared files. Resource names have the format `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made available by the long running operation service once the task status is done.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SdfDownloadTask"
    },
    "CombinedAudienceGroup": {
      "properties": {
        "settings": {
          "description": "Required. All combined audience targeting settings in combined audience group. Repeated settings with the same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.",
          "items": {
            "$ref": "CombinedAudienceTargetingSetting"
          },
          "type": "array"
        }
      },
      "description": "Details of combined audience group. All combined audience targeting settings are logically ‘OR’ of each other.",
      "id": "CombinedAudienceGroup",
      "type": "object"
    },
    "YoutubeAndPartnersThirdPartyMeasurementSettings": {
      "description": "Settings that control what third-party vendors are measuring specific line item metrics.",
      "properties": {
        "reachVendorConfigs": {
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "description": "The third-party vendors measuring reach. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR`",
          "type": "array"
        },
        "brandLiftVendorConfigs": {
          "type": "array",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "description": "The third-party vendors measuring brand lift. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR`"
        },
        "viewabilityVendorConfigs": {
          "type": "array",
          "description": "The third-party vendors measuring viewability. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          }
        },
        "brandSafetyVendorConfigs": {
          "description": "The third-party vendors measuring brand safety. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_ZEFR` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "YoutubeAndPartnersThirdPartyMeasurementSettings"
    },
    "ExchangeConfig": {
      "type": "object",
      "id": "ExchangeConfig",
      "description": "Settings that control which exchanges are enabled for a partner.",
      "properties": {
        "enabledExchanges": {
          "type": "array",
          "items": {
            "$ref": "ExchangeConfigEnabledExchange"
          },
          "description": "All enabled exchanges in the partner. Duplicate enabled exchanges will be ignored."
        }
      }
    },
    "ListInventorySourceGroupsResponse": {
      "type": "object",
      "id": "ListInventorySourceGroupsResponse",
      "description": "Response message for InventorySourceGroupService.ListInventorySourceGroups.",
      "properties": {
        "inventorySourceGroups": {
          "type": "array",
          "items": {
            "$ref": "InventorySourceGroup"
          },
          "description": "The list of inventory source groups. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInventorySourceGroups` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "BumperAd": {
      "id": "BumperAd",
      "type": "object",
      "properties": {
        "commonInStreamAttribute": {
          "description": "Common ad attributes.",
          "$ref": "CommonInStreamAttribute"
        }
      },
      "description": "Details for a bumper ad."
    },
    "OnScreenPositionAssignedTargetingOptionDetails": {
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.",
          "type": "string"
        },
        "adType": {
          "type": "string",
          "enumDescriptions": [
            "Ad type is not specified or is unknown in this version.",
            "Display creatives, e.g. image and HTML5.",
            "Video creatives, e.g. video ads that play during streaming content in video players.",
            "Audio creatives, e.g. audio ads that play during audio content."
          ],
          "enum": [
            "AD_TYPE_UNSPECIFIED",
            "AD_TYPE_DISPLAY",
            "AD_TYPE_VIDEO",
            "AD_TYPE_AUDIO"
          ],
          "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.",
          "readOnly": true
        },
        "onScreenPosition": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.",
            "The ad position is unknown on the screen.",
            "The ad is located above the fold.",
            "The ad is located below the fold."
          ],
          "enum": [
            "ON_SCREEN_POSITION_UNSPECIFIED",
            "ON_SCREEN_POSITION_UNKNOWN",
            "ON_SCREEN_POSITION_ABOVE_THE_FOLD",
            "ON_SCREEN_POSITION_BELOW_THE_FOLD"
          ],
          "description": "Output only. The on screen position."
        }
      },
      "description": "On screen position targeting option details. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.",
      "id": "OnScreenPositionAssignedTargetingOptionDetails",
      "type": "object"
    },
    "BulkEditAssignedTargetingOptionsResponse": {
      "id": "BulkEditAssignedTargetingOptionsResponse",
      "type": "object",
      "properties": {
        "updatedLineItemIds": {
          "description": "Output only. The IDs of the line items which successfully updated.",
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "failedLineItemIds": {
          "type": "array",
          "description": "Output only. The IDs of the line items which failed.",
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "errors": {
          "type": "array",
          "items": {
            "$ref": "Status"
          },
          "description": "The error information for each line item that failed to update."
        }
      }
    },
    "Dimensions": {
      "id": "Dimensions",
      "type": "object",
      "properties": {
        "widthPixels": {
          "type": "integer",
          "format": "int32",
          "description": "The width in pixels."
        },
        "heightPixels": {
          "description": "The height in pixels.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "Dimensions."
    },
    "CarrierAndIspTargetingOptionDetails": {
      "type": "object",
      "id": "CarrierAndIspTargetingOptionDetails",
      "description": "Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.",
      "properties": {
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the carrier or ISP.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown in this version.",
            "Indicates this targeting resource refers to an ISP.",
            "Indicates this targeting resource refers to a mobile carrier."
          ],
          "description": "Output only. The type indicating if it's carrier or ISP.",
          "enum": [
            "CARRIER_AND_ISP_TYPE_UNSPECIFIED",
            "CARRIER_AND_ISP_TYPE_ISP",
            "CARRIER_AND_ISP_TYPE_CARRIER"
          ],
          "readOnly": true
        }
      }
    },
    "ExchangeAssignedTargetingOptionDetails": {
      "description": "Details for assigned exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.",
      "properties": {
        "exchange": {
          "type": "string",
          "enumDescriptions": [
            "Exchange is not specified or is unknown in this version.",
            "Google Ad Manager.",
            "AppNexus.",
            "BrightRoll Exchange for Video from Yahoo!.",
            "Adform.",
            "Admeta.",
            "Admixer.",
            "AdsMogo.",
            "AdsWizz.",
            "BidSwitch.",
            "BrightRoll Exchange for Display from Yahoo!.",
            "Cadreon.",
            "Dailymotion.",
            "Five.",
            "Fluct.",
            "FreeWheel SSP.",
            "Geniee.",
            "GumGum.",
            "i-mobile.",
            "iBILLBOARD.",
            "Improve Digital.",
            "Index Exchange.",
            "Kargo.",
            "MicroAd.",
            "MoPub.",
            "Nend.",
            "ONE by AOL: Display Market Place.",
            "ONE by AOL: Mobile.",
            "ONE by AOL: Video.",
            "Ooyala.",
            "OpenX.",
            "Permodo.",
            "Platform One.",
            "PlatformId.",
            "PubMatic.",
            "PulsePoint.",
            "RevenueMax.",
            "Rubicon.",
            "SmartClip.",
            "SmartRTB+.",
            "SmartstreamTv.",
            "Sovrn.",
            "SpotXchange.",
            "Ströer SSP.",
            "TeadsTv.",
            "Telaria.",
            "TVN.",
            "United.",
            "Yieldlab.",
            "Yieldmo.",
            "UnrulyX.",
            "Open8.",
            "Triton.",
            "TripleLift.",
            "Taboola.",
            "InMobi.",
            "Smaato.",
            "Aja.",
            "Supership.",
            "Nexstar Digital.",
            "Waze.",
            "SoundCast.",
            "Sharethrough.",
            "Fyber.",
            "Red For Publishers.",
            "Media.net.",
            "Tapjoy.",
            "Vistar.",
            "DAX.",
            "JCD.",
            "Place Exchange.",
            "AppLovin.",
            "Connatix.",
            "Reset Digital.",
            "Hivestack.",
            "Drax.",
            "AppLovin MAX.",
            "DT Fairbid.",
            "Unity LevelPlay.",
            "Chartboost Mediation.",
            "AdMost.",
            "TopOn.",
            "Netflix.",
            "Core.",
            "Commerce Grid.",
            "Spotify.",
            "Tubi.",
            "Snap.",
            "Cadent."
          ],
          "description": "Required. The enum value for the exchange.",
          "enum": [
            "EXCHANGE_UNSPECIFIED",
            "EXCHANGE_GOOGLE_AD_MANAGER",
            "EXCHANGE_APPNEXUS",
            "EXCHANGE_BRIGHTROLL",
            "EXCHANGE_ADFORM",
            "EXCHANGE_ADMETA",
            "EXCHANGE_ADMIXER",
            "EXCHANGE_ADSMOGO",
            "EXCHANGE_ADSWIZZ",
            "EXCHANGE_BIDSWITCH",
            "EXCHANGE_BRIGHTROLL_DISPLAY",
            "EXCHANGE_CADREON",
            "EXCHANGE_DAILYMOTION",
            "EXCHANGE_FIVE",
            "EXCHANGE_FLUCT",
            "EXCHANGE_FREEWHEEL",
            "EXCHANGE_GENIEE",
            "EXCHANGE_GUMGUM",
            "EXCHANGE_IMOBILE",
            "EXCHANGE_IBILLBOARD",
            "EXCHANGE_IMPROVE_DIGITAL",
            "EXCHANGE_INDEX",
            "EXCHANGE_KARGO",
            "EXCHANGE_MICROAD",
            "EXCHANGE_MOPUB",
            "EXCHANGE_NEND",
            "EXCHANGE_ONE_BY_AOL_DISPLAY",
            "EXCHANGE_ONE_BY_AOL_MOBILE",
            "EXCHANGE_ONE_BY_AOL_VIDEO",
            "EXCHANGE_OOYALA",
            "EXCHANGE_OPENX",
            "EXCHANGE_PERMODO",
            "EXCHANGE_PLATFORMONE",
            "EXCHANGE_PLATFORMID",
            "EXCHANGE_PUBMATIC",
            "EXCHANGE_PULSEPOINT",
            "EXCHANGE_REVENUEMAX",
            "EXCHANGE_RUBICON",
            "EXCHANGE_SMARTCLIP",
            "EXCHANGE_SMARTRTB",
            "EXCHANGE_SMARTSTREAMTV",
            "EXCHANGE_SOVRN",
            "EXCHANGE_SPOTXCHANGE",
            "EXCHANGE_STROER",
            "EXCHANGE_TEADSTV",
            "EXCHANGE_TELARIA",
            "EXCHANGE_TVN",
            "EXCHANGE_UNITED",
            "EXCHANGE_YIELDLAB",
            "EXCHANGE_YIELDMO",
            "EXCHANGE_UNRULYX",
            "EXCHANGE_OPEN8",
            "EXCHANGE_TRITON",
            "EXCHANGE_TRIPLELIFT",
            "EXCHANGE_TABOOLA",
            "EXCHANGE_INMOBI",
            "EXCHANGE_SMAATO",
            "EXCHANGE_AJA",
            "EXCHANGE_SUPERSHIP",
            "EXCHANGE_NEXSTAR_DIGITAL",
            "EXCHANGE_WAZE",
            "EXCHANGE_SOUNDCAST",
            "EXCHANGE_SHARETHROUGH",
            "EXCHANGE_FYBER",
            "EXCHANGE_RED_FOR_PUBLISHERS",
            "EXCHANGE_MEDIANET",
            "EXCHANGE_TAPJOY",
            "EXCHANGE_VISTAR",
            "EXCHANGE_DAX",
            "EXCHANGE_JCD",
            "EXCHANGE_PLACE_EXCHANGE",
            "EXCHANGE_APPLOVIN",
            "EXCHANGE_CONNATIX",
            "EXCHANGE_RESET_DIGITAL",
            "EXCHANGE_HIVESTACK",
            "EXCHANGE_DRAX",
            "EXCHANGE_APPLOVIN_GBID",
            "EXCHANGE_FYBER_GBID",
            "EXCHANGE_UNITY_GBID",
            "EXCHANGE_CHARTBOOST_GBID",
            "EXCHANGE_ADMOST_GBID",
            "EXCHANGE_TOPON_GBID",
            "EXCHANGE_NETFLIX",
            "EXCHANGE_CORE",
            "EXCHANGE_COMMERCE_GRID",
            "EXCHANGE_SPOTIFY",
            "EXCHANGE_TUBI",
            "EXCHANGE_SNAP",
            "EXCHANGE_CADENT"
          ]
        }
      },
      "type": "object",
      "id": "ExchangeAssignedTargetingOptionDetails"
    },
    "ContentStreamTypeTargetingOptionDetails": {
      "description": "Represents a targetable content stream type. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.",
      "properties": {
        "contentStreamType": {
          "readOnly": true,
          "description": "Output only. The content stream type.",
          "enum": [
            "CONTENT_STREAM_TYPE_UNSPECIFIED",
            "CONTENT_LIVE_STREAM",
            "CONTENT_ON_DEMAND"
          ],
          "type": "string",
          "enumDescriptions": [
            "Content stream type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.",
            "The content is being live-streamed.",
            "The content is viewed on-demand."
          ]
        }
      },
      "type": "object",
      "id": "ContentStreamTypeTargetingOptionDetails"
    },
    "ListPartnersResponse": {
      "type": "object",
      "id": "ListPartnersResponse",
      "properties": {
        "partners": {
          "type": "array",
          "description": "The list of partners. This list will be absent if empty.",
          "items": {
            "$ref": "Partner"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListPartners` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "InventorySourceAssignedTargetingOptionDetails": {
      "description": "Targeting details for inventory source. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.",
      "properties": {
        "inventorySourceId": {
          "type": "string",
          "format": "int64",
          "description": "Required. ID of the inventory source. Should refer to the inventory_source_id field of an InventorySource resource."
        }
      },
      "type": "object",
      "id": "InventorySourceAssignedTargetingOptionDetails"
    },
    "CarrierAndIspAssignedTargetingOptionDetails": {
      "description": "Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.",
          "type": "boolean"
        },
        "displayName": {
          "description": "Output only. The display name of the carrier or ISP.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "id": "CarrierAndIspAssignedTargetingOptionDetails"
    },
    "OmidAssignedTargetingOptionDetails": {
      "id": "OmidAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "omid": {
          "type": "string",
          "enumDescriptions": [
            "Default value when omid targeting is not specified in this version.",
            "Open Measurement enabled mobile display inventory."
          ],
          "description": "Required. The type of Open Measurement enabled inventory.",
          "enum": [
            "OMID_UNSPECIFIED",
            "OMID_FOR_MOBILE_DISPLAY_ADS"
          ]
        }
      },
      "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`."
    },
    "TimerEvent": {
      "id": "TimerEvent",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. The name of the timer event.",
          "type": "string"
        },
        "reportingName": {
          "description": "Required. The name used to identify this timer event in reports.",
          "type": "string"
        }
      },
      "description": "Timer event of the creative."
    },
    "DoubleVerifyAppStarRating": {
      "type": "object",
      "id": "DoubleVerifyAppStarRating",
      "description": "Details of DoubleVerify star ratings settings.",
      "properties": {
        "avoidedStarRating": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any app star rating options.",
            "Official Apps with rating \u003c 1.5 Stars.",
            "Official Apps with rating \u003c 2 Stars.",
            "Official Apps with rating \u003c 2.5 Stars.",
            "Official Apps with rating \u003c 3 Stars.",
            "Official Apps with rating \u003c 3.5 Stars.",
            "Official Apps with rating \u003c 4 Stars.",
            "Official Apps with rating \u003c 4.5 Stars."
          ],
          "enum": [
            "APP_STAR_RATE_UNSPECIFIED",
            "APP_STAR_RATE_1_POINT_5_LESS",
            "APP_STAR_RATE_2_LESS",
            "APP_STAR_RATE_2_POINT_5_LESS",
            "APP_STAR_RATE_3_LESS",
            "APP_STAR_RATE_3_POINT_5_LESS",
            "APP_STAR_RATE_4_LESS",
            "APP_STAR_RATE_4_POINT_5_LESS"
          ],
          "description": "Avoid bidding on apps with the star ratings."
        },
        "avoidInsufficientStarRating": {
          "description": "Avoid bidding on apps with insufficient star ratings.",
          "type": "boolean"
        }
      }
    },
    "HouseholdIncomeAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "HouseholdIncomeAssignedTargetingOptionDetails",
      "description": "Details for assigned household income targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.",
      "properties": {
        "householdIncome": {
          "type": "string",
          "enumDescriptions": [
            "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.",
            "The household income of the audience is unknown.",
            "The audience is in the lower 50% of U.S. household incomes.",
            "The audience is in the top 41-50% of U.S. household incomes.",
            "The audience is in the top 31-40% of U.S. household incomes.",
            "The audience is in the top 21-30% of U.S. household incomes.",
            "The audience is in the top 11-20% of U.S. household incomes.",
            "The audience is in the top 10% of U.S. household incomes."
          ],
          "description": "Required. The household income of the audience.",
          "enum": [
            "HOUSEHOLD_INCOME_UNSPECIFIED",
            "HOUSEHOLD_INCOME_UNKNOWN",
            "HOUSEHOLD_INCOME_LOWER_50_PERCENT",
            "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT",
            "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT",
            "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT",
            "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT",
            "HOUSEHOLD_INCOME_TOP_10_PERCENT"
          ]
        }
      }
    },
    "BusinessChainAssignedTargetingOptionDetails": {
      "properties": {
        "displayName": {
          "description": "Output only. The display name of a business chain, e.g. \"KFC\", \"Chase Bank\".",
          "readOnly": true,
          "type": "string"
        },
        "proximityRadiusUnit": {
          "enum": [
            "DISTANCE_UNIT_UNSPECIFIED",
            "DISTANCE_UNIT_MILES",
            "DISTANCE_UNIT_KILOMETERS"
          ],
          "description": "Required. The unit of distance by which the targeting radius is measured.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Miles.",
            "Kilometers."
          ]
        },
        "proximityRadiusAmount": {
          "type": "number",
          "format": "double",
          "description": "Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6."
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting option IDs can be retrieved using SearchTargetingOptions.",
          "type": "string"
        }
      },
      "description": "Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
      "id": "BusinessChainAssignedTargetingOptionDetails",
      "type": "object"
    },
    "AdvertiserSdfConfig": {
      "properties": {
        "overridePartnerSdfConfig": {
          "description": "Whether or not this advertiser overrides the SDF configuration of its parent partner. By default, an advertiser inherits the SDF configuration from the parent partner. To override the partner configuration, set this field to `true` and provide the new configuration in sdfConfig.",
          "type": "boolean"
        },
        "sdfConfig": {
          "description": "The SDF configuration for the advertiser. * Required when overridePartnerSdfConfig is `true`. * Output only when overridePartnerSdfConfig is `false`.",
          "$ref": "SdfConfig"
        }
      },
      "description": "Structured Data Files (SDF) settings of an advertiser.",
      "id": "AdvertiserSdfConfig",
      "type": "object"
    },
    "GeoRegionSearchTerms": {
      "type": "object",
      "id": "GeoRegionSearchTerms",
      "description": "Search terms for geo region targeting options.",
      "properties": {
        "geoRegionQuery": {
          "description": "The search query for the desired geo region. The query can be a prefix, e.g. \"New Yor\", \"Seattle\", \"USA\", etc.",
          "type": "string"
        }
      }
    },
    "InStreamAd": {
      "id": "InStreamAd",
      "type": "object",
      "properties": {
        "customParameters": {
          "description": "The custom parameters and accompanying values to add to the tracking URL.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "commonInStreamAttribute": {
          "description": "Common ad attributes.",
          "$ref": "CommonInStreamAttribute"
        }
      },
      "description": "Details for an in-stream ad."
    },
    "PoiAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "PoiAssignedTargetingOptionDetails",
      "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\", followed by its full address if available.",
          "readOnly": true
        },
        "proximityRadiusUnit": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Miles.",
            "Kilometers."
          ],
          "enum": [
            "DISTANCE_UNIT_UNSPECIFIED",
            "DISTANCE_UNIT_MILES",
            "DISTANCE_UNIT_KILOMETERS"
          ],
          "description": "Required. The unit of distance by which the targeting radius is measured."
        },
        "longitude": {
          "type": "number",
          "format": "double",
          "readOnly": true,
          "description": "Output only. Longitude of the POI rounding to 6th decimal place."
        },
        "latitude": {
          "type": "number",
          "format": "double",
          "description": "Output only. Latitude of the POI rounding to 6th decimal place.",
          "readOnly": true
        },
        "proximityRadiusAmount": {
          "type": "number",
          "format": "double",
          "description": "Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`."
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be retrieved using `targetingTypes.targetingOptions.search`. If targeting a specific latitude/longitude coordinate removed from an address or POI name, you can generate the necessary targeting option ID by rounding the desired coordinate values to the 6th decimal place, removing the decimals, and concatenating the string values separated by a semicolon. For example, you can target the latitude/longitude pair of 40.7414691, -74.003387 using the targeting option ID \"40741469;-74003387\". **Upon** **creation, this field value will be updated to append a semicolon and** **alphanumerical hash value if only latitude/longitude coordinates are** **provided.**",
          "type": "string"
        }
      }
    },
    "CreateAssetResponse": {
      "id": "CreateAssetResponse",
      "type": "object",
      "properties": {
        "asset": {
          "description": "The uploaded asset, if successful.",
          "$ref": "Asset"
        }
      },
      "description": "A response message for CreateAsset."
    },
    "BulkEditAssignedInventorySourcesResponse": {
      "properties": {
        "assignedInventorySources": {
          "type": "array",
          "description": "The list of assigned inventory sources that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedInventorySource"
          }
        }
      },
      "description": "Response message for AssignedInventorySourceService.BulkEdit.",
      "id": "BulkEditAssignedInventorySourcesResponse",
      "type": "object"
    },
    "ListPartnerAssignedTargetingOptionsResponse": {
      "properties": {
        "assignedTargetingOptions": {
          "type": "array",
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "description": "The list of assigned targeting options. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListPartnerAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.",
          "type": "string"
        }
      },
      "id": "ListPartnerAssignedTargetingOptionsResponse",
      "type": "object"
    },
    "BulkEditSitesRequest": {
      "properties": {
        "partnerId": {
          "description": "The ID of the partner that owns the parent channel.",
          "type": "string",
          "format": "int64"
        },
        "deletedSites": {
          "type": "array",
          "description": "The sites to delete in batch, specified as a list of site url_or_app_ids.",
          "items": {
            "type": "string"
          }
        },
        "advertiserId": {
          "description": "The ID of the advertiser that owns the parent channel.",
          "type": "string",
          "format": "int64"
        },
        "createdSites": {
          "items": {
            "$ref": "Site"
          },
          "description": "The sites to create in batch, specified as a list of Sites.",
          "type": "array"
        }
      },
      "description": "Request message for SiteService.BulkEditSites.",
      "id": "BulkEditSitesRequest",
      "type": "object"
    },
    "ListYoutubeAdGroupAssignedTargetingOptionsResponse": {
      "description": "Response message for ListYoutubeAdGroupAssignedTargetingOptions.",
      "properties": {
        "assignedTargetingOptions": {
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "description": "The list of assigned targeting options. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListYoutubeAdGroupAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListYoutubeAdGroupAssignedTargetingOptionsResponse"
    },
    "TargetingExpansionConfig": {
      "properties": {
        "excludeDemographicExpansion": {
          "description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.",
          "type": "boolean"
        },
        "targetingExpansionLevel": {
          "type": "string",
          "enumDescriptions": [
            "The optimized targeting setting is not specified or is unknown in this version.",
            "Optimized targeting is off.",
            "Optimized targeting is on.",
            "If used, will automatically be set to `LEAST_EXPANSION`.",
            "If used, will automatically be set to `LEAST_EXPANSION`.",
            "If used, will automatically be set to `LEAST_EXPANSION`.",
            "If used, will automatically be set to `LEAST_EXPANSION`."
          ],
          "description": "Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field.",
          "enumDeprecated": [
            false,
            false,
            false,
            true,
            true,
            true,
            true
          ],
          "enum": [
            "TARGETING_EXPANSION_LEVEL_UNSPECIFIED",
            "NO_EXPANSION",
            "LEAST_EXPANSION",
            "SOME_EXPANSION",
            "BALANCED_EXPANSION",
            "MORE_EXPANSION",
            "MOST_EXPANSION"
          ]
        },
        "excludeFirstPartyAudience": {
          "description": "Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences.",
          "deprecated": true,
          "type": "boolean"
        }
      },
      "description": "Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item.",
      "id": "TargetingExpansionConfig",
      "type": "object"
    },
    "ListNegativeKeywordsResponse": {
      "id": "ListNegativeKeywordsResponse",
      "type": "object",
      "properties": {
        "negativeKeywords": {
          "type": "array",
          "description": "The list of negative keywords. This list will be absent if empty.",
          "items": {
            "$ref": "NegativeKeyword"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywords` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "description": "Response message for NegativeKeywordService.ListNegativeKeywords."
    },
    "DeactivateManualTriggerRequest": {
      "properties": {},
      "description": "Request message for ManualTriggerService.DeactivateManualTrigger.",
      "id": "DeactivateManualTriggerRequest",
      "type": "object"
    },
    "CampaignGoal": {
      "type": "object",
      "id": "CampaignGoal",
      "description": "Settings that control the goal of a campaign.",
      "properties": {
        "campaignGoalType": {
          "enum": [
            "CAMPAIGN_GOAL_TYPE_UNSPECIFIED",
            "CAMPAIGN_GOAL_TYPE_APP_INSTALL",
            "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS",
            "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION",
            "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION"
          ],
          "description": "Required. The type of the campaign goal.",
          "type": "string",
          "enumDescriptions": [
            "Goal value is not specified or unknown in this version.",
            "Drive app installs or engagements.",
            "Raise awareness of a brand or product.",
            "Drive offline or in-store sales.",
            "Drive online action or visits."
          ]
        },
        "performanceGoal": {
          "description": "Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`",
          "$ref": "PerformanceGoal"
        }
      }
    },
    "BulkEditNegativeKeywordsResponse": {
      "id": "BulkEditNegativeKeywordsResponse",
      "type": "object",
      "properties": {
        "negativeKeywords": {
          "description": "The list of negative keywords that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "NegativeKeyword"
          },
          "type": "array"
        }
      },
      "description": "Response message for NegativeKeywordService.BulkEditNegativeKeywords."
    },
    "BulkEditAssignedTargetingOptionsRequest": {
      "id": "BulkEditAssignedTargetingOptionsRequest",
      "type": "object",
      "properties": {
        "createRequests": {
          "type": "array",
          "description": "The assigned targeting options to create in batch, specified as a list of CreateAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`",
          "items": {
            "$ref": "CreateAssignedTargetingOptionsRequest"
          }
        },
        "deleteRequests": {
          "type": "array",
          "description": "The assigned targeting options to delete in batch, specified as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`",
          "items": {
            "$ref": "DeleteAssignedTargetingOptionsRequest"
          }
        },
        "lineItemIds": {
          "type": "array",
          "description": "Required. The ID of the line items whose targeting is being updated.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      },
      "description": "Request message for BulkEditLineItemsAssignedTargetingOptions."
    },
    "ManualTrigger": {
      "id": "ManualTrigger",
      "type": "object",
      "properties": {
        "triggerId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the manual trigger.",
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the manual trigger.",
          "type": "string"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "INACTIVE",
            "ACTIVE"
          ],
          "description": "Output only. The state of the manual trigger. Will be set to the `INACTIVE` state upon creation.",
          "type": "string",
          "enumDescriptions": [
            "Default value when state is not specified or is unknown in this version.",
            "The trigger is currently inactive and ready to be activated.",
            "The trigger is currently active (activated)."
          ],
          "readOnly": true
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to."
        },
        "activationDurationMinutes": {
          "description": "Required. The maximum duration of each activation in minutes. Must be between 1 and 360 inclusive. After this duration, the trigger will be automatically deactivated.",
          "type": "string",
          "format": "int64"
        },
        "displayName": {
          "description": "Required. The display name of the manual trigger. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "latestActivationTime": {
          "description": "Output only. The timestamp of the trigger's latest activation.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      },
      "description": "A single manual trigger in Display & Video 360. **Warning:** Line Items using manual triggers no longer serve in Display & Video 360. This resource will sunset on August 1, 2023. Read our [feature deprecation announcement](/display-video/api/deprecations#features.manual_triggers) for more information."
    },
    "YoutubeAndPartnersSettings": {
      "type": "object",
      "id": "YoutubeAndPartnersSettings",
      "description": "Settings for YouTube and Partners line items.",
      "properties": {
        "leadFormId": {
          "description": "Optional. The ID of the form to generate leads.",
          "type": "string",
          "format": "int64"
        },
        "inventorySourceSettings": {
          "description": "Settings that control what YouTube and Partners inventories the line item will target.",
          "$ref": "YoutubeAndPartnersInventorySourceConfig"
        },
        "effectiveContentCategory": {
          "readOnly": true,
          "enum": [
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED"
          ],
          "description": "Output only. The content category which takes effect when serving the line item. When content category is set in both line item and advertiser, the stricter one will take effect when serving the line item. New line items will only inherit the advertiser level setting.",
          "type": "string",
          "enumDescriptions": [
            "Content category is not specified or is unknown in this version.",
            "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).",
            "A category including all content across YouTube and video partners that meets standards for monetization.",
            "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness."
          ]
        },
        "viewFrequencyCap": {
          "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap.",
          "$ref": "FrequencyCap"
        },
        "videoAdSequenceSettings": {
          "description": "Optional. The settings related to VideoAdSequence.",
          "$ref": "VideoAdSequenceSettings"
        },
        "videoAdInventoryControl": {
          "description": "Optional. The settings to control which inventory is allowed for this line item.",
          "$ref": "VideoAdInventoryControl"
        },
        "thirdPartyMeasurementSettings": {
          "description": "Optional. The third-party measurement settings of the line item.",
          "$ref": "YoutubeAndPartnersThirdPartyMeasurementSettings"
        },
        "targetFrequency": {
          "description": "Optional. The average number of times you want ads from this line item to show to the same person over a certain period of time.",
          "$ref": "TargetFrequency"
        },
        "linkedMerchantId": {
          "description": "Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser.",
          "type": "string",
          "format": "int64"
        },
        "biddingStrategy": {
          "description": "Required. The bidding strategy of the YouTube and Partners line item.",
          "$ref": "YoutubeAndPartnersBiddingStrategy"
        },
        "contentCategory": {
          "readOnly": true,
          "description": "Output only. The kind of content on which the YouTube and Partners ads will be shown. *Warning*: This field will be removed in the near future. Use effective_content_category instead.",
          "enum": [
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED",
            "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Content category is not specified or is unknown in this version.",
            "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).",
            "A category including all content across YouTube and video partners that meets standards for monetization.",
            "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness."
          ]
        },
        "relatedVideoIds": {
          "description": "Optional. The IDs of the videos appear below the primary video ad when the ad is playing in the YouTube app on mobile devices.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "ListUsersResponse": {
      "type": "object",
      "id": "ListUsersResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListUsers` method to retrieve the next page of results. This token will be absent if there are no more results to return.",
          "type": "string"
        },
        "users": {
          "type": "array",
          "description": "The list of users. This list will be absent if empty.",
          "items": {
            "$ref": "User"
          }
        }
      }
    },
    "ChannelAssignedTargetingOptionDetails": {
      "id": "ChannelAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "channelId": {
          "type": "string",
          "format": "int64",
          "description": "Required. ID of the channel. Should refer to the channel ID field on a [Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or [advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id) resource."
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted. For advertiser level assigned targeting option, this field must be true.",
          "type": "boolean"
        }
      },
      "description": "Details for assigned channel targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`."
    },
    "AssetAssociation": {
      "description": "Asset association for the creative.",
      "properties": {
        "asset": {
          "description": "Optional. The associated asset.",
          "$ref": "Asset"
        },
        "role": {
          "enum": [
            "ASSET_ROLE_UNSPECIFIED",
            "ASSET_ROLE_MAIN",
            "ASSET_ROLE_BACKUP",
            "ASSET_ROLE_POLITE_LOAD",
            "ASSET_ROLE_HEADLINE",
            "ASSET_ROLE_LONG_HEADLINE",
            "ASSET_ROLE_BODY",
            "ASSET_ROLE_LONG_BODY",
            "ASSET_ROLE_CAPTION_URL",
            "ASSET_ROLE_CALL_TO_ACTION",
            "ASSET_ROLE_ADVERTISER_NAME",
            "ASSET_ROLE_PRICE",
            "ASSET_ROLE_ANDROID_APP_ID",
            "ASSET_ROLE_IOS_APP_ID",
            "ASSET_ROLE_RATING",
            "ASSET_ROLE_ICON",
            "ASSET_ROLE_COVER_IMAGE",
            "ASSET_ROLE_BACKGROUND_COLOR",
            "ASSET_ROLE_ACCENT_COLOR",
            "ASSET_ROLE_REQUIRE_LOGO",
            "ASSET_ROLE_REQUIRE_IMAGE",
            "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS"
          ],
          "description": "Optional. The role of this asset for the creative.",
          "type": "string",
          "enumDescriptions": [
            "Asset role is not specified or is unknown in this version.",
            "The asset is the main asset of the creative.",
            "The asset is a backup asset of the creative.",
            "The asset is a polite load asset of the creative.",
            "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
            "The purchase price of your app in the Google play store or iOS app store (for example, $5.99). Note that this value is not automatically synced with the actual value listed in the store. It will always be the one provided when save the creative. The content must be UTF-8 encoded with a length of no more than 15 characters. Assets of this role are read-only.",
            "The ID of an Android app in the Google play store. You can find this ID in the App’s Google Play Store URL after ‘id’. For example, in `https://play.google.com/store/apps/details?id=com.company.appname` the identifier is com.company.appname. Assets of this role are read-only.",
            "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in `https://apps.apple.com/us/app/gmail-email-by-google/id422689480` the ID is 422689480. Assets of this role are read-only.",
            "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.",
            "The icon of a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`",
            "The cover image of a native video creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_VIDEO`",
            "The main color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`",
            "The accent color to use in a creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`",
            "Whether the creative must use a logo asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`",
            "Whether the creative must use an image asset. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`",
            "Whether asset enhancements can be applied to the creative. This role is only supported and required in the following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`"
          ]
        }
      },
      "type": "object",
      "id": "AssetAssociation"
    },
    "DeviceMakeModelAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "DeviceMakeModelAssignedTargetingOptionDetails",
      "description": "Assigned device make and model targeting option details. This will be populated in the device_make_model_details field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.",
      "properties": {
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the device make and model.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.",
          "type": "string"
        }
      }
    },
    "BulkEditSitesResponse": {
      "id": "BulkEditSitesResponse",
      "type": "object",
      "properties": {
        "sites": {
          "type": "array",
          "description": "The list of sites that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "Site"
          }
        }
      },
      "description": "Response message for SiteService.BulkEditSites."
    },
    "InsertionOrderBudget": {
      "type": "object",
      "id": "InsertionOrderBudget",
      "description": "Settings that control how insertion order budget is allocated.",
      "properties": {
        "budgetUnit": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Budgeting in currency amounts.",
            "Budgeting in impression amounts."
          ],
          "description": "Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.",
          "enum": [
            "BUDGET_UNIT_UNSPECIFIED",
            "BUDGET_UNIT_CURRENCY",
            "BUDGET_UNIT_IMPRESSIONS"
          ]
        },
        "budgetSegments": {
          "description": "Required. The list of budget segments. Use a budget segment to specify a specific budget for a given period of time an insertion order is running.",
          "items": {
            "$ref": "InsertionOrderBudgetSegment"
          },
          "type": "array"
        },
        "automationType": {
          "type": "string",
          "enumDescriptions": [
            "Insertion order automation option is not specified or is unknown in this version.",
            "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by kpi. No automation on bid settings.",
            "No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level.",
            "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by bid_strategy."
          ],
          "description": "Optional. The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.",
          "enum": [
            "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED",
            "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET",
            "INSERTION_ORDER_AUTOMATION_TYPE_NONE",
            "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET"
          ]
        }
      }
    },
    "PrismaCpeCode": {
      "type": "object",
      "id": "PrismaCpeCode",
      "description": "Google Payments Center supports searching and filtering on the component fields of this code.",
      "properties": {
        "prismaProductCode": {
          "description": "The Prisma product code.",
          "type": "string"
        },
        "prismaEstimateCode": {
          "description": "The Prisma estimate code.",
          "type": "string"
        },
        "prismaClientCode": {
          "description": "The Prisma client code.",
          "type": "string"
        }
      }
    },
    "BulkEditAssignedUserRolesResponse": {
      "type": "object",
      "id": "BulkEditAssignedUserRolesResponse",
      "properties": {
        "createdAssignedUserRoles": {
          "type": "array",
          "description": "The list of assigned user roles that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedUserRole"
          }
        }
      }
    },
    "BulkUpdateLineItemsResponse": {
      "type": "object",
      "id": "BulkUpdateLineItemsResponse",
      "description": "Response message for LineItemService.BulkUpdateLineItems.",
      "properties": {
        "updatedLineItemIds": {
          "description": "The IDs of successfully updated line items.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "failedLineItemIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of line items that failed to update."
        },
        "skippedLineItemIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of line items that are skipped for updates. For example, unnecessary mutates that will result in effectively no changes to line items will be skipped and corresponding line item IDs can be tracked here."
        },
        "errors": {
          "items": {
            "$ref": "Status"
          },
          "description": "Errors returned by line items that failed to update.",
          "type": "array"
        }
      }
    },
    "YoutubeAdGroupAssignedTargetingOption": {
      "id": "YoutubeAdGroupAssignedTargetingOption",
      "type": "object",
      "properties": {
        "youtubeAdGroupId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the youtube ad group the assigned targeting option is assigned to."
        },
        "assignedTargetingOption": {
          "description": "The assigned targeting option resource.",
          "$ref": "AssignedTargetingOption"
        }
      },
      "description": "Wrapper object associating an AssignedTargetingOption resource and the youtube ad group it is assigned to."
    },
    "MobileApp": {
      "description": "A mobile app promoted by a mobile app install line item.",
      "properties": {
        "appId": {
          "description": "Required. The ID of the app provided by the platform store. Android apps are identified by the bundle ID used by Android's Play store, such as `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used by Apple's App store, such as `422689480`.",
          "type": "string"
        },
        "platform": {
          "description": "Output only. The app platform.",
          "enum": [
            "PLATFORM_UNSPECIFIED",
            "IOS",
            "ANDROID"
          ],
          "type": "string",
          "enumDescriptions": [
            "Platform is not specified.",
            "iOS platform.",
            "Android platform."
          ],
          "readOnly": true
        },
        "publisher": {
          "description": "Output only. The app publisher.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The app name.",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "MobileApp"
    },
    "ListAdvertiserAssignedTargetingOptionsResponse": {
      "properties": {
        "assignedTargetingOptions": {
          "description": "The list of assigned targeting options. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.",
          "type": "string"
        }
      },
      "description": "Response message for ListAdvertiserAssignedTargetingOptions.",
      "id": "ListAdvertiserAssignedTargetingOptionsResponse",
      "type": "object"
    },
    "CreateAssetRequest": {
      "description": "A request message for CreateAsset.",
      "properties": {
        "filename": {
          "description": "Required. The filename of the asset, including the file extension. The filename must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "CreateAssetRequest"
    },
    "AudienceGroupAssignedTargetingOptionDetails": {
      "id": "AudienceGroupAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "excludedGoogleAudienceGroup": {
          "description": "Optional. The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically ‘OR’ of each other.",
          "$ref": "GoogleAudienceGroup"
        },
        "includedCustomListGroup": {
          "description": "Optional. The custom list ids of the included custom list group. Contains custom list ids only.",
          "$ref": "CustomListGroup"
        },
        "includedGoogleAudienceGroup": {
          "description": "Optional. The Google audience ids of the included Google audience group. Contains Google audience ids only.",
          "$ref": "GoogleAudienceGroup"
        },
        "includedCombinedAudienceGroup": {
          "description": "Optional. The combined audience ids of the included combined audience group. Contains combined audience ids only.",
          "$ref": "CombinedAudienceGroup"
        }
      },
      "description": "Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is used as an INTERSECTION with other groups."
    },
    "DigitalContentLabelAssignedTargetingOptionDetails": {
      "properties": {
        "excludedContentRatingTier": {
          "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.",
          "enum": [
            "CONTENT_RATING_TIER_UNSPECIFIED",
            "CONTENT_RATING_TIER_UNRATED",
            "CONTENT_RATING_TIER_GENERAL",
            "CONTENT_RATING_TIER_PARENTAL_GUIDANCE",
            "CONTENT_RATING_TIER_TEENS",
            "CONTENT_RATING_TIER_MATURE",
            "CONTENT_RATING_TIER_FAMILIES"
          ],
          "type": "string",
          "enumDescriptions": [
            "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.",
            "Content that has not been labeled.",
            "Content suitable for general audiences.",
            "Content suitable for most audiences with parental guidance.",
            "Content suitable for teen and older audiences.",
            "Content suitable only for mature audiences.",
            "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items."
          ]
        }
      },
      "description": "Targeting details for digital content label. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.",
      "id": "DigitalContentLabelAssignedTargetingOptionDetails",
      "type": "object"
    },
    "SearchTargetingOptionsResponse": {
      "properties": {
        "targetingOptions": {
          "description": "The list of targeting options that match the search criteria. This list will be absent if empty.",
          "items": {
            "$ref": "TargetingOption"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `SearchTargetingOptions` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "description": "Response message for SearchTargetingOptions.",
      "id": "SearchTargetingOptionsResponse",
      "type": "object"
    },
    "BulkListAssignedTargetingOptionsResponse": {
      "id": "BulkListAssignedTargetingOptionsResponse",
      "type": "object",
      "properties": {
        "lineItemAssignedTargetingOptions": {
          "items": {
            "$ref": "LineItemAssignedTargetingOption"
          },
          "description": "The list of wrapper objects, each providing an assigned targeting option and the line item it is assigned to. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more line_item_assigned_targeting_options to return.",
          "type": "string"
        }
      }
    },
    "BulkEditAdvertiserAssignedTargetingOptionsRequest": {
      "type": "object",
      "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest",
      "description": "Request message for BulkEditAdvertiserAssignedTargetingOptions.",
      "properties": {
        "deleteRequests": {
          "type": "array",
          "items": {
            "$ref": "DeleteAssignedTargetingOptionsRequest"
          },
          "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`"
        },
        "createRequests": {
          "type": "array",
          "items": {
            "$ref": "CreateAssignedTargetingOptionsRequest"
          },
          "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_KEYWORD`"
        }
      }
    },
    "ListInvoicesResponse": {
      "type": "object",
      "id": "ListInvoicesResponse",
      "properties": {
        "invoices": {
          "items": {
            "$ref": "Invoice"
          },
          "description": "The list of invoices. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInvoices` method to retrieve the next page of results. This token will be absent if there are no more invoices to return.",
          "type": "string"
        }
      }
    },
    "EnvironmentAssignedTargetingOptionDetails": {
      "id": "EnvironmentAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "environment": {
          "type": "string",
          "enumDescriptions": [
            "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.",
            "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.",
            "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.",
            "Target inventory displayed in apps."
          ],
          "enum": [
            "ENVIRONMENT_UNSPECIFIED",
            "ENVIRONMENT_WEB_OPTIMIZED",
            "ENVIRONMENT_WEB_NOT_OPTIMIZED",
            "ENVIRONMENT_APP"
          ],
          "description": "Required. The serving environment."
        }
      },
      "description": "Assigned environment targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`."
    },
    "CategoryAssignedTargetingOptionDetails": {
      "description": "Assigned category targeting option details. This will be populated in the category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CATEGORY`.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the category.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "CategoryAssignedTargetingOptionDetails"
    },
    "MeasurementConfig": {
      "type": "object",
      "id": "MeasurementConfig",
      "description": "Measurement settings of a partner.",
      "properties": {
        "dv360ToCmDataSharingEnabled": {
          "description": "Whether or not to include DV360 data in CM360 data transfer reports.",
          "type": "boolean"
        },
        "dv360ToCmCostReportingEnabled": {
          "description": "Whether or not to report DV360 cost to CM360.",
          "type": "boolean"
        }
      }
    },
    "NegativeKeyword": {
      "description": "A negatively targeted keyword that belongs to a negative keyword list.",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the negative keyword."
        },
        "keywordValue": {
          "description": "Required. Immutable. The negatively targeted keyword, for example `car insurance`. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10. Valid characters are restricted to ASCII characters only. The only URL-escaping permitted is for representing whitespace between words. Leading or trailing whitespace is ignored.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "NegativeKeyword"
    },
    "NativeContentPositionAssignedTargetingOptionDetails": {
      "description": "Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect.",
      "properties": {
        "contentPosition": {
          "type": "string",
          "enumDescriptions": [
            "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.",
            "The native content position is unknown.",
            "Native content position is in-article, i.e., ads appear between the paragraphs of pages.",
            "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
            "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.",
            "Native content position is recommendation, i.e., ads appear in sections for recommended content."
          ],
          "description": "Required. The content position.",
          "enum": [
            "NATIVE_CONTENT_POSITION_UNSPECIFIED",
            "NATIVE_CONTENT_POSITION_UNKNOWN",
            "NATIVE_CONTENT_POSITION_IN_ARTICLE",
            "NATIVE_CONTENT_POSITION_IN_FEED",
            "NATIVE_CONTENT_POSITION_PERIPHERAL",
            "NATIVE_CONTENT_POSITION_RECOMMENDATION"
          ]
        }
      },
      "type": "object",
      "id": "NativeContentPositionAssignedTargetingOptionDetails"
    },
    "ProductFeedData": {
      "description": "The details of product feed.",
      "properties": {
        "productMatchType": {
          "description": "How products are selected by the product feed.",
          "enum": [
            "PRODUCT_MATCH_TYPE_UNSPECIFIED",
            "PRODUCT_MATCH_TYPE_ALL_PRODUCTS",
            "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS",
            "PRODUCT_MATCH_TYPE_CUSTOM_LABEL"
          ],
          "type": "string",
          "enumDescriptions": [
            "Not specified or unknown.",
            "All the products are matched.",
            "Specific products are selected.",
            "Match products by their custom labels."
          ]
        },
        "productMatchDimensions": {
          "type": "array",
          "description": "A list of dimensions used to match products.",
          "items": {
            "$ref": "ProductMatchDimension"
          }
        },
        "isFeedDisabled": {
          "description": "Whether the product feed has opted-out of showing products.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "ProductFeedData"
    },
    "Invoice": {
      "type": "object",
      "id": "Invoice",
      "description": "A single invoice.",
      "properties": {
        "totalTaxAmountMicros": {
          "description": "The sum of all taxes in invoice, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.",
          "type": "string",
          "format": "int64"
        },
        "currencyCode": {
          "description": "The currency used in the invoice in ISO 4217 format.",
          "type": "string"
        },
        "purchaseOrderNumber": {
          "description": "Purchase order number associated with the 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"
        },
        "issueDate": {
          "description": "The date when the invoice was issued.",
          "$ref": "Date"
        },
        "budgetSummaries": {
          "description": "The list of summarized information for each budget associated with this invoice. This field will only be set if the invoice detail level of the corresponding billing profile was set to \"Budget level PO\".",
          "items": {
            "$ref": "BudgetSummary"
          },
          "type": "array"
        },
        "nonBudgetMicros": {
          "description": "The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "The resource name of the invoice.",
          "type": "string"
        },
        "invoiceType": {
          "type": "string",
          "enumDescriptions": [
            "Not specified or is unknown in this version.",
            "The invoice has a negative amount.",
            "The invoice has a positive amount."
          ],
          "description": "The type of invoice document.",
          "enum": [
            "INVOICE_TYPE_UNSPECIFIED",
            "INVOICE_TYPE_CREDIT",
            "INVOICE_TYPE_INVOICE"
          ]
        },
        "replacedInvoiceIds": {
          "items": {
            "type": "string"
          },
          "description": "The ID(s) of any originally issued invoice that is being cancelled by this invoice, if applicable. Multiple invoices may be listed if those invoices are being consolidated into a single invoice. May appear on invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, this field will be empty.",
          "type": "array"
        },
        "totalAmountMicros": {
          "description": "The invoice total amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.",
          "type": "string",
          "format": "int64"
        },
        "paymentsAccountId": {
          "description": "The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.",
          "type": "string"
        },
        "subtotalAmountMicros": {
          "description": "The pre-tax subtotal amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.",
          "type": "string",
          "format": "int64"
        },
        "pdfUrl": {
          "description": "The URL to download a PDF copy of the invoice. 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 and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 days after retrieval of this invoice object or until this invoice is retrieved again.",
          "type": "string"
        },
        "correctedInvoiceId": {
          "description": "The ID of the original invoice being adjusted by this invoice, if applicable. May appear on the invoice PDF as `Reference invoice number`. If replaced_invoice_ids is set, this field will be empty.",
          "type": "string"
        },
        "dueDate": {
          "description": "The date when the invoice is due.",
          "$ref": "Date"
        },
        "invoiceId": {
          "description": "The unique ID of the invoice.",
          "type": "string"
        },
        "serviceDateRange": {
          "description": "The service start and end dates which are covered by this invoice.",
          "$ref": "DateRange"
        },
        "displayName": {
          "description": "The display name of the invoice.",
          "type": "string"
        },
        "budgetInvoiceGroupingId": {
          "description": "The budget grouping ID for this invoice. This field will only be set if the invoice level of the corresponding billing profile was set to \"Budget invoice grouping ID\".",
          "type": "string"
        }
      }
    },
    "ListChannelsResponse": {
      "id": "ListChannelsResponse",
      "type": "object",
      "properties": {
        "channels": {
          "type": "array",
          "description": "The list of channels. This list will be absent if empty.",
          "items": {
            "$ref": "Channel"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListChannels` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "ListCustomBiddingScriptsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingScriptsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.",
          "type": "string"
        },
        "customBiddingScripts": {
          "description": "The list of custom bidding scripts. This list will be absent if empty.",
          "items": {
            "$ref": "CustomBiddingScript"
          },
          "type": "array"
        }
      },
      "id": "ListCustomBiddingScriptsResponse",
      "type": "object"
    },
    "AppAssignedTargetingOptionDetails": {
      "description": "Details for assigned app targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.",
      "properties": {
        "appId": {
          "description": "Required. The ID of the app. Android's Play store app uses bundle ID, for example `com.google.android.gm`. Apple's App store app ID uses 9 digit string, for example `422689480`.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the app."
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "appPlatform": {
          "type": "string",
          "enumDescriptions": [
            "Default value when app platform is not specified in this version. This enum is a placeholder for default value and does not represent a real platform option.",
            "The app platform is iOS.",
            "The app platform is Android.",
            "The app platform is Roku.",
            "The app platform is Amazon FireTV.",
            "The app platform is Playstation.",
            "The app platform is Apple TV.",
            "The app platform is Xbox.",
            "The app platform is Samsung TV.",
            "The app platform is Android TV.",
            "The app platform is a CTV platform that is not explicitly listed elsewhere.",
            "The app platform is LG TV.",
            "The app platform is VIZIO TV.",
            "The app platform is Vidaa."
          ],
          "enum": [
            "APP_PLATFORM_UNSPECIFIED",
            "APP_PLATFORM_IOS",
            "APP_PLATFORM_ANDROID",
            "APP_PLATFORM_ROKU",
            "APP_PLATFORM_AMAZON_FIRETV",
            "APP_PLATFORM_PLAYSTATION",
            "APP_PLATFORM_APPLE_TV",
            "APP_PLATFORM_XBOX",
            "APP_PLATFORM_SAMSUNG_TV",
            "APP_PLATFORM_ANDROID_TV",
            "APP_PLATFORM_GENERIC_CTV",
            "APP_PLATFORM_LG_TV",
            "APP_PLATFORM_VIZIO_TV",
            "APP_PLATFORM_VIDAA"
          ],
          "description": "Indicates the platform of the targeted app. If this field is not specified, the app platform will be assumed to be mobile (i.e., Android or iOS), and we will derive the appropriate mobile platform from the app ID."
        }
      },
      "type": "object",
      "id": "AppAssignedTargetingOptionDetails"
    },
    "ProximityLocationListAssignedTargetingOptionDetails": {
      "description": "Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.",
      "properties": {
        "proximityLocationListId": {
          "description": "Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.",
          "type": "string",
          "format": "int64"
        },
        "proximityRadius": {
          "description": "Required. Radius expressed in the distance units set in proximity_radius_unit. This represents the size of the area around a chosen location that will be targeted. Radius should be between 1 and 500 miles or 800 kilometers.",
          "type": "number",
          "format": "double"
        },
        "proximityRadiusUnit": {
          "description": "Required. Radius distance units.",
          "enum": [
            "PROXIMITY_RADIUS_UNIT_UNSPECIFIED",
            "PROXIMITY_RADIUS_UNIT_MILES",
            "PROXIMITY_RADIUS_UNIT_KILOMETERS"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when distance units is not specified in this version. This enum is a place holder for default value and does not represent a real distance unit.",
            "Radius distance unit in miles.",
            "Radius distance unit in kilometeres"
          ]
        }
      },
      "type": "object",
      "id": "ProximityLocationListAssignedTargetingOptionDetails"
    },
    "AssignedLocation": {
      "properties": {
        "assignedLocationId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the assigned location. The ID is only unique within a location list. It may be reused in other contexts.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the assigned location.",
          "type": "string"
        },
        "targetingOptionId": {
          "description": "Required. The ID of the targeting option assigned to the location list.",
          "type": "string"
        }
      },
      "description": "An assignment between a location list and a relevant targeting option.",
      "id": "AssignedLocation",
      "type": "object"
    },
    "PerformanceGoalBidStrategy": {
      "type": "object",
      "id": "PerformanceGoalBidStrategy",
      "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal.",
      "properties": {
        "performanceGoalAmountMicros": {
          "description": "Required. The performance goal the bidding strategy will attempt to meet or beat, in micros of the advertiser's currency or in micro of the ROAS (Return On Advertising Spend) value which is also based on advertiser's currency. Must be greater than or equal to a billable unit of the given currency and smaller or equal to upper bounds. Each performance_goal_type has its upper bound: * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00 and lower bound is 0.01. Example: If set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be based on the probability that each available impression will be viewable. For example, if viewable CPM target is $2 and an impression is 40% likely to be viewable, the bid price will be $0.80 CPM (40% of $2). For example, 1500000 represents 1.5 standard units of the currency or ROAS value.",
          "type": "string",
          "format": "int64"
        },
        "performanceGoalType": {
          "description": "Required. The type of the performance goal that the bidding strategy will try to meet or beat. For line item level usage, the value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.",
          "enum": [
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Cost per action.",
            "Cost per click.",
            "Viewable CPM.",
            "Custom bidding algorithm.",
            "Completed inview and audible views.",
            "Inview time over 10 secs views.",
            "Viewable impressions."
          ]
        },
        "maxAverageCpmBidAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. Not applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000 represents 1.5 standard units of the currency."
        },
        "customBiddingAlgorithmId": {
          "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. Assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "TargetingOption": {
      "description": "Represents a single targeting option, which is a targetable concept in DV360.",
      "properties": {
        "omidDetails": {
          "description": "Open Measurement enabled inventory details.",
          "$ref": "OmidTargetingOptionDetails"
        },
        "contentInstreamPositionDetails": {
          "description": "Content instream position details.",
          "$ref": "ContentInstreamPositionTargetingOptionDetails"
        },
        "deviceTypeDetails": {
          "description": "Device type details.",
          "$ref": "DeviceTypeTargetingOptionDetails"
        },
        "geoRegionDetails": {
          "description": "Geographic region resource details.",
          "$ref": "GeoRegionTargetingOptionDetails"
        },
        "ageRangeDetails": {
          "description": "Age range details.",
          "$ref": "AgeRangeTargetingOptionDetails"
        },
        "parentalStatusDetails": {
          "description": "Parental status details.",
          "$ref": "ParentalStatusTargetingOptionDetails"
        },
        "onScreenPositionDetails": {
          "description": "On screen position details.",
          "$ref": "OnScreenPositionTargetingOptionDetails"
        },
        "digitalContentLabelDetails": {
          "description": "Digital content label details.",
          "$ref": "DigitalContentLabelTargetingOptionDetails"
        },
        "contentGenreDetails": {
          "description": "Content genre resource details.",
          "$ref": "ContentGenreTargetingOptionDetails"
        },
        "householdIncomeDetails": {
          "description": "Household income details.",
          "$ref": "HouseholdIncomeTargetingOptionDetails"
        },
        "poiDetails": {
          "description": "POI resource details.",
          "$ref": "PoiTargetingOptionDetails"
        },
        "businessChainDetails": {
          "description": "Business chain resource details.",
          "$ref": "BusinessChainTargetingOptionDetails"
        },
        "categoryDetails": {
          "description": "Category resource details.",
          "$ref": "CategoryTargetingOptionDetails"
        },
        "contentOutstreamPositionDetails": {
          "description": "Content outstream position details.",
          "$ref": "ContentOutstreamPositionTargetingOptionDetails"
        },
        "authorizedSellerStatusDetails": {
          "description": "Authorized seller status resource details.",
          "$ref": "AuthorizedSellerStatusTargetingOptionDetails"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name for this targeting option.",
          "type": "string"
        },
        "sensitiveCategoryDetails": {
          "description": "Sensitive Category details.",
          "$ref": "SensitiveCategoryTargetingOptionDetails"
        },
        "contentDurationDetails": {
          "description": "Content duration resource details.",
          "$ref": "ContentDurationTargetingOptionDetails"
        },
        "carrierAndIspDetails": {
          "description": "Carrier and ISP details.",
          "$ref": "CarrierAndIspTargetingOptionDetails"
        },
        "videoPlayerSizeDetails": {
          "description": "Video player size details.",
          "$ref": "VideoPlayerSizeTargetingOptionDetails"
        },
        "contentStreamTypeDetails": {
          "description": "Content stream type resource details.",
          "$ref": "ContentStreamTypeTargetingOptionDetails"
        },
        "subExchangeDetails": {
          "description": "Sub-exchange details.",
          "$ref": "SubExchangeTargetingOptionDetails"
        },
        "userRewardedContentDetails": {
          "description": "User rewarded content details.",
          "$ref": "UserRewardedContentTargetingOptionDetails"
        },
        "genderDetails": {
          "description": "Gender details.",
          "$ref": "GenderTargetingOptionDetails"
        },
        "appCategoryDetails": {
          "description": "App category details.",
          "$ref": "AppCategoryTargetingOptionDetails"
        },
        "exchangeDetails": {
          "description": "Exchange details.",
          "$ref": "ExchangeTargetingOptionDetails"
        },
        "audioContentTypeDetails": {
          "description": "Audio content type details.",
          "$ref": "AudioContentTypeTargetingOptionDetails"
        },
        "targetingType": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown in this version.",
            "Target a channel (a custom group of related websites or apps).",
            "Target an app category (for example, education or puzzle games).",
            "Target a specific app (for example, Angry Birds).",
            "Target a specific url (for example, quora.com).",
            "Target ads during a chosen time period on a specific day.",
            "Target ads to a specific age range (for example, 18-24).",
            "Target ads to the specified regions on a regional location list.",
            "Target ads to the specified points of interest on a proximity location list.",
            "Target ads to a specific gender (for example, female or male).",
            "Target a specific video player size for video ads.",
            "Target user rewarded content for video ads.",
            "Target ads to a specific parental status (for example, parent or not a parent).",
            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
            "Target ads in a specific content outstream position.",
            "Target ads to a specific device type (for example, tablet or connected TV).",
            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
            "Target ads to specific web browsers (for example, Chrome).",
            "Target ads to a specific household income range (for example, top 10%).",
            "Target ads in a specific on screen position.",
            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
            "Filter website content by sensitive categories (for example, adult).",
            "Target ads to a specific environment (for example, web or app).",
            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
            "Target ads to a specific operating system (for example, macOS).",
            "Target ads to a specific device make or model (for example, Roku or Samsung).",
            "Target ads to a specific keyword (for example, dog or retriever).",
            "Target ads to a specific negative keyword list.",
            "Target ads to a specific viewability (for example, 80% viewable).",
            "Target ads to a specific content category (for example, arts & entertainment).",
            "Purchase impressions from specific deals and auction packages.",
            "Target ads to a specific language (for example, English or Japanese).",
            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
            "Target ads to a specific regional location (for example, a city or state).",
            "Purchase impressions from a group of deals and auction packages.",
            "Purchase impressions from specific exchanges.",
            "Purchase impressions from specific sub-exchanges.",
            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
            "Target ads around locations of a business chain within a specific geo region.",
            "Target ads to a specific video content duration.",
            "Target ads to a specific video content stream type.",
            "Target ads to a specific native content position.",
            "Target ads in an Open Measurement enabled inventory.",
            "Target ads to a specific audio content type.",
            "Target ads to a specific content genre.",
            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
          ],
          "description": "Output only. The type of this targeting option.",
          "enum": [
            "TARGETING_TYPE_UNSPECIFIED",
            "TARGETING_TYPE_CHANNEL",
            "TARGETING_TYPE_APP_CATEGORY",
            "TARGETING_TYPE_APP",
            "TARGETING_TYPE_URL",
            "TARGETING_TYPE_DAY_AND_TIME",
            "TARGETING_TYPE_AGE_RANGE",
            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
            "TARGETING_TYPE_GENDER",
            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
            "TARGETING_TYPE_USER_REWARDED_CONTENT",
            "TARGETING_TYPE_PARENTAL_STATUS",
            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
            "TARGETING_TYPE_DEVICE_TYPE",
            "TARGETING_TYPE_AUDIENCE_GROUP",
            "TARGETING_TYPE_BROWSER",
            "TARGETING_TYPE_HOUSEHOLD_INCOME",
            "TARGETING_TYPE_ON_SCREEN_POSITION",
            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
            "TARGETING_TYPE_ENVIRONMENT",
            "TARGETING_TYPE_CARRIER_AND_ISP",
            "TARGETING_TYPE_OPERATING_SYSTEM",
            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
            "TARGETING_TYPE_KEYWORD",
            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
            "TARGETING_TYPE_VIEWABILITY",
            "TARGETING_TYPE_CATEGORY",
            "TARGETING_TYPE_INVENTORY_SOURCE",
            "TARGETING_TYPE_LANGUAGE",
            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
            "TARGETING_TYPE_GEO_REGION",
            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
            "TARGETING_TYPE_EXCHANGE",
            "TARGETING_TYPE_SUB_EXCHANGE",
            "TARGETING_TYPE_POI",
            "TARGETING_TYPE_BUSINESS_CHAIN",
            "TARGETING_TYPE_CONTENT_DURATION",
            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
            "TARGETING_TYPE_OMID",
            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
            "TARGETING_TYPE_CONTENT_GENRE",
            "TARGETING_TYPE_YOUTUBE_VIDEO",
            "TARGETING_TYPE_YOUTUBE_CHANNEL",
            "TARGETING_TYPE_SESSION_POSITION"
          ]
        },
        "deviceMakeModelDetails": {
          "description": "Device make and model resource details.",
          "$ref": "DeviceMakeModelTargetingOptionDetails"
        },
        "environmentDetails": {
          "description": "Environment details.",
          "$ref": "EnvironmentTargetingOptionDetails"
        },
        "targetingOptionId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. A unique identifier for this targeting option. The tuple {`targeting_type`, `targeting_option_id`} will be unique."
        },
        "operatingSystemDetails": {
          "description": "Operating system resources details.",
          "$ref": "OperatingSystemTargetingOptionDetails"
        },
        "nativeContentPositionDetails": {
          "description": "Native content position details.",
          "$ref": "NativeContentPositionTargetingOptionDetails"
        },
        "viewabilityDetails": {
          "description": "Viewability resource details.",
          "$ref": "ViewabilityTargetingOptionDetails"
        },
        "browserDetails": {
          "description": "Browser details.",
          "$ref": "BrowserTargetingOptionDetails"
        },
        "languageDetails": {
          "description": "Language resource details.",
          "$ref": "LanguageTargetingOptionDetails"
        }
      },
      "type": "object",
      "id": "TargetingOption"
    },
    "BrowserTargetingOptionDetails": {
      "description": "Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`.",
      "properties": {
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the browser.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "BrowserTargetingOptionDetails"
    },
    "GoogleBytestreamMedia": {
      "properties": {
        "resourceName": {
          "description": "Name of the media resource.",
          "type": "string"
        }
      },
      "description": "Media resource.",
      "id": "GoogleBytestreamMedia",
      "type": "object"
    },
    "AudioContentTypeTargetingOptionDetails": {
      "type": "object",
      "id": "AudioContentTypeTargetingOptionDetails",
      "description": "Represents a targetable audio content type. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.",
      "properties": {
        "audioContentType": {
          "enum": [
            "AUDIO_CONTENT_TYPE_UNSPECIFIED",
            "AUDIO_CONTENT_TYPE_UNKNOWN",
            "AUDIO_CONTENT_TYPE_MUSIC",
            "AUDIO_CONTENT_TYPE_BROADCAST",
            "AUDIO_CONTENT_TYPE_PODCAST"
          ],
          "description": "Output only. The audio content type.",
          "type": "string",
          "enumDescriptions": [
            "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.",
            "The audio content type is unknown.",
            "The audio content type is music.",
            "The audio content type is broadcast.",
            "The audio content type is podcast."
          ],
          "readOnly": true
        }
      }
    },
    "ListManualTriggersResponse": {
      "id": "ListManualTriggersResponse",
      "type": "object",
      "properties": {
        "manualTriggers": {
          "items": {
            "$ref": "ManualTrigger"
          },
          "description": "The list of manual triggers. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListManualTriggers` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "Adloox": {
      "type": "object",
      "id": "Adloox",
      "description": "Details of Scope3 (previously known as Adloox) brand safety settings.",
      "properties": {
        "excludedAdlooxCategories": {
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default value when a Scope3 category is not specified or is unknown in this version.",
              "Adult content (hard).",
              "Adult content (soft).",
              "Illegal content.",
              "Borderline content.",
              "Discriminatory content.",
              "Violent content & weapons.",
              "Low viewability domains.",
              "Fraud."
            ],
            "enum": [
              "ADLOOX_UNSPECIFIED",
              "ADULT_CONTENT_HARD",
              "ADULT_CONTENT_SOFT",
              "ILLEGAL_CONTENT",
              "BORDERLINE_CONTENT",
              "DISCRIMINATORY_CONTENT",
              "VIOLENT_CONTENT_WEAPONS",
              "LOW_VIEWABILITY_DOMAINS",
              "FRAUD"
            ]
          },
          "description": "Scope3 categories to exclude.",
          "type": "array"
        }
      }
    },
    "ThirdPartyOnlyConfig": {
      "description": "Settings for advertisers that use third-party ad servers only.",
      "properties": {
        "pixelOrderIdReportingEnabled": {
          "description": "Whether or not order ID reporting for pixels is enabled. This value cannot be changed once set to `true`.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "ThirdPartyOnlyConfig"
    },
    "ObaIcon": {
      "description": "OBA Icon for a Creative",
      "properties": {
        "resourceUrl": {
          "description": "Optional. The URL of the OBA icon resource.",
          "type": "string"
        },
        "program": {
          "description": "Optional. The program of the OBA icon. For example: “AdChoices”.",
          "type": "string"
        },
        "clickTrackingUrl": {
          "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`",
          "type": "string"
        },
        "position": {
          "type": "string",
          "enumDescriptions": [
            "The OBA icon position is not specified.",
            "At the upper right side of the creative.",
            "At the upper left side of the creative.",
            "At the lower right side of the creative.",
            "At the lower left side of the creative."
          ],
          "enum": [
            "OBA_ICON_POSITION_UNSPECIFIED",
            "OBA_ICON_POSITION_UPPER_RIGHT",
            "OBA_ICON_POSITION_UPPER_LEFT",
            "OBA_ICON_POSITION_LOWER_RIGHT",
            "OBA_ICON_POSITION_LOWER_LEFT"
          ],
          "description": "Optional. The position of the OBA icon on the creative."
        },
        "landingPageUrl": {
          "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`",
          "type": "string"
        },
        "viewTrackingUrl": {
          "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * `https://info.evidon.com` * `https://l.betrad.com`",
          "type": "string"
        },
        "resourceMimeType": {
          "description": "Optional. The MIME type of the OBA icon resource.",
          "type": "string"
        },
        "dimensions": {
          "description": "Optional. The dimensions of the OBA icon.",
          "$ref": "Dimensions"
        }
      },
      "type": "object",
      "id": "ObaIcon"
    },
    "MastheadAd": {
      "id": "MastheadAd",
      "type": "object",
      "properties": {
        "headline": {
          "description": "The headline of the ad.",
          "type": "string"
        },
        "videoAspectRatio": {
          "description": "The aspect ratio of the autoplaying YouTube video on the Masthead.",
          "enum": [
            "VIDEO_ASPECT_RATIO_UNSPECIFIED",
            "VIDEO_ASPECT_RATIO_WIDESCREEN",
            "VIDEO_ASPECT_RATIO_FIXED_16_9"
          ],
          "type": "string",
          "enumDescriptions": [
            "Not specified or unknown.",
            "The video is stretched and the top and bottom are cropped.",
            "The video uses a fixed 16:9 aspect ratio."
          ]
        },
        "autoplayVideoDuration": {
          "description": "The duration of time the video will autoplay.",
          "type": "string",
          "format": "google-duration"
        },
        "showChannelArt": {
          "description": "Whether to show a background or banner that appears at the top of a YouTube page.",
          "type": "boolean"
        },
        "callToActionTrackingUrl": {
          "description": "The tracking URL for the call-to-action button.",
          "type": "string"
        },
        "callToActionFinalUrl": {
          "description": "The destination URL for the call-to-action button.",
          "type": "string"
        },
        "description": {
          "description": "The description of the ad.",
          "type": "string"
        },
        "callToActionButtonLabel": {
          "description": "The text on the call-to-action button.",
          "type": "string"
        },
        "companionYoutubeVideos": {
          "description": "The videos that appear next to the Masthead Ad on desktop. Can be no more than two.",
          "items": {
            "$ref": "YoutubeVideoDetails"
          },
          "type": "array"
        },
        "video": {
          "description": "The YouTube video used by the ad.",
          "$ref": "YoutubeVideoDetails"
        },
        "autoplayVideoStartMillisecond": {
          "type": "string",
          "format": "int64",
          "description": "The amount of time in milliseconds after which the video will start to play."
        }
      },
      "description": "Details for a Masthead Ad."
    },
    "GeoRegionAssignedTargetingOptionDetails": {
      "description": "Details for assigned geographic region targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`.",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GEO_REGION`.",
          "type": "string"
        },
        "geoRegionType": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The geographic region type is unknown.",
            "The geographic region type is other.",
            "The geographic region is a country.",
            "The geographic region type is region.",
            "The geographic region is a territory.",
            "The geographic region is a province.",
            "The geographic region is a state.",
            "The geographic region is a prefecture.",
            "The geographic region is a governorate.",
            "The geographic region is a canton.",
            "The geographic region is a union territory.",
            "The geographic region is an autonomous community.",
            "The geographic region is a designated market area (DMA) region.",
            "The geographic region type is metro.",
            "The geographic region is a congressional district.",
            "The geographic region is a county.",
            "The geographic region is a municipality.",
            "The geographic region is a city.",
            "The geographic region targeting type is postal code.",
            "The geographic region targeting type is department.",
            "The geographic region is an airport.",
            "The geographic region is a TV region.",
            "The geographic region is an okrug.",
            "The geographic region is a borough.",
            "The geographic region is a city region.",
            "The geographic region is an arrondissement.",
            "The geographic region is a neighborhood.",
            "The geographic region is a university.",
            "The geographic region is a district.",
            "The geographic region is a national park.",
            "The geographic region is a barrio.",
            "The geographic region is a sub ward.",
            "The geographic region is a municipality district.",
            "The geographic region is a sub district.",
            "The geographic region is a quarter.",
            "The geographic region is a division.",
            "The geographic region is a commune.",
            "The geographic region is a colloquial area.",
            "The geographic region is a post town."
          ],
          "enum": [
            "GEO_REGION_TYPE_UNKNOWN",
            "GEO_REGION_TYPE_OTHER",
            "GEO_REGION_TYPE_COUNTRY",
            "GEO_REGION_TYPE_REGION",
            "GEO_REGION_TYPE_TERRITORY",
            "GEO_REGION_TYPE_PROVINCE",
            "GEO_REGION_TYPE_STATE",
            "GEO_REGION_TYPE_PREFECTURE",
            "GEO_REGION_TYPE_GOVERNORATE",
            "GEO_REGION_TYPE_CANTON",
            "GEO_REGION_TYPE_UNION_TERRITORY",
            "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY",
            "GEO_REGION_TYPE_DMA_REGION",
            "GEO_REGION_TYPE_METRO",
            "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT",
            "GEO_REGION_TYPE_COUNTY",
            "GEO_REGION_TYPE_MUNICIPALITY",
            "GEO_REGION_TYPE_CITY",
            "GEO_REGION_TYPE_POSTAL_CODE",
            "GEO_REGION_TYPE_DEPARTMENT",
            "GEO_REGION_TYPE_AIRPORT",
            "GEO_REGION_TYPE_TV_REGION",
            "GEO_REGION_TYPE_OKRUG",
            "GEO_REGION_TYPE_BOROUGH",
            "GEO_REGION_TYPE_CITY_REGION",
            "GEO_REGION_TYPE_ARRONDISSEMENT",
            "GEO_REGION_TYPE_NEIGHBORHOOD",
            "GEO_REGION_TYPE_UNIVERSITY",
            "GEO_REGION_TYPE_DISTRICT",
            "GEO_REGION_TYPE_NATIONAL_PARK",
            "GEO_REGION_TYPE_BARRIO",
            "GEO_REGION_TYPE_SUB_WARD",
            "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT",
            "GEO_REGION_TYPE_SUB_DISTRICT",
            "GEO_REGION_TYPE_QUARTER",
            "GEO_REGION_TYPE_DIVISION",
            "GEO_REGION_TYPE_COMMUNE",
            "GEO_REGION_TYPE_COLLOQUIAL_AREA",
            "GEO_REGION_TYPE_POST_TOWN"
          ],
          "description": "Output only. The type of geographic region targeting."
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GeoRegionAssignedTargetingOptionDetails"
    },
    "ExchangeReviewStatus": {
      "type": "object",
      "id": "ExchangeReviewStatus",
      "description": "Exchange review status for the creative.",
      "properties": {
        "exchange": {
          "description": "The exchange reviewing the creative.",
          "enum": [
            "EXCHANGE_UNSPECIFIED",
            "EXCHANGE_GOOGLE_AD_MANAGER",
            "EXCHANGE_APPNEXUS",
            "EXCHANGE_BRIGHTROLL",
            "EXCHANGE_ADFORM",
            "EXCHANGE_ADMETA",
            "EXCHANGE_ADMIXER",
            "EXCHANGE_ADSMOGO",
            "EXCHANGE_ADSWIZZ",
            "EXCHANGE_BIDSWITCH",
            "EXCHANGE_BRIGHTROLL_DISPLAY",
            "EXCHANGE_CADREON",
            "EXCHANGE_DAILYMOTION",
            "EXCHANGE_FIVE",
            "EXCHANGE_FLUCT",
            "EXCHANGE_FREEWHEEL",
            "EXCHANGE_GENIEE",
            "EXCHANGE_GUMGUM",
            "EXCHANGE_IMOBILE",
            "EXCHANGE_IBILLBOARD",
            "EXCHANGE_IMPROVE_DIGITAL",
            "EXCHANGE_INDEX",
            "EXCHANGE_KARGO",
            "EXCHANGE_MICROAD",
            "EXCHANGE_MOPUB",
            "EXCHANGE_NEND",
            "EXCHANGE_ONE_BY_AOL_DISPLAY",
            "EXCHANGE_ONE_BY_AOL_MOBILE",
            "EXCHANGE_ONE_BY_AOL_VIDEO",
            "EXCHANGE_OOYALA",
            "EXCHANGE_OPENX",
            "EXCHANGE_PERMODO",
            "EXCHANGE_PLATFORMONE",
            "EXCHANGE_PLATFORMID",
            "EXCHANGE_PUBMATIC",
            "EXCHANGE_PULSEPOINT",
            "EXCHANGE_REVENUEMAX",
            "EXCHANGE_RUBICON",
            "EXCHANGE_SMARTCLIP",
            "EXCHANGE_SMARTRTB",
            "EXCHANGE_SMARTSTREAMTV",
            "EXCHANGE_SOVRN",
            "EXCHANGE_SPOTXCHANGE",
            "EXCHANGE_STROER",
            "EXCHANGE_TEADSTV",
            "EXCHANGE_TELARIA",
            "EXCHANGE_TVN",
            "EXCHANGE_UNITED",
            "EXCHANGE_YIELDLAB",
            "EXCHANGE_YIELDMO",
            "EXCHANGE_UNRULYX",
            "EXCHANGE_OPEN8",
            "EXCHANGE_TRITON",
            "EXCHANGE_TRIPLELIFT",
            "EXCHANGE_TABOOLA",
            "EXCHANGE_INMOBI",
            "EXCHANGE_SMAATO",
            "EXCHANGE_AJA",
            "EXCHANGE_SUPERSHIP",
            "EXCHANGE_NEXSTAR_DIGITAL",
            "EXCHANGE_WAZE",
            "EXCHANGE_SOUNDCAST",
            "EXCHANGE_SHARETHROUGH",
            "EXCHANGE_FYBER",
            "EXCHANGE_RED_FOR_PUBLISHERS",
            "EXCHANGE_MEDIANET",
            "EXCHANGE_TAPJOY",
            "EXCHANGE_VISTAR",
            "EXCHANGE_DAX",
            "EXCHANGE_JCD",
            "EXCHANGE_PLACE_EXCHANGE",
            "EXCHANGE_APPLOVIN",
            "EXCHANGE_CONNATIX",
            "EXCHANGE_RESET_DIGITAL",
            "EXCHANGE_HIVESTACK",
            "EXCHANGE_DRAX",
            "EXCHANGE_APPLOVIN_GBID",
            "EXCHANGE_FYBER_GBID",
            "EXCHANGE_UNITY_GBID",
            "EXCHANGE_CHARTBOOST_GBID",
            "EXCHANGE_ADMOST_GBID",
            "EXCHANGE_TOPON_GBID",
            "EXCHANGE_NETFLIX",
            "EXCHANGE_CORE",
            "EXCHANGE_COMMERCE_GRID",
            "EXCHANGE_SPOTIFY",
            "EXCHANGE_TUBI",
            "EXCHANGE_SNAP",
            "EXCHANGE_CADENT"
          ],
          "type": "string",
          "enumDescriptions": [
            "Exchange is not specified or is unknown in this version.",
            "Google Ad Manager.",
            "AppNexus.",
            "BrightRoll Exchange for Video from Yahoo!.",
            "Adform.",
            "Admeta.",
            "Admixer.",
            "AdsMogo.",
            "AdsWizz.",
            "BidSwitch.",
            "BrightRoll Exchange for Display from Yahoo!.",
            "Cadreon.",
            "Dailymotion.",
            "Five.",
            "Fluct.",
            "FreeWheel SSP.",
            "Geniee.",
            "GumGum.",
            "i-mobile.",
            "iBILLBOARD.",
            "Improve Digital.",
            "Index Exchange.",
            "Kargo.",
            "MicroAd.",
            "MoPub.",
            "Nend.",
            "ONE by AOL: Display Market Place.",
            "ONE by AOL: Mobile.",
            "ONE by AOL: Video.",
            "Ooyala.",
            "OpenX.",
            "Permodo.",
            "Platform One.",
            "PlatformId.",
            "PubMatic.",
            "PulsePoint.",
            "RevenueMax.",
            "Rubicon.",
            "SmartClip.",
            "SmartRTB+.",
            "SmartstreamTv.",
            "Sovrn.",
            "SpotXchange.",
            "Ströer SSP.",
            "TeadsTv.",
            "Telaria.",
            "TVN.",
            "United.",
            "Yieldlab.",
            "Yieldmo.",
            "UnrulyX.",
            "Open8.",
            "Triton.",
            "TripleLift.",
            "Taboola.",
            "InMobi.",
            "Smaato.",
            "Aja.",
            "Supership.",
            "Nexstar Digital.",
            "Waze.",
            "SoundCast.",
            "Sharethrough.",
            "Fyber.",
            "Red For Publishers.",
            "Media.net.",
            "Tapjoy.",
            "Vistar.",
            "DAX.",
            "JCD.",
            "Place Exchange.",
            "AppLovin.",
            "Connatix.",
            "Reset Digital.",
            "Hivestack.",
            "Drax.",
            "AppLovin MAX.",
            "DT Fairbid.",
            "Unity LevelPlay.",
            "Chartboost Mediation.",
            "AdMost.",
            "TopOn.",
            "Netflix.",
            "Core.",
            "Commerce Grid.",
            "Spotify.",
            "Tubi.",
            "Snap.",
            "Cadent."
          ]
        },
        "status": {
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "REVIEW_STATUS_APPROVED",
            "REVIEW_STATUS_REJECTED",
            "REVIEW_STATUS_PENDING"
          ],
          "description": "Status of the exchange review.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The creative is approved.",
            "The creative is rejected.",
            "The creative is pending review."
          ]
        }
      }
    },
    "ParentEntityFilter": {
      "id": "ParentEntityFilter",
      "type": "object",
      "properties": {
        "fileType": {
          "type": "array",
          "description": "Required. File types that will be returned.",
          "items": {
            "enum": [
              "FILE_TYPE_UNSPECIFIED",
              "FILE_TYPE_CAMPAIGN",
              "FILE_TYPE_MEDIA_PRODUCT",
              "FILE_TYPE_INSERTION_ORDER",
              "FILE_TYPE_LINE_ITEM",
              "FILE_TYPE_AD_GROUP",
              "FILE_TYPE_AD"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default value when type is unspecified or is unknown in this version.",
              "Campaign.",
              "Media Product.",
              "Insertion Order.",
              "Line Item.",
              "YouTube Ad Group.",
              "YouTube Ad."
            ]
          }
        },
        "filterType": {
          "type": "string",
          "enumDescriptions": [
            "Default value when type is unspecified or is unknown in this version.",
            "If selected, no filter will be applied to the download. Can only be used if an Advertiser is specified in CreateSdfDownloadTaskRequest.",
            "Advertiser ID. If selected, all filter IDs must be Advertiser IDs that belong to the Partner specified in CreateSdfDownloadTaskRequest.",
            "Campaign ID. If selected, all filter IDs must be Campaign IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest.",
            "Media Product ID. If selected, all filter IDs must be Media Product IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_MEDIA_PRODUCT`.",
            "Insertion Order ID. If selected, all filter IDs must be Insertion Order IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`, `FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`.",
            "Line Item ID. If selected, all filter IDs must be Line Item IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_LINE_ITEM_QA`,`FILE_TYPE_AD_GROUP`, `FILE_TYPE_AD_GROUP_QA`, and `FILE_TYPE_AD`."
          ],
          "enum": [
            "FILTER_TYPE_UNSPECIFIED",
            "FILTER_TYPE_NONE",
            "FILTER_TYPE_ADVERTISER_ID",
            "FILTER_TYPE_CAMPAIGN_ID",
            "FILTER_TYPE_MEDIA_PRODUCT_ID",
            "FILTER_TYPE_INSERTION_ORDER_ID",
            "FILTER_TYPE_LINE_ITEM_ID"
          ],
          "description": "Required. Filter type used to filter fetched entities."
        },
        "filterIds": {
          "type": "array",
          "description": "The IDs of the specified filter type. This is used to filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID must be specified.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        }
      },
      "description": "A filtering option that filters on selected file types belonging to a chosen set of filter entities."
    },
    "DoubleVerify": {
      "id": "DoubleVerify",
      "type": "object",
      "properties": {
        "appStarRating": {
          "description": "Avoid bidding on apps with the star ratings.",
          "$ref": "DoubleVerifyAppStarRating"
        },
        "brandSafetyCategories": {
          "description": "DV Brand Safety Controls.",
          "$ref": "DoubleVerifyBrandSafetyCategories"
        },
        "avoidedAgeRatings": {
          "description": "Avoid bidding on apps with the age rating.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "This enum is only a placeholder and it doesn't specify any age rating options.",
              "Apps with unknown age rating.",
              "Apps rated for Everyone (4+).",
              "Apps rated for Everyone (9+).",
              "Apps rated for Teens (12+).",
              "Apps rated for Mature (17+).",
              "Apps rated for Adults Only (18+)."
            ],
            "enum": [
              "AGE_RATING_UNSPECIFIED",
              "APP_AGE_RATE_UNKNOWN",
              "APP_AGE_RATE_4_PLUS",
              "APP_AGE_RATE_9_PLUS",
              "APP_AGE_RATE_12_PLUS",
              "APP_AGE_RATE_17_PLUS",
              "APP_AGE_RATE_18_PLUS"
            ]
          },
          "type": "array"
        },
        "customSegmentId": {
          "description": "The custom segment ID provided by DoubleVerify. The ID must start with \"51\" and consist of eight digits. Custom segment ID cannot be specified along with any of the following fields: * brand_safety_categories * avoided_age_ratings * app_star_rating * fraud_invalid_traffic",
          "type": "string",
          "format": "int64"
        },
        "videoViewability": {
          "description": "Video viewability settings (applicable to video line items only).",
          "$ref": "DoubleVerifyVideoViewability"
        },
        "fraudInvalidTraffic": {
          "description": "Avoid Sites and Apps with historical Fraud & IVT Rates.",
          "$ref": "DoubleVerifyFraudInvalidTraffic"
        },
        "displayViewability": {
          "description": "Display viewability settings (applicable to display line items only).",
          "$ref": "DoubleVerifyDisplayViewability"
        }
      },
      "description": "Details of DoubleVerify settings."
    },
    "AdvertiserTargetingConfig": {
      "properties": {
        "exemptTvFromViewabilityTargeting": {
          "description": "Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.",
          "type": "boolean"
        }
      },
      "description": "Targeting settings related to ad serving of an advertiser.",
      "id": "AdvertiserTargetingConfig",
      "type": "object"
    },
    "InventorySourceGroup": {
      "description": "A collection of targetable inventory sources.",
      "properties": {
        "inventorySourceGroupId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the inventory source group. Assigned by the system.",
          "type": "string",
          "format": "int64"
        },
        "displayName": {
          "description": "Required. The display name of the inventory source group. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the inventory source group."
        }
      },
      "type": "object",
      "id": "InventorySourceGroup"
    },
    "ListCustomBiddingAlgorithmsResponse": {
      "properties": {
        "customBiddingAlgorithms": {
          "description": "The list of custom bidding algorithms. This list will be absent if empty.",
          "items": {
            "$ref": "CustomBiddingAlgorithm"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListCustomBiddingAlgorithmsResponse"
    },
    "ReviewStatusInfo": {
      "id": "ReviewStatusInfo",
      "type": "object",
      "properties": {
        "approvalStatus": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The creative is still under review and not servable.",
            "The creative has passed creative & landing page review and is servable, but is awaiting additional content & policy review.",
            "Both creative & landing page review and content & policy review are approved. The creative is servable.",
            "There is an issue with the creative that must be fixed before it can serve."
          ],
          "enum": [
            "APPROVAL_STATUS_UNSPECIFIED",
            "APPROVAL_STATUS_PENDING_NOT_SERVABLE",
            "APPROVAL_STATUS_PENDING_SERVABLE",
            "APPROVAL_STATUS_APPROVED_SERVABLE",
            "APPROVAL_STATUS_REJECTED_NOT_SERVABLE"
          ],
          "description": "Represents the basic approval needed for a creative to begin serving. Summary of creative_and_landing_page_review_status and content_and_policy_review_status."
        },
        "contentAndPolicyReviewStatus": {
          "description": "Content and policy review status for the creative.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "REVIEW_STATUS_APPROVED",
            "REVIEW_STATUS_REJECTED",
            "REVIEW_STATUS_PENDING"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The creative is approved.",
            "The creative is rejected.",
            "The creative is pending review."
          ]
        },
        "exchangeReviewStatuses": {
          "items": {
            "$ref": "ExchangeReviewStatus"
          },
          "description": "Exchange review statuses for the creative.",
          "type": "array"
        },
        "creativeAndLandingPageReviewStatus": {
          "description": "Creative and landing page review status for the creative.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "REVIEW_STATUS_APPROVED",
            "REVIEW_STATUS_REJECTED",
            "REVIEW_STATUS_PENDING"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The creative is approved.",
            "The creative is rejected.",
            "The creative is pending review."
          ]
        },
        "publisherReviewStatuses": {
          "items": {
            "$ref": "PublisherReviewStatus"
          },
          "description": "Publisher review statuses for the creative.",
          "deprecated": true,
          "type": "array"
        }
      },
      "description": "Review statuses for the creative."
    },
    "CmHybridConfig": {
      "description": "Settings for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers.",
      "properties": {
        "cmAccountId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Immutable. Account ID of the CM360 Floodlight configuration linked with the DV360 advertiser."
        },
        "dv360ToCmCostReportingEnabled": {
          "description": "Whether or not to report DV360 cost to CM360.",
          "type": "boolean"
        },
        "dv360ToCmDataSharingEnabled": {
          "description": "Whether or not to include DV360 data in CM360 data transfer reports.",
          "type": "boolean"
        },
        "cmAdvertiserIds": {
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Output only. The set of CM360 Advertiser IDs sharing the CM360 Floodlight configuration.",
          "type": "array"
        },
        "cmFloodlightLinkingAuthorized": {
          "description": "Required. Immutable. By setting this field to `true`, you, on behalf of your company, authorize the sharing of information from the given Floodlight configuration to this Display & Video 360 advertiser.",
          "type": "boolean"
        },
        "cmFloodlightConfigId": {
          "description": "Required. Immutable. ID of the CM360 Floodlight configuration linked with the DV360 advertiser.",
          "type": "string",
          "format": "int64"
        },
        "cmSyncableSiteIds": {
          "description": "A list of CM360 sites whose placements will be synced to DV360 as creatives. If absent or empty in CreateAdvertiser method, the system will automatically create a CM360 site. Removing sites from this list may cause DV360 creatives synced from CM360 to be deleted. At least one site must be specified.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "CmHybridConfig"
    },
    "CounterEvent": {
      "id": "CounterEvent",
      "type": "object",
      "properties": {
        "name": {
          "description": "Required. The name of the counter event.",
          "type": "string"
        },
        "reportingName": {
          "description": "Required. The name used to identify this counter event in reports.",
          "type": "string"
        }
      },
      "description": "Counter event of the creative."
    },
    "RemarketingConfig": {
      "id": "RemarketingConfig",
      "type": "object",
      "properties": {
        "advertiserId": {
          "description": "Output only. The ID of the advertiser.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "remarketingEnabled": {
          "description": "Output only. Whether the Floodlight activity remarketing user list is available to the identified advertiser.",
          "readOnly": true,
          "type": "boolean"
        }
      },
      "description": "Settings that control the whether remarketing is enabled for the given identified advertiser."
    },
    "EditGuaranteedOrderReadAccessorsResponse": {
      "id": "EditGuaranteedOrderReadAccessorsResponse",
      "type": "object",
      "properties": {
        "readAdvertiserIds": {
          "description": "The IDs of advertisers with read access to the guaranteed order.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "readAccessInherited": {
          "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order.",
          "type": "boolean"
        }
      }
    },
    "ContentInstreamPositionTargetingOptionDetails": {
      "type": "object",
      "id": "ContentInstreamPositionTargetingOptionDetails",
      "description": "Represents a targetable content instream position, which could be used by video and audio ads. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.",
      "properties": {
        "contentInstreamPosition": {
          "type": "string",
          "enumDescriptions": [
            "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.",
            "Ads that play before streaming content.",
            "Ads that play between the beginning and end of streaming content.",
            "Ads that play at the end of streaming content.",
            "Ads instream position is unknown."
          ],
          "description": "Output only. The content instream position.",
          "enum": [
            "CONTENT_INSTREAM_POSITION_UNSPECIFIED",
            "CONTENT_INSTREAM_POSITION_PRE_ROLL",
            "CONTENT_INSTREAM_POSITION_MID_ROLL",
            "CONTENT_INSTREAM_POSITION_POST_ROLL",
            "CONTENT_INSTREAM_POSITION_UNKNOWN"
          ],
          "readOnly": true
        }
      }
    },
    "Transcode": {
      "type": "object",
      "id": "Transcode",
      "description": "Represents information about the transcoded audio or video file.",
      "properties": {
        "dimensions": {
          "description": "Optional. The dimensions of the transcoded video.",
          "$ref": "Dimensions"
        },
        "mimeType": {
          "description": "Optional. The MIME type of the transcoded file.",
          "type": "string"
        },
        "transcoded": {
          "description": "Optional. Indicates if the transcoding was successful.",
          "type": "boolean"
        },
        "audioSampleRateHz": {
          "description": "Optional. The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.",
          "type": "string",
          "format": "int64"
        },
        "fileSizeBytes": {
          "description": "Optional. The size of the transcoded file, in bytes.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "Optional. The name of the transcoded file.",
          "type": "string"
        },
        "audioBitRateKbps": {
          "description": "Optional. The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.",
          "type": "string",
          "format": "int64"
        },
        "bitRateKbps": {
          "description": "Optional. The transcoding bit rate of the transcoded video, in kilobits per second.",
          "type": "string",
          "format": "int64"
        },
        "frameRate": {
          "type": "number",
          "format": "float",
          "description": "Optional. The frame rate of the transcoded video, in frames per second."
        }
      }
    },
    "DeleteAssignedTargetingOptionsRequest": {
      "type": "object",
      "id": "DeleteAssignedTargetingOptionsRequest",
      "description": "A request listing which assigned targeting options of a given targeting type should be deleted.",
      "properties": {
        "targetingType": {
          "description": "Required. Identifies the type of this assigned targeting option.",
          "enum": [
            "TARGETING_TYPE_UNSPECIFIED",
            "TARGETING_TYPE_CHANNEL",
            "TARGETING_TYPE_APP_CATEGORY",
            "TARGETING_TYPE_APP",
            "TARGETING_TYPE_URL",
            "TARGETING_TYPE_DAY_AND_TIME",
            "TARGETING_TYPE_AGE_RANGE",
            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
            "TARGETING_TYPE_GENDER",
            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
            "TARGETING_TYPE_USER_REWARDED_CONTENT",
            "TARGETING_TYPE_PARENTAL_STATUS",
            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
            "TARGETING_TYPE_DEVICE_TYPE",
            "TARGETING_TYPE_AUDIENCE_GROUP",
            "TARGETING_TYPE_BROWSER",
            "TARGETING_TYPE_HOUSEHOLD_INCOME",
            "TARGETING_TYPE_ON_SCREEN_POSITION",
            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
            "TARGETING_TYPE_ENVIRONMENT",
            "TARGETING_TYPE_CARRIER_AND_ISP",
            "TARGETING_TYPE_OPERATING_SYSTEM",
            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
            "TARGETING_TYPE_KEYWORD",
            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
            "TARGETING_TYPE_VIEWABILITY",
            "TARGETING_TYPE_CATEGORY",
            "TARGETING_TYPE_INVENTORY_SOURCE",
            "TARGETING_TYPE_LANGUAGE",
            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
            "TARGETING_TYPE_GEO_REGION",
            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
            "TARGETING_TYPE_EXCHANGE",
            "TARGETING_TYPE_SUB_EXCHANGE",
            "TARGETING_TYPE_POI",
            "TARGETING_TYPE_BUSINESS_CHAIN",
            "TARGETING_TYPE_CONTENT_DURATION",
            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
            "TARGETING_TYPE_OMID",
            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
            "TARGETING_TYPE_CONTENT_GENRE",
            "TARGETING_TYPE_YOUTUBE_VIDEO",
            "TARGETING_TYPE_YOUTUBE_CHANNEL",
            "TARGETING_TYPE_SESSION_POSITION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown in this version.",
            "Target a channel (a custom group of related websites or apps).",
            "Target an app category (for example, education or puzzle games).",
            "Target a specific app (for example, Angry Birds).",
            "Target a specific url (for example, quora.com).",
            "Target ads during a chosen time period on a specific day.",
            "Target ads to a specific age range (for example, 18-24).",
            "Target ads to the specified regions on a regional location list.",
            "Target ads to the specified points of interest on a proximity location list.",
            "Target ads to a specific gender (for example, female or male).",
            "Target a specific video player size for video ads.",
            "Target user rewarded content for video ads.",
            "Target ads to a specific parental status (for example, parent or not a parent).",
            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
            "Target ads in a specific content outstream position.",
            "Target ads to a specific device type (for example, tablet or connected TV).",
            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
            "Target ads to specific web browsers (for example, Chrome).",
            "Target ads to a specific household income range (for example, top 10%).",
            "Target ads in a specific on screen position.",
            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
            "Filter website content by sensitive categories (for example, adult).",
            "Target ads to a specific environment (for example, web or app).",
            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
            "Target ads to a specific operating system (for example, macOS).",
            "Target ads to a specific device make or model (for example, Roku or Samsung).",
            "Target ads to a specific keyword (for example, dog or retriever).",
            "Target ads to a specific negative keyword list.",
            "Target ads to a specific viewability (for example, 80% viewable).",
            "Target ads to a specific content category (for example, arts & entertainment).",
            "Purchase impressions from specific deals and auction packages.",
            "Target ads to a specific language (for example, English or Japanese).",
            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
            "Target ads to a specific regional location (for example, a city or state).",
            "Purchase impressions from a group of deals and auction packages.",
            "Purchase impressions from specific exchanges.",
            "Purchase impressions from specific sub-exchanges.",
            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
            "Target ads around locations of a business chain within a specific geo region.",
            "Target ads to a specific video content duration.",
            "Target ads to a specific video content stream type.",
            "Target ads to a specific native content position.",
            "Target ads in an Open Measurement enabled inventory.",
            "Target ads to a specific audio content type.",
            "Target ads to a specific content genre.",
            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
          ]
        },
        "assignedTargetingOptionIds": {
          "items": {
            "type": "string"
          },
          "description": "Required. The assigned targeting option IDs to delete.",
          "type": "array"
        }
      }
    },
    "CustomBiddingAlgorithm": {
      "id": "CustomBiddingAlgorithm",
      "type": "object",
      "properties": {
        "entityStatus": {
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`",
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ]
        },
        "partnerId": {
          "type": "string",
          "format": "int64",
          "description": "Immutable. The unique ID of the partner that owns the custom bidding algorithm."
        },
        "customBiddingAlgorithmType": {
          "type": "string",
          "enumDescriptions": [
            "Algorithm type is not specified or is unknown in this version.",
            "Algorithm generated through customer-uploaded custom bidding script files."
          ],
          "description": "Required. Immutable. The type of custom bidding algorithm.",
          "enum": [
            "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED",
            "SCRIPT_BASED"
          ]
        },
        "sharedAdvertiserIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor)."
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Immutable. The unique ID of the advertiser that owns the custom bidding algorithm."
        },
        "customBiddingAlgorithmId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.",
          "type": "string",
          "format": "int64"
        },
        "modelDetails": {
          "description": "Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).",
          "readOnly": true,
          "items": {
            "$ref": "CustomBiddingModelDetails"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the custom bidding algorithm.",
          "readOnly": true
        },
        "displayName": {
          "description": "Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        }
      },
      "description": "A single custom bidding algorithm."
    },
    "LineItemBudget": {
      "type": "object",
      "id": "LineItemBudget",
      "description": "Settings that control how budget is allocated.",
      "properties": {
        "budgetUnit": {
          "enum": [
            "BUDGET_UNIT_UNSPECIFIED",
            "BUDGET_UNIT_CURRENCY",
            "BUDGET_UNIT_IMPRESSIONS"
          ],
          "description": "Output only. The budget unit specifies whether the budget is currency based or impression based. This value is inherited from the parent insertion order.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Budgeting in currency amounts.",
            "Budgeting in impression amounts."
          ],
          "readOnly": true
        },
        "maxAmount": {
          "type": "string",
          "format": "int64",
          "description": "The maximum budget amount the line item will spend. Must be greater than 0. When budget_allocation_type is: * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum budget amount to spend, in micros of the advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not applicable and will be ignored by the system."
        },
        "budgetAllocationType": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Automatic budget allocation is enabled for the line item.",
            "A fixed max budget amount is allocated for the line item.",
            "No budget limit is applied to the line item."
          ],
          "description": "Required. The type of the budget allocation. `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when automatic budget allocation is enabled for the parent insertion order. This field must be set to `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED` for Demand Gen line items.",
          "enum": [
            "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED",
            "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC",
            "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED",
            "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED"
          ]
        }
      }
    },
    "AssignedUserRole": {
      "id": "AssignedUserRole",
      "type": "object",
      "properties": {
        "assignedUserRoleId": {
          "type": "string",
          "description": "Output only. The ID of the assigned user role.",
          "readOnly": true
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the advertiser that the assigend user role applies to."
        },
        "userRole": {
          "enum": [
            "USER_ROLE_UNSPECIFIED",
            "ADMIN",
            "ADMIN_PARTNER_CLIENT",
            "STANDARD",
            "STANDARD_PLANNER",
            "STANDARD_PLANNER_LIMITED",
            "STANDARD_PARTNER_CLIENT",
            "READ_ONLY",
            "REPORTING_ONLY",
            "LIMITED_REPORTING_ONLY",
            "CREATIVE",
            "CREATIVE_ADMIN"
          ],
          "description": "Required. The user role to assign to a user for the entity.",
          "type": "string",
          "enumDescriptions": [
            "Default value when the user role is not specified or is unknown in this version.",
            "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can view and edit billing information, create or modify users, and enable or disable exchanges. This role can only be assigned for a partner entity.",
            "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can create and modify other `ADMIN_PARTNER_CLIENT` users and view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for a partner entity.",
            "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create and modify users or view billing information.",
            "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity, including all cost data. They can create and modify planning-related features, including plans and inventory.",
            "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity. They can create or modify planning-related features, including plans and inventory. They have no access to cost data and cannot start, accept, or negotiate deals.",
            "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create or modify other users or view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for an advertiser entity.",
            "The user can only build reports and view data for the entity.",
            "The user can only create and manage reports.",
            "The user can only create and manage the following client-safe reports: General, Audience Performance, Cross-Partner, Keyword, Order ID, Category, and Third-Party Data Provider.",
            "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace.",
            "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace. In addition, they can add other creative admins or creative users to the entity."
          ]
        },
        "partnerId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the partner that the assigned user role applies to."
        }
      },
      "description": "A single assigned user role, which defines a user's authorized interaction with a specified partner or advertiser."
    },
    "ContentInstreamPositionAssignedTargetingOptionDetails": {
      "description": "Assigned content instream position targeting option details. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.",
      "properties": {
        "contentInstreamPosition": {
          "enum": [
            "CONTENT_INSTREAM_POSITION_UNSPECIFIED",
            "CONTENT_INSTREAM_POSITION_PRE_ROLL",
            "CONTENT_INSTREAM_POSITION_MID_ROLL",
            "CONTENT_INSTREAM_POSITION_POST_ROLL",
            "CONTENT_INSTREAM_POSITION_UNKNOWN"
          ],
          "description": "Required. The content instream position for video or audio ads.",
          "type": "string",
          "enumDescriptions": [
            "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.",
            "Ads that play before streaming content.",
            "Ads that play between the beginning and end of streaming content.",
            "Ads that play at the end of streaming content.",
            "Ads instream position is unknown."
          ]
        },
        "adType": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Ad type is not specified or is unknown in this version.",
            "Display creatives, e.g. image and HTML5.",
            "Video creatives, e.g. video ads that play during streaming content in video players.",
            "Audio creatives, e.g. audio ads that play during audio content."
          ],
          "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`.",
          "enum": [
            "AD_TYPE_UNSPECIFIED",
            "AD_TYPE_DISPLAY",
            "AD_TYPE_VIDEO",
            "AD_TYPE_AUDIO"
          ]
        }
      },
      "type": "object",
      "id": "ContentInstreamPositionAssignedTargetingOptionDetails"
    },
    "DoubleVerifyVideoViewability": {
      "properties": {
        "videoViewableRate": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any video viewable rate options.",
            "Target web inventory to maximize fully viewable rate 40% or higher.",
            "Target web inventory to maximize fully viewable rate 35% or higher.",
            "Target web inventory to maximize fully viewable rate 30% or higher.",
            "Target web inventory to maximize fully viewable rate 25% or higher.",
            "Target web inventory to maximize fully viewable rate 20% or higher.",
            "Target web inventory to maximize fully viewable rate 10% or higher."
          ],
          "description": "Target web inventory to maximize fully viewable rate.",
          "enum": [
            "VIDEO_VIEWABLE_RATE_UNSPECIFIED",
            "VIEWED_PERFORMANCE_40_PERCENT_HIGHER",
            "VIEWED_PERFORMANCE_35_PERCENT_HIGHER",
            "VIEWED_PERFORMANCE_30_PERCENT_HIGHER",
            "VIEWED_PERFORMANCE_25_PERCENT_HIGHER",
            "VIEWED_PERFORMANCE_20_PERCENT_HIGHER",
            "VIEWED_PERFORMANCE_10_PERCENT_HIGHER"
          ]
        },
        "playerImpressionRate": {
          "description": "Target inventory to maximize impressions with 400x300 or greater player size.",
          "enum": [
            "PLAYER_SIZE_400X300_UNSPECIFIED",
            "PLAYER_SIZE_400X300_95",
            "PLAYER_SIZE_400X300_70",
            "PLAYER_SIZE_400X300_25",
            "PLAYER_SIZE_400X300_5"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any impressions options.",
            "Sites with 95%+ of impressions.",
            "Sites with 70%+ of impressions.",
            "Sites with 25%+ of impressions.",
            "Sites with 5%+ of impressions."
          ]
        },
        "videoIab": {
          "enum": [
            "VIDEO_IAB_UNSPECIFIED",
            "IAB_VIEWABILITY_80_PERCENT_HIGHER",
            "IAB_VIEWABILITY_75_PERCENT_HIGHER",
            "IAB_VIEWABILITY_70_PERCENT_HIGHER",
            "IAB_VIEWABILITY_65_PERCENT_HIHGER",
            "IAB_VIEWABILITY_60_PERCENT_HIGHER",
            "IAB_VIEWABILITY_55_PERCENT_HIHGER",
            "IAB_VIEWABILITY_50_PERCENT_HIGHER",
            "IAB_VIEWABILITY_40_PERCENT_HIHGER",
            "IAB_VIEWABILITY_30_PERCENT_HIHGER"
          ],
          "description": "Target web inventory to maximize IAB viewable rate.",
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any video IAB viewable rate options.",
            "Target web and app inventory to maximize IAB viewable rate 80% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 75% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 70% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 65% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 60% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 55% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 50% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 40% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 30% or higher."
          ]
        }
      },
      "description": "Details of DoubleVerify video viewability settings.",
      "id": "DoubleVerifyVideoViewability",
      "type": "object"
    },
    "RegionalLocationListAssignedTargetingOptionDetails": {
      "description": "Targeting details for regional location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.",
      "properties": {
        "regionalLocationListId": {
          "type": "string",
          "format": "int64",
          "description": "Required. ID of the regional location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_REGIONAL`."
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "RegionalLocationListAssignedTargetingOptionDetails"
    },
    "YoutubeAndPartnersInventorySourceConfig": {
      "id": "YoutubeAndPartnersInventorySourceConfig",
      "type": "object",
      "properties": {
        "includeGoogleTv": {
          "description": "Optional. Whether to target inventory in video apps available with Google TV.",
          "type": "boolean"
        },
        "includeYoutubeVideoPartners": {
          "description": "Whether to target inventory on a collection of partner sites and apps that follow the same brand safety standards as YouTube.",
          "type": "boolean"
        },
        "includeYoutubeSearch": {
          "description": "Whether to target inventory on the YouTube search results page.",
          "type": "boolean"
        },
        "includeYoutubeVideos": {
          "description": "Whether to target inventory of channels and videos on YouTube and YouTube videos embedded on other sites.",
          "type": "boolean"
        }
      },
      "description": "Settings that control what YouTube related inventories the YouTube and Partners line item will target."
    },
    "IdFilter": {
      "type": "object",
      "id": "IdFilter",
      "description": "A filtering option that filters entities by their entity IDs.",
      "properties": {
        "campaignIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Campaigns to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest."
        },
        "mediaProductIds": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Media Products to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.",
          "type": "array"
        },
        "insertionOrderIds": {
          "type": "array",
          "description": "Insertion Orders to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "lineItemIds": {
          "type": "array",
          "description": "Line Items to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "adGroupAdIds": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "YouTube Ads to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.",
          "type": "array"
        },
        "adGroupIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "YouTube Ad Groups to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest."
        }
      }
    },
    "ListYoutubeAdGroupsResponse": {
      "id": "ListYoutubeAdGroupsResponse",
      "type": "object",
      "properties": {
        "youtubeAdGroups": {
          "items": {
            "$ref": "YoutubeAdGroup"
          },
          "description": "The list of ad groups. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListYoutubeAdGroups` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "PublisherReviewStatus": {
      "properties": {
        "publisherName": {
          "description": "The publisher reviewing the creative.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The creative is approved.",
            "The creative is rejected.",
            "The creative is pending review."
          ],
          "description": "Status of the publisher review.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "REVIEW_STATUS_APPROVED",
            "REVIEW_STATUS_REJECTED",
            "REVIEW_STATUS_PENDING"
          ]
        }
      },
      "description": "Publisher review status for the creative.",
      "id": "PublisherReviewStatus",
      "type": "object"
    },
    "PartnerAdServerConfig": {
      "type": "object",
      "id": "PartnerAdServerConfig",
      "description": "Ad server related settings of a partner.",
      "properties": {
        "measurementConfig": {
          "description": "Measurement settings of a partner.",
          "$ref": "MeasurementConfig"
        }
      }
    },
    "ReplaceSitesResponse": {
      "id": "ReplaceSitesResponse",
      "type": "object",
      "properties": {
        "sites": {
          "description": "The list of sites in the channel after replacing.",
          "items": {
            "$ref": "Site"
          },
          "type": "array"
        }
      },
      "description": "Response message for SiteService.ReplaceSites."
    },
    "LineItem": {
      "description": "A single line item.",
      "properties": {
        "integrationDetails": {
          "description": "Integration details of the line item.",
          "$ref": "IntegrationDetails"
        },
        "demandGenSettings": {
          "description": "Optional. Settings specific to Demand Gen line items.",
          "$ref": "DemandGenSettings"
        },
        "bidStrategy": {
          "description": "Required. The bidding strategy of the line item.",
          "$ref": "BiddingStrategy"
        },
        "targetingExpansion": {
          "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists.",
          "$ref": "TargetingExpansionConfig"
        },
        "partnerCosts": {
          "type": "array",
          "items": {
            "$ref": "PartnerCost"
          },
          "description": "The partner costs associated with the line item. If absent or empty in CreateLineItem method, the newly created line item will inherit partner costs from its parent insertion order."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the line item."
        },
        "campaignId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the campaign that the line item belongs to.",
          "type": "string",
          "format": "int64"
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The timestamp when the line item was last updated. Assigned by the system.",
          "type": "string",
          "format": "google-datetime"
        },
        "containsEuPoliticalAds": {
          "description": "Whether this line item will serve European Union political ads. If contains_eu_political_ads has been set to `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` in the parent advertiser, then this field will be assigned `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` if not otherwise specified. This field can then be updated using the UI, API, or Structured Data Files. This field must be assigned when creating a new line item. Otherwise, **the `advertisers.lineItems.create` request will fail**.",
          "enum": [
            "EU_POLITICAL_ADVERTISING_STATUS_UNKNOWN",
            "CONTAINS_EU_POLITICAL_ADVERTISING",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unknown.",
            "Contains EU political advertising.",
            "Does not contain EU political advertising."
          ]
        },
        "youtubeAndPartnersSettings": {
          "description": "Output only. Settings specific to YouTube and Partners line items.",
          "$ref": "YoutubeAndPartnersSettings",
          "readOnly": true
        },
        "mobileApp": {
          "description": "The mobile app promoted by the line item. This is applicable only when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.",
          "$ref": "MobileApp"
        },
        "lineItemType": {
          "enum": [
            "LINE_ITEM_TYPE_UNSPECIFIED",
            "LINE_ITEM_TYPE_DISPLAY_DEFAULT",
            "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL",
            "LINE_ITEM_TYPE_VIDEO_DEFAULT",
            "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL",
            "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY",
            "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY",
            "LINE_ITEM_TYPE_AUDIO_DEFAULT",
            "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY",
            "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW",
            "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME",
            "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME",
            "LINE_ITEM_TYPE_DEMAND_GEN"
          ],
          "description": "Required. Immutable. The type of the line item.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.",
            "Image, HTML5, native, or rich media ads.",
            "Display ads that drive installs of an app.",
            "Video ads sold on a CPM basis for a variety of environments.",
            "Video ads that drive installs of an app.",
            "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.",
            "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.",
            "RTB Audio ads sold for a variety of environments.",
            "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.",
            "YouTube video ads that promote conversions. Line items of this type and their targeting cannot be created or updated using the API.",
            "YouTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.",
            "YouTube video ads that show a story in a particular sequence using a mix of formats. Line items of this type and their targeting cannot be created or updated using the API.",
            "YouTube audio ads. Line items of this type and their targeting cannot be created or updated using the API.",
            "YouTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.",
            "Default YouTube video ads. Line items of this type and their targeting cannot be created or updated using the API.",
            "Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.",
            "Connected TV youTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.",
            "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.",
            "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.",
            "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.",
            "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.",
            "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.",
            "Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users."
          ]
        },
        "entityStatus": {
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ],
          "description": "Required. Controls whether or not the line item can spend its budget and bid on inventory. * For CreateLineItem method, only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * If the line item's parent insertion order is not active, the line item can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.",
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ]
        },
        "creativeIds": {
          "type": "array",
          "description": "The IDs of the creatives associated with the line item.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "budget": {
          "description": "Required. The budget allocation setting of the line item.",
          "$ref": "LineItemBudget"
        },
        "partnerRevenueModel": {
          "description": "Required. The partner revenue model setting of the line item.",
          "$ref": "PartnerRevenueModel"
        },
        "displayName": {
          "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "warningMessages": {
          "description": "Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running.",
          "readOnly": true,
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Not specified or is unknown.",
              "This line item has invalid flight dates. The line item will not run.",
              "This line item's end date is in the past.",
              "This line item will begin running in the future.",
              "All partner enabled exchanges are negatively targeted. The line item will not run.",
              "No active inventory sources are being targeted. The line item will not run.",
              "This line item's Apps & URLs targeting doesn't include any mobile apps. This line item's type requires you to include mobile apps in your channel, sitelist, or apps targeting. The line item will not run.",
              "This line item isn't targeting any mobile users. This line item's type requires you to target a user list with mobile users. The line item will not run.",
              "This line item does not contain any valid creative. The line item will not run.",
              "The insertion order of this line item is paused. The line item will not run.",
              "The insertion order of this line item has its end date set in the past. The line item will not run.",
              "This line item uses the exclude_first_party_audience setting, which is deprecated and scheduled to sunset after **March 25, 2023**. Update your API integration to directly exclude any first-party audiences using audience targeting before **March 25, 2023** to account for the sunset of the exclude_first_party_audience field."
            ],
            "enum": [
              "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED",
              "INVALID_FLIGHT_DATES",
              "EXPIRED",
              "PENDING_FLIGHT",
              "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED",
              "INVALID_INVENTORY_SOURCE",
              "APP_INVENTORY_INVALID_SITE_TARGETING",
              "APP_INVENTORY_INVALID_AUDIENCE_LISTS",
              "NO_VALID_CREATIVE",
              "PARENT_INSERTION_ORDER_PAUSED",
              "PARENT_INSERTION_ORDER_EXPIRED",
              "DEPRECATED_FIRST_PARTY_AUDIENCE_EXCLUSION"
            ]
          },
          "type": "array"
        },
        "lineItemId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the line item. Assigned by the system.",
          "readOnly": true
        },
        "pacing": {
          "description": "Required. The budget spending speed setting of the line item.",
          "$ref": "Pacing"
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the advertiser the line item belongs to.",
          "readOnly": true
        },
        "flight": {
          "description": "Required. The start and end time of the line item's flight.",
          "$ref": "LineItemFlight"
        },
        "reservationType": {
          "description": "Output only. The reservation type of the line item.",
          "enum": [
            "RESERVATION_TYPE_UNSPECIFIED",
            "RESERVATION_TYPE_NOT_GUARANTEED",
            "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED",
            "RESERVATION_TYPE_TAG_GUARANTEED",
            "RESERVATION_TYPE_PETRA_VIRAL",
            "RESERVATION_TYPE_INSTANT_RESERVE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Reservation type value is not specified or is unknown in this version.",
            "Not created through a guaranteed inventory source.",
            "Created through a programmatic guaranteed inventory source.",
            "Created through a tag guaranteed inventory source.",
            "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.",
            "Created with an instant quote. Only applicable to YouTube and partners line items."
          ],
          "readOnly": true
        },
        "excludeNewExchanges": {
          "description": "Whether to exclude new exchanges from automatically being targeted by the line item. This field is false by default.",
          "type": "boolean"
        },
        "optimizeFixedBidding": {
          "description": "Optional. Whether to enable DV360's bid optimization for fixed bid line items. By default, DV360 optimizes your fixed bid by automatically lowering bids for impressions that are less likely to perform well. This optimization is enabled by default (value is true). When this field is set to `false`, this optimization is disabled, and the bid will not be lowered for any reason. This setting only applies to line items with a `bidding_strategy` of type `FIXED_BID`.",
          "type": "boolean"
        },
        "frequencyCap": {
          "description": "Optional. Required if the line item type is not `LINE_ITEM_TYPE_DEMAND_GEN`. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap.",
          "$ref": "FrequencyCap"
        },
        "conversionCounting": {
          "description": "The conversion tracking setting of the line item.",
          "$ref": "ConversionCountingConfig"
        },
        "insertionOrderId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to."
        }
      },
      "type": "object",
      "id": "LineItem"
    },
    "GuaranteedOrder": {
      "id": "GuaranteedOrder",
      "type": "object",
      "properties": {
        "readWriteAdvertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The advertiser with read/write access to the guaranteed order. This is also the default advertiser of the guaranteed order."
        },
        "displayName": {
          "description": "Required. The display name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "readAdvertiserIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of advertisers with read access to the guaranteed order. This field must not include the advertiser assigned to read_write_advertiser_id if it is set. All advertisers in this field must belong to read_write_partner_id or the same partner as read_write_advertiser_id."
        },
        "exchange": {
          "description": "Required. Immutable. The exchange where the guaranteed order originated.",
          "enum": [
            "EXCHANGE_UNSPECIFIED",
            "EXCHANGE_GOOGLE_AD_MANAGER",
            "EXCHANGE_APPNEXUS",
            "EXCHANGE_BRIGHTROLL",
            "EXCHANGE_ADFORM",
            "EXCHANGE_ADMETA",
            "EXCHANGE_ADMIXER",
            "EXCHANGE_ADSMOGO",
            "EXCHANGE_ADSWIZZ",
            "EXCHANGE_BIDSWITCH",
            "EXCHANGE_BRIGHTROLL_DISPLAY",
            "EXCHANGE_CADREON",
            "EXCHANGE_DAILYMOTION",
            "EXCHANGE_FIVE",
            "EXCHANGE_FLUCT",
            "EXCHANGE_FREEWHEEL",
            "EXCHANGE_GENIEE",
            "EXCHANGE_GUMGUM",
            "EXCHANGE_IMOBILE",
            "EXCHANGE_IBILLBOARD",
            "EXCHANGE_IMPROVE_DIGITAL",
            "EXCHANGE_INDEX",
            "EXCHANGE_KARGO",
            "EXCHANGE_MICROAD",
            "EXCHANGE_MOPUB",
            "EXCHANGE_NEND",
            "EXCHANGE_ONE_BY_AOL_DISPLAY",
            "EXCHANGE_ONE_BY_AOL_MOBILE",
            "EXCHANGE_ONE_BY_AOL_VIDEO",
            "EXCHANGE_OOYALA",
            "EXCHANGE_OPENX",
            "EXCHANGE_PERMODO",
            "EXCHANGE_PLATFORMONE",
            "EXCHANGE_PLATFORMID",
            "EXCHANGE_PUBMATIC",
            "EXCHANGE_PULSEPOINT",
            "EXCHANGE_REVENUEMAX",
            "EXCHANGE_RUBICON",
            "EXCHANGE_SMARTCLIP",
            "EXCHANGE_SMARTRTB",
            "EXCHANGE_SMARTSTREAMTV",
            "EXCHANGE_SOVRN",
            "EXCHANGE_SPOTXCHANGE",
            "EXCHANGE_STROER",
            "EXCHANGE_TEADSTV",
            "EXCHANGE_TELARIA",
            "EXCHANGE_TVN",
            "EXCHANGE_UNITED",
            "EXCHANGE_YIELDLAB",
            "EXCHANGE_YIELDMO",
            "EXCHANGE_UNRULYX",
            "EXCHANGE_OPEN8",
            "EXCHANGE_TRITON",
            "EXCHANGE_TRIPLELIFT",
            "EXCHANGE_TABOOLA",
            "EXCHANGE_INMOBI",
            "EXCHANGE_SMAATO",
            "EXCHANGE_AJA",
            "EXCHANGE_SUPERSHIP",
            "EXCHANGE_NEXSTAR_DIGITAL",
            "EXCHANGE_WAZE",
            "EXCHANGE_SOUNDCAST",
            "EXCHANGE_SHARETHROUGH",
            "EXCHANGE_FYBER",
            "EXCHANGE_RED_FOR_PUBLISHERS",
            "EXCHANGE_MEDIANET",
            "EXCHANGE_TAPJOY",
            "EXCHANGE_VISTAR",
            "EXCHANGE_DAX",
            "EXCHANGE_JCD",
            "EXCHANGE_PLACE_EXCHANGE",
            "EXCHANGE_APPLOVIN",
            "EXCHANGE_CONNATIX",
            "EXCHANGE_RESET_DIGITAL",
            "EXCHANGE_HIVESTACK",
            "EXCHANGE_DRAX",
            "EXCHANGE_APPLOVIN_GBID",
            "EXCHANGE_FYBER_GBID",
            "EXCHANGE_UNITY_GBID",
            "EXCHANGE_CHARTBOOST_GBID",
            "EXCHANGE_ADMOST_GBID",
            "EXCHANGE_TOPON_GBID",
            "EXCHANGE_NETFLIX",
            "EXCHANGE_CORE",
            "EXCHANGE_COMMERCE_GRID",
            "EXCHANGE_SPOTIFY",
            "EXCHANGE_TUBI",
            "EXCHANGE_SNAP",
            "EXCHANGE_CADENT"
          ],
          "type": "string",
          "enumDescriptions": [
            "Exchange is not specified or is unknown in this version.",
            "Google Ad Manager.",
            "AppNexus.",
            "BrightRoll Exchange for Video from Yahoo!.",
            "Adform.",
            "Admeta.",
            "Admixer.",
            "AdsMogo.",
            "AdsWizz.",
            "BidSwitch.",
            "BrightRoll Exchange for Display from Yahoo!.",
            "Cadreon.",
            "Dailymotion.",
            "Five.",
            "Fluct.",
            "FreeWheel SSP.",
            "Geniee.",
            "GumGum.",
            "i-mobile.",
            "iBILLBOARD.",
            "Improve Digital.",
            "Index Exchange.",
            "Kargo.",
            "MicroAd.",
            "MoPub.",
            "Nend.",
            "ONE by AOL: Display Market Place.",
            "ONE by AOL: Mobile.",
            "ONE by AOL: Video.",
            "Ooyala.",
            "OpenX.",
            "Permodo.",
            "Platform One.",
            "PlatformId.",
            "PubMatic.",
            "PulsePoint.",
            "RevenueMax.",
            "Rubicon.",
            "SmartClip.",
            "SmartRTB+.",
            "SmartstreamTv.",
            "Sovrn.",
            "SpotXchange.",
            "Ströer SSP.",
            "TeadsTv.",
            "Telaria.",
            "TVN.",
            "United.",
            "Yieldlab.",
            "Yieldmo.",
            "UnrulyX.",
            "Open8.",
            "Triton.",
            "TripleLift.",
            "Taboola.",
            "InMobi.",
            "Smaato.",
            "Aja.",
            "Supership.",
            "Nexstar Digital.",
            "Waze.",
            "SoundCast.",
            "Sharethrough.",
            "Fyber.",
            "Red For Publishers.",
            "Media.net.",
            "Tapjoy.",
            "Vistar.",
            "DAX.",
            "JCD.",
            "Place Exchange.",
            "AppLovin.",
            "Connatix.",
            "Reset Digital.",
            "Hivestack.",
            "Drax.",
            "AppLovin MAX.",
            "DT Fairbid.",
            "Unity LevelPlay.",
            "Chartboost Mediation.",
            "AdMost.",
            "TopOn.",
            "Netflix.",
            "Core.",
            "Commerce Grid.",
            "Spotify.",
            "Tubi.",
            "Snap.",
            "Cadent."
          ]
        },
        "publisherName": {
          "description": "Required. The publisher name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "readWritePartnerId": {
          "description": "The partner with read/write access to the guaranteed order.",
          "type": "string",
          "format": "int64"
        },
        "status": {
          "description": "The status settings of the guaranteed order.",
          "$ref": "GuaranteedOrderStatus"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the guaranteed order.",
          "type": "string"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The timestamp when the guaranteed order was last updated. Assigned by the system.",
          "readOnly": true
        },
        "defaultCampaignId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the default campaign that is assigned to the guaranteed order. The default campaign must belong to the default advertiser."
        },
        "legacyGuaranteedOrderId": {
          "description": "Output only. The legacy ID of the guaranteed order. Assigned by the original exchange. The legacy ID is unique within one exchange, but is not guaranteed to be unique across all guaranteed orders. This ID is used in SDF and UI.",
          "readOnly": true,
          "type": "string"
        },
        "guaranteedOrderId": {
          "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.",
          "readOnly": true,
          "type": "string"
        },
        "readAccessInherited": {
          "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order. Only applicable if read_write_partner_id is set. If True, overrides read_advertiser_ids.",
          "type": "boolean"
        },
        "defaultAdvertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The ID of default advertiser of the guaranteed order. The default advertiser is either the read_write_advertiser_id or, if that is not set, the first advertiser listed in read_advertiser_ids. Otherwise, there is no default advertiser.",
          "readOnly": true
        }
      },
      "description": "A guaranteed order. Guaranteed orders are parent entity of guaranteed inventory sources. When creating a guaranteed inventory source, a guaranteed order ID must be assigned to the inventory source."
    },
    "ListInsertionOrdersResponse": {
      "type": "object",
      "id": "ListInsertionOrdersResponse",
      "properties": {
        "insertionOrders": {
          "description": "The list of insertion orders. This list will be absent if empty.",
          "items": {
            "$ref": "InsertionOrder"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInsertionOrders` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "PerformanceGoal": {
      "description": "Settings that control the performance goal of a campaign.",
      "properties": {
        "performanceGoalAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency."
        },
        "performanceGoalPercentageMicros": {
          "description": "The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).",
          "type": "string",
          "format": "int64"
        },
        "performanceGoalString": {
          "description": "A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.",
          "type": "string"
        },
        "performanceGoalType": {
          "type": "string",
          "enumDescriptions": [
            "Performance goal type is not specified or is unknown in this version.",
            "The performance goal is set in CPM (cost per mille).",
            "The performance goal is set in CPC (cost per click).",
            "The performance goal is set in CPA (cost per action).",
            "The performance goal is set in CTR (click-through rate) percentage.",
            "The performance goal is set in Viewability percentage.",
            "The performance goal is set as CPIAVC (cost per impression audible and visible at completion).",
            "The performance goal is set in CPE (cost per engagement).",
            "The performance goal is set in CPV (cost per view).",
            "The performance goal is set in click conversion rate (conversions per click) percentage.",
            "The performance goal is set in impression conversion rate (conversions per impression) percentage.",
            "The performance goal is set in VCPM (cost per thousand viewable impressions).",
            "The performance goal is set in YouTube view rate (YouTube views per impression) percentage.",
            "The performance goal is set in audio completion rate (complete audio listens per impression) percentage.",
            "The performance goal is set in video completion rate (complete video views per impression) percentage.",
            "The performance goal is set to Other."
          ],
          "description": "Required. The type of the performance goal.",
          "enum": [
            "PERFORMANCE_GOAL_TYPE_UNSPECIFIED",
            "PERFORMANCE_GOAL_TYPE_CPM",
            "PERFORMANCE_GOAL_TYPE_CPC",
            "PERFORMANCE_GOAL_TYPE_CPA",
            "PERFORMANCE_GOAL_TYPE_CTR",
            "PERFORMANCE_GOAL_TYPE_VIEWABILITY",
            "PERFORMANCE_GOAL_TYPE_CPIAVC",
            "PERFORMANCE_GOAL_TYPE_CPE",
            "PERFORMANCE_GOAL_TYPE_CPV",
            "PERFORMANCE_GOAL_TYPE_CLICK_CVR",
            "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR",
            "PERFORMANCE_GOAL_TYPE_VCPM",
            "PERFORMANCE_GOAL_TYPE_VTR",
            "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE",
            "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE",
            "PERFORMANCE_GOAL_TYPE_OTHER"
          ]
        }
      },
      "type": "object",
      "id": "PerformanceGoal"
    },
    "BulkEditPartnerAssignedTargetingOptionsRequest": {
      "properties": {
        "deleteRequests": {
          "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
          "items": {
            "$ref": "DeleteAssignedTargetingOptionsRequest"
          },
          "type": "array"
        },
        "createRequests": {
          "type": "array",
          "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
          "items": {
            "$ref": "CreateAssignedTargetingOptionsRequest"
          }
        }
      },
      "description": "Request message for BulkEditPartnerAssignedTargetingOptions.",
      "id": "BulkEditPartnerAssignedTargetingOptionsRequest",
      "type": "object"
    },
    "PartnerDataAccessConfig": {
      "id": "PartnerDataAccessConfig",
      "type": "object",
      "properties": {
        "sdfConfig": {
          "description": "Structured Data Files (SDF) settings for the partner. The SDF configuration for the partner.",
          "$ref": "SdfConfig"
        }
      },
      "description": "Settings that control how partner related data may be accessed."
    },
    "AdvertiserGeneralConfig": {
      "description": "General settings of an advertiser.",
      "properties": {
        "currencyCode": {
          "description": "Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes and the currencies they represent are: Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand",
          "type": "string"
        },
        "domainUrl": {
          "description": "Required. The domain URL of the advertiser's primary website. The system will send this information to publishers that require website URL to associate a campaign with an advertiser. Provide a URL with no path or query string, beginning with `http:` or `https:`. For example, http://www.example.com",
          "type": "string"
        },
        "timeZone": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The standard TZ database name of the advertiser's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 hybrid advertisers, the time zone is the same as that of the associated CM360 account; for third-party only advertisers, the time zone is the same as that of the parent partner."
        }
      },
      "type": "object",
      "id": "AdvertiserGeneralConfig"
    },
    "ScriptError": {
      "type": "object",
      "id": "ScriptError",
      "description": "An error message for a custom bidding script.",
      "properties": {
        "line": {
          "description": "The line number in the script where the error was thrown.",
          "type": "string",
          "format": "int64"
        },
        "column": {
          "description": "The column number in the script where the error was thrown.",
          "type": "string",
          "format": "int64"
        },
        "errorMessage": {
          "description": "The detailed error message.",
          "type": "string"
        },
        "errorCode": {
          "type": "string",
          "enumDescriptions": [
            "The script error is not specified or is unknown in this version.",
            "The script has a syntax error.",
            "The script uses deprecated syntax.",
            "Internal errors were thrown while processing the script."
          ],
          "enum": [
            "ERROR_CODE_UNSPECIFIED",
            "SYNTAX_ERROR",
            "DEPRECATED_SYNTAX",
            "INTERNAL_ERROR"
          ],
          "description": "The type of error."
        }
      }
    },
    "CustomListGroup": {
      "id": "CustomListGroup",
      "type": "object",
      "properties": {
        "settings": {
          "type": "array",
          "items": {
            "$ref": "CustomListTargetingSetting"
          },
          "description": "Required. All custom list targeting settings in custom list group. Repeated settings with the same id will be ignored."
        }
      },
      "description": "Details of custom list group. All custom list targeting settings are logically ‘OR’ of each other."
    },
    "ViewabilityAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "ViewabilityAssignedTargetingOptionDetails",
      "description": "Assigned viewability targeting option details. This will be populated in the viewability_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.",
      "properties": {
        "viewability": {
          "type": "string",
          "enumDescriptions": [
            "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.",
            "Bid only on impressions that are at least 10% likely to be viewable.",
            "Bid only on impressions that are at least 20% likely to be viewable.",
            "Bid only on impressions that are at least 30% likely to be viewable.",
            "Bid only on impressions that are at least 40% likely to be viewable.",
            "Bid only on impressions that are at least 50% likely to be viewable.",
            "Bid only on impressions that are at least 60% likely to be viewable.",
            "Bid only on impressions that are at least 70% likely to be viewable.",
            "Bid only on impressions that are at least 80% likely to be viewable.",
            "Bid only on impressions that are at least 90% likely to be viewable."
          ],
          "enum": [
            "VIEWABILITY_UNSPECIFIED",
            "VIEWABILITY_10_PERCENT_OR_MORE",
            "VIEWABILITY_20_PERCENT_OR_MORE",
            "VIEWABILITY_30_PERCENT_OR_MORE",
            "VIEWABILITY_40_PERCENT_OR_MORE",
            "VIEWABILITY_50_PERCENT_OR_MORE",
            "VIEWABILITY_60_PERCENT_OR_MORE",
            "VIEWABILITY_70_PERCENT_OR_MORE",
            "VIEWABILITY_80_PERCENT_OR_MORE",
            "VIEWABILITY_90_PERCENT_OR_MORE"
          ],
          "description": "Required. The predicted viewability percentage."
        }
      }
    },
    "PrismaConfig": {
      "description": "Settings specific to the Mediaocean Prisma tool.",
      "properties": {
        "prismaType": {
          "description": "Required. The Prisma type.",
          "enum": [
            "PRISMA_TYPE_UNSPECIFIED",
            "PRISMA_TYPE_DISPLAY",
            "PRISMA_TYPE_SEARCH",
            "PRISMA_TYPE_VIDEO",
            "PRISMA_TYPE_AUDIO",
            "PRISMA_TYPE_SOCIAL",
            "PRISMA_TYPE_FEE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type is not specified or unknown in this version.",
            "Display type.",
            "Search type.",
            "Video type.",
            "Audio type.",
            "Social type.",
            "Fee type."
          ]
        },
        "prismaCpeCode": {
          "description": "Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool.",
          "$ref": "PrismaCpeCode"
        },
        "supplier": {
          "description": "Required. The entity allocated this budget (DSP, site, etc.).",
          "type": "string"
        }
      },
      "type": "object",
      "id": "PrismaConfig"
    },
    "Asset": {
      "type": "object",
      "id": "Asset",
      "description": "A single asset.",
      "properties": {
        "content": {
          "description": "The asset content. For uploaded assets, the content is the serving path.",
          "type": "string"
        },
        "mediaId": {
          "type": "string",
          "format": "int64",
          "description": "Media ID of the uploaded asset. This is a unique identifier for the asset. This ID can be passed to other API calls, e.g. CreateCreative to associate the asset with a creative. The Media ID space updated on **April 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving the new media ID from associated creative resources or re-uploading the asset."
        }
      }
    },
    "GeoRegionTargetingOptionDetails": {
      "type": "object",
      "id": "GeoRegionTargetingOptionDetails",
      "description": "Represents a targetable geographic region. This will be populated in the geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").",
          "readOnly": true
        },
        "geoRegionType": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The geographic region type is unknown.",
            "The geographic region type is other.",
            "The geographic region is a country.",
            "The geographic region type is region.",
            "The geographic region is a territory.",
            "The geographic region is a province.",
            "The geographic region is a state.",
            "The geographic region is a prefecture.",
            "The geographic region is a governorate.",
            "The geographic region is a canton.",
            "The geographic region is a union territory.",
            "The geographic region is an autonomous community.",
            "The geographic region is a designated market area (DMA) region.",
            "The geographic region type is metro.",
            "The geographic region is a congressional district.",
            "The geographic region is a county.",
            "The geographic region is a municipality.",
            "The geographic region is a city.",
            "The geographic region targeting type is postal code.",
            "The geographic region targeting type is department.",
            "The geographic region is an airport.",
            "The geographic region is a TV region.",
            "The geographic region is an okrug.",
            "The geographic region is a borough.",
            "The geographic region is a city region.",
            "The geographic region is an arrondissement.",
            "The geographic region is a neighborhood.",
            "The geographic region is a university.",
            "The geographic region is a district.",
            "The geographic region is a national park.",
            "The geographic region is a barrio.",
            "The geographic region is a sub ward.",
            "The geographic region is a municipality district.",
            "The geographic region is a sub district.",
            "The geographic region is a quarter.",
            "The geographic region is a division.",
            "The geographic region is a commune.",
            "The geographic region is a colloquial area.",
            "The geographic region is a post town."
          ],
          "enum": [
            "GEO_REGION_TYPE_UNKNOWN",
            "GEO_REGION_TYPE_OTHER",
            "GEO_REGION_TYPE_COUNTRY",
            "GEO_REGION_TYPE_REGION",
            "GEO_REGION_TYPE_TERRITORY",
            "GEO_REGION_TYPE_PROVINCE",
            "GEO_REGION_TYPE_STATE",
            "GEO_REGION_TYPE_PREFECTURE",
            "GEO_REGION_TYPE_GOVERNORATE",
            "GEO_REGION_TYPE_CANTON",
            "GEO_REGION_TYPE_UNION_TERRITORY",
            "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY",
            "GEO_REGION_TYPE_DMA_REGION",
            "GEO_REGION_TYPE_METRO",
            "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT",
            "GEO_REGION_TYPE_COUNTY",
            "GEO_REGION_TYPE_MUNICIPALITY",
            "GEO_REGION_TYPE_CITY",
            "GEO_REGION_TYPE_POSTAL_CODE",
            "GEO_REGION_TYPE_DEPARTMENT",
            "GEO_REGION_TYPE_AIRPORT",
            "GEO_REGION_TYPE_TV_REGION",
            "GEO_REGION_TYPE_OKRUG",
            "GEO_REGION_TYPE_BOROUGH",
            "GEO_REGION_TYPE_CITY_REGION",
            "GEO_REGION_TYPE_ARRONDISSEMENT",
            "GEO_REGION_TYPE_NEIGHBORHOOD",
            "GEO_REGION_TYPE_UNIVERSITY",
            "GEO_REGION_TYPE_DISTRICT",
            "GEO_REGION_TYPE_NATIONAL_PARK",
            "GEO_REGION_TYPE_BARRIO",
            "GEO_REGION_TYPE_SUB_WARD",
            "GEO_REGION_TYPE_MUNICIPALITY_DISTRICT",
            "GEO_REGION_TYPE_SUB_DISTRICT",
            "GEO_REGION_TYPE_QUARTER",
            "GEO_REGION_TYPE_DIVISION",
            "GEO_REGION_TYPE_COMMUNE",
            "GEO_REGION_TYPE_COLLOQUIAL_AREA",
            "GEO_REGION_TYPE_POST_TOWN"
          ],
          "description": "Output only. The type of geographic region targeting."
        }
      }
    },
    "DeviceTypeTargetingOptionDetails": {
      "properties": {
        "deviceType": {
          "readOnly": true,
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "DEVICE_TYPE_COMPUTER",
            "DEVICE_TYPE_CONNECTED_TV",
            "DEVICE_TYPE_SMART_PHONE",
            "DEVICE_TYPE_TABLET",
            "DEVICE_TYPE_CONNECTED_DEVICE"
          ],
          "description": "Output only. The device type that is used to be targeted.",
          "type": "string",
          "enumDescriptions": [
            "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.",
            "Computer.",
            "Connected TV.",
            "Smart phone.",
            "Tablet.",
            "Connected device."
          ]
        }
      },
      "description": "Represents a targetable device type. This will be populated in the device_type_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.",
      "id": "DeviceTypeTargetingOptionDetails",
      "type": "object"
    },
    "InsertionOrderBudgetSegment": {
      "properties": {
        "campaignBudgetId": {
          "description": "Optional. The budget_id of the campaign budget that this insertion order budget segment is a part of.",
          "type": "string",
          "format": "int64"
        },
        "budgetAmountMicros": {
          "description": "Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.",
          "type": "string",
          "format": "int64"
        },
        "description": {
          "description": "Optional. The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.",
          "type": "string"
        },
        "dateRange": {
          "description": "Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037.",
          "$ref": "DateRange"
        }
      },
      "description": "Settings that control the budget of a single budget segment.",
      "id": "InsertionOrderBudgetSegment",
      "type": "object"
    },
    "VideoPerformanceAd": {
      "properties": {
        "domain": {
          "description": "The domain of the display URL.",
          "type": "string"
        },
        "videos": {
          "type": "array",
          "description": "The list of YouTube video assets used by this ad.",
          "items": {
            "$ref": "YoutubeVideoDetails"
          }
        },
        "displayUrlBreadcrumb2": {
          "description": "The second piece after the domain in the display URL.",
          "type": "string"
        },
        "finalUrl": {
          "description": "The URL address of the webpage that people reach after they click the ad.",
          "type": "string"
        },
        "headlines": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of headlines shown on the call-to-action banner."
        },
        "longHeadlines": {
          "description": "The list of long headlines shown on the call-to-action banner.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "descriptions": {
          "description": "The list of descriptions shown on the call-to-action banner.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "displayUrlBreadcrumb1": {
          "description": "The first piece after the domain in the display URL.",
          "type": "string"
        },
        "customParameters": {
          "description": "The custom parameters and accompanying values to add to the tracking URL.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "trackingUrl": {
          "description": "The URL address loaded in the background for tracking purposes.",
          "type": "string"
        },
        "actionButtonLabels": {
          "items": {
            "type": "string"
          },
          "description": "The list of text assets shown on the call-to-action button.",
          "type": "array"
        },
        "companionBanners": {
          "items": {
            "$ref": "ImageAsset"
          },
          "description": "The list of companion banners used by this ad.",
          "type": "array"
        }
      },
      "description": "Details for a video performance ad.",
      "id": "VideoPerformanceAd",
      "type": "object"
    },
    "Advertiser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the advertiser.",
          "readOnly": true
        },
        "updateTime": {
          "description": "Output only. The timestamp when the advertiser was last updated. Assigned by the system.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "containsEuPoliticalAds": {
          "type": "string",
          "enumDescriptions": [
            "Unknown.",
            "Contains EU political advertising.",
            "Does not contain EU political advertising."
          ],
          "enum": [
            "EU_POLITICAL_ADVERTISING_STATUS_UNKNOWN",
            "CONTAINS_EU_POLITICAL_ADVERTISING",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
          ],
          "description": "Optional. Whether this advertiser contains line items that serve European Union political ads. If this field is set to `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING`, then the following will happen: * Any new line items created under this advertiser will be assigned `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` if not otherwise specified. * Any existing line items under this advertiser that do not have a set value be updated to `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` within a day."
        },
        "generalConfig": {
          "description": "Required. General settings of the advertiser.",
          "$ref": "AdvertiserGeneralConfig"
        },
        "entityStatus": {
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.",
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ]
        },
        "prismaEnabled": {
          "description": "Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.",
          "type": "boolean"
        },
        "partnerId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Immutable. The unique ID of the partner that the advertiser belongs to."
        },
        "creativeConfig": {
          "description": "Required. Creative related settings of the advertiser.",
          "$ref": "AdvertiserCreativeConfig"
        },
        "integrationDetails": {
          "description": "Integration details of the advertiser. Only integrationCode is currently applicable to advertiser. Other fields of IntegrationDetails are not supported and will be ignored if provided.",
          "$ref": "IntegrationDetails"
        },
        "servingConfig": {
          "description": "Targeting settings related to ad serving of the advertiser.",
          "$ref": "AdvertiserTargetingConfig"
        },
        "adServerConfig": {
          "description": "Required. Immutable. Ad server related settings of the advertiser.",
          "$ref": "AdvertiserAdServerConfig"
        },
        "displayName": {
          "description": "Required. The display name of the advertiser. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "dataAccessConfig": {
          "description": "Settings that control how advertiser data may be accessed.",
          "$ref": "AdvertiserDataAccessConfig"
        },
        "advertiserId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the advertiser. Assigned by the system.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "A single advertiser in Display & Video 360 (DV360).",
      "id": "Advertiser",
      "type": "object"
    },
    "AdvertiserDataAccessConfig": {
      "properties": {
        "sdfConfig": {
          "description": "Structured Data Files (SDF) settings for the advertiser. If not specified, the SDF settings of the parent partner are used.",
          "$ref": "AdvertiserSdfConfig"
        }
      },
      "description": "Settings that control how advertiser related data may be accessed.",
      "id": "AdvertiserDataAccessConfig",
      "type": "object"
    },
    "DuplicateLineItemResponse": {
      "type": "object",
      "id": "DuplicateLineItemResponse",
      "properties": {
        "duplicateLineItemId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the created line item."
        }
      }
    },
    "FloodlightGroup": {
      "type": "object",
      "id": "FloodlightGroup",
      "description": "A single Floodlight group.",
      "properties": {
        "webTagType": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "No tag type.",
            "Image tag.",
            "Dynamic tag."
          ],
          "enum": [
            "WEB_TAG_TYPE_UNSPECIFIED",
            "WEB_TAG_TYPE_NONE",
            "WEB_TAG_TYPE_IMAGE",
            "WEB_TAG_TYPE_DYNAMIC"
          ],
          "description": "Required. The web tag type enabled for the Floodlight group."
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the Floodlight group.",
          "readOnly": true
        },
        "lookbackWindow": {
          "description": "Required. The lookback window for the Floodlight group. Both click_days and impression_days are required. Acceptable values for both are `0` to `90`, inclusive.",
          "$ref": "LookbackWindow"
        },
        "activeViewConfig": {
          "description": "The Active View video viewability metric configuration for the Floodlight group.",
          "$ref": "ActiveViewVideoViewabilityMetricConfig"
        },
        "floodlightGroupId": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The unique ID of the Floodlight group. Assigned by the system."
        },
        "customVariables": {
          "description": "User-defined custom variables owned by the Floodlight group. Use custom Floodlight variables to create reporting data that is tailored to your unique business needs. Custom Floodlight variables use the keys `U1=`, `U2=`, and so on, and can take any values that you choose to pass to them. You can use them to track virtually any type of data that you collect about your customers, such as the genre of movie that a customer purchases, the country to which the item is shipped, and so on. Custom Floodlight variables may not be used to pass any data that could be used or recognized as personally identifiable information (PII). Example: `custom_variables { fields { \"U1\": value { number_value: 123.4 }, \"U2\": value { string_value: \"MyVariable2\" }, \"U3\": value { string_value: \"MyVariable3\" } } }` Acceptable values for keys are \"U1\" through \"U100\", inclusive. String values must be less than 64 characters long, and cannot contain the following characters: `\"\u003c\u003e`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "displayName": {
          "description": "Required. The display name of the Floodlight group.",
          "type": "string"
        }
      }
    },
    "ContentDurationAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "ContentDurationAssignedTargetingOptionDetails",
      "description": "Details for content duration assigned targeting option. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not supported. Remove all content duration targeting options to achieve this effect.",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.",
          "type": "string"
        },
        "contentDuration": {
          "readOnly": true,
          "description": "Output only. The content duration.",
          "enum": [
            "CONTENT_DURATION_UNSPECIFIED",
            "CONTENT_DURATION_UNKNOWN",
            "CONTENT_DURATION_0_TO_1_MIN",
            "CONTENT_DURATION_1_TO_5_MIN",
            "CONTENT_DURATION_5_TO_15_MIN",
            "CONTENT_DURATION_15_TO_30_MIN",
            "CONTENT_DURATION_30_TO_60_MIN",
            "CONTENT_DURATION_OVER_60_MIN"
          ],
          "type": "string",
          "enumDescriptions": [
            "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.",
            "The content duration is unknown.",
            "Content is 0-1 minute long.",
            "Content is 1-5 minutes long.",
            "Content is 5-15 minutes long.",
            "Content is 15-30 minutes long.",
            "Content is 30-60 minutes long.",
            "Content is over 60 minutes long."
          ]
        }
      }
    },
    "ThirdPartyMeasurementConfigs": {
      "type": "object",
      "id": "ThirdPartyMeasurementConfigs",
      "description": "Settings that control what third-party vendors are measuring specific line item metrics.",
      "properties": {
        "brandLiftVendorConfigs": {
          "type": "array",
          "description": "Optional. The third-party vendors measuring brand lift. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR` * `THIRD_PARTY_VENDOR_INTAGE` * `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_MACROMILL`",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          }
        },
        "reachVendorConfigs": {
          "type": "array",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "description": "Optional. The third-party vendors measuring reach. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR` * `THIRD_PARTY_VENDOR_VIDEO_RESEARCH` * `THIRD_PARTY_VENDOR_MEDIA_SCOPE` * `THIRD_PARTY_VENDOR_AUDIENCE_PROJECT` * `THIRD_PARTY_VENDOR_VIDEO_AMP` * `THIRD_PARTY_VENDOR_ISPOT_TV` * `THIRD_PARTY_VENDOR_GEMIUS`"
        },
        "viewabilityVendorConfigs": {
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "description": "Optional. The third-party vendors measuring viewability. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`",
          "type": "array"
        },
        "brandSafetyVendorConfigs": {
          "type": "array",
          "items": {
            "$ref": "ThirdPartyVendorConfig"
          },
          "description": "Optional. The third-party vendors measuring brand safety. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_ZEFR` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`"
        }
      }
    },
    "NegativeKeywordListAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "NegativeKeywordListAssignedTargetingOptionDetails",
      "description": "Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.",
      "properties": {
        "negativeKeywordListId": {
          "description": "Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "SensitiveCategoryTargetingOptionDetails": {
      "properties": {
        "sensitiveCategory": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and doesn't specify a DV360 sensitive category.",
            "Adult or pornographic text, image, or video content.",
            "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.",
            "Content related to audio, video, or software downloads.",
            "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.",
            "Contains content related to betting or wagering in a real-world or online setting.",
            "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.",
            "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.",
            "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.",
            "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.",
            "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.",
            "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.",
            "Political news and media, including discussions of social, governmental, and public policy.",
            "Content related to religious thought or beliefs.",
            "Content related to death, disasters, accidents, war, etc.",
            "Content related to motor vehicle, aviation or other transportation accidents.",
            "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).",
            "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.",
            "YouTube videos embedded on websites outside of YouTube.com.",
            "Video of live events streamed over the internet."
          ],
          "description": "Output only. An enum for the DV360 Sensitive category content classifier.",
          "enum": [
            "SENSITIVE_CATEGORY_UNSPECIFIED",
            "SENSITIVE_CATEGORY_ADULT",
            "SENSITIVE_CATEGORY_DEROGATORY",
            "SENSITIVE_CATEGORY_DOWNLOADS_SHARING",
            "SENSITIVE_CATEGORY_WEAPONS",
            "SENSITIVE_CATEGORY_GAMBLING",
            "SENSITIVE_CATEGORY_VIOLENCE",
            "SENSITIVE_CATEGORY_SUGGESTIVE",
            "SENSITIVE_CATEGORY_PROFANITY",
            "SENSITIVE_CATEGORY_ALCOHOL",
            "SENSITIVE_CATEGORY_DRUGS",
            "SENSITIVE_CATEGORY_TOBACCO",
            "SENSITIVE_CATEGORY_POLITICS",
            "SENSITIVE_CATEGORY_RELIGION",
            "SENSITIVE_CATEGORY_TRAGEDY",
            "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS",
            "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES",
            "SENSITIVE_CATEGORY_SHOCKING",
            "SENSITIVE_CATEGORY_EMBEDDED_VIDEO",
            "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO"
          ],
          "readOnly": true
        }
      },
      "description": "Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.",
      "id": "SensitiveCategoryTargetingOptionDetails",
      "type": "object"
    },
    "InventorySourceGroupAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "InventorySourceGroupAssignedTargetingOptionDetails",
      "description": "Targeting details for inventory source group. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.",
      "properties": {
        "inventorySourceGroupId": {
          "type": "string",
          "format": "int64",
          "description": "Required. ID of the inventory source group. Should refer to the inventory_source_group_id field of an InventorySourceGroup resource."
        }
      }
    },
    "ContentStreamTypeAssignedTargetingOptionDetails": {
      "id": "ContentStreamTypeAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.",
          "type": "string"
        },
        "contentStreamType": {
          "readOnly": true,
          "description": "Output only. The content stream type.",
          "enum": [
            "CONTENT_STREAM_TYPE_UNSPECIFIED",
            "CONTENT_LIVE_STREAM",
            "CONTENT_ON_DEMAND"
          ],
          "type": "string",
          "enumDescriptions": [
            "Content stream type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.",
            "The content is being live-streamed.",
            "The content is viewed on-demand."
          ]
        }
      },
      "description": "Details for content stream type assigned targeting option. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is not supported. Remove all content stream type targeting options to achieve this effect."
    },
    "ThirdPartyVendorConfig": {
      "properties": {
        "placementId": {
          "description": "The ID used by the platform of the third-party vendor to identify the line item.",
          "type": "string"
        },
        "vendor": {
          "type": "string",
          "enumDescriptions": [
            "Unknown third-party vendor.",
            "Moat.",
            "DoubleVerify.",
            "Integral Ad Science.",
            "Comscore.",
            "Telemetry.",
            "Meetrics.",
            "ZEFR.",
            "Nielsen.",
            "Kantar.",
            "Dynata.",
            "Transunion.",
            "Origin.",
            "Gemius.",
            "MediaScope.",
            "Audience Project.",
            "Video Amp.",
            "Ispot TV.",
            "Intage.",
            "Macromill.",
            "Video Research."
          ],
          "description": "The third-party measurement vendor.",
          "enum": [
            "THIRD_PARTY_VENDOR_UNSPECIFIED",
            "THIRD_PARTY_VENDOR_MOAT",
            "THIRD_PARTY_VENDOR_DOUBLE_VERIFY",
            "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE",
            "THIRD_PARTY_VENDOR_COMSCORE",
            "THIRD_PARTY_VENDOR_TELEMETRY",
            "THIRD_PARTY_VENDOR_MEETRICS",
            "THIRD_PARTY_VENDOR_ZEFR",
            "THIRD_PARTY_VENDOR_NIELSEN",
            "THIRD_PARTY_VENDOR_KANTAR",
            "THIRD_PARTY_VENDOR_DYNATA",
            "THIRD_PARTY_VENDOR_TRANSUNION",
            "THIRD_PARTY_VENDOR_ORIGIN",
            "THIRD_PARTY_VENDOR_GEMIUS",
            "THIRD_PARTY_VENDOR_MEDIA_SCOPE",
            "THIRD_PARTY_VENDOR_AUDIENCE_PROJECT",
            "THIRD_PARTY_VENDOR_VIDEO_AMP",
            "THIRD_PARTY_VENDOR_ISPOT_TV",
            "THIRD_PARTY_VENDOR_INTAGE",
            "THIRD_PARTY_VENDOR_MACROMILL",
            "THIRD_PARTY_VENDOR_VIDEO_RESEARCH"
          ]
        }
      },
      "description": "Settings that control how third-party measurement vendors are configured.",
      "id": "ThirdPartyVendorConfig",
      "type": "object"
    },
    "TrackingFloodlightActivityConfig": {
      "description": "Settings that control the behavior of a single Floodlight activity config.",
      "properties": {
        "floodlightActivityId": {
          "description": "Required. The ID of the Floodlight activity.",
          "type": "string",
          "format": "int64"
        },
        "postClickLookbackWindowDays": {
          "type": "integer",
          "format": "int32",
          "description": "Required. The number of days after an ad has been clicked in which a conversion may be counted. Must be between 0 and 90 inclusive."
        },
        "postViewLookbackWindowDays": {
          "description": "Required. The number of days after an ad has been viewed in which a conversion may be counted. Must be between 0 and 90 inclusive.",
          "type": "integer",
          "format": "int32"
        }
      },
      "type": "object",
      "id": "TrackingFloodlightActivityConfig"
    },
    "InsertionOrder": {
      "id": "InsertionOrder",
      "type": "object",
      "properties": {
        "billableOutcome": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified billable outcome.",
            "Pay per impressions.",
            "Pay per click.",
            "Pay per active view."
          ],
          "description": "Immutable. The billable outcome of the insertion order. Outcome based buying is deprecated. `BILLABLE_OUTCOME_PAY_PER_IMPRESSION` is the only valid value.",
          "enumDeprecated": [
            false,
            false,
            true,
            true
          ],
          "enum": [
            "BILLABLE_OUTCOME_UNSPECIFIED",
            "BILLABLE_OUTCOME_PAY_PER_IMPRESSION",
            "BILLABLE_OUTCOME_PAY_PER_CLICK",
            "BILLABLE_OUTCOME_PAY_PER_VIEWABLE_IMPRESSION"
          ]
        },
        "frequencyCap": {
          "description": "Required. The frequency capping setting of the insertion order.",
          "$ref": "FrequencyCap"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the insertion order."
        },
        "campaignId": {
          "description": "Required. Immutable. The unique ID of the campaign that the insertion order belongs to.",
          "type": "string",
          "format": "int64"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The timestamp when the insertion order was last updated. Assigned by the system."
        },
        "insertionOrderId": {
          "description": "Output only. The unique ID of the insertion order. Assigned by the system.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "entityStatus": {
          "description": "Required. Controls whether or not the insertion order can spend its budget and bid on inventory. * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not active.",
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ]
        },
        "displayName": {
          "description": "Required. The display name of the insertion order. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "bidStrategy": {
          "description": "Optional. The bidding strategy of the insertion order. By default, fixed_bid is set. If the budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`, the insertion order will impose this bidding strategy on its line items. If an imposed bidding strategy is not compatible with a line item's enableOptimizedTargeting setting, the optimized targeting setting will be updated.",
          "$ref": "BiddingStrategy"
        },
        "integrationDetails": {
          "description": "Optional. Additional integration details of the insertion order.",
          "$ref": "IntegrationDetails"
        },
        "insertionOrderType": {
          "enum": [
            "INSERTION_ORDER_TYPE_UNSPECIFIED",
            "RTB",
            "OVER_THE_TOP"
          ],
          "description": "Optional. The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.",
          "type": "string",
          "enumDescriptions": [
            "Insertion order type is not specified or is unknown.",
            "Real-time bidding.",
            "Over-the-top."
          ]
        },
        "budget": {
          "description": "Required. The budget allocation settings of the insertion order.",
          "$ref": "InsertionOrderBudget"
        },
        "performanceGoal": {
          "description": "Required. Performance goal of the insertion order.",
          "$ref": "PerformanceGoal"
        },
        "pacing": {
          "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`.",
          "$ref": "Pacing"
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
          "readOnly": true
        },
        "reservationType": {
          "enum": [
            "RESERVATION_TYPE_UNSPECIFIED",
            "RESERVATION_TYPE_NOT_GUARANTEED",
            "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED",
            "RESERVATION_TYPE_TAG_GUARANTEED",
            "RESERVATION_TYPE_PETRA_VIRAL",
            "RESERVATION_TYPE_INSTANT_RESERVE"
          ],
          "description": "Output only. The reservation type of the insertion order.",
          "type": "string",
          "enumDescriptions": [
            "Reservation type value is not specified or is unknown in this version.",
            "Not created through a guaranteed inventory source.",
            "Created through a programmatic guaranteed inventory source.",
            "Created through a tag guaranteed inventory source.",
            "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.",
            "Created with an instant quote. Only applicable to YouTube and partners line items."
          ],
          "readOnly": true
        },
        "partnerCosts": {
          "type": "array",
          "description": "Optional. The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.",
          "items": {
            "$ref": "PartnerCost"
          }
        }
      },
      "description": "A single insertion order."
    },
    "NegativeKeywordList": {
      "id": "NegativeKeywordList",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the negative keyword list."
        },
        "displayName": {
          "description": "Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.",
          "type": "string"
        },
        "targetedLineItemCount": {
          "description": "Output only. Number of line items that are directly targeting this negative keyword list.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "negativeKeywordListId": {
          "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "Output only. The unique ID of the advertiser the negative keyword list belongs to.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        }
      },
      "description": "A list of negative keywords used for targeting."
    },
    "YoutubeVideoDetails": {
      "description": "Details of a YouTube video.",
      "properties": {
        "unavailableReason": {
          "description": "The reason why the video data is not available.",
          "enum": [
            "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED",
            "VIDEO_UNAVAILABLE_REASON_PRIVATE",
            "VIDEO_UNAVAILABLE_REASON_DELETED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unknown or unspecified.",
            "The video is private.",
            "The video is deleted."
          ]
        },
        "id": {
          "readOnly": true,
          "description": "Output only. The YouTube video ID which can be searched on YouTube webpage.",
          "type": "string"
        },
        "videoAssetId": {
          "description": "Required. The YouTube video asset id. This is the adAssetId of an AdAsset resource.",
          "type": "string",
          "format": "int64"
        }
      },
      "type": "object",
      "id": "YoutubeVideoDetails"
    },
    "ContentGenreTargetingOptionDetails": {
      "description": "Represents a targetable content genre. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the content genre",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "ContentGenreTargetingOptionDetails"
    },
    "GoogleAudienceGroup": {
      "type": "object",
      "id": "GoogleAudienceGroup",
      "description": "Details of Google audience group. All Google audience targeting settings are logically ‘OR’ of each other.",
      "properties": {
        "settings": {
          "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with the same id will be ignored.",
          "items": {
            "$ref": "GoogleAudienceTargetingSetting"
          },
          "type": "array"
        }
      }
    },
    "Creative": {
      "type": "object",
      "id": "Creative",
      "description": "A single Creative.",
      "properties": {
        "creativeId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the creative. Assigned by the system.",
          "readOnly": true
        },
        "skipOffset": {
          "description": "Optional. Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "$ref": "AudioVideoOffset"
        },
        "lineItemIds": {
          "description": "Output only. The IDs of the line items this creative is associated with. To associate a creative to a line item, use LineItem.creative_ids instead.",
          "readOnly": true,
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the creative.",
          "readOnly": true
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The timestamp when the creative was last updated, either by the user or system (e.g. creative review). Assigned by the system.",
          "type": "string",
          "format": "google-datetime"
        },
        "reviewStatus": {
          "readOnly": true,
          "description": "Output only. The current status of the creative review process.",
          "$ref": "ReviewStatusInfo"
        },
        "notes": {
          "description": "Optional. User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.",
          "type": "string"
        },
        "appendedTag": {
          "description": "Optional. Third-party HTML tracking tag to be appended to the creative tag.",
          "type": "string"
        },
        "cmTrackingAd": {
          "description": "Optional. The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases.",
          "$ref": "CmTrackingAd"
        },
        "mediaDuration": {
          "type": "string",
          "format": "google-duration",
          "readOnly": true,
          "description": "Output only. Media duration of the creative. Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`"
        },
        "iasCampaignMonitoring": {
          "description": "Optional. Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.",
          "type": "boolean"
        },
        "universalAdId": {
          "description": "Optional. An optional creative identifier provided by a registry that is unique across all platforms. Universal Ad ID is part of the VAST 4.0 standard. It can be modified after the creative is created. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "$ref": "UniversalAdId"
        },
        "creativeType": {
          "enum": [
            "CREATIVE_TYPE_UNSPECIFIED",
            "CREATIVE_TYPE_STANDARD",
            "CREATIVE_TYPE_EXPANDABLE",
            "CREATIVE_TYPE_VIDEO",
            "CREATIVE_TYPE_NATIVE",
            "CREATIVE_TYPE_TEMPLATED_APP_INSTALL",
            "CREATIVE_TYPE_NATIVE_SITE_SQUARE",
            "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL",
            "CREATIVE_TYPE_LIGHTBOX",
            "CREATIVE_TYPE_NATIVE_APP_INSTALL",
            "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE",
            "CREATIVE_TYPE_AUDIO",
            "CREATIVE_TYPE_PUBLISHER_HOSTED",
            "CREATIVE_TYPE_NATIVE_VIDEO",
            "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO",
            "CREATIVE_TYPE_ASSET_BASED_CREATIVE"
          ],
          "description": "Required. Immutable. The type of the creative.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Standard display creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`",
            "Expandable creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_THIRD_PARTY`",
            "Video creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`",
            "Native creative rendered by publishers with assets from advertiser. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`",
            "Templated app install mobile creative (banner). Create and update methods are **not** supported for this creative type.",
            "Square native creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`",
            "Interstitial creative including both display and video. Create and update methods are **not** supported for this creative type.",
            "Responsive and expandable Lightbox creative. Create and update methods are **not** supported for this creative type.",
            "Native app install creative. Create and update methods are **not** supported for this creative type.",
            "Square native app install creative. Create and update methods are **not** supported for this creative type.",
            "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`",
            "Publisher hosted creative. Create and update methods are **not** supported for this creative type.",
            "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`",
            "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.",
            "Asset-based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`."
          ]
        },
        "hostingSource": {
          "description": "Required. Indicates where the creative is hosted.",
          "enum": [
            "HOSTING_SOURCE_UNSPECIFIED",
            "HOSTING_SOURCE_CM",
            "HOSTING_SOURCE_THIRD_PARTY",
            "HOSTING_SOURCE_HOSTED",
            "HOSTING_SOURCE_RICH_MEDIA"
          ],
          "type": "string",
          "enumDescriptions": [
            "Hosting source is not specified or is unknown in this version.",
            "A creative synced from Campaign Manager 360. Create and update methods are **not** supported for this hosting type.",
            "A creative hosted by a third-party ad server (3PAS). Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`",
            "A creative created in DV360 and hosted by Campaign Manager 360. Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`",
            "A rich media creative created in Studio and hosted by Campaign Manager 360. Create and update methods are **not** supported for this hosting type."
          ]
        },
        "skippable": {
          "description": "Optional. Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "type": "boolean"
        },
        "entityStatus": {
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ],
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Required. Controls whether or not the creative can serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The timestamp when the creative was created. Assigned by the system."
        },
        "requirePingForAttribution": {
          "description": "Optional. Indicates that the creative will wait for a return ping for attribution. Only valid when using a Campaign Manager 360 tracking ad with a third-party ad server parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives or third-party VAST tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`",
          "type": "boolean"
        },
        "progressOffset": {
          "description": "Optional. Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "$ref": "AudioVideoOffset"
        },
        "mp3Audio": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Indicates the third-party audio creative supports MP3. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`"
        },
        "vastTagUrl": {
          "description": "Optional. The URL of the VAST tag for a third-party VAST tag creative. Required and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`",
          "type": "string"
        },
        "timerEvents": {
          "type": "array",
          "description": "Optional. Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.",
          "items": {
            "$ref": "TimerEvent"
          }
        },
        "trackerUrls": {
          "description": "Optional. Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with `https:` (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "expandingDirection": {
          "type": "string",
          "enumDescriptions": [
            "The expanding direction is not specified.",
            "Does not expand in any direction.",
            "Expands up.",
            "Expands down.",
            "Expands left.",
            "Expands right.",
            "Expands up and to the left side.",
            "Expands up and to the right side.",
            "Expands down and to the left side.",
            "Expands down and to the right side.",
            "Expands either up or down.",
            "Expands to either the left or the right side.",
            "Can expand in any diagonal direction."
          ],
          "enum": [
            "EXPANDING_DIRECTION_UNSPECIFIED",
            "EXPANDING_DIRECTION_NONE",
            "EXPANDING_DIRECTION_UP",
            "EXPANDING_DIRECTION_DOWN",
            "EXPANDING_DIRECTION_LEFT",
            "EXPANDING_DIRECTION_RIGHT",
            "EXPANDING_DIRECTION_UP_AND_LEFT",
            "EXPANDING_DIRECTION_UP_AND_RIGHT",
            "EXPANDING_DIRECTION_DOWN_AND_LEFT",
            "EXPANDING_DIRECTION_DOWN_AND_RIGHT",
            "EXPANDING_DIRECTION_UP_OR_DOWN",
            "EXPANDING_DIRECTION_LEFT_OR_RIGHT",
            "EXPANDING_DIRECTION_ANY_DIAGONAL"
          ],
          "description": "Optional. Specifies the expanding direction of the creative. Required and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`"
        },
        "additionalDimensions": {
          "type": "array",
          "items": {
            "$ref": "Dimensions"
          },
          "description": "Optional. Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0."
        },
        "jsTrackerUrl": {
          "description": "Optional. JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in the following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`",
          "type": "string"
        },
        "cmPlacementId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the Campaign Manager 360 placement associated with the creative. This field is only applicable for creatives that are synced from Campaign Manager.",
          "type": "string",
          "format": "int64"
        },
        "vpaid": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Indicates the third-party VAST tag creative requires VPAID (Digital Video Player-Ad Interface). Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`"
        },
        "dimensions": {
          "description": "Required. Primary dimensions of the creative. Applicable to all creative types. The value of width_pixels and height_pixels defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO`",
          "$ref": "Dimensions"
        },
        "transcodes": {
          "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer’s connection and screen size. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`",
          "readOnly": true,
          "items": {
            "$ref": "Transcode"
          },
          "type": "array"
        },
        "assets": {
          "type": "array",
          "items": {
            "$ref": "AssetAssociation"
          },
          "description": "Required. Assets associated to this creative."
        },
        "counterEvents": {
          "description": "Optional. Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.",
          "items": {
            "$ref": "CounterEvent"
          },
          "type": "array"
        },
        "companionCreativeIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Optional. The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`"
        },
        "oggAudio": {
          "description": "Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`",
          "readOnly": true,
          "type": "boolean"
        },
        "thirdPartyUrls": {
          "items": {
            "$ref": "ThirdPartyUrl"
          },
          "description": "Optional. Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`",
          "type": "array"
        },
        "requireHtml5": {
          "description": "Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`",
          "type": "boolean"
        },
        "expandOnHover": {
          "description": "Optional. Indicates the creative will automatically expand on hover. Optional and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`",
          "type": "boolean"
        },
        "obaIcon": {
          "description": "Optional. Specifies the OBA icon for a video creative. This field is only supported in the following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "$ref": "ObaIcon"
        },
        "displayName": {
          "description": "Required. The display name of the creative. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "html5Video": {
          "description": "Output only. Indicates the third-party VAST tag creative requires HTML5 Video support. Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`",
          "readOnly": true,
          "type": "boolean"
        },
        "dynamic": {
          "description": "Output only. Indicates whether the creative is dynamic.",
          "readOnly": true,
          "type": "boolean"
        },
        "exitEvents": {
          "items": {
            "$ref": "ExitEvent"
          },
          "description": "Required. Exit events for this creative. An exit (also known as a click tag) is any area in your creative that someone can click or tap to open an advertiser's landing page. Every creative must include at least one exit. You can add an exit to your creative in any of the following ways: * Use Google Web Designer's tap area. * Define a JavaScript variable called \"clickTag\". * Use the Enabler (Enabler.exit()) to track exits in rich media formats.",
          "type": "array"
        },
        "thirdPartyTag": {
          "description": "Optional. The original third-party tag used for the creative. Required and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`",
          "type": "string"
        },
        "integrationCode": {
          "description": "Optional. ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.",
          "type": "string"
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the advertiser the creative belongs to.",
          "readOnly": true
        },
        "creativeAttributes": {
          "type": "array",
          "description": "Output only. A list of attributes of the creative that is generated by the system.",
          "readOnly": true,
          "items": {
            "type": "string",
            "enumDescriptions": [
              "The creative attribute is not specified or is unknown in this version.",
              "The creative is a VAST creative.",
              "The creative is a linear VPAID creative.",
              "The creative is a non-linear VPAID creative."
            ],
            "enum": [
              "CREATIVE_ATTRIBUTE_UNSPECIFIED",
              "CREATIVE_ATTRIBUTE_VAST",
              "CREATIVE_ATTRIBUTE_VPAID_LINEAR",
              "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR"
            ]
          }
        },
        "requireMraid": {
          "description": "Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface Definitions system). Set this if the creative relies on mobile gestures for interactivity, such as swiping or tapping. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`",
          "type": "boolean"
        }
      }
    },
    "ExchangeConfigEnabledExchange": {
      "type": "object",
      "id": "ExchangeConfigEnabledExchange",
      "description": "An enabled exchange in the partner.",
      "properties": {
        "seatId": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Seat ID of the enabled exchange."
        },
        "exchange": {
          "enum": [
            "EXCHANGE_UNSPECIFIED",
            "EXCHANGE_GOOGLE_AD_MANAGER",
            "EXCHANGE_APPNEXUS",
            "EXCHANGE_BRIGHTROLL",
            "EXCHANGE_ADFORM",
            "EXCHANGE_ADMETA",
            "EXCHANGE_ADMIXER",
            "EXCHANGE_ADSMOGO",
            "EXCHANGE_ADSWIZZ",
            "EXCHANGE_BIDSWITCH",
            "EXCHANGE_BRIGHTROLL_DISPLAY",
            "EXCHANGE_CADREON",
            "EXCHANGE_DAILYMOTION",
            "EXCHANGE_FIVE",
            "EXCHANGE_FLUCT",
            "EXCHANGE_FREEWHEEL",
            "EXCHANGE_GENIEE",
            "EXCHANGE_GUMGUM",
            "EXCHANGE_IMOBILE",
            "EXCHANGE_IBILLBOARD",
            "EXCHANGE_IMPROVE_DIGITAL",
            "EXCHANGE_INDEX",
            "EXCHANGE_KARGO",
            "EXCHANGE_MICROAD",
            "EXCHANGE_MOPUB",
            "EXCHANGE_NEND",
            "EXCHANGE_ONE_BY_AOL_DISPLAY",
            "EXCHANGE_ONE_BY_AOL_MOBILE",
            "EXCHANGE_ONE_BY_AOL_VIDEO",
            "EXCHANGE_OOYALA",
            "EXCHANGE_OPENX",
            "EXCHANGE_PERMODO",
            "EXCHANGE_PLATFORMONE",
            "EXCHANGE_PLATFORMID",
            "EXCHANGE_PUBMATIC",
            "EXCHANGE_PULSEPOINT",
            "EXCHANGE_REVENUEMAX",
            "EXCHANGE_RUBICON",
            "EXCHANGE_SMARTCLIP",
            "EXCHANGE_SMARTRTB",
            "EXCHANGE_SMARTSTREAMTV",
            "EXCHANGE_SOVRN",
            "EXCHANGE_SPOTXCHANGE",
            "EXCHANGE_STROER",
            "EXCHANGE_TEADSTV",
            "EXCHANGE_TELARIA",
            "EXCHANGE_TVN",
            "EXCHANGE_UNITED",
            "EXCHANGE_YIELDLAB",
            "EXCHANGE_YIELDMO",
            "EXCHANGE_UNRULYX",
            "EXCHANGE_OPEN8",
            "EXCHANGE_TRITON",
            "EXCHANGE_TRIPLELIFT",
            "EXCHANGE_TABOOLA",
            "EXCHANGE_INMOBI",
            "EXCHANGE_SMAATO",
            "EXCHANGE_AJA",
            "EXCHANGE_SUPERSHIP",
            "EXCHANGE_NEXSTAR_DIGITAL",
            "EXCHANGE_WAZE",
            "EXCHANGE_SOUNDCAST",
            "EXCHANGE_SHARETHROUGH",
            "EXCHANGE_FYBER",
            "EXCHANGE_RED_FOR_PUBLISHERS",
            "EXCHANGE_MEDIANET",
            "EXCHANGE_TAPJOY",
            "EXCHANGE_VISTAR",
            "EXCHANGE_DAX",
            "EXCHANGE_JCD",
            "EXCHANGE_PLACE_EXCHANGE",
            "EXCHANGE_APPLOVIN",
            "EXCHANGE_CONNATIX",
            "EXCHANGE_RESET_DIGITAL",
            "EXCHANGE_HIVESTACK",
            "EXCHANGE_DRAX",
            "EXCHANGE_APPLOVIN_GBID",
            "EXCHANGE_FYBER_GBID",
            "EXCHANGE_UNITY_GBID",
            "EXCHANGE_CHARTBOOST_GBID",
            "EXCHANGE_ADMOST_GBID",
            "EXCHANGE_TOPON_GBID",
            "EXCHANGE_NETFLIX",
            "EXCHANGE_CORE",
            "EXCHANGE_COMMERCE_GRID",
            "EXCHANGE_SPOTIFY",
            "EXCHANGE_TUBI",
            "EXCHANGE_SNAP",
            "EXCHANGE_CADENT"
          ],
          "description": "The enabled exchange.",
          "type": "string",
          "enumDescriptions": [
            "Exchange is not specified or is unknown in this version.",
            "Google Ad Manager.",
            "AppNexus.",
            "BrightRoll Exchange for Video from Yahoo!.",
            "Adform.",
            "Admeta.",
            "Admixer.",
            "AdsMogo.",
            "AdsWizz.",
            "BidSwitch.",
            "BrightRoll Exchange for Display from Yahoo!.",
            "Cadreon.",
            "Dailymotion.",
            "Five.",
            "Fluct.",
            "FreeWheel SSP.",
            "Geniee.",
            "GumGum.",
            "i-mobile.",
            "iBILLBOARD.",
            "Improve Digital.",
            "Index Exchange.",
            "Kargo.",
            "MicroAd.",
            "MoPub.",
            "Nend.",
            "ONE by AOL: Display Market Place.",
            "ONE by AOL: Mobile.",
            "ONE by AOL: Video.",
            "Ooyala.",
            "OpenX.",
            "Permodo.",
            "Platform One.",
            "PlatformId.",
            "PubMatic.",
            "PulsePoint.",
            "RevenueMax.",
            "Rubicon.",
            "SmartClip.",
            "SmartRTB+.",
            "SmartstreamTv.",
            "Sovrn.",
            "SpotXchange.",
            "Ströer SSP.",
            "TeadsTv.",
            "Telaria.",
            "TVN.",
            "United.",
            "Yieldlab.",
            "Yieldmo.",
            "UnrulyX.",
            "Open8.",
            "Triton.",
            "TripleLift.",
            "Taboola.",
            "InMobi.",
            "Smaato.",
            "Aja.",
            "Supership.",
            "Nexstar Digital.",
            "Waze.",
            "SoundCast.",
            "Sharethrough.",
            "Fyber.",
            "Red For Publishers.",
            "Media.net.",
            "Tapjoy.",
            "Vistar.",
            "DAX.",
            "JCD.",
            "Place Exchange.",
            "AppLovin.",
            "Connatix.",
            "Reset Digital.",
            "Hivestack.",
            "Drax.",
            "AppLovin MAX.",
            "DT Fairbid.",
            "Unity LevelPlay.",
            "Chartboost Mediation.",
            "AdMost.",
            "TopOn.",
            "Netflix.",
            "Core.",
            "Commerce Grid.",
            "Spotify.",
            "Tubi.",
            "Snap.",
            "Cadent."
          ]
        },
        "googleAdManagerAgencyId": {
          "type": "string",
          "description": "Output only. Agency ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.",
          "readOnly": true
        },
        "googleAdManagerBuyerNetworkId": {
          "type": "string",
          "description": "Output only. Network ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.",
          "readOnly": true
        }
      }
    },
    "EnvironmentTargetingOptionDetails": {
      "properties": {
        "environment": {
          "readOnly": true,
          "enum": [
            "ENVIRONMENT_UNSPECIFIED",
            "ENVIRONMENT_WEB_OPTIMIZED",
            "ENVIRONMENT_WEB_NOT_OPTIMIZED",
            "ENVIRONMENT_APP"
          ],
          "description": "Output only. The serving environment.",
          "type": "string",
          "enumDescriptions": [
            "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.",
            "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.",
            "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.",
            "Target inventory displayed in apps."
          ]
        }
      },
      "description": "Represents a targetable environment. This will be populated in the environment_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.",
      "id": "EnvironmentTargetingOptionDetails",
      "type": "object"
    },
    "OmidTargetingOptionDetails": {
      "properties": {
        "omid": {
          "readOnly": true,
          "enum": [
            "OMID_UNSPECIFIED",
            "OMID_FOR_MOBILE_DISPLAY_ADS"
          ],
          "description": "Output only. The type of Open Measurement enabled inventory.",
          "type": "string",
          "enumDescriptions": [
            "Default value when omid targeting is not specified in this version.",
            "Open Measurement enabled mobile display inventory."
          ]
        }
      },
      "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the omid_details field when targeting_type is `TARGETING_TYPE_OMID`.",
      "id": "OmidTargetingOptionDetails",
      "type": "object"
    },
    "ParentalStatusTargetingOptionDetails": {
      "type": "object",
      "id": "ParentalStatusTargetingOptionDetails",
      "description": "Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.",
      "properties": {
        "parentalStatus": {
          "description": "Output only. The parental status of an audience.",
          "enum": [
            "PARENTAL_STATUS_UNSPECIFIED",
            "PARENTAL_STATUS_PARENT",
            "PARENTAL_STATUS_NOT_A_PARENT",
            "PARENTAL_STATUS_UNKNOWN"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.",
            "The audience is a parent.",
            "The audience is not a parent.",
            "The parental status of the audience is unknown."
          ],
          "readOnly": true
        }
      }
    },
    "Channel": {
      "id": "Channel",
      "type": "object",
      "properties": {
        "positivelyTargetedLineItemCount": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. Number of line items that are directly targeting this channel positively."
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the channel.",
          "readOnly": true
        },
        "channelId": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The unique ID of the channel. Assigned by the system."
        },
        "advertiserId": {
          "description": "The ID of the advertiser that owns the channel.",
          "type": "string",
          "format": "int64"
        },
        "negativelyTargetedLineItemCount": {
          "description": "Output only. Number of line items that are directly targeting this channel negatively.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "partnerId": {
          "description": "The ID of the partner that owns the channel.",
          "type": "string",
          "format": "int64"
        },
        "displayName": {
          "description": "Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.",
          "type": "string"
        }
      },
      "description": "A single channel. Channels are custom groups of related websites and apps."
    },
    "HouseholdIncomeTargetingOptionDetails": {
      "description": "Represents a targetable household income. This will be populated in the household_income_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.",
      "properties": {
        "householdIncome": {
          "type": "string",
          "enumDescriptions": [
            "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.",
            "The household income of the audience is unknown.",
            "The audience is in the lower 50% of U.S. household incomes.",
            "The audience is in the top 41-50% of U.S. household incomes.",
            "The audience is in the top 31-40% of U.S. household incomes.",
            "The audience is in the top 21-30% of U.S. household incomes.",
            "The audience is in the top 11-20% of U.S. household incomes.",
            "The audience is in the top 10% of U.S. household incomes."
          ],
          "description": "Output only. The household income of an audience.",
          "enum": [
            "HOUSEHOLD_INCOME_UNSPECIFIED",
            "HOUSEHOLD_INCOME_UNKNOWN",
            "HOUSEHOLD_INCOME_LOWER_50_PERCENT",
            "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT",
            "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT",
            "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT",
            "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT",
            "HOUSEHOLD_INCOME_TOP_10_PERCENT"
          ],
          "readOnly": true
        }
      },
      "type": "object",
      "id": "HouseholdIncomeTargetingOptionDetails"
    },
    "AssignedInventorySource": {
      "description": "An assignment between a targetable inventory source and an inventory source group.",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the assigned inventory source."
        },
        "assignedInventorySourceId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the assigned inventory source. The ID is only unique within a given inventory source group. It may be reused in other contexts.",
          "readOnly": true
        },
        "inventorySourceId": {
          "description": "Required. The ID of the inventory source entity being targeted.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "AssignedInventorySource"
    },
    "InventorySourceFilter": {
      "type": "object",
      "id": "InventorySourceFilter",
      "description": "A filtering option for filtering on Inventory Source entities.",
      "properties": {
        "inventorySourceIds": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Inventory Sources to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Leave empty to download all Inventory Sources for the selected Advertiser or Partner.",
          "type": "array"
        }
      }
    },
    "CategoryTargetingOptionDetails": {
      "properties": {
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the category."
        }
      },
      "description": "Represents a targetable category. This will be populated in the category_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.",
      "id": "CategoryTargetingOptionDetails",
      "type": "object"
    },
    "AdUrl": {
      "id": "AdUrl",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "AD_URL_TYPE_UNSPECIFIED",
            "AD_URL_TYPE_BEACON_IMPRESSION",
            "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION",
            "AD_URL_TYPE_BEACON_CLICK",
            "AD_URL_TYPE_BEACON_SKIP"
          ],
          "description": "The type of the Ad URL.",
          "type": "string",
          "enumDescriptions": [
            "Unknown or unspecified.",
            "A 1x1 tracking pixel to ping when an impression of a creative is delivered.",
            "Expandable DCM impression beacon. At serving time, it is expanded to several beacons.",
            "Tracking URL to ping when the click event is triggered.",
            "Tracking URL to ping when the skip event is triggered."
          ]
        },
        "url": {
          "description": "The URL string value.",
          "type": "string"
        }
      },
      "description": "Additional URLs related to the ad, including beacons."
    },
    "ListLocationListsResponse": {
      "properties": {
        "locationLists": {
          "items": {
            "$ref": "LocationList"
          },
          "description": "The list of location lists. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLocationLists` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListLocationListsResponse"
    },
    "VideoAdInventoryControl": {
      "properties": {
        "allowInFeed": {
          "description": "Optional. Whether ads can serve as in-feed format.",
          "type": "boolean"
        },
        "allowInStream": {
          "description": "Optional. Whether ads can serve as in-stream format.",
          "type": "boolean"
        },
        "allowShorts": {
          "description": "Optional. Whether ads can serve as shorts format.",
          "type": "boolean"
        }
      },
      "description": "The video ad inventory control used in certain YouTube line item types.",
      "id": "VideoAdInventoryControl",
      "type": "object"
    },
    "YoutubeVideoAssignedTargetingOptionDetails": {
      "id": "YoutubeVideoAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "videoId": {
          "description": "YouTube video id as it appears on the YouTube watch page.",
          "type": "string"
        }
      },
      "description": "Details for YouTube video assigned targeting option. This will be populated in the youtube_video_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`."
    },
    "NonSkippableAd": {
      "type": "object",
      "id": "NonSkippableAd",
      "description": "Details for a non-skippable ad.",
      "properties": {
        "customParameters": {
          "description": "The custom parameters and accompanying values to add to the tracking URL.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "commonInStreamAttribute": {
          "description": "Common ad attributes.",
          "$ref": "CommonInStreamAttribute"
        }
      }
    },
    "CombinedAudienceTargetingSetting": {
      "description": "Details of combined audience targeting setting.",
      "properties": {
        "combinedAudienceId": {
          "description": "Required. Combined audience id of combined audience targeting setting. This id is combined_audience_id.",
          "type": "string",
          "format": "int64"
        }
      },
      "type": "object",
      "id": "CombinedAudienceTargetingSetting"
    },
    "ThirdPartyUrl": {
      "type": "object",
      "id": "ThirdPartyUrl",
      "description": "Tracking URLs from third parties to track interactions with an audio or a video creative.",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "The type of third-party URL is unspecified or is unknown in this version.",
            "Used to count impressions of the creative after the audio or video buffering is complete.",
            "Used to track user clicks on the audio or video.",
            "Used to track the number of times a user starts the audio or video.",
            "Used to track the number of times the audio or video plays to 25% of its length.",
            "Used to track the number of times the audio or video plays to 50% of its length.",
            "Used to track the number of times the audio or video plays to 75% of its length.",
            "Used to track the number of times the audio or video plays to the end.",
            "Used to track the number of times a user mutes the audio or video.",
            "Used to track the number of times a user pauses the audio or video.",
            "Used to track the number of times a user replays the audio or video.",
            "Used to track the number of times a user expands the player to full-screen size.",
            "Used to track the number of times a user stops the audio or video.",
            "Used to track the number of times a user performs a custom click, such as clicking on a video hot spot.",
            "Used to track the number of times the audio or video was skipped.",
            "Used to track the number of times the audio or video plays to an offset determined by the progress_offset."
          ],
          "enum": [
            "THIRD_PARTY_URL_TYPE_UNSPECIFIED",
            "THIRD_PARTY_URL_TYPE_IMPRESSION",
            "THIRD_PARTY_URL_TYPE_CLICK_TRACKING",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP",
            "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS"
          ],
          "description": "Optional. The type of interaction needs to be tracked by the tracking URL"
        },
        "url": {
          "description": "Optional. Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, `https://www.example.com/path`",
          "type": "string"
        }
      }
    },
    "DoubleVerifyFraudInvalidTraffic": {
      "id": "DoubleVerifyFraudInvalidTraffic",
      "type": "object",
      "properties": {
        "avoidedFraudOption": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any fraud and invalid traffic options.",
            "100% Fraud & IVT.",
            "50% or Higher Fraud & IVT.",
            "25% or Higher Fraud & IVT.",
            "10% or Higher Fraud & IVT.",
            "8% or Higher Fraud & IVT.",
            "6% or Higher Fraud & IVT.",
            "4% or Higher Fraud & IVT.",
            "2% or Higher Fraud & IVT."
          ],
          "description": "Avoid Sites and Apps with historical Fraud & IVT.",
          "enum": [
            "FRAUD_UNSPECIFIED",
            "AD_IMPRESSION_FRAUD_100",
            "AD_IMPRESSION_FRAUD_50",
            "AD_IMPRESSION_FRAUD_25",
            "AD_IMPRESSION_FRAUD_10",
            "AD_IMPRESSION_FRAUD_8",
            "AD_IMPRESSION_FRAUD_6",
            "AD_IMPRESSION_FRAUD_4",
            "AD_IMPRESSION_FRAUD_2"
          ]
        },
        "avoidInsufficientOption": {
          "description": "Insufficient Historical Fraud & IVT Stats.",
          "type": "boolean"
        }
      },
      "description": "DoubleVerify Fraud & Invalid Traffic settings."
    },
    "AppCategoryTargetingOptionDetails": {
      "properties": {
        "displayName": {
          "description": "Output only. The name of the app collection.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Represents a targetable collection of apps. A collection lets you target dynamic groups of related apps that are maintained by the platform, for example `All Apps/Google Play/Games`. This will be populated in the app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.",
      "id": "AppCategoryTargetingOptionDetails",
      "type": "object"
    },
    "CustomBiddingScript": {
      "properties": {
        "errors": {
          "type": "array",
          "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when state is REJECTED.",
          "readOnly": true,
          "items": {
            "$ref": "ScriptError"
          }
        },
        "script": {
          "description": "The reference to the uploaded script file.",
          "$ref": "CustomBiddingScriptRef"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the custom bidding script."
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time when the script was created.",
          "readOnly": true
        },
        "state": {
          "type": "string",
          "enumDescriptions": [
            "The script state is not specified or is unknown in this version.",
            "The script has been accepted for scoring impressions.",
            "The script has been rejected by backend pipelines. It may have errors.",
            "The script is being processed for backend pipelines."
          ],
          "description": "Output only. The state of the custom bidding script.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACCEPTED",
            "REJECTED",
            "PENDING"
          ],
          "readOnly": true
        },
        "customBiddingAlgorithmId": {
          "type": "string",
          "format": "int64",
          "description": "Output only. The unique ID of the custom bidding algorithm the script belongs to.",
          "readOnly": true
        },
        "customBiddingScriptId": {
          "description": "Output only. The unique ID of the custom bidding script.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "active": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Whether the script is currently being used for scoring by the parent algorithm."
        }
      },
      "description": "A single custom bidding script.",
      "id": "CustomBiddingScript",
      "type": "object"
    },
    "VideoPlayerSizeAssignedTargetingOptionDetails": {
      "id": "VideoPlayerSizeAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "videoPlayerSize": {
          "type": "string",
          "enumDescriptions": [
            "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.",
            "The dimensions of the video player are less than 400×300 (desktop), or up to 20% of screen covered (mobile).",
            "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).",
            "The dimensions of the video player are 1280×720 or greater (desktop), or over 90% of the screen covered (mobile).",
            "The dimensions of the video player are unknown."
          ],
          "description": "Required. The video player size.",
          "enum": [
            "VIDEO_PLAYER_SIZE_UNSPECIFIED",
            "VIDEO_PLAYER_SIZE_SMALL",
            "VIDEO_PLAYER_SIZE_LARGE",
            "VIDEO_PLAYER_SIZE_HD",
            "VIDEO_PLAYER_SIZE_UNKNOWN"
          ]
        }
      },
      "description": "Video player size targeting option details. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not supported. Remove all video player size targeting options to achieve this effect."
    },
    "YoutubeChannelAssignedTargetingOptionDetails": {
      "properties": {
        "channelId": {
          "description": "The YouTube uploader channel id or the channel code of a YouTube channel.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        }
      },
      "description": "Details for YouTube channel assigned targeting option. This will be populated in the youtube_channel_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.",
      "id": "YoutubeChannelAssignedTargetingOptionDetails",
      "type": "object"
    },
    "DemandGenBiddingStrategy": {
      "properties": {
        "value": {
          "description": "Optional. The value used by the bidding strategy. This can be set when assigned to line items or ad groups. This field is only applicable for the following strategy types: * `DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPC` * `DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_ROAS` Value of this field is in micros of the advertiser's currency or ROAS value. For example, 1000000 represents 1.0 standard units of the currency or 100% ROAS value. If not using an applicable strategy, the value of this field will be 0.",
          "type": "string",
          "format": "int64"
        },
        "effectiveBiddingValueSource": {
          "type": "string",
          "enumDescriptions": [
            "Bidding source is not specified or unknown.",
            "Bidding value is inherited from the line item.",
            "Bidding value is defined in the ad group."
          ],
          "enum": [
            "BIDDING_SOURCE_UNSPECIFIED",
            "BIDDING_SOURCE_LINE_ITEM",
            "BIDDING_SOURCE_AD_GROUP"
          ],
          "description": "Output only. Source of the effective bidding value.",
          "readOnly": true
        },
        "effectiveBiddingValue": {
          "description": "Output only. The value effectively used by the bidding strategy. This field will be the same as value if set. If value is not set and the strategy is assigned to an ad group, this field will be inherited from the line item's bidding strategy. If type is not `DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA` or `DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_ROAS`, this field will be 0.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "type": {
          "description": "Optional. The type of the bidding strategy. This can only be set when assigned to a line item. Ad groups will inherit this value from their line item.",
          "enum": [
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_UNSPECIFIED",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPA",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_ROAS",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_MAXIMIZE_CLICKS",
            "DEMAND_GEN_BIDDING_STRATEGY_TYPE_TARGET_CPC"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type is not specified or unknown.",
            "A bidding strategy that automatically optimizes conversions per dollar.",
            "A bidding strategy that automatically maximizes revenue while averaging a specific target Return On Ad Spend (ROAS).",
            "A bidding strategy that automatically maximizes number of conversions",
            "A bidding strategy that automatically maximizes revenue while spending your budget.",
            "A bidding strategy that automatically maximizes clicks within a given budget.",
            "A bidding strategy that automatically optimizes cost per click."
          ]
        }
      },
      "description": "Settings that control the bid strategy for Demand Gen resources.",
      "id": "DemandGenBiddingStrategy",
      "type": "object"
    },
    "PartnerRevenueModel": {
      "properties": {
        "markupType": {
          "enumDeprecated": [
            false,
            false,
            true,
            false
          ],
          "enum": [
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED",
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM",
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP",
            "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP"
          ],
          "description": "Required. The markup type of the partner revenue model. This field must be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP` for Demand Gen line items.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Calculate the partner revenue based on a fixed CPM.",
            "Calculate the partner revenue based on a percentage surcharge of its media cost.",
            "Calculate the partner revenue based on a percentage surcharge of its total media cost, which includes all partner costs and data costs."
          ]
        },
        "markupAmount": {
          "description": "Required. The markup amount of the partner revenue model. Must be greater than or equal to 0. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup in micros of advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents the media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001). * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field represents the total media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001).",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Settings that control how partner revenue is calculated.",
      "id": "PartnerRevenueModel",
      "type": "object"
    },
    "ActivateManualTriggerRequest": {
      "type": "object",
      "id": "ActivateManualTriggerRequest",
      "description": "Request message for ManualTriggerService.ActivateManualTrigger.",
      "properties": {}
    },
    "PoiSearchTerms": {
      "description": "Search terms for POI targeting options.",
      "properties": {
        "poiQuery": {
          "description": "The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. \"Times squar\", \"40.7505045,-73.99562\", \"315 W 44th St\", etc.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "PoiSearchTerms"
    },
    "ReplaceNegativeKeywordsRequest": {
      "type": "object",
      "id": "ReplaceNegativeKeywordsRequest",
      "description": "Request message for NegativeKeywordService.ReplaceNegativeKeywords.",
      "properties": {
        "newNegativeKeywords": {
          "type": "array",
          "items": {
            "$ref": "NegativeKeyword"
          },
          "description": "The negative keywords that will replace the existing keywords in the negative keyword list, specified as a list of NegativeKeywords."
        }
      }
    },
    "VideoAdSequenceSettings": {
      "type": "object",
      "id": "VideoAdSequenceSettings",
      "description": "Settings related to VideoAdSequence.",
      "properties": {
        "minimumDuration": {
          "enum": [
            "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED",
            "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK",
            "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH"
          ],
          "description": "The minimum time interval before the same user sees this sequence again.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified or unknown.",
            "7 days.",
            "30 days."
          ]
        },
        "steps": {
          "type": "array",
          "items": {
            "$ref": "VideoAdSequenceStep"
          },
          "description": "The steps of which the sequence consists."
        }
      }
    },
    "ListCreativesResponse": {
      "id": "ListCreativesResponse",
      "type": "object",
      "properties": {
        "creatives": {
          "description": "The list of creatives. This list will be absent if empty.",
          "items": {
            "$ref": "Creative"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCreativesRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.",
          "type": "string"
        }
      }
    },
    "ListAdvertisersResponse": {
      "id": "ListAdvertisersResponse",
      "type": "object",
      "properties": {
        "advertisers": {
          "items": {
            "$ref": "Advertiser"
          },
          "description": "The list of advertisers. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdvertisers` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "AdvertiserCreativeConfig": {
      "type": "object",
      "id": "AdvertiserCreativeConfig",
      "description": "Creatives related settings of an advertiser.",
      "properties": {
        "iasClientId": {
          "type": "string",
          "format": "int64",
          "description": "An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will append an IAS \"Campaign Monitor\" tag containing this ID to the creative tag."
        },
        "dynamicCreativeEnabled": {
          "description": "Whether or not the advertiser is enabled for dynamic creatives.",
          "type": "boolean"
        },
        "obaComplianceDisabled": {
          "description": "Whether or not to disable Google's About this Ad feature that adds badging (to identify the content as an ad) and transparency information (on interaction with About this Ad) to your ads for Online Behavioral Advertising (OBA) and regulatory requirements. About this Ad gives users greater control over the ads they see and helps you explain why they're seeing your ad. [Learn more](//support.google.com/displayvideo/answer/14315795). If you choose to set this field to `true`, note that ads served through Display & Video 360 must comply to the following: * Be Online Behavioral Advertising (OBA) compliant, as per your contract with Google Marketing Platform. * In the European Economic Area (EEA), include transparency information and a mechanism for users to report illegal content in ads. If using an alternative ad badging, transparency, and reporting solution, you must ensure it includes the required transparency information and illegal content flagging mechanism and that you notify Google of any illegal content reports using the appropriate [form](//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-EU#ts=2981967%2C2982031%2C12980091).",
          "type": "boolean"
        },
        "videoCreativeDataSharingAuthorized": {
          "description": "By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives associated with this Display & Video 360 advertiser to provide reporting and features related to the advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server configuration.",
          "type": "boolean"
        }
      }
    },
    "ListCustomListsResponse": {
      "properties": {
        "customLists": {
          "type": "array",
          "description": "The list of custom lists. This list will be absent if empty.",
          "items": {
            "$ref": "CustomList"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomLists` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListCustomListsResponse"
    },
    "CreateAssignedTargetingOptionsRequest": {
      "description": "A request listing which assigned targeting options of a given targeting type should be created and added.",
      "properties": {
        "assignedTargetingOptions": {
          "type": "array",
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "description": "Required. The assigned targeting options to create and add."
        },
        "targetingType": {
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown in this version.",
            "Target a channel (a custom group of related websites or apps).",
            "Target an app category (for example, education or puzzle games).",
            "Target a specific app (for example, Angry Birds).",
            "Target a specific url (for example, quora.com).",
            "Target ads during a chosen time period on a specific day.",
            "Target ads to a specific age range (for example, 18-24).",
            "Target ads to the specified regions on a regional location list.",
            "Target ads to the specified points of interest on a proximity location list.",
            "Target ads to a specific gender (for example, female or male).",
            "Target a specific video player size for video ads.",
            "Target user rewarded content for video ads.",
            "Target ads to a specific parental status (for example, parent or not a parent).",
            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
            "Target ads in a specific content outstream position.",
            "Target ads to a specific device type (for example, tablet or connected TV).",
            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
            "Target ads to specific web browsers (for example, Chrome).",
            "Target ads to a specific household income range (for example, top 10%).",
            "Target ads in a specific on screen position.",
            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
            "Filter website content by sensitive categories (for example, adult).",
            "Target ads to a specific environment (for example, web or app).",
            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
            "Target ads to a specific operating system (for example, macOS).",
            "Target ads to a specific device make or model (for example, Roku or Samsung).",
            "Target ads to a specific keyword (for example, dog or retriever).",
            "Target ads to a specific negative keyword list.",
            "Target ads to a specific viewability (for example, 80% viewable).",
            "Target ads to a specific content category (for example, arts & entertainment).",
            "Purchase impressions from specific deals and auction packages.",
            "Target ads to a specific language (for example, English or Japanese).",
            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
            "Target ads to a specific regional location (for example, a city or state).",
            "Purchase impressions from a group of deals and auction packages.",
            "Purchase impressions from specific exchanges.",
            "Purchase impressions from specific sub-exchanges.",
            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
            "Target ads around locations of a business chain within a specific geo region.",
            "Target ads to a specific video content duration.",
            "Target ads to a specific video content stream type.",
            "Target ads to a specific native content position.",
            "Target ads in an Open Measurement enabled inventory.",
            "Target ads to a specific audio content type.",
            "Target ads to a specific content genre.",
            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
          ],
          "description": "Required. Identifies the type of this assigned targeting option.",
          "enum": [
            "TARGETING_TYPE_UNSPECIFIED",
            "TARGETING_TYPE_CHANNEL",
            "TARGETING_TYPE_APP_CATEGORY",
            "TARGETING_TYPE_APP",
            "TARGETING_TYPE_URL",
            "TARGETING_TYPE_DAY_AND_TIME",
            "TARGETING_TYPE_AGE_RANGE",
            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
            "TARGETING_TYPE_GENDER",
            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
            "TARGETING_TYPE_USER_REWARDED_CONTENT",
            "TARGETING_TYPE_PARENTAL_STATUS",
            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
            "TARGETING_TYPE_DEVICE_TYPE",
            "TARGETING_TYPE_AUDIENCE_GROUP",
            "TARGETING_TYPE_BROWSER",
            "TARGETING_TYPE_HOUSEHOLD_INCOME",
            "TARGETING_TYPE_ON_SCREEN_POSITION",
            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
            "TARGETING_TYPE_ENVIRONMENT",
            "TARGETING_TYPE_CARRIER_AND_ISP",
            "TARGETING_TYPE_OPERATING_SYSTEM",
            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
            "TARGETING_TYPE_KEYWORD",
            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
            "TARGETING_TYPE_VIEWABILITY",
            "TARGETING_TYPE_CATEGORY",
            "TARGETING_TYPE_INVENTORY_SOURCE",
            "TARGETING_TYPE_LANGUAGE",
            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
            "TARGETING_TYPE_GEO_REGION",
            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
            "TARGETING_TYPE_EXCHANGE",
            "TARGETING_TYPE_SUB_EXCHANGE",
            "TARGETING_TYPE_POI",
            "TARGETING_TYPE_BUSINESS_CHAIN",
            "TARGETING_TYPE_CONTENT_DURATION",
            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
            "TARGETING_TYPE_OMID",
            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
            "TARGETING_TYPE_CONTENT_GENRE",
            "TARGETING_TYPE_YOUTUBE_VIDEO",
            "TARGETING_TYPE_YOUTUBE_CHANNEL",
            "TARGETING_TYPE_SESSION_POSITION"
          ]
        }
      },
      "type": "object",
      "id": "CreateAssignedTargetingOptionsRequest"
    },
    "User": {
      "type": "object",
      "id": "User",
      "description": "A single user in Display & Video 360.",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the user."
        },
        "assignedUserRoles": {
          "description": "The assigned user roles. Required in CreateUser. Output only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles.",
          "items": {
            "$ref": "AssignedUserRole"
          },
          "type": "array"
        },
        "lastLoginTime": {
          "readOnly": true,
          "description": "Output only. The timestamp when the user last logged in DV360 UI.",
          "type": "string",
          "format": "google-datetime"
        },
        "email": {
          "description": "Required. Immutable. The email address used to identify the user.",
          "type": "string"
        },
        "userId": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The unique ID of the user. Assigned by the system."
        },
        "displayName": {
          "description": "Required. The display name of the user. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        }
      }
    },
    "AppCategoryAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "AppCategoryAssignedTargetingOptionDetails",
      "description": "Details for assigned app category targeting option. This will be populated in the app_category_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.",
      "properties": {
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the app category.",
          "type": "string"
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.",
          "type": "string"
        }
      }
    },
    "ListNegativeKeywordListsResponse": {
      "properties": {
        "negativeKeywordLists": {
          "type": "array",
          "description": "The list of negative keyword lists. This list will be absent if empty.",
          "items": {
            "$ref": "NegativeKeywordList"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywordLists` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "description": "Response message for NegativeKeywordListService.ListNegativeKeywordLists.",
      "id": "ListNegativeKeywordListsResponse",
      "type": "object"
    },
    "PartnerGeneralConfig": {
      "type": "object",
      "id": "PartnerGeneralConfig",
      "description": "General settings of a partner.",
      "properties": {
        "currencyCode": {
          "description": "Immutable. Partner's currency in ISO 4217 format.",
          "type": "string"
        },
        "timeZone": {
          "description": "Immutable. The standard TZ database name of the partner's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones",
          "type": "string"
        }
      }
    },
    "UserRewardedContentTargetingOptionDetails": {
      "properties": {
        "userRewardedContent": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "User rewarded content is not specified or is unknown in this version.",
            "Represents ads where the user will see a reward after viewing.",
            "Represents all other ads besides user-rewarded."
          ],
          "enum": [
            "USER_REWARDED_CONTENT_UNSPECIFIED",
            "USER_REWARDED_CONTENT_USER_REWARDED",
            "USER_REWARDED_CONTENT_NOT_USER_REWARDED"
          ],
          "description": "Output only. User rewarded content status for video ads."
        }
      },
      "description": "Represents a targetable user rewarded content status for video ads only. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.",
      "id": "UserRewardedContentTargetingOptionDetails",
      "type": "object"
    },
    "GenderTargetingOptionDetails": {
      "properties": {
        "gender": {
          "readOnly": true,
          "description": "Output only. The gender of an audience.",
          "enum": [
            "GENDER_UNSPECIFIED",
            "GENDER_MALE",
            "GENDER_FEMALE",
            "GENDER_UNKNOWN"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.",
            "The audience gender is male.",
            "The audience gender is female.",
            "The audience gender is unknown."
          ]
        }
      },
      "description": "Represents a targetable gender. This will be populated in the gender_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.",
      "id": "GenderTargetingOptionDetails",
      "type": "object"
    },
    "CustomList": {
      "properties": {
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the custom list. ."
        },
        "customListId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the custom list. Assigned by the system.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the custom list.",
          "readOnly": true
        }
      },
      "description": "Describes a custom list entity, such as a custom affinity or custom intent audience list.",
      "id": "CustomList",
      "type": "object"
    },
    "BulkUpdateLineItemsRequest": {
      "description": "Request message for LineItemService.BulkUpdateLineItems.",
      "properties": {
        "lineItemIds": {
          "description": "Required. IDs of line items to update.",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array"
        },
        "targetLineItem": {
          "description": "Required. A line item object containing the fields to be updated and the new values to assign to all line items specified in line_item_ids.\"",
          "$ref": "LineItem"
        },
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "description": "Required. A field mask identifying which fields to update. Only the following fields are currently supported: * entityStatus * containsEuPoliticalAds"
        }
      },
      "type": "object",
      "id": "BulkUpdateLineItemsRequest"
    },
    "ProductMatchDimension": {
      "id": "ProductMatchDimension",
      "type": "object",
      "properties": {
        "productOfferId": {
          "description": "The ID of the product offer to match with a product with the same offer ID.",
          "type": "string"
        },
        "customLabel": {
          "description": "The custom label to match all the products with the label.",
          "$ref": "CustomLabel"
        }
      },
      "description": "A dimension used to match products."
    },
    "CreateSdfDownloadTaskRequest": {
      "id": "CreateSdfDownloadTaskRequest",
      "type": "object",
      "properties": {
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the advertiser to download SDF for."
        },
        "idFilter": {
          "description": "Filters on entities by their entity IDs.",
          "$ref": "IdFilter"
        },
        "version": {
          "type": "string",
          "enumDescriptions": [
            "SDF version value is not specified or is unknown in this version.",
            "SDF version 3.1",
            "SDF version 4",
            "SDF version 4.1",
            "SDF version 4.2",
            "SDF version 5.",
            "SDF version 5.1",
            "SDF version 5.2",
            "SDF version 5.3",
            "SDF version 5.4",
            "SDF version 5.5",
            "SDF version 6",
            "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version.",
            "SDF version 8.1.",
            "SDF version 9. Read the [v9 migration guide](/display-video/api/structured-data-file/v9-migration-guide) before migrating to this version.",
            "SDF version 9.1.",
            "SDF version 9.2."
          ],
          "description": "Required. The SDF version of the downloaded file. If set to `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the advertiser or partner identified by `root_id`. An advertiser inherits its SDF version from its partner unless configured otherwise.",
          "enumDeprecated": [
            false,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            false,
            false,
            false
          ],
          "enum": [
            "SDF_VERSION_UNSPECIFIED",
            "SDF_VERSION_3_1",
            "SDF_VERSION_4",
            "SDF_VERSION_4_1",
            "SDF_VERSION_4_2",
            "SDF_VERSION_5",
            "SDF_VERSION_5_1",
            "SDF_VERSION_5_2",
            "SDF_VERSION_5_3",
            "SDF_VERSION_5_4",
            "SDF_VERSION_5_5",
            "SDF_VERSION_6",
            "SDF_VERSION_7",
            "SDF_VERSION_7_1",
            "SDF_VERSION_8",
            "SDF_VERSION_8_1",
            "SDF_VERSION_9",
            "SDF_VERSION_9_1",
            "SDF_VERSION_9_2"
          ]
        },
        "parentEntityFilter": {
          "description": "Filters on selected file types. The entities in each file are filtered by a chosen set of filter entities. The filter entities must be the same type as, or a parent type of, the selected file types.",
          "$ref": "ParentEntityFilter"
        },
        "inventorySourceFilter": {
          "description": "Filters on Inventory Sources by their IDs.",
          "$ref": "InventorySourceFilter"
        },
        "partnerId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the partner to download SDF for."
        }
      },
      "description": "Request message for [SdfDownloadTaskService.CreateSdfDownloadTask]."
    },
    "AuthorizedSellerStatusTargetingOptionDetails": {
      "properties": {
        "authorizedSellerStatus": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.",
            "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.",
            "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI."
          ],
          "description": "Output only. The authorized seller status.",
          "enum": [
            "AUTHORIZED_SELLER_STATUS_UNSPECIFIED",
            "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY",
            "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
          ]
        }
      },
      "description": "Represents a targetable authorized seller status. This will be populated in the authorized_seller_status_details field when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.",
      "id": "AuthorizedSellerStatusTargetingOptionDetails",
      "type": "object"
    },
    "SensitiveCategoryAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "SensitiveCategoryAssignedTargetingOptionDetails",
      "description": "Targeting details for sensitive category. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.",
      "properties": {
        "excludedSensitiveCategory": {
          "enum": [
            "SENSITIVE_CATEGORY_UNSPECIFIED",
            "SENSITIVE_CATEGORY_ADULT",
            "SENSITIVE_CATEGORY_DEROGATORY",
            "SENSITIVE_CATEGORY_DOWNLOADS_SHARING",
            "SENSITIVE_CATEGORY_WEAPONS",
            "SENSITIVE_CATEGORY_GAMBLING",
            "SENSITIVE_CATEGORY_VIOLENCE",
            "SENSITIVE_CATEGORY_SUGGESTIVE",
            "SENSITIVE_CATEGORY_PROFANITY",
            "SENSITIVE_CATEGORY_ALCOHOL",
            "SENSITIVE_CATEGORY_DRUGS",
            "SENSITIVE_CATEGORY_TOBACCO",
            "SENSITIVE_CATEGORY_POLITICS",
            "SENSITIVE_CATEGORY_RELIGION",
            "SENSITIVE_CATEGORY_TRAGEDY",
            "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS",
            "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES",
            "SENSITIVE_CATEGORY_SHOCKING",
            "SENSITIVE_CATEGORY_EMBEDDED_VIDEO",
            "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO"
          ],
          "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.",
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and doesn't specify a DV360 sensitive category.",
            "Adult or pornographic text, image, or video content.",
            "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.",
            "Content related to audio, video, or software downloads.",
            "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.",
            "Contains content related to betting or wagering in a real-world or online setting.",
            "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.",
            "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.",
            "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.",
            "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.",
            "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.",
            "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.",
            "Political news and media, including discussions of social, governmental, and public policy.",
            "Content related to religious thought or beliefs.",
            "Content related to death, disasters, accidents, war, etc.",
            "Content related to motor vehicle, aviation or other transportation accidents.",
            "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).",
            "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.",
            "YouTube videos embedded on websites outside of YouTube.com.",
            "Video of live events streamed over the internet."
          ]
        }
      }
    },
    "VideoAdSequenceStep": {
      "type": "object",
      "id": "VideoAdSequenceStep",
      "description": "The detail of a single step in a VideoAdSequence.",
      "properties": {
        "stepId": {
          "description": "The ID of the step.",
          "type": "string",
          "format": "int64"
        },
        "previousStepId": {
          "description": "The ID of the previous step. The first step does not have previous step.",
          "type": "string",
          "format": "int64"
        },
        "interactionType": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified or unknown",
            "A paid view.",
            "Skipped by the viewer.",
            "A (viewed) ad impression.",
            "An ad impression that was not immediately skipped by the viewer, but didn't reach the billable event either."
          ],
          "description": "The interaction on the previous step that will lead the viewer to this step. The first step does not have interaction_type.",
          "enum": [
            "INTERACTION_TYPE_UNSPECIFIED",
            "INTERACTION_TYPE_PAID_VIEW",
            "INTERACTION_TYPE_SKIP",
            "INTERACTION_TYPE_IMPRESSION",
            "INTERACTION_TYPE_ENGAGED_IMPRESSION"
          ]
        },
        "adGroupId": {
          "description": "The ID of the corresponding ad group of the step.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ActiveViewVideoViewabilityMetricConfig": {
      "id": "ActiveViewVideoViewabilityMetricConfig",
      "type": "object",
      "properties": {
        "minimumQuartile": {
          "description": "The minimum visible video duration required, based on the video quartiles, in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).",
          "enum": [
            "VIDEO_DURATION_QUARTILE_UNSPECIFIED",
            "VIDEO_DURATION_QUARTILE_NONE",
            "VIDEO_DURATION_QUARTILE_FIRST",
            "VIDEO_DURATION_QUARTILE_SECOND",
            "VIDEO_DURATION_QUARTILE_THIRD",
            "VIDEO_DURATION_QUARTILE_FOURTH"
          ],
          "type": "string",
          "enumDescriptions": [
            "Value is not specified or is unknown in this version.",
            "No quartile value.",
            "First quartile.",
            "Second quartile (midpoint).",
            "Third quartile.",
            "Fourth quartile (completion)."
          ]
        },
        "displayName": {
          "description": "Required. The display name of the custom metric.",
          "type": "string"
        },
        "minimumViewability": {
          "enum": [
            "VIEWABILITY_PERCENT_UNSPECIFIED",
            "VIEWABILITY_PERCENT_0",
            "VIEWABILITY_PERCENT_25",
            "VIEWABILITY_PERCENT_50",
            "VIEWABILITY_PERCENT_75",
            "VIEWABILITY_PERCENT_100"
          ],
          "description": "Required. The minimum percentage of the video ad's pixels visible on the screen in order for an impression to be recorded.",
          "type": "string",
          "enumDescriptions": [
            "Value is not specified or is unknown in this version.",
            "0% viewable.",
            "25% viewable.",
            "50% viewable.",
            "75% viewable.",
            "100% viewable."
          ]
        },
        "minimumVolume": {
          "type": "string",
          "enumDescriptions": [
            "Value is not specified or is unknown in this version.",
            "0% volume.",
            "10% volume."
          ],
          "description": "Required. The minimum percentage of the video ad's volume required in order for an impression to be recorded.",
          "enum": [
            "VIDEO_VOLUME_PERCENT_UNSPECIFIED",
            "VIDEO_VOLUME_PERCENT_0",
            "VIDEO_VOLUME_PERCENT_10"
          ]
        },
        "minimumDuration": {
          "description": "The minimum visible video duration required (in seconds) in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).",
          "enum": [
            "VIDEO_DURATION_UNSPECIFIED",
            "VIDEO_DURATION_SECONDS_NONE",
            "VIDEO_DURATION_SECONDS_0",
            "VIDEO_DURATION_SECONDS_1",
            "VIDEO_DURATION_SECONDS_2",
            "VIDEO_DURATION_SECONDS_3",
            "VIDEO_DURATION_SECONDS_4",
            "VIDEO_DURATION_SECONDS_5",
            "VIDEO_DURATION_SECONDS_6",
            "VIDEO_DURATION_SECONDS_7",
            "VIDEO_DURATION_SECONDS_8",
            "VIDEO_DURATION_SECONDS_9",
            "VIDEO_DURATION_SECONDS_10",
            "VIDEO_DURATION_SECONDS_11",
            "VIDEO_DURATION_SECONDS_12",
            "VIDEO_DURATION_SECONDS_13",
            "VIDEO_DURATION_SECONDS_14",
            "VIDEO_DURATION_SECONDS_15",
            "VIDEO_DURATION_SECONDS_30",
            "VIDEO_DURATION_SECONDS_45",
            "VIDEO_DURATION_SECONDS_60"
          ],
          "type": "string",
          "enumDescriptions": [
            "Value is not specified or is unknown in this version.",
            "No duration value.",
            "0 seconds.",
            "1 second.",
            "2 seconds.",
            "3 seconds.",
            "4 seconds.",
            "5 seconds.",
            "6 seconds.",
            "7 seconds.",
            "8 seconds.",
            "9 seconds.",
            "10 seconds.",
            "11 seconds.",
            "12 seconds.",
            "13 seconds.",
            "14 seconds.",
            "15 seconds.",
            "30 seconds.",
            "45 seconds.",
            "60 seconds."
          ]
        }
      },
      "description": "Configuration for custom Active View video viewability metrics."
    },
    "LineItemAssignedTargetingOption": {
      "properties": {
        "assignedTargetingOption": {
          "description": "The assigned targeting option resource.",
          "$ref": "AssignedTargetingOption"
        },
        "lineItemId": {
          "description": "The ID of the line item the assigned targeting option is assigned to.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Wrapper object associating an assigned_targeting_option resource and the line item it is assigned to.",
      "id": "LineItemAssignedTargetingOption",
      "type": "object"
    },
    "MaximizeSpendBidStrategy": {
      "properties": {
        "raiseBidForDeals": {
          "description": "Whether the strategy takes deal floor prices into account.",
          "type": "boolean"
        },
        "performanceGoalType": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Cost per action.",
            "Cost per click.",
            "Viewable CPM.",
            "Custom bidding algorithm.",
            "Completed inview and audible views.",
            "Inview time over 10 secs views.",
            "Viewable impressions."
          ],
          "enum": [
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN",
            "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED"
          ],
          "description": "Required. The type of the performance goal that the bidding strategy tries to minimize while spending the full budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this strategy."
        },
        "maxAverageCpmBidAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. For example, 1500000 represents 1.5 standard units of the currency."
        },
        "customBiddingAlgorithmId": {
          "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. Assigning a custom bidding algorithm that uses floodlight activities not identified in floodlightActivityConfigs will return an error.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "A strategy that automatically adjusts the bid to optimize a specified performance goal while spending the full budget.",
      "id": "MaximizeSpendBidStrategy",
      "type": "object"
    },
    "BulkListAdGroupAssignedTargetingOptionsResponse": {
      "type": "object",
      "id": "BulkListAdGroupAssignedTargetingOptionsResponse",
      "properties": {
        "youtubeAdGroupAssignedTargetingOptions": {
          "description": "The list of wrapper objects, each providing an assigned targeting option and the youtube ad group it is assigned to. This list will be absent if empty.",
          "items": {
            "$ref": "YoutubeAdGroupAssignedTargetingOption"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more AdGroupAssignedTargetingOption resources to return.",
          "type": "string"
        }
      }
    },
    "ListLineItemAssignedTargetingOptionsResponse": {
      "properties": {
        "assignedTargetingOptions": {
          "type": "array",
          "description": "The list of assigned targeting options. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedTargetingOption"
          }
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListLineItemAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.",
          "type": "string"
        }
      },
      "description": "Response message for ListLineItemAssignedTargetingOptions.",
      "id": "ListLineItemAssignedTargetingOptionsResponse",
      "type": "object"
    },
    "BulkEditAssignedLocationsResponse": {
      "properties": {
        "assignedLocations": {
          "type": "array",
          "description": "The list of assigned locations that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedLocation"
          }
        }
      },
      "type": "object",
      "id": "BulkEditAssignedLocationsResponse"
    },
    "DeviceMakeModelTargetingOptionDetails": {
      "type": "object",
      "id": "DeviceMakeModelTargetingOptionDetails",
      "description": "Represents a targetable device make and model. This will be populated in the device_make_model_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the device make and model.",
          "readOnly": true
        }
      }
    },
    "SearchTargetingOptionsRequest": {
      "properties": {
        "poiSearchTerms": {
          "description": "Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`.",
          "$ref": "PoiSearchTerms"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32",
          "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified."
        },
        "pageToken": {
          "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the first page of results will be returned.",
          "type": "string"
        },
        "geoRegionSearchTerms": {
          "description": "Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.",
          "$ref": "GeoRegionSearchTerms"
        },
        "advertiserId": {
          "description": "Required. The Advertiser this request is being made in the context of.",
          "type": "string",
          "format": "int64"
        },
        "businessChainSearchTerms": {
          "description": "Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
          "$ref": "BusinessChainSearchTerms"
        }
      },
      "description": "Request message for SearchTargetingOptions.",
      "id": "SearchTargetingOptionsRequest",
      "type": "object"
    },
    "SdfDownloadTaskMetadata": {
      "type": "object",
      "id": "SdfDownloadTaskMetadata",
      "description": "Type for the metadata returned by SdfDownloadTaskService.CreateSdfDownloadTask.",
      "properties": {
        "endTime": {
          "description": "The time when execution was completed.",
          "type": "string",
          "format": "google-datetime"
        },
        "version": {
          "type": "string",
          "enumDescriptions": [
            "SDF version value is not specified or is unknown in this version.",
            "SDF version 3.1",
            "SDF version 4",
            "SDF version 4.1",
            "SDF version 4.2",
            "SDF version 5.",
            "SDF version 5.1",
            "SDF version 5.2",
            "SDF version 5.3",
            "SDF version 5.4",
            "SDF version 5.5",
            "SDF version 6",
            "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version.",
            "SDF version 8.1.",
            "SDF version 9. Read the [v9 migration guide](/display-video/api/structured-data-file/v9-migration-guide) before migrating to this version.",
            "SDF version 9.1.",
            "SDF version 9.2."
          ],
          "enumDeprecated": [
            false,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            false,
            false,
            false
          ],
          "enum": [
            "SDF_VERSION_UNSPECIFIED",
            "SDF_VERSION_3_1",
            "SDF_VERSION_4",
            "SDF_VERSION_4_1",
            "SDF_VERSION_4_2",
            "SDF_VERSION_5",
            "SDF_VERSION_5_1",
            "SDF_VERSION_5_2",
            "SDF_VERSION_5_3",
            "SDF_VERSION_5_4",
            "SDF_VERSION_5_5",
            "SDF_VERSION_6",
            "SDF_VERSION_7",
            "SDF_VERSION_7_1",
            "SDF_VERSION_8",
            "SDF_VERSION_8_1",
            "SDF_VERSION_9",
            "SDF_VERSION_9_1",
            "SDF_VERSION_9_2"
          ],
          "description": "The SDF version used to execute this download task."
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time when the operation was created."
        }
      }
    },
    "EditGuaranteedOrderReadAccessorsRequest": {
      "description": "Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors.",
      "properties": {
        "readAccessInherited": {
          "description": "Whether to give all advertisers of the read/write accessor partner read access to the guaranteed order. Only applicable if read_write_partner_id is set in the guaranteed order.",
          "type": "boolean"
        },
        "partnerId": {
          "description": "Required. The partner context in which the change is being made.",
          "type": "string",
          "format": "int64"
        },
        "addedAdvertisers": {
          "type": "array",
          "description": "The advertisers to add as read accessors to the guaranteed order.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "removedAdvertisers": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The advertisers to remove as read accessors to the guaranteed order."
        }
      },
      "type": "object",
      "id": "EditGuaranteedOrderReadAccessorsRequest"
    },
    "FixedBidStrategy": {
      "description": "A strategy that uses a fixed bidding price.",
      "properties": {
        "bidAmountMicros": {
          "description": "The fixed bid amount, in micros of the advertiser's currency. For insertion order entity, bid_amount_micros should be set as 0. For line item entity, bid_amount_micros must be greater than or equal to billable unit of the given currency and smaller than or equal to the upper limit 1000000000. For example, 1500000 represents 1.5 standard units of the currency.",
          "type": "string",
          "format": "int64"
        }
      },
      "type": "object",
      "id": "FixedBidStrategy"
    },
    "DayAndTimeAssignedTargetingOptionDetails": {
      "id": "DayAndTimeAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "enum": [
            "DAY_OF_WEEK_UNSPECIFIED",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ],
          "description": "Required. The day of the week for this day and time targeting setting.",
          "type": "string",
          "enumDescriptions": [
            "The day of the week is unspecified.",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday",
            "Sunday"
          ]
        },
        "startHour": {
          "description": "Required. The start hour for day and time targeting. Must be between 0 (start of day) and 23 (1 hour before end of day).",
          "type": "integer",
          "format": "int32"
        },
        "endHour": {
          "type": "integer",
          "format": "int32",
          "description": "Required. The end hour for day and time targeting. Must be between 1 (1 hour after start of day) and 24 (end of day)."
        },
        "timeZoneResolution": {
          "type": "string",
          "enumDescriptions": [
            "Time zone resolution is either unspecific or unknown.",
            "Times are resolved in the time zone of the user that saw the ad.",
            "Times are resolved in the time zone of the advertiser that served the ad."
          ],
          "enum": [
            "TIME_ZONE_RESOLUTION_UNSPECIFIED",
            "TIME_ZONE_RESOLUTION_END_USER",
            "TIME_ZONE_RESOLUTION_ADVERTISER"
          ],
          "description": "Required. The mechanism used to determine which timezone to use for this day and time targeting setting. For Demand Gen line items, this field is always `TIME_ZONE_RESOLUTION_ADVERTISER`."
        }
      },
      "description": "Representation of a segment of time defined on a specific day of the week and with a start and end time. The time represented by `start_hour` must be before the time represented by `end_hour`."
    },
    "CustomBiddingScriptRef": {
      "type": "object",
      "id": "CustomBiddingScriptRef",
      "description": "The reference to the uploaded custom bidding script file.",
      "properties": {
        "resourceName": {
          "description": "A resource name to be used in media.download to Download the script files. Or media.upload to Upload the script files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.",
          "type": "string"
        }
      }
    },
    "BulkListAdvertiserAssignedTargetingOptionsResponse": {
      "type": "object",
      "id": "BulkListAdvertiserAssignedTargetingOptionsResponse",
      "properties": {
        "assignedTargetingOptions": {
          "type": "array",
          "items": {
            "$ref": "AssignedTargetingOption"
          },
          "description": "The list of assigned targeting options. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.",
          "type": "string"
        }
      }
    },
    "OperatingSystemTargetingOptionDetails": {
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the operating system.",
          "readOnly": true
        }
      },
      "description": "Represents a targetable operating system. This will be populated in the operating_system_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.",
      "id": "OperatingSystemTargetingOptionDetails",
      "type": "object"
    },
    "DuplicateLineItemRequest": {
      "id": "DuplicateLineItemRequest",
      "type": "object",
      "properties": {
        "targetDisplayName": {
          "description": "The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "containsEuPoliticalAds": {
          "type": "string",
          "enumDescriptions": [
            "Unknown.",
            "Contains EU political advertising.",
            "Does not contain EU political advertising."
          ],
          "description": "Whether this line item will serve European Union political ads. If contains_eu_political_ads has been set to `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` in the parent advertiser, then this field will be assigned `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` if not otherwise specified. This field can then be updated using the UI, API, or Structured Data Files. This field must be assigned when creating a new line item. Otherwise, **the `advertisers.lineItems.create` request will fail**.",
          "enum": [
            "EU_POLITICAL_ADVERTISING_STATUS_UNKNOWN",
            "CONTAINS_EU_POLITICAL_ADVERTISING",
            "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
          ]
        }
      },
      "description": "Request message for LineItemService.DuplicateLineItem."
    },
    "ExchangeTargetingOptionDetails": {
      "id": "ExchangeTargetingOptionDetails",
      "type": "object",
      "properties": {
        "exchange": {
          "enum": [
            "EXCHANGE_UNSPECIFIED",
            "EXCHANGE_GOOGLE_AD_MANAGER",
            "EXCHANGE_APPNEXUS",
            "EXCHANGE_BRIGHTROLL",
            "EXCHANGE_ADFORM",
            "EXCHANGE_ADMETA",
            "EXCHANGE_ADMIXER",
            "EXCHANGE_ADSMOGO",
            "EXCHANGE_ADSWIZZ",
            "EXCHANGE_BIDSWITCH",
            "EXCHANGE_BRIGHTROLL_DISPLAY",
            "EXCHANGE_CADREON",
            "EXCHANGE_DAILYMOTION",
            "EXCHANGE_FIVE",
            "EXCHANGE_FLUCT",
            "EXCHANGE_FREEWHEEL",
            "EXCHANGE_GENIEE",
            "EXCHANGE_GUMGUM",
            "EXCHANGE_IMOBILE",
            "EXCHANGE_IBILLBOARD",
            "EXCHANGE_IMPROVE_DIGITAL",
            "EXCHANGE_INDEX",
            "EXCHANGE_KARGO",
            "EXCHANGE_MICROAD",
            "EXCHANGE_MOPUB",
            "EXCHANGE_NEND",
            "EXCHANGE_ONE_BY_AOL_DISPLAY",
            "EXCHANGE_ONE_BY_AOL_MOBILE",
            "EXCHANGE_ONE_BY_AOL_VIDEO",
            "EXCHANGE_OOYALA",
            "EXCHANGE_OPENX",
            "EXCHANGE_PERMODO",
            "EXCHANGE_PLATFORMONE",
            "EXCHANGE_PLATFORMID",
            "EXCHANGE_PUBMATIC",
            "EXCHANGE_PULSEPOINT",
            "EXCHANGE_REVENUEMAX",
            "EXCHANGE_RUBICON",
            "EXCHANGE_SMARTCLIP",
            "EXCHANGE_SMARTRTB",
            "EXCHANGE_SMARTSTREAMTV",
            "EXCHANGE_SOVRN",
            "EXCHANGE_SPOTXCHANGE",
            "EXCHANGE_STROER",
            "EXCHANGE_TEADSTV",
            "EXCHANGE_TELARIA",
            "EXCHANGE_TVN",
            "EXCHANGE_UNITED",
            "EXCHANGE_YIELDLAB",
            "EXCHANGE_YIELDMO",
            "EXCHANGE_UNRULYX",
            "EXCHANGE_OPEN8",
            "EXCHANGE_TRITON",
            "EXCHANGE_TRIPLELIFT",
            "EXCHANGE_TABOOLA",
            "EXCHANGE_INMOBI",
            "EXCHANGE_SMAATO",
            "EXCHANGE_AJA",
            "EXCHANGE_SUPERSHIP",
            "EXCHANGE_NEXSTAR_DIGITAL",
            "EXCHANGE_WAZE",
            "EXCHANGE_SOUNDCAST",
            "EXCHANGE_SHARETHROUGH",
            "EXCHANGE_FYBER",
            "EXCHANGE_RED_FOR_PUBLISHERS",
            "EXCHANGE_MEDIANET",
            "EXCHANGE_TAPJOY",
            "EXCHANGE_VISTAR",
            "EXCHANGE_DAX",
            "EXCHANGE_JCD",
            "EXCHANGE_PLACE_EXCHANGE",
            "EXCHANGE_APPLOVIN",
            "EXCHANGE_CONNATIX",
            "EXCHANGE_RESET_DIGITAL",
            "EXCHANGE_HIVESTACK",
            "EXCHANGE_DRAX",
            "EXCHANGE_APPLOVIN_GBID",
            "EXCHANGE_FYBER_GBID",
            "EXCHANGE_UNITY_GBID",
            "EXCHANGE_CHARTBOOST_GBID",
            "EXCHANGE_ADMOST_GBID",
            "EXCHANGE_TOPON_GBID",
            "EXCHANGE_NETFLIX",
            "EXCHANGE_CORE",
            "EXCHANGE_COMMERCE_GRID",
            "EXCHANGE_SPOTIFY",
            "EXCHANGE_TUBI",
            "EXCHANGE_SNAP",
            "EXCHANGE_CADENT"
          ],
          "description": "Output only. The type of exchange.",
          "type": "string",
          "enumDescriptions": [
            "Exchange is not specified or is unknown in this version.",
            "Google Ad Manager.",
            "AppNexus.",
            "BrightRoll Exchange for Video from Yahoo!.",
            "Adform.",
            "Admeta.",
            "Admixer.",
            "AdsMogo.",
            "AdsWizz.",
            "BidSwitch.",
            "BrightRoll Exchange for Display from Yahoo!.",
            "Cadreon.",
            "Dailymotion.",
            "Five.",
            "Fluct.",
            "FreeWheel SSP.",
            "Geniee.",
            "GumGum.",
            "i-mobile.",
            "iBILLBOARD.",
            "Improve Digital.",
            "Index Exchange.",
            "Kargo.",
            "MicroAd.",
            "MoPub.",
            "Nend.",
            "ONE by AOL: Display Market Place.",
            "ONE by AOL: Mobile.",
            "ONE by AOL: Video.",
            "Ooyala.",
            "OpenX.",
            "Permodo.",
            "Platform One.",
            "PlatformId.",
            "PubMatic.",
            "PulsePoint.",
            "RevenueMax.",
            "Rubicon.",
            "SmartClip.",
            "SmartRTB+.",
            "SmartstreamTv.",
            "Sovrn.",
            "SpotXchange.",
            "Ströer SSP.",
            "TeadsTv.",
            "Telaria.",
            "TVN.",
            "United.",
            "Yieldlab.",
            "Yieldmo.",
            "UnrulyX.",
            "Open8.",
            "Triton.",
            "TripleLift.",
            "Taboola.",
            "InMobi.",
            "Smaato.",
            "Aja.",
            "Supership.",
            "Nexstar Digital.",
            "Waze.",
            "SoundCast.",
            "Sharethrough.",
            "Fyber.",
            "Red For Publishers.",
            "Media.net.",
            "Tapjoy.",
            "Vistar.",
            "DAX.",
            "JCD.",
            "Place Exchange.",
            "AppLovin.",
            "Connatix.",
            "Reset Digital.",
            "Hivestack.",
            "Drax.",
            "AppLovin MAX.",
            "DT Fairbid.",
            "Unity LevelPlay.",
            "Chartboost Mediation.",
            "AdMost.",
            "TopOn.",
            "Netflix.",
            "Core.",
            "Commerce Grid.",
            "Spotify.",
            "Tubi.",
            "Snap.",
            "Cadent."
          ],
          "readOnly": true
        }
      },
      "description": "Represents a targetable exchange. This will be populated in the exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`."
    },
    "BulkEditAdvertiserAssignedTargetingOptionsResponse": {
      "id": "BulkEditAdvertiserAssignedTargetingOptionsResponse",
      "type": "object",
      "properties": {
        "createdAssignedTargetingOptions": {
          "type": "array",
          "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedTargetingOption"
          }
        }
      }
    },
    "CampaignBudget": {
      "id": "CampaignBudget",
      "type": "object",
      "properties": {
        "budgetUnit": {
          "enum": [
            "BUDGET_UNIT_UNSPECIFIED",
            "BUDGET_UNIT_CURRENCY",
            "BUDGET_UNIT_IMPRESSIONS"
          ],
          "description": "Required. Immutable. Specifies whether the budget is measured in currency or impressions.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Budgeting in currency amounts.",
            "Budgeting in impression amounts."
          ]
        },
        "budgetId": {
          "description": "The unique ID of the campaign budget. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.",
          "type": "string",
          "format": "int64"
        },
        "externalBudgetSource": {
          "enum": [
            "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED",
            "EXTERNAL_BUDGET_SOURCE_NONE",
            "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN"
          ],
          "description": "Required. The external source of the budget.",
          "type": "string",
          "enumDescriptions": [
            "External budget source value is not specified or unknown in this version.",
            "Budget has no external source.",
            "Budget source is Mediaocean."
          ]
        },
        "budgetAmountMicros": {
          "type": "string",
          "format": "int64",
          "description": "Required. The total amount the linked insertion order segments can budget. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency."
        },
        "dateRange": {
          "description": "Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. Both `start_date` and `end_date` must be before the year 2037.",
          "$ref": "DateRange"
        },
        "displayName": {
          "description": "Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "prismaConfig": {
          "description": "Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers.",
          "$ref": "PrismaConfig"
        },
        "externalBudgetId": {
          "description": "Immutable. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to \"Budget level PO\", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.",
          "type": "string"
        },
        "invoiceGroupingId": {
          "description": "Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to \"Budget invoice grouping ID\", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.",
          "type": "string"
        }
      },
      "description": "Settings that control how the campaign budget is allocated."
    },
    "YoutubeAdGroupAd": {
      "id": "YoutubeAdGroupAd",
      "type": "object",
      "properties": {
        "videoDiscoverAd": {
          "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery.",
          "$ref": "VideoDiscoveryAd"
        },
        "adGroupAdId": {
          "type": "string",
          "format": "int64",
          "description": "The unique ID of the ad. Assigned by the system."
        },
        "displayVideoSourceAd": {
          "description": "Details of an ad sourced from a Display & Video 360 creative.",
          "$ref": "DisplayVideoSourceAd"
        },
        "displayName": {
          "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.",
          "type": "string"
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The unique ID of the advertiser the ad belongs to."
        },
        "inStreamAd": {
          "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives.",
          "$ref": "InStreamAd"
        },
        "adGroupId": {
          "description": "The unique ID of the ad group that the ad belongs to.",
          "type": "string",
          "format": "int64"
        },
        "name": {
          "description": "The resource name of the ad.",
          "type": "string"
        },
        "adUrls": {
          "items": {
            "$ref": "AdUrl"
          },
          "description": "List of URLs used by the ad.",
          "type": "array"
        },
        "bumperAd": {
          "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach.",
          "$ref": "BumperAd"
        },
        "entityStatus": {
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ],
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "The entity status of the ad."
        },
        "audioAd": {
          "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives.",
          "$ref": "AudioAd"
        },
        "videoPerformanceAd": {
          "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product.",
          "$ref": "VideoPerformanceAd"
        },
        "mastheadAd": {
          "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826).",
          "$ref": "MastheadAd"
        },
        "nonSkippableAd": {
          "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives.",
          "$ref": "NonSkippableAd"
        }
      },
      "description": "A single ad associated with a YouTube ad group."
    },
    "YoutubeAdGroup": {
      "id": "YoutubeAdGroup",
      "type": "object",
      "properties": {
        "targetingExpansion": {
          "description": "The [targeting expansion](https://support.google.com/displayvideo/answer/10191558) settings of the ad group. This config is only applicable when eligible audience list targeting is assigned to the ad group.",
          "$ref": "TargetingExpansionConfig"
        },
        "displayName": {
          "description": "The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.",
          "type": "string"
        },
        "name": {
          "description": "The resource name of the ad group.",
          "type": "string"
        },
        "youtubeAdIds": {
          "type": "array",
          "description": "The IDs of the youtube_ad_group_ad resources associated with the ad group.",
          "items": {
            "type": "string",
            "format": "int64"
          }
        },
        "biddingStrategy": {
          "description": "The bidding strategy used by the ad group.",
          "$ref": "YoutubeAndPartnersBiddingStrategy"
        },
        "productFeedData": {
          "description": "The settings of the product feed in this ad group.",
          "$ref": "ProductFeedData"
        },
        "adGroupId": {
          "description": "The unique ID of the ad group. Assigned by the system.",
          "type": "string",
          "format": "int64"
        },
        "advertiserId": {
          "description": "The unique ID of the advertiser the ad group belongs to.",
          "type": "string",
          "format": "int64"
        },
        "lineItemId": {
          "type": "string",
          "format": "int64",
          "description": "The unique ID of the line item that the ad group belongs to."
        },
        "entityStatus": {
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ],
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`."
        },
        "adGroupFormat": {
          "type": "string",
          "enumDescriptions": [
            "Format value is not specified or is unknown in this version.",
            "In-stream ads.",
            "In-feed ads.",
            "Bumper ads.",
            "Non-skippable in-stream ads.",
            "Non-skippable in-stream audio ads.",
            "[Responsive ads for video action campaigns] (https://support.google.com/displayvideo/answer/9065351).",
            "[Effective reach ad groups] (https://support.google.com/displayvideo/answer/9173684), including in-stream and bumper ads.",
            "Masthead Ad that is surfaced on the top slot on the YouTube homepage."
          ],
          "enum": [
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_UNSPECIFIED",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_IN_STREAM",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_VIDEO_DISCOVERY",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_BUMPER",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_AUDIO",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_ACTION",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_REACH",
            "YOUTUBE_AND_PARTNERS_AD_GROUP_FORMAT_MASTHEAD"
          ],
          "description": "The format of the ads in the ad group."
        }
      },
      "description": "A single YouTube ad group associated with a YouTube and Partners line item."
    },
    "IntegrationDetails": {
      "description": "Integration details of an entry.",
      "properties": {
        "integrationCode": {
          "description": "An external identifier to be associated with the entry. The integration code will show up together with the entry in many places in the system, for example, reporting. Must be UTF-8 encoded with a length of no more than 500 characters.",
          "type": "string"
        },
        "details": {
          "description": "Additional details of the entry in string format. Must be UTF-8 encoded with a length of no more than 1000 characters.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "IntegrationDetails"
    },
    "CommonInStreamAttribute": {
      "properties": {
        "trackingUrl": {
          "description": "The URL address loaded in the background for tracking purposes.",
          "type": "string"
        },
        "finalUrl": {
          "description": "The URL address of the webpage that people reach after they click the ad.",
          "type": "string"
        },
        "actionButtonLabel": {
          "description": "The text on the call-to-action button.",
          "type": "string"
        },
        "video": {
          "description": "The YouTube video of the ad.",
          "$ref": "YoutubeVideoDetails"
        },
        "displayUrl": {
          "description": "The webpage address that appears with the ad.",
          "type": "string"
        },
        "actionHeadline": {
          "description": "The headline of the call-to-action banner.",
          "type": "string"
        },
        "companionBanner": {
          "description": "The image which shows next to the video ad.",
          "$ref": "ImageAsset"
        }
      },
      "description": "Common attributes for in-stream, non-skippable and bumper ads.",
      "id": "CommonInStreamAttribute",
      "type": "object"
    },
    "SdfConfig": {
      "description": "Structured Data File (SDF) related settings.",
      "properties": {
        "version": {
          "type": "string",
          "enumDescriptions": [
            "SDF version value is not specified or is unknown in this version.",
            "SDF version 3.1",
            "SDF version 4",
            "SDF version 4.1",
            "SDF version 4.2",
            "SDF version 5.",
            "SDF version 5.1",
            "SDF version 5.2",
            "SDF version 5.3",
            "SDF version 5.4",
            "SDF version 5.5",
            "SDF version 6",
            "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.",
            "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version.",
            "SDF version 8.1.",
            "SDF version 9. Read the [v9 migration guide](/display-video/api/structured-data-file/v9-migration-guide) before migrating to this version.",
            "SDF version 9.1.",
            "SDF version 9.2."
          ],
          "enumDeprecated": [
            false,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            true,
            false,
            false,
            false
          ],
          "enum": [
            "SDF_VERSION_UNSPECIFIED",
            "SDF_VERSION_3_1",
            "SDF_VERSION_4",
            "SDF_VERSION_4_1",
            "SDF_VERSION_4_2",
            "SDF_VERSION_5",
            "SDF_VERSION_5_1",
            "SDF_VERSION_5_2",
            "SDF_VERSION_5_3",
            "SDF_VERSION_5_4",
            "SDF_VERSION_5_5",
            "SDF_VERSION_6",
            "SDF_VERSION_7",
            "SDF_VERSION_7_1",
            "SDF_VERSION_8",
            "SDF_VERSION_8_1",
            "SDF_VERSION_9",
            "SDF_VERSION_9_1",
            "SDF_VERSION_9_2"
          ],
          "description": "Required. The version of SDF being used."
        },
        "adminEmail": {
          "description": "An administrator email address to which the SDF processing status reports will be sent.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SdfConfig"
    },
    "CustomBiddingModelDetails": {
      "description": "The details of a custom bidding algorithm model for a single shared advertiser.",
      "properties": {
        "readinessState": {
          "type": "string",
          "enumDescriptions": [
            "State is not specified or is unknown in this version.",
            "The model is trained and ready for serving.",
            "There is not enough data to train the serving model.",
            "The model is training and not ready for serving.",
            "A valid custom bidding script has not been provided with which to train the model. This state will only be applied to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`."
          ],
          "description": "The readiness state of custom bidding model.",
          "enum": [
            "READINESS_STATE_UNSPECIFIED",
            "READINESS_STATE_ACTIVE",
            "READINESS_STATE_INSUFFICIENT_DATA",
            "READINESS_STATE_TRAINING",
            "READINESS_STATE_NO_VALID_SCRIPT"
          ]
        },
        "advertiserId": {
          "description": "The unique ID of the relevant advertiser.",
          "type": "string",
          "format": "int64"
        },
        "suspensionState": {
          "description": "Output only. The suspension state of custom bidding model.",
          "enum": [
            "SUSPENSION_STATE_UNSPECIFIED",
            "SUSPENSION_STATE_ENABLED",
            "SUSPENSION_STATE_DORMANT",
            "SUSPENSION_STATE_SUSPENDED"
          ],
          "type": "string",
          "enumDescriptions": [
            "State is not specified or is unknown in this version.",
            "Model is enabled, either recently used, currently used or scheduled to be used. The algorithm is actively scoring impressions for this advertiser.",
            "Model has not been used recently. Although the model still acts as `ENABLED`, it will eventually be suspended if not used.",
            "Model is suspended from scoring impressions and cannot serve. If the algorithm is assigned to a line item under this advertiser or otherwise updated, it will switch back to the `ENABLED` state and require time to prepare the serving model again."
          ],
          "readOnly": true
        }
      },
      "type": "object",
      "id": "CustomBiddingModelDetails"
    },
    "ListSitesResponse": {
      "id": "ListSitesResponse",
      "type": "object",
      "properties": {
        "sites": {
          "type": "array",
          "items": {
            "$ref": "Site"
          },
          "description": "The list of sites. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListSites` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "description": "Response message for SiteService.ListSites."
    },
    "GenderAssignedTargetingOptionDetails": {
      "description": "Details for assigned gender targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.",
      "properties": {
        "gender": {
          "type": "string",
          "enumDescriptions": [
            "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.",
            "The audience gender is male.",
            "The audience gender is female.",
            "The audience gender is unknown."
          ],
          "description": "Required. The gender of the audience.",
          "enum": [
            "GENDER_UNSPECIFIED",
            "GENDER_MALE",
            "GENDER_FEMALE",
            "GENDER_UNKNOWN"
          ]
        }
      },
      "type": "object",
      "id": "GenderAssignedTargetingOptionDetails"
    },
    "PoiTargetingOptionDetails": {
      "description": "Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`.",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double",
          "description": "Output only. Latitude of the POI rounding to 6th decimal place.",
          "readOnly": true
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of a POI(e.g. \"Times Square\", \"Space Needle\"), followed by its full address if available.",
          "type": "string"
        },
        "longitude": {
          "type": "number",
          "format": "double",
          "description": "Output only. Longitude of the POI rounding to 6th decimal place.",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "PoiTargetingOptionDetails"
    },
    "CustomListTargetingSetting": {
      "type": "object",
      "id": "CustomListTargetingSetting",
      "description": "Details of custom list targeting setting.",
      "properties": {
        "customListId": {
          "description": "Required. Custom id of custom list targeting setting. This id is custom_list_id.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "ListYoutubeAdGroupAdsResponse": {
      "properties": {
        "youtubeAdGroupAds": {
          "items": {
            "$ref": "YoutubeAdGroupAd"
          },
          "description": "The list of ad group ads. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListYoutubeAdGroupAds` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "id": "ListYoutubeAdGroupAdsResponse",
      "type": "object"
    },
    "BulkEditAssignedInventorySourcesRequest": {
      "type": "object",
      "id": "BulkEditAssignedInventorySourcesRequest",
      "description": "Request message for AssignedInventorySourceService.BulkEdit.",
      "properties": {
        "partnerId": {
          "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to these assigned inventory sources.",
          "type": "string",
          "format": "int64"
        },
        "deletedAssignedInventorySources": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of the assigned inventory sources to delete in bulk, specified as a list of assigned_inventory_source_ids."
        },
        "createdAssignedInventorySources": {
          "type": "array",
          "items": {
            "$ref": "AssignedInventorySource"
          },
          "description": "The assigned inventory sources to create in bulk, specified as a list of AssignedInventorySources."
        },
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to these assigned inventory sources."
        }
      }
    },
    "ImageAsset": {
      "type": "object",
      "id": "ImageAsset",
      "description": "Meta data of an image asset.",
      "properties": {
        "assetId": {
          "description": "Required. The unique ID of the asset.",
          "type": "string",
          "format": "int64"
        },
        "fileSize": {
          "description": "Output only. File size of the image asset in bytes.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "mimeType": {
          "type": "string",
          "description": "Output only. MIME type of the image asset.",
          "readOnly": true
        },
        "fullSize": {
          "readOnly": true,
          "description": "Output only. Metadata for this image at its original size.",
          "$ref": "Dimensions"
        }
      }
    },
    "DemandGenSettings": {
      "id": "DemandGenSettings",
      "type": "object",
      "properties": {
        "thirdPartyMeasurementConfigs": {
          "description": "Optional. The third party measurement settings for the Demand Gen line item.",
          "$ref": "ThirdPartyMeasurementConfigs"
        },
        "geoLanguageTargetingEnabled": {
          "description": "Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups.",
          "type": "boolean"
        },
        "linkedMerchantId": {
          "description": "Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Settings for Demand Gen line items."
    },
    "ConversionCountingConfig": {
      "type": "object",
      "id": "ConversionCountingConfig",
      "description": "Settings that control how conversions are counted. All post-click conversions will be counted. A percentage value can be set for post-view conversions counting.",
      "properties": {
        "primaryAttributionModelId": {
          "type": "string",
          "format": "int64",
          "description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users."
        },
        "postViewCountPercentageMillis": {
          "type": "string",
          "format": "int64",
          "description": "The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000."
        },
        "floodlightActivityConfigs": {
          "items": {
            "$ref": "TrackingFloodlightActivityConfig"
          },
          "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field. This field can't be updated if a custom bidding algorithm is assigned to the line item. If you set this field and assign a custom bidding algorithm in the same request, the floodlight activities must match the ones used by the custom bidding algorithm.",
          "type": "array"
        }
      }
    },
    "UserRewardedContentAssignedTargetingOptionDetails": {
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.",
          "type": "string"
        },
        "userRewardedContent": {
          "readOnly": true,
          "description": "Output only. User rewarded content status for video ads.",
          "enum": [
            "USER_REWARDED_CONTENT_UNSPECIFIED",
            "USER_REWARDED_CONTENT_USER_REWARDED",
            "USER_REWARDED_CONTENT_NOT_USER_REWARDED"
          ],
          "type": "string",
          "enumDescriptions": [
            "User rewarded content is not specified or is unknown in this version.",
            "Represents ads where the user will see a reward after viewing.",
            "Represents all other ads besides user-rewarded."
          ]
        }
      },
      "description": "User rewarded content targeting option details. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.",
      "id": "UserRewardedContentAssignedTargetingOptionDetails",
      "type": "object"
    },
    "CustomLabel": {
      "properties": {
        "key": {
          "enum": [
            "CUSTOM_LABEL_KEY_UNSPECIFIED",
            "CUSTOM_LABEL_KEY_0",
            "CUSTOM_LABEL_KEY_1",
            "CUSTOM_LABEL_KEY_2",
            "CUSTOM_LABEL_KEY_3",
            "CUSTOM_LABEL_KEY_4"
          ],
          "description": "The key of the label.",
          "type": "string",
          "enumDescriptions": [
            "Not specified or unknown.",
            "Key index 0.",
            "Key index 1.",
            "Key index 2.",
            "Key index 3.",
            "Key index 4."
          ]
        },
        "value": {
          "description": "The value of the label.",
          "type": "string"
        }
      },
      "description": "The key and value of a custom label.",
      "id": "CustomLabel",
      "type": "object"
    },
    "Site": {
      "id": "Site",
      "type": "object",
      "properties": {
        "urlOrAppId": {
          "description": "Required. The app ID or URL of the site. Must be UTF-8 encoded with a maximum length of 240 bytes.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the site.",
          "readOnly": true
        }
      },
      "description": "A single site. Sites are apps or websites belonging to a channel."
    },
    "PartnerCost": {
      "properties": {
        "feePercentageMillis": {
          "description": "The media fee percentage in millis (1/1000 of a percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For example: 100 represents 0.1%.",
          "type": "string",
          "format": "int64"
        },
        "costType": {
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "The cost is charged for using Scope3 (previously known as Adloox). Billed by the partner.",
            "The cost is charged for using Scope3 (previously known as Adloox) Pre-Bid. Billed through DV360.",
            "The cost is charged for using AdSafe. Billed by the partner.",
            "The cost is charged for using AdExpose. Billed by the partner.",
            "The cost is charged for using Aggregate Knowledge. Billed by the partner.",
            "The cost is charged for using an Agency Trading Desk. Billed by the partner.",
            "The cost is charged for using DV360. Billed through DV360.",
            "The cost is charged for using comScore vCE. Billed through DV360.",
            "The cost is charged for using a Data Management Platform. Billed by the partner.",
            "The default cost type. Billed by the partner.",
            "The cost is charged for using DoubleVerify. Billed by the partner.",
            "The cost is charged for using DoubleVerify Pre-Bid. Billed through DV360.",
            "The cost is charged for using Evidon. Billed by the partner.",
            "The cost is charged for using Integral Ad Science Video. Billed by the partner.",
            "The cost is charged for using Integral Ad Science Pre-Bid. Billed through DV360.",
            "The cost is charged for using media cost data. Billed by the partner.",
            "The cost is charged for using MOAT Video. Billed by the partner.",
            "The cost is charged for using Nielsen Digital Ad Ratings. Billed through DV360.",
            "The cost is charged for using ShopLocal. Billed by the partner.",
            "The cost is charged for using Teracent. Billed by the partner.",
            "The cost is charged for using a third-party ad server. Billed by the partner.",
            "The cost is charged for using TrustMetrics. Billed by the partner.",
            "The cost is charged for using Vizu. Billed by the partner.",
            "The cost is charged as custom fee 1. Billed by the partner.",
            "The cost is charged as custom fee 2. Billed by the partner.",
            "The cost is charged as custom fee 3. Billed by the partner.",
            "The cost is charged as custom fee 4. Billed by the partner.",
            "The cost is charged as custom fee 5. Billed by the partner.",
            "The cost is charged for using Scibids. Billed through DV360. This type is currently only available to certain customers. Other customers attempting to use this type will receive an error."
          ],
          "enum": [
            "PARTNER_COST_TYPE_UNSPECIFIED",
            "PARTNER_COST_TYPE_ADLOOX",
            "PARTNER_COST_TYPE_ADLOOX_PREBID",
            "PARTNER_COST_TYPE_ADSAFE",
            "PARTNER_COST_TYPE_ADXPOSE",
            "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE",
            "PARTNER_COST_TYPE_AGENCY_TRADING_DESK",
            "PARTNER_COST_TYPE_DV360_FEE",
            "PARTNER_COST_TYPE_COMSCORE_VCE",
            "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM",
            "PARTNER_COST_TYPE_DEFAULT",
            "PARTNER_COST_TYPE_DOUBLE_VERIFY",
            "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID",
            "PARTNER_COST_TYPE_EVIDON",
            "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO",
            "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID",
            "PARTNER_COST_TYPE_MEDIA_COST_DATA",
            "PARTNER_COST_TYPE_MOAT_VIDEO",
            "PARTNER_COST_TYPE_NIELSEN_DAR",
            "PARTNER_COST_TYPE_SHOP_LOCAL",
            "PARTNER_COST_TYPE_TERACENT",
            "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER",
            "PARTNER_COST_TYPE_TRUST_METRICS",
            "PARTNER_COST_TYPE_VIZU",
            "PARTNER_COST_TYPE_CUSTOM_FEE_1",
            "PARTNER_COST_TYPE_CUSTOM_FEE_2",
            "PARTNER_COST_TYPE_CUSTOM_FEE_3",
            "PARTNER_COST_TYPE_CUSTOM_FEE_4",
            "PARTNER_COST_TYPE_CUSTOM_FEE_5",
            "PARTNER_COST_TYPE_SCIBIDS_FEE"
          ],
          "description": "Required. The type of the partner cost."
        },
        "feeAmount": {
          "type": "string",
          "format": "int64",
          "description": "The CPM fee amount in micros of advertiser's currency. Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0. For example, for 1.5 standard unit of the advertiser's currency, set this field to 1500000."
        },
        "invoiceType": {
          "enum": [
            "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED",
            "PARTNER_COST_INVOICE_TYPE_DV360",
            "PARTNER_COST_INVOICE_TYPE_PARTNER"
          ],
          "description": "The invoice type for this partner cost. * Required when cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` - `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types.",
          "type": "string",
          "enumDescriptions": [
            "Type value is not specified or is unknown in this version.",
            "Partner cost is billed through DV360.",
            "Partner cost is billed by the partner."
          ]
        },
        "feeType": {
          "type": "string",
          "enumDescriptions": [
            "Value is not specified or is unknown in this version.",
            "The partner cost is a fixed CPM fee. Not applicable when the partner cost cost_type is one of: * `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.",
            "The partner cost is a percentage surcharge based on the media cost. Not applicable when the partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` * `PARTNER_COST_TYPE_TRUST_METRICS` * `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` * `PARTNER_COST_TYPE_MOAT_VIDEO`."
          ],
          "enum": [
            "PARTNER_COST_FEE_TYPE_UNSPECIFIED",
            "PARTNER_COST_FEE_TYPE_CPM_FEE",
            "PARTNER_COST_FEE_TYPE_MEDIA_FEE"
          ],
          "description": "Required. The fee type for this partner cost."
        }
      },
      "description": "Settings that control a partner cost. A partner cost is any type of expense involved in running a campaign, other than the costs of purchasing impressions (which is called the media cost) and using third-party audience segment data (data fee). Some examples of partner costs include the fees for using DV360, a third-party ad server, or a third-party ad serving verification service.",
      "id": "PartnerCost",
      "type": "object"
    },
    "BiddingStrategy": {
      "description": "Settings that control the bid strategy. Bid strategy determines the bid price.",
      "properties": {
        "demandGenBid": {
          "description": "A bid strategy used by Demand Gen resources. It can only be used for a Demand Gen line item or ad group entity.",
          "$ref": "DemandGenBiddingStrategy"
        },
        "fixedBid": {
          "description": "A strategy that uses a fixed bid price.",
          "$ref": "FixedBidStrategy"
        },
        "performanceGoalAutoBid": {
          "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal. It is to be used only for a line item entity.",
          "$ref": "PerformanceGoalBidStrategy"
        },
        "maximizeSpendAutoBid": {
          "description": "A strategy that automatically adjusts the bid to optimize to your performance goal while spending the full budget. At insertion order level, the markup_type of line items cannot be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, the performance_goal_type value assigned to an insertion order determines the possible line_item_type values available for line items under that insertion order: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, and `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` only allow for `LINE_ITEM_TYPE_DISPLAY_DEFAULT` or `LINE_ITEM_TYPE_VIDEO_DEFAULT` line items. * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` and `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` only allow for `LINE_ITEM_TYPE_VIDEO_DEFAULT` line items. * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_REACH` only allows for `LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP` line items.",
          "$ref": "MaximizeSpendBidStrategy"
        }
      },
      "type": "object",
      "id": "BiddingStrategy"
    },
    "LanguageTargetingOptionDetails": {
      "type": "object",
      "id": "LanguageTargetingOptionDetails",
      "description": "Represents a targetable language. This will be populated in the language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.",
      "properties": {
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The display name of the language (e.g., \"French\")."
        }
      }
    },
    "Pacing": {
      "type": "object",
      "id": "Pacing",
      "description": "Settings that control the rate at which a budget is spent.",
      "properties": {
        "pacingPeriod": {
          "enum": [
            "PACING_PERIOD_UNSPECIFIED",
            "PACING_PERIOD_DAILY",
            "PACING_PERIOD_FLIGHT"
          ],
          "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via automationType, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.",
          "type": "string",
          "enumDescriptions": [
            "Period value is not specified or is unknown in this version.",
            "The pacing setting will be applied on daily basis.",
            "The pacing setting will be applied to the whole flight duration."
          ]
        },
        "pacingType": {
          "type": "string",
          "enumDescriptions": [
            "Pacing mode value is not specified or is unknown in this version.",
            "Only applicable to `PACING_PERIOD_FLIGHT` pacing period. Ahead pacing attempts to spend faster than evenly, to make sure the entire budget is spent by the end of the flight.",
            "Spend all of pacing budget amount as quick as possible.",
            "Spend a consistent budget amount every period of time."
          ],
          "enum": [
            "PACING_TYPE_UNSPECIFIED",
            "PACING_TYPE_AHEAD",
            "PACING_TYPE_ASAP",
            "PACING_TYPE_EVEN"
          ],
          "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders."
        },
        "dailyMaxMicros": {
          "type": "string",
          "format": "int64",
          "description": "Maximum currency amount to spend every day in micros of advertiser's currency. Applicable when the budget is currency based. Must be greater than 0. For example, for 1.5 standard unit of the currency, set this field to 1500000. The value assigned will be rounded to whole billable units for the relevant currency by the following rules: any positive value less than a single billable unit will be rounded up to one billable unit and any value larger than a single billable unit will be rounded down to the nearest billable value. For example, if the currency's billable unit is 0.01, and this field is set to 10257770, it will round down to 10250000, a value of 10.25. If set to 505, it will round up to 10000, a value of 0.01."
        },
        "dailyMaxImpressions": {
          "description": "Maximum number of impressions to serve every day. Applicable when the budget is impression based. Must be greater than 0.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "OnScreenPositionTargetingOptionDetails": {
      "type": "object",
      "id": "OnScreenPositionTargetingOptionDetails",
      "description": "Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.",
      "properties": {
        "onScreenPosition": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.",
            "The ad position is unknown on the screen.",
            "The ad is located above the fold.",
            "The ad is located below the fold."
          ],
          "description": "Output only. The on screen position.",
          "enum": [
            "ON_SCREEN_POSITION_UNSPECIFIED",
            "ON_SCREEN_POSITION_UNKNOWN",
            "ON_SCREEN_POSITION_ABOVE_THE_FOLD",
            "ON_SCREEN_POSITION_BELOW_THE_FOLD"
          ]
        }
      }
    },
    "VideoPlayerSizeTargetingOptionDetails": {
      "type": "object",
      "id": "VideoPlayerSizeTargetingOptionDetails",
      "description": "Represents a targetable video player size. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.",
      "properties": {
        "videoPlayerSize": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.",
            "The dimensions of the video player are less than 400×300 (desktop), or up to 20% of screen covered (mobile).",
            "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).",
            "The dimensions of the video player are 1280×720 or greater (desktop), or over 90% of the screen covered (mobile).",
            "The dimensions of the video player are unknown."
          ],
          "description": "Output only. The video player size.",
          "enum": [
            "VIDEO_PLAYER_SIZE_UNSPECIFIED",
            "VIDEO_PLAYER_SIZE_SMALL",
            "VIDEO_PLAYER_SIZE_LARGE",
            "VIDEO_PLAYER_SIZE_HD",
            "VIDEO_PLAYER_SIZE_UNKNOWN"
          ]
        }
      }
    },
    "BulkEditAssignedLocationsRequest": {
      "properties": {
        "deletedAssignedLocations": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values.",
          "type": "array"
        },
        "createdAssignedLocations": {
          "description": "The assigned locations to create in bulk, specified as a list of AssignedLocation resources.",
          "items": {
            "$ref": "AssignedLocation"
          },
          "type": "array"
        }
      },
      "description": "Request message for AssignedLocationService.BulkEditAssignedLocations.",
      "id": "BulkEditAssignedLocationsRequest",
      "type": "object"
    },
    "ListCampaignsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCampaigns` method to retrieve the next page of results.",
          "type": "string"
        },
        "campaigns": {
          "description": "The list of campaigns. This list will be absent if empty.",
          "items": {
            "$ref": "Campaign"
          },
          "type": "array"
        }
      },
      "id": "ListCampaignsResponse",
      "type": "object"
    },
    "ContentOutstreamPositionTargetingOptionDetails": {
      "type": "object",
      "id": "ContentOutstreamPositionTargetingOptionDetails",
      "description": "Represents a targetable content outstream position, which could be used by display and video ads. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.",
      "properties": {
        "contentOutstreamPosition": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.",
            "The ad position is unknown in the content outstream.",
            "Ads that appear between the paragraphs of your pages.",
            "Ads that display on the top and the sides of a page.",
            "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
            "Ads shown before or between content loads."
          ],
          "description": "Output only. The content outstream position.",
          "enum": [
            "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED",
            "CONTENT_OUTSTREAM_POSITION_UNKNOWN",
            "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE",
            "CONTENT_OUTSTREAM_POSITION_IN_BANNER",
            "CONTENT_OUTSTREAM_POSITION_IN_FEED",
            "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL"
          ]
        }
      }
    },
    "ThirdPartyVerifierAssignedTargetingOptionDetails": {
      "properties": {
        "adloox": {
          "description": "Third party brand verifier -- Scope3 (previously known as Adloox).",
          "$ref": "Adloox"
        },
        "doubleVerify": {
          "description": "Third party brand verifier -- DoubleVerify.",
          "$ref": "DoubleVerify"
        },
        "integralAdScience": {
          "description": "Third party brand verifier -- Integral Ad Science.",
          "$ref": "IntegralAdScience"
        }
      },
      "description": "Assigned third party verifier targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.",
      "id": "ThirdPartyVerifierAssignedTargetingOptionDetails",
      "type": "object"
    },
    "BulkEditAssignedUserRolesRequest": {
      "id": "BulkEditAssignedUserRolesRequest",
      "type": "object",
      "properties": {
        "deletedAssignedUserRoles": {
          "items": {
            "type": "string"
          },
          "description": "The assigned user roles to delete in batch, specified as a list of assigned_user_role_ids. The format of assigned_user_role_id is `entityType-entityid`, for example `partner-123`.",
          "type": "array"
        },
        "createdAssignedUserRoles": {
          "type": "array",
          "items": {
            "$ref": "AssignedUserRole"
          },
          "description": "The assigned user roles to create in batch, specified as a list of AssignedUserRoles."
        }
      },
      "description": "Request message for BulkEditAssignedUserRoles."
    },
    "BusinessChainSearchTerms": {
      "type": "object",
      "id": "BusinessChainSearchTerms",
      "description": "Search terms for Business Chain targeting options. At least one of the field should be populated.",
      "properties": {
        "businessChainQuery": {
          "description": "The search query for the desired business chain. The query must be the full name of the business, e.g. \"KFC\", \"mercedes-benz\".",
          "type": "string"
        },
        "regionQuery": {
          "description": "The search query for the desired geo region, e.g. \"Seattle\", \"United State\".",
          "type": "string"
        }
      }
    },
    "ListGoogleAudiencesResponse": {
      "type": "object",
      "id": "ListGoogleAudiencesResponse",
      "properties": {
        "googleAudiences": {
          "description": "The list of Google audiences. This list will be absent if empty.",
          "items": {
            "$ref": "GoogleAudience"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGoogleAudiences` method to retrieve the next page of results.",
          "type": "string"
        }
      }
    },
    "ListAssignedLocationsResponse": {
      "id": "ListAssignedLocationsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedLocations` method to retrieve the next page of results.",
          "type": "string"
        },
        "assignedLocations": {
          "description": "The list of assigned locations. This list will be absent if empty.",
          "items": {
            "$ref": "AssignedLocation"
          },
          "type": "array"
        }
      },
      "description": "Response message for AssignedLocationService.ListAssignedLocations."
    },
    "Date": {
      "type": "object",
      "id": "Date",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "properties": {
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer",
          "format": "int32"
        },
        "month": {
          "type": "integer",
          "format": "int32",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day."
        },
        "day": {
          "type": "integer",
          "format": "int32",
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant."
        }
      }
    },
    "BulkEditNegativeKeywordsRequest": {
      "description": "Request message for NegativeKeywordService.BulkEditNegativeKeywords.",
      "properties": {
        "deletedNegativeKeywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The negative keywords to delete in batch, specified as a list of keyword_values."
        },
        "createdNegativeKeywords": {
          "description": "The negative keywords to create in batch, specified as a list of NegativeKeywords.",
          "items": {
            "$ref": "NegativeKeyword"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "BulkEditNegativeKeywordsRequest"
    },
    "GoogleAudienceTargetingSetting": {
      "id": "GoogleAudienceTargetingSetting",
      "type": "object",
      "properties": {
        "googleAudienceId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Google audience id of the Google audience targeting setting. This id is google_audience_id."
        }
      },
      "description": "Details of Google audience targeting setting."
    },
    "LanguageAssignedTargetingOptionDetails": {
      "id": "LanguageAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the language (e.g., \"French\").",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted. All assigned language targeting options on the same resource must have the same value for this field.",
          "type": "boolean"
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.",
          "type": "string"
        }
      },
      "description": "Details for assigned language targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`."
    },
    "DeviceTypeAssignedTargetingOptionDetails": {
      "description": "Targeting details for device type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.",
      "properties": {
        "youtubeAndPartnersBidMultiplier": {
          "readOnly": true,
          "description": "Output only. Bid multiplier allows you to show your ads more or less frequently based on the device type. It will apply a multiplier on the original bid price. When this field is 0, it indicates this field is not applicable instead of multiplying 0 on the original bid price. For example, if the bid price without multiplier is $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for Tablet will be $15.0. Only applicable to YouTube and Partners line items.",
          "type": "number",
          "format": "double"
        },
        "deviceType": {
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "DEVICE_TYPE_COMPUTER",
            "DEVICE_TYPE_CONNECTED_TV",
            "DEVICE_TYPE_SMART_PHONE",
            "DEVICE_TYPE_TABLET",
            "DEVICE_TYPE_CONNECTED_DEVICE"
          ],
          "description": "Required. The display name of the device type.",
          "type": "string",
          "enumDescriptions": [
            "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.",
            "Computer.",
            "Connected TV.",
            "Smart phone.",
            "Tablet.",
            "Connected device."
          ]
        }
      },
      "type": "object",
      "id": "DeviceTypeAssignedTargetingOptionDetails"
    },
    "LocationList": {
      "type": "object",
      "id": "LocationList",
      "description": "A list of locations used for targeting.",
      "properties": {
        "advertiserId": {
          "type": "string",
          "format": "int64",
          "description": "Required. Immutable. The unique ID of the advertiser the location list belongs to."
        },
        "locationListId": {
          "description": "Output only. The unique ID of the location list. Assigned by the system.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "displayName": {
          "description": "Required. The display name of the location list. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the location list.",
          "type": "string"
        },
        "locationType": {
          "enum": [
            "TARGETING_LOCATION_TYPE_UNSPECIFIED",
            "TARGETING_LOCATION_TYPE_PROXIMITY",
            "TARGETING_LOCATION_TYPE_REGIONAL"
          ],
          "description": "Required. Immutable. The type of location. All locations in the list will share this type.",
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown.",
            "The type for proximity geo location.",
            "The type for regional geo location."
          ]
        }
      }
    },
    "ReplaceNegativeKeywordsResponse": {
      "description": "Response message for NegativeKeywordService.ReplaceNegativeKeywords.",
      "properties": {
        "negativeKeywords": {
          "type": "array",
          "description": "The full list of negative keywords now present in the negative keyword list.",
          "items": {
            "$ref": "NegativeKeyword"
          }
        }
      },
      "type": "object",
      "id": "ReplaceNegativeKeywordsResponse"
    },
    "Operation": {
      "id": "Operation",
      "type": "object",
      "properties": {
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any."
        },
        "response": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        }
      },
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "VideoDiscoveryAd": {
      "id": "VideoDiscoveryAd",
      "type": "object",
      "properties": {
        "description2": {
          "description": "Second text line for the ad.",
          "type": "string"
        },
        "headline": {
          "description": "The headline of ad.",
          "type": "string"
        },
        "description1": {
          "description": "First text line for the ad.",
          "type": "string"
        },
        "thumbnail": {
          "description": "Thumbnail image used in the ad.",
          "enum": [
            "THUMBNAIL_UNSPECIFIED",
            "THUMBNAIL_DEFAULT",
            "THUMBNAIL_1",
            "THUMBNAIL_2",
            "THUMBNAIL_3"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unknown or unspecified.",
            "The default thumbnail, can be auto-generated or user-uploaded.",
            "Thumbnail 1, generated from the video.",
            "Thumbnail 2, generated from the video.",
            "Thumbnail 3, generated from the video."
          ]
        },
        "video": {
          "description": "The YouTube video the ad promotes.",
          "$ref": "YoutubeVideoDetails"
        }
      },
      "description": "Details for a video discovery ad."
    },
    "SubExchangeAssignedTargetingOptionDetails": {
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.",
          "type": "string"
        }
      },
      "description": "Details for assigned sub-exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.",
      "id": "SubExchangeAssignedTargetingOptionDetails",
      "type": "object"
    },
    "AudioVideoOffset": {
      "properties": {
        "percentage": {
          "description": "Optional. The offset in percentage of the audio or video duration.",
          "type": "string",
          "format": "int64"
        },
        "seconds": {
          "type": "string",
          "format": "int64",
          "description": "Optional. The offset in seconds from the start of the audio or video."
        }
      },
      "description": "The length an audio or a video has been played.",
      "id": "AudioVideoOffset",
      "type": "object"
    },
    "LookbackWindow": {
      "id": "LookbackWindow",
      "type": "object",
      "properties": {
        "clickDays": {
          "description": "Lookback window, in days, from the last time a given user clicked on one of your ads.",
          "type": "integer",
          "format": "int32"
        },
        "impressionDays": {
          "type": "integer",
          "format": "int32",
          "description": "Lookback window, in days, from the last time a given user viewed one of your ads."
        }
      },
      "description": "Specifies how many days into the past to look when determining whether to record a conversion."
    },
    "AssignedTargetingOption": {
      "id": "AssignedTargetingOption",
      "type": "object",
      "properties": {
        "exchangeDetails": {
          "description": "Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`.",
          "$ref": "ExchangeAssignedTargetingOptionDetails"
        },
        "inventorySourceDetails": {
          "description": "Inventory source details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.",
          "$ref": "InventorySourceAssignedTargetingOptionDetails"
        },
        "negativeKeywordListDetails": {
          "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource.",
          "$ref": "NegativeKeywordListAssignedTargetingOptionDetails"
        },
        "carrierAndIspDetails": {
          "description": "Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.",
          "$ref": "CarrierAndIspAssignedTargetingOptionDetails"
        },
        "subExchangeDetails": {
          "description": "Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.",
          "$ref": "SubExchangeAssignedTargetingOptionDetails"
        },
        "videoPlayerSizeDetails": {
          "description": "Video player size details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.",
          "$ref": "VideoPlayerSizeAssignedTargetingOptionDetails"
        },
        "deviceMakeModelDetails": {
          "description": "Device make and model details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.",
          "$ref": "DeviceMakeModelAssignedTargetingOptionDetails"
        },
        "sensitiveCategoryExclusionDetails": {
          "description": "Sensitive category details. This field will be populated when the targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are targeting exclusions. Advertiser level sensitive category exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude sensitive categories in addition to advertiser exclusions, but can't override them.",
          "$ref": "SensitiveCategoryAssignedTargetingOptionDetails"
        },
        "contentInstreamPositionDetails": {
          "description": "Content instream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.",
          "$ref": "ContentInstreamPositionAssignedTargetingOptionDetails"
        },
        "geoRegionDetails": {
          "description": "Geographic region details. This field will be populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`.",
          "$ref": "GeoRegionAssignedTargetingOptionDetails"
        },
        "parentalStatusDetails": {
          "description": "Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.",
          "$ref": "ParentalStatusAssignedTargetingOptionDetails"
        },
        "assignedTargetingOptionId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the assigned targeting option. The ID is only unique within a given resource and targeting type. It may be reused in other contexts.",
          "type": "string"
        },
        "businessChainDetails": {
          "description": "Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.",
          "$ref": "BusinessChainAssignedTargetingOptionDetails"
        },
        "appDetails": {
          "description": "App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`.",
          "$ref": "AppAssignedTargetingOptionDetails"
        },
        "audienceGroupDetails": {
          "description": "Audience targeting details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource.",
          "$ref": "AudienceGroupAssignedTargetingOptionDetails"
        },
        "inventorySourceGroupDetails": {
          "description": "Inventory source group details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.",
          "$ref": "InventorySourceGroupAssignedTargetingOptionDetails"
        },
        "appCategoryDetails": {
          "description": "App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.",
          "$ref": "AppCategoryAssignedTargetingOptionDetails"
        },
        "audioContentTypeDetails": {
          "description": "Audio content type details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.",
          "$ref": "AudioContentTypeAssignedTargetingOptionDetails"
        },
        "genderDetails": {
          "description": "Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`.",
          "$ref": "GenderAssignedTargetingOptionDetails"
        },
        "userRewardedContentDetails": {
          "description": "User rewarded content details. This field will be populated when the targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.",
          "$ref": "UserRewardedContentAssignedTargetingOptionDetails"
        },
        "contentStreamTypeDetails": {
          "description": "Content duration details. This field will be populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.",
          "$ref": "ContentStreamTypeAssignedTargetingOptionDetails"
        },
        "inheritance": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The inheritance is unspecified or unknown.",
            "The assigned targeting option is not inherited from higher level entity.",
            "The assigned targeting option is inherited from partner targeting settings.",
            "The assigned targeting option is inherited from advertiser targeting settings."
          ],
          "enum": [
            "INHERITANCE_UNSPECIFIED",
            "NOT_INHERITED",
            "INHERITED_FROM_PARTNER",
            "INHERITED_FROM_ADVERTISER"
          ],
          "description": "Output only. The inheritance status of the assigned targeting option."
        },
        "browserDetails": {
          "description": "Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`.",
          "$ref": "BrowserAssignedTargetingOptionDetails"
        },
        "viewabilityDetails": {
          "description": "Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option per resource.",
          "$ref": "ViewabilityAssignedTargetingOptionDetails"
        },
        "languageDetails": {
          "description": "Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`.",
          "$ref": "LanguageAssignedTargetingOptionDetails"
        },
        "digitalContentLabelExclusionDetails": {
          "description": "Digital content label details. This field will be populated when the targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are targeting exclusions. Advertiser level digital content label exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude content labels in addition to advertiser exclusions, but can't override them. A line item won't serve if all the digital content labels are excluded.",
          "$ref": "DigitalContentLabelAssignedTargetingOptionDetails"
        },
        "targetingType": {
          "readOnly": true,
          "description": "Output only. Identifies the type of this assigned targeting option.",
          "enum": [
            "TARGETING_TYPE_UNSPECIFIED",
            "TARGETING_TYPE_CHANNEL",
            "TARGETING_TYPE_APP_CATEGORY",
            "TARGETING_TYPE_APP",
            "TARGETING_TYPE_URL",
            "TARGETING_TYPE_DAY_AND_TIME",
            "TARGETING_TYPE_AGE_RANGE",
            "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
            "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
            "TARGETING_TYPE_GENDER",
            "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
            "TARGETING_TYPE_USER_REWARDED_CONTENT",
            "TARGETING_TYPE_PARENTAL_STATUS",
            "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
            "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
            "TARGETING_TYPE_DEVICE_TYPE",
            "TARGETING_TYPE_AUDIENCE_GROUP",
            "TARGETING_TYPE_BROWSER",
            "TARGETING_TYPE_HOUSEHOLD_INCOME",
            "TARGETING_TYPE_ON_SCREEN_POSITION",
            "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
            "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
            "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
            "TARGETING_TYPE_ENVIRONMENT",
            "TARGETING_TYPE_CARRIER_AND_ISP",
            "TARGETING_TYPE_OPERATING_SYSTEM",
            "TARGETING_TYPE_DEVICE_MAKE_MODEL",
            "TARGETING_TYPE_KEYWORD",
            "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
            "TARGETING_TYPE_VIEWABILITY",
            "TARGETING_TYPE_CATEGORY",
            "TARGETING_TYPE_INVENTORY_SOURCE",
            "TARGETING_TYPE_LANGUAGE",
            "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
            "TARGETING_TYPE_GEO_REGION",
            "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
            "TARGETING_TYPE_EXCHANGE",
            "TARGETING_TYPE_SUB_EXCHANGE",
            "TARGETING_TYPE_POI",
            "TARGETING_TYPE_BUSINESS_CHAIN",
            "TARGETING_TYPE_CONTENT_DURATION",
            "TARGETING_TYPE_CONTENT_STREAM_TYPE",
            "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
            "TARGETING_TYPE_OMID",
            "TARGETING_TYPE_AUDIO_CONTENT_TYPE",
            "TARGETING_TYPE_CONTENT_GENRE",
            "TARGETING_TYPE_YOUTUBE_VIDEO",
            "TARGETING_TYPE_YOUTUBE_CHANNEL",
            "TARGETING_TYPE_SESSION_POSITION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown in this version.",
            "Target a channel (a custom group of related websites or apps).",
            "Target an app category (for example, education or puzzle games).",
            "Target a specific app (for example, Angry Birds).",
            "Target a specific url (for example, quora.com).",
            "Target ads during a chosen time period on a specific day.",
            "Target ads to a specific age range (for example, 18-24).",
            "Target ads to the specified regions on a regional location list.",
            "Target ads to the specified points of interest on a proximity location list.",
            "Target ads to a specific gender (for example, female or male).",
            "Target a specific video player size for video ads.",
            "Target user rewarded content for video ads.",
            "Target ads to a specific parental status (for example, parent or not a parent).",
            "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
            "Target ads in a specific content outstream position.",
            "Target ads to a specific device type (for example, tablet or connected TV).",
            "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
            "Target ads to specific web browsers (for example, Chrome).",
            "Target ads to a specific household income range (for example, top 10%).",
            "Target ads in a specific on screen position.",
            "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
            "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
            "Filter website content by sensitive categories (for example, adult).",
            "Target ads to a specific environment (for example, web or app).",
            "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
            "Target ads to a specific operating system (for example, macOS).",
            "Target ads to a specific device make or model (for example, Roku or Samsung).",
            "Target ads to a specific keyword (for example, dog or retriever).",
            "Target ads to a specific negative keyword list.",
            "Target ads to a specific viewability (for example, 80% viewable).",
            "Target ads to a specific content category (for example, arts & entertainment).",
            "Purchase impressions from specific deals and auction packages.",
            "Target ads to a specific language (for example, English or Japanese).",
            "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.",
            "Target ads to a specific regional location (for example, a city or state).",
            "Purchase impressions from a group of deals and auction packages.",
            "Purchase impressions from specific exchanges.",
            "Purchase impressions from specific sub-exchanges.",
            "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
            "Target ads around locations of a business chain within a specific geo region.",
            "Target ads to a specific video content duration.",
            "Target ads to a specific video content stream type.",
            "Target ads to a specific native content position.",
            "Target ads in an Open Measurement enabled inventory.",
            "Target ads to a specific audio content type.",
            "Target ads to a specific content genre.",
            "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.",
            "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API."
          ]
        },
        "operatingSystemDetails": {
          "description": "Operating system details. This field will be populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.",
          "$ref": "OperatingSystemAssignedTargetingOptionDetails"
        },
        "nativeContentPositionDetails": {
          "description": "Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.",
          "$ref": "NativeContentPositionAssignedTargetingOptionDetails"
        },
        "environmentDetails": {
          "description": "Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.",
          "$ref": "EnvironmentAssignedTargetingOptionDetails"
        },
        "ageRangeDetails": {
          "description": "Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`.",
          "$ref": "AgeRangeAssignedTargetingOptionDetails"
        },
        "deviceTypeDetails": {
          "description": "Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.",
          "$ref": "DeviceTypeAssignedTargetingOptionDetails"
        },
        "youtubeChannelDetails": {
          "description": "YouTube channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.",
          "$ref": "YoutubeChannelAssignedTargetingOptionDetails"
        },
        "channelDetails": {
          "description": "Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`.",
          "$ref": "ChannelAssignedTargetingOptionDetails"
        },
        "dayAndTimeDetails": {
          "description": "Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.",
          "$ref": "DayAndTimeAssignedTargetingOptionDetails"
        },
        "omidDetails": {
          "description": "Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`.",
          "$ref": "OmidAssignedTargetingOptionDetails"
        },
        "youtubeVideoDetails": {
          "description": "YouTube video details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.",
          "$ref": "YoutubeVideoAssignedTargetingOptionDetails"
        },
        "keywordDetails": {
          "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct negative keywords can be assigned to a resource. No limit on number of positive keywords that can be assigned.",
          "$ref": "KeywordAssignedTargetingOptionDetails"
        },
        "thirdPartyVerifierDetails": {
          "description": "Third party verification details. This field will be populated when the targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.",
          "$ref": "ThirdPartyVerifierAssignedTargetingOptionDetails"
        },
        "contentOutstreamPositionDetails": {
          "description": "Content outstream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.",
          "$ref": "ContentOutstreamPositionAssignedTargetingOptionDetails"
        },
        "categoryDetails": {
          "description": "Category details. This field will be populated when the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also target its subcategories. If a category is excluded from targeting and a subcategory is included, the exclusion will take precedence.",
          "$ref": "CategoryAssignedTargetingOptionDetails"
        },
        "name": {
          "description": "Output only. The resource name for this assigned targeting option.",
          "readOnly": true,
          "type": "string"
        },
        "contentDurationDetails": {
          "description": "Content duration details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.",
          "$ref": "ContentDurationAssignedTargetingOptionDetails"
        },
        "assignedTargetingOptionIdAlias": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. An alias for the assigned_targeting_option_id. This value can be used in place of `assignedTargetingOptionId` when retrieving or deleting existing targeting. This field will only be supported for all assigned targeting options of the following targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field is also supported for line item assigned targeting options of the following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`"
        },
        "regionalLocationListDetails": {
          "description": "Regional location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.",
          "$ref": "RegionalLocationListAssignedTargetingOptionDetails"
        },
        "authorizedSellerStatusDetails": {
          "description": "Authorized seller status details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as DIRECT or RESELLER in the ads.txt file are targeted by default.",
          "$ref": "AuthorizedSellerStatusAssignedTargetingOptionDetails"
        },
        "onScreenPositionDetails": {
          "description": "On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.",
          "$ref": "OnScreenPositionAssignedTargetingOptionDetails"
        },
        "urlDetails": {
          "description": "URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`.",
          "$ref": "UrlAssignedTargetingOptionDetails"
        },
        "proximityLocationListDetails": {
          "description": "Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.",
          "$ref": "ProximityLocationListAssignedTargetingOptionDetails"
        },
        "householdIncomeDetails": {
          "description": "Household income details. This field will be populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.",
          "$ref": "HouseholdIncomeAssignedTargetingOptionDetails"
        },
        "poiDetails": {
          "description": "POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`.",
          "$ref": "PoiAssignedTargetingOptionDetails"
        },
        "contentGenreDetails": {
          "description": "Content genre details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.",
          "$ref": "ContentGenreAssignedTargetingOptionDetails"
        },
        "sessionPositionDetails": {
          "description": "Session position details. This field will be populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`.",
          "$ref": "SessionPositionAssignedTargetingOptionDetails"
        }
      },
      "description": "A single assigned targeting option, which defines the state of a targeting option for an entity with targeting settings."
    },
    "UniversalAdId": {
      "description": "A creative identifier provided by a registry that is unique across all platforms. This is part of the VAST 4.0 standard.",
      "properties": {
        "id": {
          "description": "Optional. The unique creative identifier.",
          "type": "string"
        },
        "registry": {
          "description": "Optional. The registry provides unique creative identifiers.",
          "enum": [
            "UNIVERSAL_AD_REGISTRY_UNSPECIFIED",
            "UNIVERSAL_AD_REGISTRY_OTHER",
            "UNIVERSAL_AD_REGISTRY_AD_ID",
            "UNIVERSAL_AD_REGISTRY_CLEARCAST",
            "UNIVERSAL_AD_REGISTRY_DV360",
            "UNIVERSAL_AD_REGISTRY_CM"
          ],
          "type": "string",
          "enumDescriptions": [
            "The Universal Ad registry is unspecified or is unknown in this version.",
            "Use a custom provider to provide the Universal Ad ID.",
            "Use Ad-ID to provide the Universal Ad ID.",
            "Use clearcast.co.uk to provide the Universal Ad ID.",
            "Use Display & Video 360 to provide the Universal Ad ID.",
            "Use Campaign Manager 360 to provide the Universal Ad ID."
          ]
        }
      },
      "type": "object",
      "id": "UniversalAdId"
    },
    "AgeRangeAssignedTargetingOptionDetails": {
      "id": "AgeRangeAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "ageRange": {
          "type": "string",
          "enumDescriptions": [
            "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.",
            "The age range of the audience is 18 to 24.",
            "The age range of the audience is 25 to 34.",
            "The age range of the audience is 35 to 44.",
            "The age range of the audience is 45 to 54.",
            "The age range of the audience is 55 to 64.",
            "The age range of the audience is 65 and up.",
            "The age range of the audience is unknown.",
            "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item."
          ],
          "enum": [
            "AGE_RANGE_UNSPECIFIED",
            "AGE_RANGE_18_24",
            "AGE_RANGE_25_34",
            "AGE_RANGE_35_44",
            "AGE_RANGE_45_54",
            "AGE_RANGE_55_64",
            "AGE_RANGE_65_PLUS",
            "AGE_RANGE_UNKNOWN",
            "AGE_RANGE_18_20",
            "AGE_RANGE_21_24",
            "AGE_RANGE_25_29",
            "AGE_RANGE_30_34",
            "AGE_RANGE_35_39",
            "AGE_RANGE_40_44",
            "AGE_RANGE_45_49",
            "AGE_RANGE_50_54",
            "AGE_RANGE_55_59",
            "AGE_RANGE_60_64"
          ],
          "description": "Required. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age."
        }
      },
      "description": "Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`."
    },
    "Campaign": {
      "description": "A single campaign.",
      "properties": {
        "advertiserId": {
          "readOnly": true,
          "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
          "type": "string",
          "format": "int64"
        },
        "entityStatus": {
          "enum": [
            "ENTITY_STATUS_UNSPECIFIED",
            "ENTITY_STATUS_ACTIVE",
            "ENTITY_STATUS_ARCHIVED",
            "ENTITY_STATUS_DRAFT",
            "ENTITY_STATUS_PAUSED",
            "ENTITY_STATUS_SCHEDULED_FOR_DELETION"
          ],
          "description": "Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.",
          "type": "string",
          "enumDescriptions": [
            "Default value when status is not specified or is unknown in this version.",
            "The entity is enabled to bid and spend budget.",
            "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.",
            "The entity is under draft. Bidding and budget spending are disabled.",
            "Bidding and budget spending are paused for the entity.",
            "The entity is scheduled for deletion."
          ]
        },
        "campaignGoal": {
          "description": "Required. The goal of the campaign.",
          "$ref": "CampaignGoal"
        },
        "campaignBudgets": {
          "type": "array",
          "description": "The list of budgets available to this campaign. If this field is not set, the campaign uses an unlimited budget.",
          "items": {
            "$ref": "CampaignBudget"
          }
        },
        "frequencyCap": {
          "description": "Required. The frequency cap setting of the campaign. *Warning*: On **February 28, 2025**, frequency cap time periods greater than 30 days will no longer be accepted. [Read more about this announced change](/display-video/api/deprecations#features.lifetime_frequency_cap)",
          "$ref": "FrequencyCap"
        },
        "displayName": {
          "description": "Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.",
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the campaign.",
          "type": "string"
        },
        "campaignId": {
          "description": "Output only. The unique ID of the campaign. Assigned by the system.",
          "readOnly": true,
          "type": "string",
          "format": "int64"
        },
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The timestamp when the campaign was last updated. Assigned by the system.",
          "readOnly": true
        },
        "campaignFlight": {
          "description": "Required. The planned spend and duration of the campaign.",
          "$ref": "CampaignFlight"
        }
      },
      "type": "object",
      "id": "Campaign"
    },
    "ExitEvent": {
      "description": "Exit event of the creative.",
      "properties": {
        "name": {
          "description": "Optional. The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "enumDescriptions": [
            "Exit event type is not specified or is unknown in this version.",
            "The exit event is the default one.",
            "The exit event is a backup exit event. There could be multiple backup exit events in a creative."
          ],
          "enum": [
            "EXIT_EVENT_TYPE_UNSPECIFIED",
            "EXIT_EVENT_TYPE_DEFAULT",
            "EXIT_EVENT_TYPE_BACKUP"
          ],
          "description": "Required. The type of the exit event."
        },
        "url": {
          "description": "Required. The click through URL of the exit event. This is required when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`",
          "type": "string"
        },
        "reportingName": {
          "description": "Optional. The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ExitEvent"
    },
    "DoubleVerifyBrandSafetyCategories": {
      "properties": {
        "avoidedHighSeverityCategories": {
          "type": "array",
          "description": "Brand safety high severity avoidance categories.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "This enum is only a placeholder and it doesn't specify any high severity categories.",
              "Adult Content: Pornography, Mature Topics & Nudity.",
              "Copyright Infringement.",
              "Drugs/Alcohol/Controlled Substances: Substance Abuse.",
              "Extreme Graphic/Explicit Violence/Weapons.",
              "Hate/Profanity.",
              "Illegal Activities: Criminal Skills.",
              "Incentivized/Malware/Clutter."
            ],
            "enum": [
              "HIGHER_SEVERITY_UNSPECIFIED",
              "ADULT_CONTENT_PORNOGRAPHY",
              "COPYRIGHT_INFRINGEMENT",
              "SUBSTANCE_ABUSE",
              "GRAPHIC_VIOLENCE_WEAPONS",
              "HATE_PROFANITY",
              "CRIMINAL_SKILLS",
              "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER"
            ]
          }
        },
        "avoidUnknownBrandSafetyCategory": {
          "description": "Unknown or unrateable.",
          "type": "boolean"
        },
        "avoidedMediumSeverityCategories": {
          "description": "Brand safety medium severity avoidance categories.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "This enum is only a placeholder and it doesn't specify any medium severity categories.",
              "Ad Servers.",
              "Adult Content: Swimsuit.",
              "Controversial Subjects: Alternative Lifestyles.",
              "Controversial Subjects: Celebrity Gossip.",
              "Controversial Subjects: Gambling.",
              "Controversial Subjects: Occult.",
              "Controversial Subjects: Sex Education.",
              "Disaster: Aviation.",
              "Disaster: Man-made.",
              "Disaster: Natural.",
              "Disaster: Terrorist Events.",
              "Disaster: Vehicle.",
              "Drugs/Alcohol/Controlled Substances: Alcohol.",
              "Drugs/Alcohol/Controlled Substances: Smoking.",
              "Negative News: Financial.",
              "Non-Std Content: Non-English.",
              "Non-Std Content: Parking Page.",
              "Unmoderated UGC: Forums, Images & Video.",
              "Controversial Subjects: Inflammatory Politics and News.",
              "Negative News: Pharmaceutical."
            ],
            "enum": [
              "MEDIUM_SEVERITY_UNSPECIFIED",
              "AD_SERVERS",
              "ADULT_CONTENT_SWIMSUIT",
              "ALTERNATIVE_LIFESTYLES",
              "CELEBRITY_GOSSIP",
              "GAMBLING",
              "OCCULT",
              "SEX_EDUCATION",
              "DISASTER_AVIATION",
              "DISASTER_MAN_MADE",
              "DISASTER_NATURAL",
              "DISASTER_TERRORIST_EVENTS",
              "DISASTER_VEHICLE",
              "ALCOHOL",
              "SMOKING",
              "NEGATIVE_NEWS_FINANCIAL",
              "NON_ENGLISH",
              "PARKING_PAGE",
              "UNMODERATED_UGC",
              "INFLAMMATORY_POLITICS_AND_NEWS",
              "NEGATIVE_NEWS_PHARMACEUTICAL"
            ]
          },
          "type": "array"
        }
      },
      "description": "Settings for brand safety controls.",
      "id": "DoubleVerifyBrandSafetyCategories",
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "type": "object",
      "id": "Empty"
    },
    "FrequencyCap": {
      "properties": {
        "maxViews": {
          "description": "Optional. The maximum number of times a user may click-through or fully view an ad during this period until it is no longer served to them. Must be greater than 0. Only applicable to YouTube and Partners resources. Required when unlimited is `false` and max_impressions is not set.",
          "type": "integer",
          "format": "int32"
        },
        "timeUnitCount": {
          "type": "integer",
          "format": "int32",
          "description": "The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_MONTHS` - must be 1 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59"
        },
        "timeUnit": {
          "type": "string",
          "enumDescriptions": [
            "Time unit value is not specified or is unknown in this version.",
            "The frequency cap will be applied to the whole life time of the line item.",
            "The frequency cap will be applied to a number of months.",
            "The frequency cap will be applied to a number of weeks.",
            "The frequency cap will be applied to a number of days.",
            "The frequency cap will be applied to a number of hours.",
            "The frequency cap will be applied to a number of minutes."
          ],
          "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`.",
          "enumDeprecated": [
            false,
            true,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "TIME_UNIT_UNSPECIFIED",
            "TIME_UNIT_LIFETIME",
            "TIME_UNIT_MONTHS",
            "TIME_UNIT_WEEKS",
            "TIME_UNIT_DAYS",
            "TIME_UNIT_HOURS",
            "TIME_UNIT_MINUTES"
          ]
        },
        "unlimited": {
          "description": "Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.",
          "type": "boolean"
        },
        "maxImpressions": {
          "description": "The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is `false` and max_views is not set.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "Settings that control the number of times a user may be shown with the same ad during a given time period.",
      "id": "FrequencyCap",
      "type": "object"
    },
    "DisplayVideoSourceAd": {
      "properties": {
        "creativeId": {
          "type": "string",
          "format": "int64",
          "description": "The ID of the source creative."
        }
      },
      "description": "The ad sourced from a DV360 creative.",
      "id": "DisplayVideoSourceAd",
      "type": "object"
    },
    "ListAssignedInventorySourcesResponse": {
      "id": "ListAssignedInventorySourcesResponse",
      "type": "object",
      "properties": {
        "assignedInventorySources": {
          "type": "array",
          "items": {
            "$ref": "AssignedInventorySource"
          },
          "description": "The list of assigned inventory sources. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedInventorySources` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "description": "Response message for AssignedInventorySourceService.ListAssignedInventorySources."
    },
    "DoubleVerifyDisplayViewability": {
      "properties": {
        "viewableDuring": {
          "enum": [
            "AVERAGE_VIEW_DURATION_UNSPECIFIED",
            "AVERAGE_VIEW_DURATION_5_SEC",
            "AVERAGE_VIEW_DURATION_10_SEC",
            "AVERAGE_VIEW_DURATION_15_SEC"
          ],
          "description": "Target web and app inventory to maximize 100% viewable duration.",
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any average view duration options.",
            "Target web and app inventory to maximize 100% viewable duration 5 seconds or more.",
            "Target web and app inventory to maximize 100% viewable duration 10 seconds or more.",
            "Target web and app inventory to maximize 100% viewable duration 15 seconds or more."
          ]
        },
        "iab": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any IAB viewed rate options.",
            "Target web and app inventory to maximize IAB viewable rate 80% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 75% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 70% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 65% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 60% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 55% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 50% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 40% or higher.",
            "Target web and app inventory to maximize IAB viewable rate 30% or higher."
          ],
          "description": "Target web and app inventory to maximize IAB viewable rate.",
          "enum": [
            "IAB_VIEWED_RATE_UNSPECIFIED",
            "IAB_VIEWED_RATE_80_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_75_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_70_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_65_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_60_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_55_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_50_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_40_PERCENT_HIGHER",
            "IAB_VIEWED_RATE_30_PERCENT_HIGHER"
          ]
        }
      },
      "description": "Details of DoubleVerify display viewability settings.",
      "id": "DoubleVerifyDisplayViewability",
      "type": "object"
    },
    "CmTrackingAd": {
      "type": "object",
      "id": "CmTrackingAd",
      "description": "A Campaign Manager 360 tracking ad.",
      "properties": {
        "cmPlacementId": {
          "description": "Optional. The placement ID of the campaign manager 360 tracking Ad.",
          "type": "string",
          "format": "int64"
        },
        "cmAdId": {
          "type": "string",
          "format": "int64",
          "description": "Optional. The ad ID of the campaign manager 360 tracking Ad."
        },
        "cmCreativeId": {
          "type": "string",
          "format": "int64",
          "description": "Optional. The creative ID of the campaign manager 360 tracking Ad."
        }
      }
    },
    "ViewabilityTargetingOptionDetails": {
      "type": "object",
      "id": "ViewabilityTargetingOptionDetails",
      "description": "Represents a targetable viewability. This will be populated in the viewability_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.",
      "properties": {
        "viewability": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.",
            "Bid only on impressions that are at least 10% likely to be viewable.",
            "Bid only on impressions that are at least 20% likely to be viewable.",
            "Bid only on impressions that are at least 30% likely to be viewable.",
            "Bid only on impressions that are at least 40% likely to be viewable.",
            "Bid only on impressions that are at least 50% likely to be viewable.",
            "Bid only on impressions that are at least 60% likely to be viewable.",
            "Bid only on impressions that are at least 70% likely to be viewable.",
            "Bid only on impressions that are at least 80% likely to be viewable.",
            "Bid only on impressions that are at least 90% likely to be viewable."
          ],
          "enum": [
            "VIEWABILITY_UNSPECIFIED",
            "VIEWABILITY_10_PERCENT_OR_MORE",
            "VIEWABILITY_20_PERCENT_OR_MORE",
            "VIEWABILITY_30_PERCENT_OR_MORE",
            "VIEWABILITY_40_PERCENT_OR_MORE",
            "VIEWABILITY_50_PERCENT_OR_MORE",
            "VIEWABILITY_60_PERCENT_OR_MORE",
            "VIEWABILITY_70_PERCENT_OR_MORE",
            "VIEWABILITY_80_PERCENT_OR_MORE",
            "VIEWABILITY_90_PERCENT_OR_MORE"
          ],
          "description": "Output only. The predicted viewability percentage."
        }
      }
    },
    "ContentDurationTargetingOptionDetails": {
      "properties": {
        "contentDuration": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.",
            "The content duration is unknown.",
            "Content is 0-1 minute long.",
            "Content is 1-5 minutes long.",
            "Content is 5-15 minutes long.",
            "Content is 15-30 minutes long.",
            "Content is 30-60 minutes long.",
            "Content is over 60 minutes long."
          ],
          "enum": [
            "CONTENT_DURATION_UNSPECIFIED",
            "CONTENT_DURATION_UNKNOWN",
            "CONTENT_DURATION_0_TO_1_MIN",
            "CONTENT_DURATION_1_TO_5_MIN",
            "CONTENT_DURATION_5_TO_15_MIN",
            "CONTENT_DURATION_15_TO_30_MIN",
            "CONTENT_DURATION_30_TO_60_MIN",
            "CONTENT_DURATION_OVER_60_MIN"
          ],
          "description": "Output only. The content duration."
        }
      },
      "description": "Represents a targetable content duration. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.",
      "id": "ContentDurationTargetingOptionDetails",
      "type": "object"
    },
    "Status": {
      "id": "Status",
      "type": "object",
      "properties": {
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors)."
    },
    "LookupInvoiceCurrencyResponse": {
      "type": "object",
      "id": "LookupInvoiceCurrencyResponse",
      "properties": {
        "currencyCode": {
          "description": "Currency used by the advertiser in ISO 4217 format.",
          "type": "string"
        }
      }
    },
    "AdvertiserAdServerConfig": {
      "properties": {
        "thirdPartyOnlyConfig": {
          "description": "The configuration for advertisers that use third-party ad servers only.",
          "$ref": "ThirdPartyOnlyConfig"
        },
        "cmHybridConfig": {
          "description": "The configuration for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers.",
          "$ref": "CmHybridConfig"
        }
      },
      "description": "Ad server related settings of an advertiser.",
      "id": "AdvertiserAdServerConfig",
      "type": "object"
    },
    "BrowserAssignedTargetingOptionDetails": {
      "id": "BrowserAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "Output only. The display name of the browser.",
          "readOnly": true,
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.",
          "type": "boolean"
        },
        "targetingOptionId": {
          "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.",
          "type": "string"
        }
      },
      "description": "Details for assigned browser targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`."
    },
    "SessionPositionAssignedTargetingOptionDetails": {
      "description": "Details for session position assigned targeting option. This will be populated in the session_position_details field when targeting_type is `TARGETING_TYPE_SESSION_POSITION`.",
      "properties": {
        "sessionPosition": {
          "type": "string",
          "enumDescriptions": [
            "This is a placeholder, does not indicate any positions.",
            "The first impression of the session."
          ],
          "enum": [
            "SESSION_POSITION_UNSPECIFIED",
            "SESSION_POSITION_FIRST_IMPRESSION"
          ],
          "description": "The position where the ad will show in a session."
        }
      },
      "type": "object",
      "id": "SessionPositionAssignedTargetingOptionDetails"
    },
    "KeywordAssignedTargetingOptionDetails": {
      "type": "object",
      "id": "KeywordAssignedTargetingOptionDetails",
      "description": "Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.",
      "properties": {
        "keyword": {
          "description": "Required. The keyword, for example `car insurance`. Positive keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "exemptedPolicyNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The policy names to exempt the keyword from. When attempting to target a keyword that violates a policy, the error returned will include the name of the relevant policy. Use that name in this field to exempt the targeted keyword from the policy. This field is only applicable for positively-targeted keywords assigned to Demand Gen resources. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users."
        }
      }
    },
    "CombinedAudience": {
      "description": "Describes a combined audience resource.",
      "properties": {
        "displayName": {
          "description": "Output only. The display name of the combined audience. .",
          "readOnly": true,
          "type": "string"
        },
        "combinedAudienceId": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The unique ID of the combined audience. Assigned by the system."
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the combined audience."
        }
      },
      "type": "object",
      "id": "CombinedAudience"
    },
    "UrlAssignedTargetingOptionDetails": {
      "id": "UrlAssignedTargetingOptionDetails",
      "type": "object",
      "properties": {
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        },
        "url": {
          "description": "Required. The URL, for example `example.com`. DV360 supports two levels of subdirectory targeting, for example `www.example.com/one-subdirectory-level/second-level`, and five levels of subdomain targeting, for example `five.four.three.two.one.example.com`.",
          "type": "string"
        }
      },
      "description": "Details for assigned URL targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`."
    },
    "ListCombinedAudiencesResponse": {
      "properties": {
        "combinedAudiences": {
          "type": "array",
          "items": {
            "$ref": "CombinedAudience"
          },
          "description": "The list of combined audiences. This list will be absent if empty."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCombinedAudiences` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "id": "ListCombinedAudiencesResponse",
      "type": "object"
    },
    "OperatingSystemAssignedTargetingOptionDetails": {
      "description": "Assigned operating system targeting option details. This will be populated in the operating_system_details field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.",
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting option ID populated in targeting_option_id field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.",
          "type": "string"
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the operating system.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "OperatingSystemAssignedTargetingOptionDetails"
    },
    "ListLineItemsResponse": {
      "properties": {
        "lineItems": {
          "items": {
            "$ref": "LineItem"
          },
          "description": "The list of line items. This list will be absent if empty.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLineItems` method to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListLineItemsResponse"
    },
    "DateRange": {
      "properties": {
        "startDate": {
          "description": "The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.",
          "$ref": "Date"
        },
        "endDate": {
          "description": "The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.",
          "$ref": "Date"
        }
      },
      "description": "A date range.",
      "id": "DateRange",
      "type": "object"
    },
    "AgeRangeTargetingOptionDetails": {
      "id": "AgeRangeTargetingOptionDetails",
      "type": "object",
      "properties": {
        "ageRange": {
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.",
            "The age range of the audience is 18 to 24.",
            "The age range of the audience is 25 to 34.",
            "The age range of the audience is 35 to 44.",
            "The age range of the audience is 45 to 54.",
            "The age range of the audience is 55 to 64.",
            "The age range of the audience is 65 and up.",
            "The age range of the audience is unknown.",
            "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.",
            "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item."
          ],
          "enum": [
            "AGE_RANGE_UNSPECIFIED",
            "AGE_RANGE_18_24",
            "AGE_RANGE_25_34",
            "AGE_RANGE_35_44",
            "AGE_RANGE_45_54",
            "AGE_RANGE_55_64",
            "AGE_RANGE_65_PLUS",
            "AGE_RANGE_UNKNOWN",
            "AGE_RANGE_18_20",
            "AGE_RANGE_21_24",
            "AGE_RANGE_25_29",
            "AGE_RANGE_30_34",
            "AGE_RANGE_35_39",
            "AGE_RANGE_40_44",
            "AGE_RANGE_45_49",
            "AGE_RANGE_50_54",
            "AGE_RANGE_55_59",
            "AGE_RANGE_60_64"
          ],
          "description": "Output only. The age range of an audience."
        }
      },
      "description": "Represents a targetable age range. This will be populated in the age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`."
    },
    "NativeContentPositionTargetingOptionDetails": {
      "id": "NativeContentPositionTargetingOptionDetails",
      "type": "object",
      "properties": {
        "contentPosition": {
          "type": "string",
          "enumDescriptions": [
            "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.",
            "The native content position is unknown.",
            "Native content position is in-article, i.e., ads appear between the paragraphs of pages.",
            "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).",
            "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.",
            "Native content position is recommendation, i.e., ads appear in sections for recommended content."
          ],
          "enum": [
            "NATIVE_CONTENT_POSITION_UNSPECIFIED",
            "NATIVE_CONTENT_POSITION_UNKNOWN",
            "NATIVE_CONTENT_POSITION_IN_ARTICLE",
            "NATIVE_CONTENT_POSITION_IN_FEED",
            "NATIVE_CONTENT_POSITION_PERIPHERAL",
            "NATIVE_CONTENT_POSITION_RECOMMENDATION"
          ],
          "description": "Output only. The content position.",
          "readOnly": true
        }
      },
      "description": "Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`."
    },
    "GoogleAudience": {
      "id": "GoogleAudience",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The resource name of the google audience."
        },
        "googleAudienceType": {
          "readOnly": true,
          "description": "Output only. The type of Google audience. .",
          "enumDeprecated": [
            false,
            false,
            false,
            true,
            true,
            false,
            false
          ],
          "enum": [
            "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED",
            "GOOGLE_AUDIENCE_TYPE_AFFINITY",
            "GOOGLE_AUDIENCE_TYPE_IN_MARKET",
            "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS",
            "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES",
            "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT",
            "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when type is not specified or is unknown.",
            "Affinity type Google audience.",
            "In-Market type Google audience.",
            "Installed-Apps type Google audience.",
            "New-Mobile-Devices type Google audience.",
            "Life-Event type Google audience.",
            "Extended-Demographic type Google audience."
          ]
        },
        "googleAudienceId": {
          "type": "string",
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The unique ID of the Google audience. Assigned by the system."
        },
        "displayName": {
          "description": "Output only. The display name of the Google audience. .",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Describes a Google audience resource. Includes Google audience lists."
    },
    "YoutubeAndPartnersBiddingStrategy": {
      "id": "YoutubeAndPartnersBiddingStrategy",
      "type": "object",
      "properties": {
        "adGroupEffectiveTargetCpaValue": {
          "readOnly": true,
          "description": "Output only. The effective target CPA for ad group, in micros of advertiser's currency.",
          "type": "string",
          "format": "int64"
        },
        "adGroupEffectiveTargetCpaSource": {
          "type": "string",
          "enumDescriptions": [
            "Bidding source is not specified or unknown.",
            "Bidding value is inherited from the line item.",
            "Bidding value is defined in the ad group."
          ],
          "description": "Output only. Source of the effective target CPA value for ad group.",
          "enum": [
            "BIDDING_SOURCE_UNSPECIFIED",
            "BIDDING_SOURCE_LINE_ITEM",
            "BIDDING_SOURCE_AD_GROUP"
          ],
          "readOnly": true
        },
        "type": {
          "description": "The type of the bidding strategy.",
          "enum": [
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS",
            "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Type is not specified or unknown.",
            "A bidding strategy that pays a configurable amount per video view.",
            "A bidding strategy that pays a configurable amount per impression.",
            "A bidding strategy that automatically optimizes conversions per dollar.",
            "A bidding strategy that pays a configurable amount per impression.",
            "A bidding strategy for YouTube Instant Reserve line items that pays a fixed amount per impression.",
            "An automated bidding strategy that sets bids to achieve maximum lift.",
            "A bidding strategy that automatically maximizes number of conversions given a daily budget.",
            "A bidding strategy that automatically optimizes cost per video view.",
            "A bidding strategy that automatically maximizes revenue while averaging a specific target Return On Ad Spend (ROAS).",
            "A bidding strategy that automatically sets bids to maximize revenue while spending your budget."
          ]
        },
        "value": {
          "description": "The value used by the bidding strategy. When the bidding strategy is assigned at the line item level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_SHARE_OF_VOICE` When the bidding strategy is assigned at the ad group level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an applicable strategy, the value of this field will be 0.",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Settings that control the bid strategy for YouTube and Partners resources."
    },
    "ParentalStatusAssignedTargetingOptionDetails": {
      "properties": {
        "parentalStatus": {
          "type": "string",
          "enumDescriptions": [
            "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.",
            "The audience is a parent.",
            "The audience is not a parent.",
            "The parental status of the audience is unknown."
          ],
          "enum": [
            "PARENTAL_STATUS_UNSPECIFIED",
            "PARENTAL_STATUS_PARENT",
            "PARENTAL_STATUS_NOT_A_PARENT",
            "PARENTAL_STATUS_UNKNOWN"
          ],
          "description": "Required. The parental status of the audience."
        }
      },
      "description": "Details for assigned parental status targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.",
      "id": "ParentalStatusAssignedTargetingOptionDetails",
      "type": "object"
    },
    "ContentGenreAssignedTargetingOptionDetails": {
      "properties": {
        "targetingOptionId": {
          "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.",
          "type": "string"
        },
        "displayName": {
          "readOnly": true,
          "description": "Output only. The display name of the content genre.",
          "type": "string"
        },
        "negative": {
          "description": "Indicates if this option is being negatively targeted.",
          "type": "boolean"
        }
      },
      "description": "Details for content genre assigned targeting option. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not supported. Remove all content genre targeting options to achieve this effect.",
      "id": "ContentGenreAssignedTargetingOptionDetails",
      "type": "object"
    },
    "IntegralAdScience": {
      "description": "Details of Integral Ad Science settings.",
      "properties": {
        "excludedGamblingRisk": {
          "enum": [
            "GAMBLING_UNSPECIFIED",
            "GAMBLING_HR",
            "GAMBLING_HMR"
          ],
          "description": "Brand Safety - **Gambling**.",
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any gambling options.",
            "Gambling - Exclude High Risk.",
            "Gambling - Exclude High and Moderate Risk."
          ]
        },
        "excludedHateSpeechRisk": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any hate speech options.",
            "Hate Speech - Exclude High Risk.",
            "Hate Speech - Exclude High and Moderate Risk."
          ],
          "description": "Brand Safety - **Hate speech**.",
          "enum": [
            "HATE_SPEECH_UNSPECIFIED",
            "HATE_SPEECH_HR",
            "HATE_SPEECH_HMR"
          ]
        },
        "videoViewability": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any video viewability options.",
            "40%+ in view (IAB video viewability standard).",
            "50%+ in view (IAB video viewability standard).",
            "60%+ in view (IAB video viewability standard).",
            "70%+ in view (IAB video viewability standard)."
          ],
          "enum": [
            "VIDEO_VIEWABILITY_UNSPECIFIED",
            "VIDEO_VIEWABILITY_40",
            "VIDEO_VIEWABILITY_50",
            "VIDEO_VIEWABILITY_60",
            "VIDEO_VIEWABILITY_70"
          ],
          "description": "Video Viewability Section (applicable to video line items only)."
        },
        "excludedAlcoholRisk": {
          "description": "Brand Safety - **Alcohol**.",
          "enum": [
            "ALCOHOL_UNSPECIFIED",
            "ALCOHOL_HR",
            "ALCOHOL_HMR"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any alcohol options.",
            "Alcohol - Exclude High Risk.",
            "Alcohol - Exclude High and Moderate Risk."
          ]
        },
        "traqScoreOption": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any true advertising quality scores.",
            "TRAQ score 250-1000.",
            "TRAQ score 500-1000.",
            "TRAQ score 600-1000.",
            "TRAQ score 700-1000.",
            "TRAQ score 750-1000.",
            "TRAQ score 875-1000.",
            "TRAQ score 1000."
          ],
          "enum": [
            "TRAQ_UNSPECIFIED",
            "TRAQ_250",
            "TRAQ_500",
            "TRAQ_600",
            "TRAQ_700",
            "TRAQ_750",
            "TRAQ_875",
            "TRAQ_1000"
          ],
          "description": "True advertising quality (applicable to Display line items only)."
        },
        "excludedDrugsRisk": {
          "description": "Brand Safety - **Drugs**.",
          "enum": [
            "DRUGS_UNSPECIFIED",
            "DRUGS_HR",
            "DRUGS_HMR"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any drugs options.",
            "Drugs - Exclude High Risk.",
            "Drugs - Exclude High and Moderate Risk."
          ]
        },
        "excludedViolenceRisk": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any violence options.",
            "Violence - Exclude High Risk.",
            "Violence - Exclude High and Moderate Risk."
          ],
          "enum": [
            "VIOLENCE_UNSPECIFIED",
            "VIOLENCE_HR",
            "VIOLENCE_HMR"
          ],
          "description": "Brand Safety - **Violence**."
        },
        "excludedIllegalDownloadsRisk": {
          "description": "Brand Safety - **Illegal downloads**.",
          "enum": [
            "ILLEGAL_DOWNLOADS_UNSPECIFIED",
            "ILLEGAL_DOWNLOADS_HR",
            "ILLEGAL_DOWNLOADS_HMR"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any illegal downloads options.",
            "Illegal Downloads - Exclude High Risk.",
            "Illegal Downloads - Exclude High and Moderate Risk."
          ]
        },
        "excludeUnrateable": {
          "description": "Brand Safety - **Unrateable**.",
          "type": "boolean"
        },
        "excludedAdultRisk": {
          "description": "Brand Safety - **Adult content**.",
          "enum": [
            "ADULT_UNSPECIFIED",
            "ADULT_HR",
            "ADULT_HMR"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any adult options.",
            "Adult - Exclude High Risk.",
            "Adult - Exclude High and Moderate Risk."
          ]
        },
        "excludedOffensiveLanguageRisk": {
          "enum": [
            "OFFENSIVE_LANGUAGE_UNSPECIFIED",
            "OFFENSIVE_LANGUAGE_HR",
            "OFFENSIVE_LANGUAGE_HMR"
          ],
          "description": "Brand Safety - **Offensive language**.",
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any language options.",
            "Offensive Language - Exclude High Risk.",
            "Offensive Language - Exclude High and Moderate Risk."
          ]
        },
        "displayViewability": {
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any display viewability options.",
            "Target 40% Viewability or Higher.",
            "Target 50% Viewability or Higher.",
            "Target 60% Viewability or Higher.",
            "Target 70% Viewability or Higher."
          ],
          "description": "Display Viewability section (applicable to display line items only).",
          "enum": [
            "PERFORMANCE_VIEWABILITY_UNSPECIFIED",
            "PERFORMANCE_VIEWABILITY_40",
            "PERFORMANCE_VIEWABILITY_50",
            "PERFORMANCE_VIEWABILITY_60",
            "PERFORMANCE_VIEWABILITY_70"
          ]
        },
        "customSegmentId": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999` or `3000001` and `3999999`, inclusive.",
          "type": "array"
        },
        "excludedAdFraudRisk": {
          "description": "Ad Fraud settings.",
          "enum": [
            "SUSPICIOUS_ACTIVITY_UNSPECIFIED",
            "SUSPICIOUS_ACTIVITY_HR",
            "SUSPICIOUS_ACTIVITY_HMR",
            "SUSPICIOUS_ACTIVITY_FD"
          ],
          "type": "string",
          "enumDescriptions": [
            "This enum is only a placeholder and it doesn't specify any ad fraud prevention options.",
            "Ad Fraud - Exclude High Risk.",
            "Ad Fraud - Exclude High and Moderate Risk.",
            "Ad Fraud - Exclude Fraudulent Device."
          ]
        }
      },
      "type": "object",
      "id": "IntegralAdScience"
    },
    "ListGuaranteedOrdersResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGuaranteedOrders` method to retrieve the next page of results.",
          "type": "string"
        },
        "guaranteedOrders": {
          "description": "The list of guaranteed orders. This list will be absent if empty.",
          "items": {
            "$ref": "GuaranteedOrder"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "ListGuaranteedOrdersResponse"
    }
  },
  "mtlsRootUrl": "https://displayvideo.mtls.googleapis.com/",
  "revision": "20260412",
  "name": "displayvideo",
  "id": "displayvideo:v2"
}
