{
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://doubleclickbidmanager.mtls.googleapis.com/",
  "name": "doubleclickbidmanager",
  "id": "doubleclickbidmanager:v2",
  "version": "v2",
  "batchPath": "batch",
  "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
  "title": "DoubleClick Bid Manager API",
  "canonicalName": "DoubleClick Bid Manager",
  "servicePath": "v2/",
  "resources": {
    "queries": {
      "methods": {
        "create": {
          "httpMethod": "POST",
          "path": "queries",
          "request": {
            "$ref": "Query"
          },
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "description": "Creates a new query.",
          "parameters": {},
          "response": {
            "$ref": "Query"
          },
          "flatPath": "queries",
          "id": "doubleclickbidmanager.queries.create"
        },
        "run": {
          "path": "queries/{queryId}:run",
          "scopes": [
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "parameters": {
            "synchronous": {
              "description": "Whether the query should be run synchronously. When `true`, the request won't return until the resulting report has finished running. This parameter is `false` by default. Setting this parameter to `true` is **not recommended**.",
              "type": "boolean",
              "location": "query"
            },
            "queryId": {
              "type": "string",
              "required": true,
              "location": "path",
              "description": "Required. The ID of the query to run.",
              "format": "int64"
            }
          },
          "response": {
            "$ref": "Report"
          },
          "request": {
            "$ref": "RunQueryRequest"
          },
          "id": "doubleclickbidmanager.queries.run",
          "parameterOrder": [
            "queryId"
          ],
          "flatPath": "queries/{queryId}:run",
          "httpMethod": "POST",
          "description": "Runs an existing query to generate a report."
        },
        "get": {
          "flatPath": "queries/{queryId}",
          "response": {
            "$ref": "Query"
          },
          "parameterOrder": [
            "queryId"
          ],
          "parameters": {
            "queryId": {
              "type": "string",
              "format": "int64",
              "location": "path",
              "description": "Required. The ID of the query to retrieve.",
              "required": true
            }
          },
          "id": "doubleclickbidmanager.queries.get",
          "description": "Retrieves a query.",
          "path": "queries/{queryId}",
          "scopes": [
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "httpMethod": "GET"
        },
        "list": {
          "parameters": {
            "pageSize": {
              "type": "integer",
              "description": "Maximum number of results per page. Must be between `1` and `100`. Defaults to `100` if unspecified.",
              "format": "int32",
              "location": "query"
            },
            "orderBy": {
              "description": "Field to sort the list by. Accepts the following values: * `queryId` (default) * `metadata.title` The default sorting order is ascending. To specify descending order for a field, add the suffix `desc` to the field name. For example, `queryId desc`.",
              "location": "query",
              "type": "string"
            },
            "pageToken": {
              "description": "A token identifying which page of results the server should return. Typically, this is the value of nextPageToken, returned from the previous call to the `queries.list` method. If unspecified, the first page of results is returned.",
              "location": "query",
              "type": "string"
            }
          },
          "response": {
            "$ref": "ListQueriesResponse"
          },
          "flatPath": "queries",
          "id": "doubleclickbidmanager.queries.list",
          "scopes": [
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "description": "Lists queries created by the current user.",
          "parameterOrder": [],
          "path": "queries",
          "httpMethod": "GET"
        },
        "delete": {
          "path": "queries/{queryId}",
          "id": "doubleclickbidmanager.queries.delete",
          "description": "Deletes an existing query as well as its generated reports.",
          "parameterOrder": [
            "queryId"
          ],
          "httpMethod": "DELETE",
          "parameters": {
            "queryId": {
              "type": "string",
              "location": "path",
              "format": "int64",
              "required": true,
              "description": "Required. The ID of the query to delete."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/doubleclickbidmanager"
          ],
          "flatPath": "queries/{queryId}"
        }
      },
      "resources": {
        "reports": {
          "methods": {
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/doubleclickbidmanager"
              ],
              "parameterOrder": [
                "queryId"
              ],
              "path": "queries/{queryId}/reports",
              "httpMethod": "GET",
              "parameters": {
                "queryId": {
                  "description": "Required. The ID of the query that generated the reports.",
                  "type": "string",
                  "location": "path",
                  "format": "int64",
                  "required": true
                },
                "pageToken": {
                  "description": "A token identifying which page of results the server should return. Typically, this is the value of nextPageToken returned from the previous call to the `queries.reports.list` method. If unspecified, the first page of results is returned.",
                  "type": "string",
                  "location": "query"
                },
                "orderBy": {
                  "location": "query",
                  "description": "Field to sort the list by. Accepts the following values: * `key.reportId` (default) The default sorting order is ascending. To specify descending order for a field, add the suffix `desc` to the field name. For example, `key.reportId desc`.",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "description": "Maximum number of results per page. Must be between `1` and `100`. Defaults to `100` if unspecified.",
                  "format": "int32",
                  "location": "query"
                }
              },
              "flatPath": "queries/{queryId}/reports",
              "id": "doubleclickbidmanager.queries.reports.list",
              "response": {
                "$ref": "ListReportsResponse"
              },
              "description": "Lists reports generated by the provided query."
            },
            "get": {
              "parameters": {
                "queryId": {
                  "location": "path",
                  "required": true,
                  "description": "Required. The ID of the query that generated the report.",
                  "type": "string",
                  "format": "int64"
                },
                "reportId": {
                  "location": "path",
                  "type": "string",
                  "format": "int64",
                  "required": true,
                  "description": "Required. The ID of the query to retrieve."
                }
              },
              "parameterOrder": [
                "queryId",
                "reportId"
              ],
              "response": {
                "$ref": "Report"
              },
              "path": "queries/{queryId}/reports/{reportId}",
              "flatPath": "queries/{queryId}/reports/{reportId}",
              "httpMethod": "GET",
              "description": "Retrieves a report.",
              "scopes": [
                "https://www.googleapis.com/auth/doubleclickbidmanager"
              ],
              "id": "doubleclickbidmanager.queries.reports.get"
            }
          }
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "description": "DoubleClick Bid Manager API allows users to manage and create campaigns and reports.",
  "ownerName": "Google",
  "discoveryVersion": "v1",
  "schemas": {
    "Report": {
      "id": "Report",
      "type": "object",
      "description": "A single report generated by its parent report.",
      "properties": {
        "key": {
          "description": "The key information identifying the report.",
          "$ref": "ReportKey"
        },
        "metadata": {
          "description": "The metadata of the report.",
          "$ref": "ReportMetadata"
        },
        "params": {
          "$ref": "Parameters",
          "description": "The parameters of the report."
        }
      }
    },
    "Query": {
      "properties": {
        "params": {
          "$ref": "Parameters",
          "description": "The parameters of the report generated by the query."
        },
        "metadata": {
          "description": "The metadata of the query.",
          "$ref": "QueryMetadata"
        },
        "schedule": {
          "$ref": "QuerySchedule",
          "description": "When and how often the query is scheduled to run. If the frequency field is set to `ONE_TIME`, the query will only run when queries.run is called."
        },
        "queryId": {
          "format": "int64",
          "description": "Output only. The unique ID of the query.",
          "readOnly": true,
          "type": "string"
        }
      },
      "id": "Query",
      "description": "A single query used to generate a report.",
      "type": "object"
    },
    "ReportStatus": {
      "properties": {
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "QUEUED",
            "RUNNING",
            "DONE",
            "FAILED"
          ],
          "readOnly": true,
          "enumDescriptions": [
            "Default value when state is not specified or is unknown in this version.",
            "The report is queued to run.",
            "The report is currently running.",
            "The report has finished running successfully.",
            "The report has finished running in failure."
          ],
          "description": "Output only. The state of the report generation."
        },
        "finishTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The timestamp of when report generation finished successfully or in failure. This field will not be set unless state is `DONE` or `FAILED`.",
          "format": "google-datetime"
        },
        "format": {
          "enum": [
            "FORMAT_UNSPECIFIED",
            "CSV",
            "XLSX"
          ],
          "type": "string",
          "description": "The format of the generated report file.",
          "enumDescriptions": [
            "Default value when format is not specified or is unknown in this version.",
            "CSV.",
            "Excel."
          ]
        }
      },
      "type": "object",
      "id": "ReportStatus",
      "description": "The status of a report."
    },
    "DataRange": {
      "type": "object",
      "description": "The date range to be reported on.",
      "properties": {
        "customStartDate": {
          "$ref": "Date",
          "description": "If `CUSTOM_DATES` is assigned to range, this field specifies the starting date for the date range that is reported on. This field is required if using `CUSTOM_DATES` range and will be ignored otherwise."
        },
        "customEndDate": {
          "description": "If `CUSTOM_DATES` is assigned to range, this field specifies the end date for the date range that is reported on. This field is required if using `CUSTOM_DATES` range and will be ignored otherwise.",
          "$ref": "Date"
        },
        "range": {
          "enumDescriptions": [
            "Default value when range is not specified or is unknown in this version.",
            "Custom date range.",
            "Current day.",
            "Previous day.",
            "All days, including the current day, since the most recent Sunday.",
            "All days, including the current day, since the start of the current month.",
            "All days, including the current day, since the start of the current quarter.",
            "All days, including the current day, since the start of the current calendar year.",
            "The previous completed week, beginning from Sunday.",
            "The previous completed calendar month.",
            "The previous completed quarter.",
            "The previous completed calendar year.",
            "The previous 7 days, excluding the current day.",
            "The previous 30 days, excluding the current day.",
            "The previous 90 days, excluding the current day.",
            "The previous 365 days, excluding the current day.",
            "All time for which data is available, excluding the current day.",
            "The previous 14 days, excluding the current day.",
            "The previous 60 days, excluding the current day."
          ],
          "enum": [
            "RANGE_UNSPECIFIED",
            "CUSTOM_DATES",
            "CURRENT_DAY",
            "PREVIOUS_DAY",
            "WEEK_TO_DATE",
            "MONTH_TO_DATE",
            "QUARTER_TO_DATE",
            "YEAR_TO_DATE",
            "PREVIOUS_WEEK",
            "PREVIOUS_MONTH",
            "PREVIOUS_QUARTER",
            "PREVIOUS_YEAR",
            "LAST_7_DAYS",
            "LAST_30_DAYS",
            "LAST_90_DAYS",
            "LAST_365_DAYS",
            "ALL_TIME",
            "LAST_14_DAYS",
            "LAST_60_DAYS"
          ],
          "type": "string",
          "description": "The preset date range to be reported on. If `CUSTOM_DATES` is assigned to this field, fields custom_start_date and custom_end_date must be set to specify the custom date range."
        }
      },
      "id": "DataRange"
    },
    "Options": {
      "type": "object",
      "id": "Options",
      "properties": {
        "includeOnlyTargetedUserLists": {
          "type": "boolean",
          "description": "Whether to include data for audience lists specifically targeted by filtered line items or insertion orders. Requires the use of `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` filters."
        }
      },
      "description": "Report parameter options."
    },
    "Parameters": {
      "description": "Parameters of a generated report.",
      "type": "object",
      "id": "Parameters",
      "properties": {
        "filters": {
          "items": {
            "$ref": "FilterPair"
          },
          "description": "Filters to limit the scope of reported data.",
          "type": "array"
        },
        "groupBys": {
          "type": "array",
          "description": "Dimensions by which to segment and group the data. Defined by [Filter](/bid-manager/reference/rest/v2/filters-metrics#filters) values.",
          "items": {
            "type": "string"
          }
        },
        "options": {
          "$ref": "Options",
          "description": "Additional report parameter options."
        },
        "type": {
          "enumDescriptions": [
            "Default value when report type is not specified or is unknown in this version.",
            "Standard report.",
            "Inventory Availability report.",
            "Audience Composition report.",
            "Floodlight report.",
            "YouTube report.",
            "GRP report.",
            "YouTube Programmatic Guaranteed report.",
            "Reach report.",
            "Unique Reach Audience report.",
            "Full Path report.",
            "Path Attribution report."
          ],
          "enum": [
            "REPORT_TYPE_UNSPECIFIED",
            "STANDARD",
            "INVENTORY_AVAILABILITY",
            "AUDIENCE_COMPOSITION",
            "FLOODLIGHT",
            "YOUTUBE",
            "GRP",
            "YOUTUBE_PROGRAMMATIC_GUARANTEED",
            "REACH",
            "UNIQUE_REACH_AUDIENCE",
            "FULL_PATH",
            "PATH_ATTRIBUTION"
          ],
          "description": "The type of the report. The type of the report determines the dimesions, filters, and metrics that can be used.",
          "type": "string",
          "enumDeprecated": [
            false,
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false,
            true,
            true
          ]
        },
        "metrics": {
          "description": "Metrics to define the data populating the report. Defined by [Metric](/bid-manager/reference/rest/v2/filters-metrics#metrics) values.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "FilterPair": {
      "description": "Represents a single filter rule.",
      "id": "FilterPair",
      "properties": {
        "value": {
          "description": "The identifying value to filter by, such as a relevant resource ID.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "The type of value to filter by. Defined by a [Filter](/bid-manager/reference/rest/v2/filters-metrics#filters) value."
        }
      },
      "type": "object"
    },
    "ReportKey": {
      "id": "ReportKey",
      "type": "object",
      "description": "Identifying information of a report.",
      "properties": {
        "queryId": {
          "type": "string",
          "description": "Output only. The unique ID of the query that generated the report.",
          "format": "int64",
          "readOnly": true
        },
        "reportId": {
          "type": "string",
          "readOnly": true,
          "format": "int64",
          "description": "Output only. The unique ID of the report."
        }
      }
    },
    "ReportMetadata": {
      "id": "ReportMetadata",
      "properties": {
        "status": {
          "description": "The status of the report.",
          "$ref": "ReportStatus"
        },
        "reportDataStartDate": {
          "description": "The start date of the report data date range.",
          "$ref": "Date"
        },
        "reportDataEndDate": {
          "$ref": "Date",
          "description": "The end date of the report data date range."
        },
        "googleCloudStoragePath": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The location of the generated report file in Google Cloud Storage. This field will be absent if status.state is not `DONE`."
        }
      },
      "type": "object",
      "description": "The metadata of a report."
    },
    "QueryMetadata": {
      "properties": {
        "sendNotification": {
          "description": "Whether an email notification is sent to the query creator when a report generated by the query is ready. This value is `false` by default.",
          "type": "boolean"
        },
        "format": {
          "description": "The format of the report generated by the query.",
          "enum": [
            "FORMAT_UNSPECIFIED",
            "CSV",
            "XLSX"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value when format is not specified or is unknown in this version.",
            "CSV.",
            "Excel."
          ]
        },
        "shareEmailAddress": {
          "description": "List of additional email addresses with which to share the query. If send_notification is `true`, these email addresses will receive a notification when a report generated by the query is ready. If these email addresses are connected to Display & Video 360 users, the query will be available to them in the Display & Video 360 interface.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "title": {
          "description": "The display name of the query. This value will be used in the file name of reports generated by the query.",
          "type": "string"
        },
        "dataRange": {
          "$ref": "DataRange",
          "description": "The date range the report generated by the query will report on. This date range will be defined by the time zone as used by the advertiser."
        }
      },
      "description": "The metadata of the query.",
      "id": "QueryMetadata",
      "type": "object"
    },
    "RunQueryRequest": {
      "id": "RunQueryRequest",
      "properties": {
        "dataRange": {
          "$ref": "DataRange",
          "description": "The date range used by the query to generate the report. If unspecified, the query's original data_range is used."
        }
      },
      "description": "Details specifying how to run a query.",
      "type": "object"
    },
    "Date": {
      "id": "Date",
      "properties": {
        "day": {
          "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",
          "type": "integer"
        },
        "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",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "format": "int32"
        }
      },
      "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"
    },
    "ListQueriesResponse": {
      "id": "ListQueriesResponse",
      "type": "object",
      "properties": {
        "queries": {
          "type": "array",
          "items": {
            "$ref": "Query"
          },
          "description": "The list of queries. This field will be absent if empty."
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `queries.list` method to retrieve the next page of results."
        }
      }
    },
    "QuerySchedule": {
      "properties": {
        "endDate": {
          "description": "The date on which to end the scheduled runs. This field is required if frequency is not set to `ONE_TIME`. Otherwise, it will be ignored.",
          "$ref": "Date"
        },
        "frequency": {
          "type": "string",
          "enum": [
            "FREQUENCY_UNSPECIFIED",
            "ONE_TIME",
            "DAILY",
            "WEEKLY",
            "SEMI_MONTHLY",
            "MONTHLY",
            "QUARTERLY",
            "YEARLY"
          ],
          "enumDescriptions": [
            "Default value when frequency is not specified or is unknown in this version.",
            "Only when the query is run manually.",
            "Once a day.",
            "Once a week.",
            "Twice a month.",
            "Once a month.",
            "Once a quarter.",
            "Once a year."
          ],
          "description": "How frequently to run the query. If set to `ONE_TIME`, the query will only be run when queries.run is called."
        },
        "startDate": {
          "$ref": "Date",
          "description": "The date on which to begin the scheduled runs. This field is required if frequency is not set to `ONE_TIME`. Otherwise, it will be ignored."
        },
        "nextRunTimezoneCode": {
          "type": "string",
          "description": "The canonical code for the timezone the query schedule is based on. Scheduled runs are usually conducted in the morning of a given day. Defaults to `America/New_York`."
        }
      },
      "id": "QuerySchedule",
      "description": "Settings on when and how frequently to run a query.",
      "type": "object"
    },
    "ListReportsResponse": {
      "type": "object",
      "id": "ListReportsResponse",
      "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 `queries.reports.list` method to retrieve the next page of results.",
          "type": "string"
        },
        "reports": {
          "type": "array",
          "items": {
            "$ref": "Report"
          },
          "description": "The list of reports. This field will be absent if empty."
        }
      }
    }
  },
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "protocol": "rest",
  "revision": "20260909",
  "baseUrl": "https://doubleclickbidmanager.googleapis.com/v2/",
  "basePath": "/v2/",
  "documentationLink": "https://developers.google.com/bid-manager/",
  "parameters": {
    "uploadType": {
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string"
    },
    "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"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ]
    },
    "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."
    },
    "alt": {
      "description": "Data format for response.",
      "type": "string",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/doubleclickbidmanager": {
          "description": "View and manage your reports in DoubleClick Bid Manager"
        }
      }
    }
  }
}
