<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.queries.html">queries</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#createquery">createquery(body)</a></code></p>
<p class="firstline">Creates a query.</p>
<p class="toc_element">
  <code><a href="#deletequery">deletequery(queryId)</a></code></p>
<p class="firstline">Deletes a stored query as well as the associated stored reports.</p>
<p class="toc_element">
  <code><a href="#getquery">getquery(queryId)</a></code></p>
<p class="firstline">Retrieves a stored query.</p>
<p class="toc_element">
  <code><a href="#listqueries">listqueries()</a></code></p>
<p class="firstline">Retrieves stored queries.</p>
<p class="toc_element">
  <code><a href="#runquery">runquery(queryId, body)</a></code></p>
<p class="firstline">Runs a stored query to generate a report.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="createquery">createquery(body)</code>
  <pre>Creates a query.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Represents a query.
  "kind": "doubleclickbidmanager#query", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#query".
  "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
    "endTimeMs": "A String", # Datetime to periodically run the query until.
    "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
    "frequency": "A String", # How often the query is run.
    "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
  },
  "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
  "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
  "queryId": "A String", # Query ID.
  "params": { # Parameters of a query or report. # Query parameters.
    "metrics": [ # Metrics to include as columns in your report.
      "A String",
    ],
    "includeInviteData": True or False, # Deprecated. This field is no longer in use.
    "type": "A String", # Report type.
    "groupBys": [ # Data is grouped by the filters listed in this field.
      "A String",
    ],
    "filters": [ # Filters used to match traffic data in your report.
      { # Filter used to match traffic data in your report.
        "type": "A String", # Filter type.
        "value": "A String", # Filter value.
      },
    ],
  },
  "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
  "metadata": { # Query metadata. # Query metadata.
    "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
    "dataRange": "A String", # Range of report data.
    "format": "A String", # Format of the generated report.
    "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
        #
        # An locale string not in the list above will generate reports in English.
    "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
    "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
    "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
      "A String",
    ],
    "reportCount": 42, # Number of reports that have been generated for the query.
    "running": True or False, # Whether the latest report is currently running.
    "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
    "title": "A String", # Query title. It is used to name the reports generated from this query.
  },
}


Returns:
  An object of the form:

    { # Represents a query.
    "kind": "doubleclickbidmanager#query", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#query".
    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
      "endTimeMs": "A String", # Datetime to periodically run the query until.
      "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
      "frequency": "A String", # How often the query is run.
      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
    },
    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
    "queryId": "A String", # Query ID.
    "params": { # Parameters of a query or report. # Query parameters.
      "metrics": [ # Metrics to include as columns in your report.
        "A String",
      ],
      "includeInviteData": True or False, # Deprecated. This field is no longer in use.
      "type": "A String", # Report type.
      "groupBys": [ # Data is grouped by the filters listed in this field.
        "A String",
      ],
      "filters": [ # Filters used to match traffic data in your report.
        { # Filter used to match traffic data in your report.
          "type": "A String", # Filter type.
          "value": "A String", # Filter value.
        },
      ],
    },
    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
    "metadata": { # Query metadata. # Query metadata.
      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
      "dataRange": "A String", # Range of report data.
      "format": "A String", # Format of the generated report.
      "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
          #
          # An locale string not in the list above will generate reports in English.
      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
        "A String",
      ],
      "reportCount": 42, # Number of reports that have been generated for the query.
      "running": True or False, # Whether the latest report is currently running.
      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
      "title": "A String", # Query title. It is used to name the reports generated from this query.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="deletequery">deletequery(queryId)</code>
  <pre>Deletes a stored query as well as the associated stored reports.

Args:
  queryId: string, Query ID to delete. (required)
</pre>
</div>

<div class="method">
    <code class="details" id="getquery">getquery(queryId)</code>
  <pre>Retrieves a stored query.

Args:
  queryId: string, Query ID to retrieve. (required)

