{
  "canonicalName": "AgenciesAndBrands",
  "mtlsRootUrl": "https://agenciesandbrands.mtls.googleapis.com/",
  "version": "v1",
  "description": "Agencies and brands API is an externally available HTTP API for ad agencies and brands to programmatically manage their deals and spending with Google Ad Manager publishers.",
  "fullyEncodeReservedExpansion": true,
  "name": "agenciesandbrands",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/agencies-and-brands": {
          "description": "View, create, edit, and delete data entities in your Agency account."
        }
      }
    }
  },
  "id": "agenciesandbrands:v1",
  "documentationLink": "https://developers.google.com/authorized-buyers/agencies-and-brands/get-started/start",
  "kind": "discovery#restDescription",
  "basePath": "",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "ownerDomain": "google.com",
  "parameters": {
    "quotaUser": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json",
      "location": "query",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "key": {
      "location": "query",
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "location": "query",
      "description": "V1 error format."
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    }
  },
  "protocol": "rest",
  "resources": {
    "agencies": {
      "resources": {
        "reports": {
          "methods": {
            "run": {
              "response": {
                "$ref": "Operation"
              },
              "id": "agenciesandbrands.agencies.reports.run",
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "path": "v1/{+name}:run",
              "request": {
                "$ref": "RunReportRequest"
              },
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^agencies/[^/]+/reports/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. The report to run. Format: `agencies/{account_id}/reports/{report_id}`"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "description": "Initiates the execution of an existing report asynchronously. Users can get the report by polling this operation using `OperationsService.GetOperation`. Poll every 5 seconds initially, with an exponential backoff. Once a report is complete, the operation will contain a `RunReportResponse` in its response field containing a report_result that can be passed to the `FetchReportResultRows` method to retrieve the report data.",
              "httpMethod": "POST",
              "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}:run"
            },
            "get": {
              "id": "agenciesandbrands.agencies.reports.get",
              "httpMethod": "GET",
              "response": {
                "$ref": "Report"
              },
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Required. The resource name of the report. Format: `agencies/{account_id}/reports/{report_id}`",
                  "type": "string",
                  "required": true,
                  "pattern": "^agencies/[^/]+/reports/[^/]+$"
                }
              },
              "description": "Retrieves a `Report` object.",
              "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}"
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListReportsResponse"
              },
              "parameters": {
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "Optional. A page token, received from a previous `ListReports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReports` must match the call that provided the page token."
                },
                "skip": {
                  "description": "Optional. Number of individual resources to skip while paginating.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "filter": {
                  "description": "Optional. Expression to filter the response. See syntax details at https://developers.google.com/ad-manager/api/beta/filters",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "location": "path",
                  "description": "Required. The parent, which owns this collection of reports. Format: `agencies/{account_id}`",
                  "pattern": "^agencies/[^/]+$",
                  "type": "string",
                  "required": true
                },
                "orderBy": {
                  "location": "query",
                  "type": "string",
                  "description": "Optional. Expression to specify sorting order. See syntax details at https://developers.google.com/ad-manager/api/beta/filters#order"
                },
                "pageSize": {
                  "location": "query",
                  "description": "Optional. The maximum number of `Reports` to return. The service may return fewer than this value. If unspecified, at most 50 `Reports` will be returned. The maximum value is 1000; values greater than 1000 will be coerced to 1000.",
                  "format": "int32",
                  "type": "integer"
                }
              },
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "description": "Lists `Report` objects.",
              "path": "v1/{+parent}/reports",
              "id": "agenciesandbrands.agencies.reports.list",
              "flatPath": "v1/agencies/{agenciesId}/reports"
            },
            "delete": {
              "parameters": {
                "name": {
                  "description": "Required. Resource name of the report to delete. Format: `agencies/{account_id}/reports/{report_id}`",
                  "location": "path",
                  "pattern": "^agencies/[^/]+/reports/[^/]+$",
                  "type": "string",
                  "required": true
                }
              },
              "parameterOrder": [
                "name"
              ],
              "id": "agenciesandbrands.agencies.reports.delete",
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "httpMethod": "DELETE",
              "response": {
                "$ref": "Empty"
              },
              "path": "v1/{+name}",
              "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}",
              "description": "Deletes a `Report` object."
            },
            "create": {
              "description": "Creates a `Report` object.",
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "response": {
                "$ref": "Report"
              },
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "location": "path",
                  "required": true,
                  "description": "Required. The parent resource where this `Report` will be created. Format: `agencies/{account_id}`",
                  "type": "string",
                  "pattern": "^agencies/[^/]+$"
                }
              },
              "request": {
                "$ref": "Report"
              },
              "id": "agenciesandbrands.agencies.reports.create",
              "flatPath": "v1/agencies/{agenciesId}/reports",
              "path": "v1/{+parent}/reports",
              "httpMethod": "POST"
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/agencies-and-brands"
              ],
              "request": {
                "$ref": "Report"
              },
              "id": "agenciesandbrands.agencies.reports.patch",
              "path": "v1/{+name}",
              "description": "Updates a `Report` object.",
              "response": {
                "$ref": "Report"
              },
              "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "PATCH",
              "parameters": {
                "name": {
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^agencies/[^/]+/reports/[^/]+$",
                  "description": "Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id}/reports/{report_id}`"
                },
                "updateMask": {
                  "location": "query",
                  "format": "google-fieldmask",
                  "type": "string",
                  "description": "Optional. The list of fields to update."
                }
              }
            }
          },
          "resources": {
            "results": {
              "methods": {
                "fetchRows": {
                  "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}/results/{resultsId}:fetchRows",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The report result being fetched. Format: `agencies/{account_id}/reports/{report_id}/results/{report_result_id}`",
                      "pattern": "^agencies/[^/]+/reports/[^/]+/results/[^/]+$"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Optional. A page token, received from a previous `FetchReportResultRows` call. Provide this to retrieve the second and subsequent batches of rows.",
                      "location": "query"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The maximum number of rows to return. The service may return fewer than this value. If unspecified, at most 1,000 rows will be returned. The maximum value is 10,000; values greater than 10,000 will be reduced to 10,000."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:fetchRows",
                  "scopes": [
                    "https://www.googleapis.com/auth/agencies-and-brands"
                  ],
                  "id": "agenciesandbrands.agencies.reports.results.fetchRows",
                  "description": "Returns the result rows from a completed report. The caller must have previously called `RunReport` and waited for that operation to complete. The rows will be returned according to the order specified by the `sorts` member of the report definition.",
                  "response": {
                    "$ref": "FetchReportResultRowsResponse"
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "get": {
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/agencies-and-brands"
                  ],
                  "flatPath": "v1/agencies/{agenciesId}/reports/{reportsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "pattern": "^agencies/[^/]+/reports/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "id": "agenciesandbrands.agencies.reports.operations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "title": "Agencies and Brands API",
  "discoveryVersion": "v1",
  "servicePath": "",
  "schemas": {
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "response": {
          "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`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "metadata": {
          "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.",
          "type": "object"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "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"
        },
        "done": {
          "type": "boolean",
          "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."
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "ReportDefinition": {
      "id": "ReportDefinition",
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "Optional. The ISO 4217 currency code for this report. Defaults to account currency code if not specified."
        },
        "sorts": {
          "items": {
            "$ref": "Sort"
          },
          "type": "array",
          "description": "Optional. Default sorts to apply to this report."
        },
        "timeZone": {
          "type": "string",
          "description": "Optional. If time_zone_source is PROVIDED, this is the time zone to use for this report. Leave empty for any other time zone source. Time zone in IANA format. For example, \"America/New_York\"."
        },
        "metrics": {
          "description": "Required. The list of metrics to report on. If empty, the report will have no metrics.",
          "type": "array",
          "items": {
            "enum": [
              "METRIC_UNSPECIFIED",
              "ACTIVE_VIEW_MEASURABILITY_RATE",
              "ACTIVE_VIEW_MEASURABLE",
              "ACTIVE_VIEW_VIEWABILITY_RATE",
              "ACTIVE_VIEW_VIEWABLE",
              "AUCTIONS_WON",
              "BIDS",
              "BIDS_IN_AUCTION",
              "CLICKS",
              "CPC",
              "CPM",
              "CURATION_PARTNER_FEE",
              "DISCOUNT_AMOUNT",
              "EFFECTIVE_DISCOUNT_RATE",
              "ENGAGED_VIEWS",
              "IMPRESSIONS",
              "PRE_DISCOUNT_SPEND",
              "PRE_DISCOUNT_SPEND_WITHOUT_CURATION_PARTNER_FEE",
              "REACHED_QUERIES",
              "SPEND",
              "SPEND_WITHOUT_CURATION_PARTNER_FEE",
              "VAST_ERROR_COUNT",
              "VIDEO_COMPLETE",
              "VIDEO_FIRST_QUARTILE",
              "VIDEO_MIDPOINT",
              "VIDEO_START",
              "VIDEO_THIRD_QUARTILE",
              "VIDEO_VTR"
            ],
            "enumDescriptions": [
              "Default value. This value is unused.",
              "Active View measurability rate.",
              "Active View measurable.",
              "Active view viewability rate.",
              "Active View viewable imps.",
              "Auctions won.",
              "Bids.",
              "Bids in auction.",
              "Clicks.",
              "CPC.",
              "CPM.",
              "Curator fee.",
              "Discount amount in media planner currency.",
              "Discount rate in media planner currency.",
              "Engaged views.",
              "Impressions.",
              "Discount spend in media planner currency.",
              "Gross media cost in media planner currency.",
              "Queries that are reached in the mediation chain.",
              "Spend in reporting currency specified in the request. Defaults to USD.",
              "Net media cost in media planner currency.",
              "Number of video impressions failed to render due to VAST errors.",
              "Number of video impressions played to completion.",
              "Number of video impressions played to the first quartile.",
              "Number of video impressions played to the midpoint.",
              "Number of video impressions played.",
              "Number of video impressions played to the third quartile.",
              "The rate in which video impressions were watched to completion."
            ],
            "type": "string"
          }
        },
        "filters": {
          "items": {
            "$ref": "Filter"
          },
          "type": "array",
          "description": "Optional. The filters for this report."
        },
        "dateRange": {
          "description": "Required. The primary date range of this report.",
          "$ref": "DateRange"
        },
        "dimensions": {
          "type": "array",
          "items": {
            "enumDescriptions": [
              "Default value. This value is unused.",
              "The domain of the advertiser.",
              "Agency account ID.",
              "Agency account name.",
              "Reason that a Real-time Bidding bid was filtered from the auction.",
              "The short description of the reason that a Real-time Bidding bid was filtered from the auction.",
              "A boolean indicating whether the impression was rendered by a buyer SDK. If set to true, the impression was rendered by a buyer SDK.",
              "The ID of the agency campaign.",
              "The display name of the agency campaign.",
              "Display name of a country.",
              "Creative format, \"Display\" vs. \"Video\".",
              "Creative ID.",
              "Applied creative policies.",
              "The localized display name of applied creative policies.",
              "Creative size.",
              "The ID of the data segment created by a curator.",
              "The display name of the curation partner.",
              "The type of curation service (e.g. packaging or data segment).",
              "Date.",
              "Deal ID.",
              "Deal name.",
              "Display name of the detected advertiser.",
              "Display name of the DSP.",
              "DSP Seat ID.",
              "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
              "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
              "A boolean indicating whether the impression was rendered by the Google Mobile Ads SDK. If set to true, the impression was rendered by the Google Mobile Ads SDK.",
              "Hour.",
              "Mobile App ID.",
              "Mobile App Name.",
              "Mobile operating system.",
              "Month.",
              "The visibility of the package fee (e.g. disclosed or non-disclosed).",
              "Placement ID.",
              "Platform, e.g. \"desktop\" vs. \"mobile\".",
              "Publisher domain.",
              "Publisher identifier.",
              "Publisher name.",
              "Whether publisher protections are applied.",
              "The localized display name indicating whether publisher protections are applied.",
              "Seller authorization.",
              "The localized display name of seller authorization.",
              "The supply path type of the deal for Agency Direct.",
              "The localized display name of the supply path type of the deal for Agency Direct.",
              "The transaction type of the deal.",
              "VAST error code.",
              "Week."
            ],
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ADVERTISER_DOMAIN",
              "AGENCY_ACCOUNT_ID",
              "AGENCY_ACCOUNT_NAME",
              "BID_FILTERING_REASON",
              "BID_FILTERING_REASON_NAME",
              "BUYER_SDK",
              "CAMPAIGN_ID",
              "CAMPAIGN_NAME",
              "COUNTRY",
              "CREATIVE_FORMAT",
              "CREATIVE_ID",
              "CREATIVE_POLICIES",
              "CREATIVE_POLICIES_NAME",
              "CREATIVE_SIZE",
              "CURATION_DATA_SEGMENT_ID",
              "CURATION_PARTNER_NAME",
              "CURATOR_FEE_TYPE",
              "DATE",
              "DEAL_ID",
              "DEAL_NAME",
              "DETECTED_ADVERTISER_NAME",
              "DSP_NAME",
              "DSP_SEAT_ID",
              "ENVIRONMENT",
              "ENVIRONMENT_NAME",
              "GMA_SDK",
              "HOUR",
              "MOBILE_APP_ID",
              "MOBILE_APP_NAME",
              "MOBILE_OS",
              "MONTH",
              "PACKAGE_FEE_VISIBILITY",
              "PLACEMENT_ID",
              "PLATFORM",
              "PUBLISHER_DOMAIN",
              "PUBLISHER_ID",
              "PUBLISHER_NAME",
              "PUBLISHER_PROTECTIONS",
              "PUBLISHER_PROTECTIONS_NAME",
              "SELLER_AUTHORIZATION",
              "SELLER_AUTHORIZATION_NAME",
              "SUPPLY_PATH_TYPE",
              "SUPPLY_PATH_TYPE_NAME",
              "TRANSACTION_TYPE",
              "VAST_ERROR_CODE",
              "WEEK"
            ]
          },
          "description": "Required. The list of dimensions to report on. If empty, the report will have no dimensions, and any metrics will be totals."
        },
        "timeZoneSource": {
          "type": "string",
          "description": "Optional. Where to get the time zone for this report. Defaults to using the Pacific time zone (PT). If source is PROVIDED, the time_zone field in the report definition must also set a time zone.",
          "enumDescriptions": [
            "Unspecified default value.",
            "Use the Pacific time zone(PT).",
            "Use UTC time zone.",
            "Use the time zone provided in the ReportDefinition.time_zone field. Reports may take longer to run since the dates are dynamically calculated at request time.",
            "Use the time zone from the agency's account settings."
          ],
          "enum": [
            "TIME_ZONE_SOURCE_UNSPECIFIED",
            "AD_EXCHANGE",
            "UTC",
            "PROVIDED",
            "AGENCY"
          ]
        }
      },
      "type": "object",
      "description": "The definition of how a report should be run."
    },
    "RunReportMetadata": {
      "properties": {
        "percentComplete": {
          "type": "integer",
          "format": "int32",
          "description": "An estimate of how close this report is to being completed. Will always be 100 for failed and completed reports."
        },
        "report": {
          "description": "The result's parent report.",
          "type": "string"
        }
      },
      "id": "RunReportMetadata",
      "description": "`RunReport` operation metadata.",
      "type": "object"
    },
    "StringList": {
      "type": "object",
      "description": "A list of string values.",
      "id": "StringList",
      "properties": {
        "values": {
          "description": "The values",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "FixedDateRange": {
      "type": "object",
      "properties": {
        "startDate": {
          "description": "Required. The start date of this date range.",
          "$ref": "Date"
        },
        "endDate": {
          "description": "Required. The end date (inclusive) of this date range.",
          "$ref": "Date"
        }
      },
      "description": "A date range between two fixed dates (inclusive of end date).",
      "id": "FixedDateRange"
    },
    "MetricValueGroup": {
      "type": "object",
      "id": "MetricValueGroup",
      "description": "Contains all metric values requested for a single date range and set of column dimension values (returned in the columns field of the response). The order of the metrics in each field corresponds to the order of the metrics specified in the request.",
      "properties": {
        "primaryValues": {
          "items": {
            "$ref": "ReportValue"
          },
          "description": "Data for the PRIMARY MetricValueType.",
          "type": "array"
        }
      }
    },
    "RunReportResponse": {
      "properties": {
        "reportResult": {
          "description": "The unique name of the generated result. Use with `FetchReportResultRows` to retrieve data.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "RunReportResponse",
      "description": "Response message for a completed `RunReport` operation."
    },
    "FetchReportResultRowsResponse": {
      "properties": {
        "rows": {
          "type": "array",
          "items": {
            "$ref": "Row"
          },
          "description": "Up to `page_size` rows of report data."
        },
        "totalRowCount": {
          "description": "The total number of rows available from this report. Useful for pagination. Only returned with the first page of results (when page_token is not included in the request).",
          "format": "int32",
          "type": "integer"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "dateRanges": {
          "type": "array",
          "description": "The computed fixed date ranges this report includes. Only returned with the first page of results (when page_token is not included in the request).",
          "items": {
            "$ref": "FixedDateRange"
          }
        },
        "runTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time at which the report was scheduled to run. For non-scheduled reports, this is the time at which the report was requested to be run."
        }
      },
      "type": "object",
      "description": "The response message for the fetch report result rows endpoint.",
      "id": "FetchReportResultRowsResponse"
    },
    "Filter": {
      "description": "A filter over one or more fields.",
      "type": "object",
      "properties": {
        "notFilter": {
          "description": "A filter whose result is negated.",
          "$ref": "Filter"
        },
        "fieldFilter": {
          "description": "A filter on a single field.",
          "$ref": "FieldFilter"
        },
        "andFilter": {
          "description": "A list of filters whose results are AND-ed.",
          "$ref": "FilterList"
        },
        "orFilter": {
          "description": "A list of filters whose results are OR-ed.",
          "$ref": "FilterList"
        }
      },
      "id": "Filter"
    },
    "FilterList": {
      "type": "object",
      "description": "A list of filters.",
      "properties": {
        "filters": {
          "type": "array",
          "items": {
            "$ref": "Filter"
          },
          "description": "Required. A list of filters."
        }
      },
      "id": "FilterList"
    },
    "IntList": {
      "description": "A list of integer values.",
      "properties": {
        "values": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array",
          "description": "The values"
        }
      },
      "id": "IntList",
      "type": "object"
    },
    "Date": {
      "id": "Date",
      "properties": {
        "day": {
          "type": "integer",
          "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.",
          "format": "int32"
        },
        "month": {
          "type": "integer",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "format": "int32"
        },
        "year": {
          "format": "int32",
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer"
        }
      },
      "type": "object",
      "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"
    },
    "Row": {
      "id": "Row",
      "properties": {
        "metricValueGroups": {
          "description": " The length of the metric_value_groups field will be equal to the length of the date_ranges field in the fetch response. The metric_value_groups field is ordered such that each index corresponds to the date_range at the same index. For example, given date_ranges [x, y], metric_value_groups will have a length of two. The first entry in metric_value_groups represents the metrics for date x and the second entry in metric_value_groups represents the metrics for date y.",
          "type": "array",
          "items": {
            "$ref": "MetricValueGroup"
          }
        },
        "dimensionValues": {
          "description": "The order of the dimension values is the same as the order of the dimensions specified in the request.",
          "type": "array",
          "items": {
            "$ref": "ReportValue"
          }
        }
      },
      "type": "object",
      "description": "A row of report data."
    },
    "RunReportRequest": {
      "id": "RunReportRequest",
      "description": "Request message for a running a report.",
      "properties": {},
      "type": "object"
    },
    "Empty": {
      "properties": {},
      "id": "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); }",
      "type": "object"
    },
    "ReportValue": {
      "description": "Represents a single value in a report.",
      "type": "object",
      "properties": {
        "bytesValue": {
          "description": "For bytes values.",
          "type": "string",
          "format": "byte"
        },
        "stringListValue": {
          "$ref": "StringList",
          "description": "For lists of string values."
        },
        "intListValue": {
          "description": "For lists of integer values.",
          "$ref": "IntList"
        },
        "doubleListValue": {
          "description": "For lists of double values.",
          "$ref": "DoubleList"
        },
        "doubleValue": {
          "description": "For double values.",
          "type": "number",
          "format": "double"
        },
        "intValue": {
          "format": "int64",
          "description": "For integer values.",
          "type": "string"
        },
        "boolValue": {
          "description": "For boolean values.",
          "type": "boolean"
        },
        "stringValue": {
          "description": "For string values.",
          "type": "string"
        }
      },
      "id": "ReportValue"
    },
    "Status": {
      "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).",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        },
        "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"
        }
      },
      "id": "Status",
      "type": "object"
    },
    "Report": {
      "description": "The `Report` resource.",
      "properties": {
        "displayName": {
          "description": "Optional. Display name for the report.",
          "type": "string"
        },
        "reportDefinition": {
          "$ref": "ReportDefinition",
          "description": "Required. The report definition of the report."
        },
        "name": {
          "description": "Identifier. The resource name of the report. Report resource name have the form: `agencies/{account_id}/reports/{report_id}`",
          "type": "string"
        },
        "locale": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The locale of this report. Locale is set from the user's locale at the time of the request. Locale can't be modified."
        },
        "updateTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The instant this report was last modified."
        },
        "createTime": {
          "description": "Output only. The instant this report was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "reportId": {
          "format": "int64",
          "readOnly": true,
          "type": "string",
          "description": "Output only. Report ID."
        }
      },
      "id": "Report",
      "type": "object"
    },
    "ListReportsResponse": {
      "description": "Response object for `ListReportsResponse` containing matching `Report` objects.",
      "type": "object",
      "id": "ListReportsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "reports": {
          "type": "array",
          "description": "The `Report` objects from the specified network.",
          "items": {
            "$ref": "Report"
          }
        },
        "totalSize": {
          "description": "Total number of `Report` objects. If a filter was included in the request, this reflects the total number after the filtering is applied. `total_size` won't be calculated in the response unless it has been included in a response field mask. The response field mask can be provided to the method by using the URL parameter `$fields` or `fields`, or by using the HTTP/gRPC header `X-Goog-FieldMask`. For more information, see https://developers.google.com/ad-manager/api/beta/field-masks",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "Field": {
      "properties": {
        "dimension": {
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "ADVERTISER_DOMAIN",
            "AGENCY_ACCOUNT_ID",
            "AGENCY_ACCOUNT_NAME",
            "BID_FILTERING_REASON",
            "BID_FILTERING_REASON_NAME",
            "BUYER_SDK",
            "CAMPAIGN_ID",
            "CAMPAIGN_NAME",
            "COUNTRY",
            "CREATIVE_FORMAT",
            "CREATIVE_ID",
            "CREATIVE_POLICIES",
            "CREATIVE_POLICIES_NAME",
            "CREATIVE_SIZE",
            "CURATION_DATA_SEGMENT_ID",
            "CURATION_PARTNER_NAME",
            "CURATOR_FEE_TYPE",
            "DATE",
            "DEAL_ID",
            "DEAL_NAME",
            "DETECTED_ADVERTISER_NAME",
            "DSP_NAME",
            "DSP_SEAT_ID",
            "ENVIRONMENT",
            "ENVIRONMENT_NAME",
            "GMA_SDK",
            "HOUR",
            "MOBILE_APP_ID",
            "MOBILE_APP_NAME",
            "MOBILE_OS",
            "MONTH",
            "PACKAGE_FEE_VISIBILITY",
            "PLACEMENT_ID",
            "PLATFORM",
            "PUBLISHER_DOMAIN",
            "PUBLISHER_ID",
            "PUBLISHER_NAME",
            "PUBLISHER_PROTECTIONS",
            "PUBLISHER_PROTECTIONS_NAME",
            "SELLER_AUTHORIZATION",
            "SELLER_AUTHORIZATION_NAME",
            "SUPPLY_PATH_TYPE",
            "SUPPLY_PATH_TYPE_NAME",
            "TRANSACTION_TYPE",
            "VAST_ERROR_CODE",
            "WEEK"
          ],
          "description": "The dimension this field represents.",
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The domain of the advertiser.",
            "Agency account ID.",
            "Agency account name.",
            "Reason that a Real-time Bidding bid was filtered from the auction.",
            "The short description of the reason that a Real-time Bidding bid was filtered from the auction.",
            "A boolean indicating whether the impression was rendered by a buyer SDK. If set to true, the impression was rendered by a buyer SDK.",
            "The ID of the agency campaign.",
            "The display name of the agency campaign.",
            "Display name of a country.",
            "Creative format, \"Display\" vs. \"Video\".",
            "Creative ID.",
            "Applied creative policies.",
            "The localized display name of applied creative policies.",
            "Creative size.",
            "The ID of the data segment created by a curator.",
            "The display name of the curation partner.",
            "The type of curation service (e.g. packaging or data segment).",
            "Date.",
            "Deal ID.",
            "Deal name.",
            "Display name of the detected advertiser.",
            "Display name of the DSP.",
            "DSP Seat ID.",
            "The user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
            "The localized display name of the user device and container environment where the impression originates. Supported values are \"app\" and \"web\".",
            "A boolean indicating whether the impression was rendered by the Google Mobile Ads SDK. If set to true, the impression was rendered by the Google Mobile Ads SDK.",
            "Hour.",
            "Mobile App ID.",
            "Mobile App Name.",
            "Mobile operating system.",
            "Month.",
            "The visibility of the package fee (e.g. disclosed or non-disclosed).",
            "Placement ID.",
            "Platform, e.g. \"desktop\" vs. \"mobile\".",
            "Publisher domain.",
            "Publisher identifier.",
            "Publisher name.",
            "Whether publisher protections are applied.",
            "The localized display name indicating whether publisher protections are applied.",
            "Seller authorization.",
            "The localized display name of seller authorization.",
            "The supply path type of the deal for Agency Direct.",
            "The localized display name of the supply path type of the deal for Agency Direct.",
            "The transaction type of the deal.",
            "VAST error code.",
            "Week."
          ],
          "type": "string"
        },
        "metric": {
          "enumDescriptions": [
            "Default value. This value is unused.",
            "Active View measurability rate.",
            "Active View measurable.",
            "Active view viewability rate.",
            "Active View viewable imps.",
            "Auctions won.",
            "Bids.",
            "Bids in auction.",
            "Clicks.",
            "CPC.",
            "CPM.",
            "Curator fee.",
            "Discount amount in media planner currency.",
            "Discount rate in media planner currency.",
            "Engaged views.",
            "Impressions.",
            "Discount spend in media planner currency.",
            "Gross media cost in media planner currency.",
            "Queries that are reached in the mediation chain.",
            "Spend in reporting currency specified in the request. Defaults to USD.",
            "Net media cost in media planner currency.",
            "Number of video impressions failed to render due to VAST errors.",
            "Number of video impressions played to completion.",
            "Number of video impressions played to the first quartile.",
            "Number of video impressions played to the midpoint.",
            "Number of video impressions played.",
            "Number of video impressions played to the third quartile.",
            "The rate in which video impressions were watched to completion."
          ],
          "type": "string",
          "description": "The metric this field represents.",
          "enum": [
            "METRIC_UNSPECIFIED",
            "ACTIVE_VIEW_MEASURABILITY_RATE",
            "ACTIVE_VIEW_MEASURABLE",
            "ACTIVE_VIEW_VIEWABILITY_RATE",
            "ACTIVE_VIEW_VIEWABLE",
            "AUCTIONS_WON",
            "BIDS",
            "BIDS_IN_AUCTION",
            "CLICKS",
            "CPC",
            "CPM",
            "CURATION_PARTNER_FEE",
            "DISCOUNT_AMOUNT",
            "EFFECTIVE_DISCOUNT_RATE",
            "ENGAGED_VIEWS",
            "IMPRESSIONS",
            "PRE_DISCOUNT_SPEND",
            "PRE_DISCOUNT_SPEND_WITHOUT_CURATION_PARTNER_FEE",
            "REACHED_QUERIES",
            "SPEND",
            "SPEND_WITHOUT_CURATION_PARTNER_FEE",
            "VAST_ERROR_COUNT",
            "VIDEO_COMPLETE",
            "VIDEO_FIRST_QUARTILE",
            "VIDEO_MIDPOINT",
            "VIDEO_START",
            "VIDEO_THIRD_QUARTILE",
            "VIDEO_VTR"
          ]
        }
      },
      "description": "A dimension or a metric in a report.",
      "id": "Field",
      "type": "object"
    },
    "FieldFilter": {
      "id": "FieldFilter",
      "type": "object",
      "properties": {
        "operation": {
          "enum": [
            "IN",
            "NOT_IN",
            "CONTAINS",
            "NOT_CONTAINS",
            "LESS_THAN",
            "LESS_THAN_EQUALS",
            "GREATER_THAN",
            "GREATER_THAN_EQUALS",
            "BETWEEN",
            "MATCHES",
            "NOT_MATCHES"
          ],
          "description": "Required. The operation of this filter.",
          "type": "string",
          "enumDescriptions": [
            "For scalar operands, checks if the operand is in the set of provided filter values. For list operands, checks if any element in the operand is in the set of provided filter values. Default value.",
            "For scalar operands, checks that the operand is not in the set of provided filter values. For list operands, checks that none of the elements in the operand is in the set of provided filter values.",
            "For scalar string operands, checks if the operand contains any of the provided filter substrings. For string list operands, checks if any string in the operand contains any of the provided filter substrings.",
            "For scalar string operands, checks that the operand contains none of the provided filter substrings. For string list operands, checks that none of the strings in the operand contain none of the provided filter substrings.",
            "Operand is less than the provided filter value.",
            "Operand is less than or equal to provided filter value.",
            "Operand is greater than provided filter value.",
            "Operand is greater than or equal to provided filter value.",
            "Operand is between provided filter values.",
            "Operand matches against a regular expression or set of regular expressions (one must match).",
            "Operand negative matches against a regular expression or set of regular expressions (none must match)."
          ]
        },
        "field": {
          "$ref": "Field",
          "description": "Required. The field to filter on."
        },
        "values": {
          "type": "array",
          "description": "Required. Values to filter to.",
          "items": {
            "$ref": "ReportValue"
          }
        }
      },
      "description": "A filter on a specific field."
    },
    "DoubleList": {
      "id": "DoubleList",
      "description": "A list of double values.",
      "type": "object",
      "properties": {
        "values": {
          "description": "The values",
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "DateRange": {
      "type": "object",
      "id": "DateRange",
      "description": "A date range for a report.",
      "properties": {
        "relative": {
          "description": "A relative date range.",
          "enum": [
            "RELATIVE_DATE_RANGE_UNSPECIFIED",
            "TODAY",
            "YESTERDAY",
            "THIS_WEEK_TO_DATE",
            "THIS_WEEK_TO_YESTERDAY",
            "THIS_MONTH_TO_DATE",
            "THIS_MONTH_TO_YESTERDAY",
            "THIS_QUARTER_TO_DATE",
            "THIS_QUARTER_TO_YESTERDAY",
            "THIS_YEAR_TO_DATE",
            "THIS_YEAR_TO_YESTERDAY",
            "LAST_WEEK",
            "LAST_WEEK_STARTING_SUNDAY",
            "LAST_MONTH",
            "LAST_QUARTER",
            "LAST_YEAR",
            "LAST_7_DAYS",
            "LAST_30_DAYS",
            "LAST_60_DAYS",
            "LAST_90_DAYS",
            "LAST_93_DAYS",
            "LAST_180_DAYS",
            "LAST_360_DAYS",
            "LAST_365_DAYS",
            "LAST_3_MONTHS",
            "LAST_6_MONTHS",
            "LAST_12_MONTHS",
            "ALL_AVAILABLE"
          ],
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The date the report is run.",
            "The date a day before the date that the report is run.",
            "From the beginning of the calendar week in which the up to and including the day the report is run.",
            "From the beginning of the calendar week in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar month in which the report is run, to up to and including the day the report is run.",
            "From the beginning of the calendar month in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar quarter in which the report is run, up to and including the day the report is run.",
            "From the beginning of the calendar quarter in which the report is run, up to and including the day before the report is run.",
            "From the beginning of the calendar year in which the report is run, to up to and including the day the report is run.",
            "From the beginning of the calendar year in which the report is run, to up to and including the day before the report is run.",
            "The entire previous calendar week, Monday to Sunday (inclusive), preceding the calendar week the report is run.",
            "The entire previous calendar week, Sunday to Saturday (inclusive), preceding the calendar week the report is run.",
            "The entire previous calendar month preceding the calendar month the report is run.",
            "The entire previous calendar quarter preceding the calendar quarter the report is run.",
            "The entire previous calendar year preceding the calendar year the report is run.",
            "The 7 days preceding the day the report is run.",
            "The 30 days preceding the day the report is run.",
            "The 60 days preceding the day the report is run.",
            "The 90 days preceding the day the report is run.",
            "The 93 days preceding the day the report is run.",
            "The 180 days preceding the day the report is run.",
            "The 360 days preceding the day the report is run.",
            "The 365 days preceding the day the report is run.",
            "The entire previous 3 calendar months preceding the calendar month the report is run.",
            "The entire previous 6 calendar months preceding the calendar month the report is run.",
            "The entire previous 12 calendar months preceding the calendar month the report is run.",
            "From 3 years before the report is run, to the day before the report is run, inclusive."
          ],
          "type": "string"
        },
        "fixed": {
          "$ref": "FixedDateRange",
          "description": "A fixed date range."
        }
      }
    },
    "Sort": {
      "properties": {
        "field": {
          "$ref": "Field",
          "description": "Required. A field (dimension or metric) to sort by."
        },
        "descending": {
          "description": "Optional. The sort order. If true the sort will be descending.",
          "type": "boolean"
        }
      },
      "description": "Represents a sorting in a report.",
      "id": "Sort",
      "type": "object"
    }
  },
  "ownerName": "Google",
  "rootUrl": "https://agenciesandbrands.googleapis.com/",
  "batchPath": "batch",
  "baseUrl": "https://agenciesandbrands.googleapis.com/",
  "version_module": true,
  "revision": "20260828"
}
