<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="displayvideo_v1.html">Display & Video 360 API</a> . <a href="displayvideo_v1.customBiddingAlgorithms.html">customBiddingAlgorithms</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#get">get(customBiddingAlgorithmId, partnerId=None, advertiserId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets a custom bidding algorithm.</p>
<p class="toc_element">
  <code><a href="#list">list(pageToken=None, partnerId=None, filter=None, pageSize=None, orderBy=None, advertiserId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="get">get(customBiddingAlgorithmId, partnerId=None, advertiserId=None, x__xgafv=None)</code>
  <pre>Gets a custom bidding algorithm.

Args:
  customBiddingAlgorithmId: string, Required. The ID of the custom bidding algorithm to fetch. (required)
  partnerId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
  advertiserId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A single custom bidding algorithm.
    &quot;entityStatus&quot;: &quot;A String&quot;, # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the custom bidding algorithm.
    &quot;customBiddingAlgorithmId&quot;: &quot;A String&quot;, # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
    &quot;partnerId&quot;: &quot;A String&quot;, # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
    &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
    &quot;customBiddingAlgorithmType&quot;: &quot;A String&quot;, # Required. Immutable. The type of custom bidding algorithm.
    &quot;advertiserId&quot;: &quot;A String&quot;, # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(pageToken=None, partnerId=None, filter=None, pageSize=None, orderBy=None, advertiserId=None, x__xgafv=None)</code>
  <pre>Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.

Args:
  pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned.
  partnerId: string, The ID of the DV360 partner that has access to the custom bidding algorithm.
  filter: string, Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains &quot;politics&quot;: `displayName:politics`. * All custom bidding algorithms for which the type is &quot;SCRIPT_BASED&quot;: `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters.
  pageSize: integer, Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
  orderBy: string, Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix &quot;desc&quot; should be added to the field name. Example: `displayName desc`.
  advertiserId: string, The ID of the DV360 advertiser that has access to the custom bidding algorithm.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.
    &quot;customBiddingAlgorithms&quot;: [ # The list of custom bidding algorithms. This list will be absent if empty.
      { # A single custom bidding algorithm.
        &quot;entityStatus&quot;: &quot;A String&quot;, # Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
        &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the custom bidding algorithm.
        &quot;customBiddingAlgorithmId&quot;: &quot;A String&quot;, # Output only. The unique ID of the custom bidding algorithm. Assigned by the system.
        &quot;partnerId&quot;: &quot;A String&quot;, # Immutable. The unique ID of the partner that owns the custom bidding algorithm.
        &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
        &quot;customBiddingAlgorithmType&quot;: &quot;A String&quot;, # Required. Immutable. The type of custom bidding algorithm.
        &quot;advertiserId&quot;: &quot;A String&quot;, # Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.
      },
    ],
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

</body></html>