Returns:
  An object of the form:

    { # Represents a query.
    "kind": "doubleclickbidmanager#query", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#query".
    "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
      "endTimeMs": "A String", # Datetime to periodically run the query until.
      "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
      "frequency": "A String", # How often the query is run.
      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
    },
    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
    "queryId": "A String", # Query ID.
    "params": { # Parameters of a query or report. # Query parameters.
      "metrics": [ # Metrics to include as columns in your report.
        "A String",
      ],
      "includeInviteData": True or False, # Deprecated. This field is no longer in use.
      "type": "A String", # Report type.
      "groupBys": [ # Data is grouped by the filters listed in this field.
        "A String",
      ],
      "filters": [ # Filters used to match traffic data in your report.
        { # Filter used to match traffic data in your report.
          "type": "A String", # Filter type.
          "value": "A String", # Filter value.
        },
      ],
    },
    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
    "metadata": { # Query metadata. # Query metadata.
      "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
      "dataRange": "A String", # Range of report data.
      "format": "A String", # Format of the generated report.
      "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
          #
          # An locale string not in the list above will generate reports in English.
      "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
      "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
      "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
        "A String",
      ],
      "reportCount": 42, # Number of reports that have been generated for the query.
      "running": True or False, # Whether the latest report is currently running.
      "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
      "title": "A String", # Query title. It is used to name the reports generated from this query.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="listqueries">listqueries()</code>
  <pre>Retrieves stored queries.

Args:

Returns:
  An object of the form:

    { # List queries response.
    "kind": "doubleclickbidmanager#listQueriesResponse", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#listQueriesResponse".
    "queries": [ # Retrieved queries.
      { # Represents a query.
        "kind": "doubleclickbidmanager#query", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#query".
        "schedule": { # Information on how frequently and when to run a query. # Information on how often and when to run a query.
          "endTimeMs": "A String", # Datetime to periodically run the query until.
          "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
          "frequency": "A String", # How often the query is run.
          "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.
        },
        "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
        "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
        "queryId": "A String", # Query ID.
        "params": { # Parameters of a query or report. # Query parameters.
          "metrics": [ # Metrics to include as columns in your report.
            "A String",
          ],
          "includeInviteData": True or False, # Deprecated. This field is no longer in use.
          "type": "A String", # Report type.
          "groupBys": [ # Data is grouped by the filters listed in this field.
            "A String",
          ],
          "filters": [ # Filters used to match traffic data in your report.
            { # Filter used to match traffic data in your report.
              "type": "A String", # Filter type.
              "value": "A String", # Filter value.
            },
          ],
        },
        "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.
        "metadata": { # Query metadata. # Query metadata.
          "googleCloudStoragePathForLatestReport": "A String", # The path to the location in Google Cloud Storage where the latest report is stored.
          "dataRange": "A String", # Range of report data.
          "format": "A String", # Format of the generated report.
          "locale": "A String", # Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE
              #
              # An locale string not in the list above will generate reports in English.
          "googleDrivePathForLatestReport": "A String", # The path in Google Drive for the latest report.
          "sendNotification": True or False, # Whether to send an email notification when a report is ready. Default to false.
          "shareEmailAddress": [ # List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.
            "A String",
          ],
          "reportCount": 42, # Number of reports that have been generated for the query.
          "running": True or False, # Whether the latest report is currently running.
          "latestReportRunTimeMs": "A String", # The time when the latest report started to run.
          "title": "A String", # Query title. It is used to name the reports generated from this query.
        },
      },
    ],
  }</pre>
</div>

<div class="method">
    <code class="details" id="runquery">runquery(queryId, body)</code>
  <pre>Runs a stored query to generate a report.

Args:
  queryId: string, Query ID to run. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to run a stored query to generate a report.
    "reportDataEndTimeMs": "A String", # The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
    "timezoneCode": "A String", # Canonical timezone code for report data time. Defaults to America/New_York.
    "reportDataStartTimeMs": "A String", # The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.
    "dataRange": "A String", # Report data range used to generate the report.
  }

</pre>
</div>

</body></html>