<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="adexchangebuyer_v1_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.billingInfo.html">billingInfo</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(accountId)</a></code></p>
<p class="firstline">Returns the billing information for one account specified by account ID.</p>
<p class="toc_element">
  <code><a href="#list">list()</a></code></p>
<p class="firstline">Retrieves a list of billing information for all accounts of the authenticated user.</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(accountId)</code>
  <pre>Returns the billing information for one account specified by account ID.

Args:
  accountId: integer, The account id. (required)

Returns:
  An object of the form:

    { # The configuration data for an Ad Exchange billing info.
  &quot;accountId&quot;: 42, # Account id.
  &quot;accountName&quot;: &quot;A String&quot;, # Account name.
  &quot;billingId&quot;: [ # A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.
    &quot;A String&quot;,
  ],
  &quot;kind&quot;: &quot;adexchangebuyer#billingInfo&quot;, # Resource type.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list()</code>
  <pre>Retrieves a list of billing information for all accounts of the authenticated user.

Args:

Returns:
  An object of the form:

    { # A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.
  &quot;items&quot;: [ # A list of billing info relevant for your account.
    { # The configuration data for an Ad Exchange billing info.
      &quot;accountId&quot;: 42, # Account id.
      &quot;accountName&quot;: &quot;A String&quot;, # Account name.
      &quot;billingId&quot;: [ # A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.
        &quot;A String&quot;,
      ],
      &quot;kind&quot;: &quot;adexchangebuyer#billingInfo&quot;, # Resource type.
    },
  ],
  &quot;kind&quot;: &quot;adexchangebuyer#billingInfoList&quot;, # Resource type.
}</pre>
</div>

</body></html>