<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="civicinfo_v2.html">Google Civic Information API</a> . <a href="civicinfo_v2.elections.html">elections</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#electionQuery">electionQuery(x__xgafv=None)</a></code></p>
<p class="firstline">List of available elections to query.</p>
<p class="toc_element">
  <code><a href="#voterInfoQuery">voterInfoQuery(address, electionId=None, returnAllAvailableData=None, officialOnly=None, x__xgafv=None)</a></code></p>
<p class="firstline">Looks up information relevant to a voter based on the voter's registered address.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="electionQuery">electionQuery(x__xgafv=None)</code>
  <pre>List of available elections to query.

Args:
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The list of elections available for this version of the API.
    &quot;kind&quot;: &quot;civicinfo#electionsQueryResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;civicinfo#electionsQueryResponse&quot;.
    &quot;elections&quot;: [ # A list of available elections
      { # Information about the election that was queried.
        &quot;id&quot;: &quot;A String&quot;, # The unique ID of this election.
        &quot;ocdDivisionId&quot;: &quot;A String&quot;, # The political division of the election. Represented as an OCD Division ID. Voters within these political jurisdictions are covered by this election. This is typically a state such as ocd-division/country:us/state:ca or for the midterms or general election the entire US (i.e. ocd-division/country:us).
        &quot;electionDay&quot;: &quot;A String&quot;, # Day of the election in YYYY-MM-DD format.
        &quot;name&quot;: &quot;A String&quot;, # A displayable name for the election.
      },
    ],
  }</pre>
</div>

<div class="method">
    <code class="details" id="voterInfoQuery">voterInfoQuery(address, electionId=None, returnAllAvailableData=None, officialOnly=None, x__xgafv=None)</code>
  <pre>Looks up information relevant to a voter based on the voter&#x27;s registered address.

Args:
  address: string, The registered address of the voter to look up. (required)
  electionId: string, The unique ID of the election to look up. A list of election IDs can be obtained at https://www.googleapis.com/civicinfo/{version}/elections. If no election ID is specified in the query and there is more than one election with data for the given voter, the additional elections are provided in the otherElections response field.
  returnAllAvailableData: boolean, If set to true, the query will return the success code and include any partial information when it is unable to determine a matching address or unable to determine the election for electionId=0 queries.
  officialOnly: boolean, If set to true, only data from official state sources will be returned.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The result of a voter info lookup query.
    &quot;state&quot;: [ # Local Election Information for the state that the voter votes in. For the US, there will only be one element in this array.
      { # Describes information about a regional election administrative area.
        &quot;name&quot;: &quot;A String&quot;, # The name of the jurisdiction.
        &quot;id&quot;: &quot;A String&quot;, # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
        &quot;sources&quot;: [ # A list of sources for this area. If multiple sources are listed the data has been aggregated from those sources.
          { # Contains information about the data source for the element containing it.
            &quot;official&quot;: True or False, # Whether this data comes from an official government source.
            &quot;name&quot;: &quot;A String&quot;, # The name of the data source.
          },
        ],
        &quot;electionAdministrationBody&quot;: { # Information about an election administrative body (e.g. County Board of Elections). # The election administration body for this area.
          &quot;electionRegistrationConfirmationUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body for confirming that the voter is registered to vote.
          &quot;electionRulesUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body describing election rules to the voter.
          &quot;voter_services&quot;: [ # A description of the services this administrative body may provide.
            &quot;A String&quot;,
          ],
          &quot;physicalAddress&quot;: { # A simple representation of an address. # The physical address of this administrative body.
            &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
            &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
            &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
            &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
            &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
            &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
            &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
          },
          &quot;name&quot;: &quot;A String&quot;, # The name of this election administrative body.
          &quot;votingLocationFinderUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body for looking up where to vote.
          &quot;ballotInfoUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body to give contest information to the voter.
          &quot;electionOfficials&quot;: [ # The election officials for this election administrative body.
            { # Information about individual election officials.
              &quot;emailAddress&quot;: &quot;A String&quot;, # The email address of the election official.
              &quot;officePhoneNumber&quot;: &quot;A String&quot;, # The office phone number of the election official.
              &quot;title&quot;: &quot;A String&quot;, # The title of the election official.
              &quot;faxNumber&quot;: &quot;A String&quot;, # The fax number of the election official.
              &quot;name&quot;: &quot;A String&quot;, # The full name of the election official.
            },
          ],
          &quot;electionInfoUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body for looking up general election information.
          &quot;correspondenceAddress&quot;: { # A simple representation of an address. # The mailing address of this administrative body.
            &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
            &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
            &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
            &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
            &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
            &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
            &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
          },
          &quot;absenteeVotingInfoUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body for information on absentee voting.
          &quot;electionRegistrationUrl&quot;: &quot;A String&quot;, # A URL provided by this administrative body for looking up how to register to vote.
          &quot;hoursOfOperation&quot;: &quot;A String&quot;, # A description of the hours of operation for this administrative body.
        },
        &quot;local_jurisdiction&quot;: # Object with schema name: AdministrationRegion # The city or county that provides election information for this voter. This object can have the same elements as state.
      },
    ],
    &quot;dropOffLocations&quot;: [ # Locations where a voter is eligible to drop off a completed ballot. The voter must have received and completed a ballot prior to arriving at the location. The location may not have ballots available on the premises. These locations could be open on or before election day as indicated in the pollingHours field.
      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
        &quot;startDate&quot;: &quot;A String&quot;, # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;id&quot;: &quot;A String&quot;, # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
        &quot;address&quot;: { # A simple representation of an address. # The address of the location.
          &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
          &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
          &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
          &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
          &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
          &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
          &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
        },
        &quot;endDate&quot;: &quot;A String&quot;, # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;longitude&quot;: 3.14, # Longitude of the location, in degrees east of the Prime Meridian. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;latitude&quot;: 3.14, # Latitude of the location, in degrees north of the equator. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;sources&quot;: [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
          { # Contains information about the data source for the element containing it.
            &quot;official&quot;: True or False, # Whether this data comes from an official government source.
            &quot;name&quot;: &quot;A String&quot;, # The name of the data source.
          },
        ],
        &quot;voterServices&quot;: &quot;A String&quot;, # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
        &quot;pollingHours&quot;: &quot;A String&quot;, # A description of when this location is open.
        &quot;name&quot;: &quot;A String&quot;, # The name of the early vote site or drop off location. This field is not populated for polling locations.
        &quot;notes&quot;: &quot;A String&quot;, # Notes about this location (e.g. accessibility ramp or entrance to use).
      },
    ],
    &quot;pollingLocations&quot;: [ # Locations where the voter is eligible to vote on election day.
      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
        &quot;startDate&quot;: &quot;A String&quot;, # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;id&quot;: &quot;A String&quot;, # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
        &quot;address&quot;: { # A simple representation of an address. # The address of the location.
          &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
          &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
          &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
          &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
          &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
          &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
          &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
        },
        &quot;endDate&quot;: &quot;A String&quot;, # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;longitude&quot;: 3.14, # Longitude of the location, in degrees east of the Prime Meridian. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;latitude&quot;: 3.14, # Latitude of the location, in degrees north of the equator. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;sources&quot;: [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
          { # Contains information about the data source for the element containing it.
            &quot;official&quot;: True or False, # Whether this data comes from an official government source.
            &quot;name&quot;: &quot;A String&quot;, # The name of the data source.
          },
        ],
        &quot;voterServices&quot;: &quot;A String&quot;, # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
        &quot;pollingHours&quot;: &quot;A String&quot;, # A description of when this location is open.
        &quot;name&quot;: &quot;A String&quot;, # The name of the early vote site or drop off location. This field is not populated for polling locations.
        &quot;notes&quot;: &quot;A String&quot;, # Notes about this location (e.g. accessibility ramp or entrance to use).
      },
    ],
    &quot;kind&quot;: &quot;civicinfo#voterInfoResponse&quot;, # Identifies what kind of resource this is. Value: the fixed string &quot;civicinfo#voterInfoResponse&quot;.
    &quot;election&quot;: { # Information about the election that was queried. # The election that was queried.
      &quot;id&quot;: &quot;A String&quot;, # The unique ID of this election.
      &quot;ocdDivisionId&quot;: &quot;A String&quot;, # The political division of the election. Represented as an OCD Division ID. Voters within these political jurisdictions are covered by this election. This is typically a state such as ocd-division/country:us/state:ca or for the midterms or general election the entire US (i.e. ocd-division/country:us).
      &quot;electionDay&quot;: &quot;A String&quot;, # Day of the election in YYYY-MM-DD format.
      &quot;name&quot;: &quot;A String&quot;, # A displayable name for the election.
    },
    &quot;precinctId&quot;: &quot;A String&quot;,
    &quot;mailOnly&quot;: True or False, # Specifies whether voters in the precinct vote only by mailing their ballots (with the possible option of dropping off their ballots as well).
    &quot;otherElections&quot;: [ # When there are multiple elections for a voter address, the otherElections field is populated in the API response and there are two possibilities: 1. If the earliest election is not the intended election, specify the election ID of the desired election in a second API request using the electionId field. 2. If these elections occur on the same day, the API doesn?t return any polling location, contest, or election official information to ensure that an additional query is made. For user-facing applications, we recommend displaying these elections to the user to disambiguate. A second API request using the electionId field should be made for the election that is relevant to the user.
      { # Information about the election that was queried.
        &quot;id&quot;: &quot;A String&quot;, # The unique ID of this election.
        &quot;ocdDivisionId&quot;: &quot;A String&quot;, # The political division of the election. Represented as an OCD Division ID. Voters within these political jurisdictions are covered by this election. This is typically a state such as ocd-division/country:us/state:ca or for the midterms or general election the entire US (i.e. ocd-division/country:us).
        &quot;electionDay&quot;: &quot;A String&quot;, # Day of the election in YYYY-MM-DD format.
        &quot;name&quot;: &quot;A String&quot;, # A displayable name for the election.
      },
    ],
    &quot;earlyVoteSites&quot;: [ # Locations where the voter is eligible to vote early, prior to election day.
      { # A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.
        &quot;startDate&quot;: &quot;A String&quot;, # The first date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;id&quot;: &quot;A String&quot;, # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
        &quot;address&quot;: { # A simple representation of an address. # The address of the location.
          &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
          &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
          &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
          &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
          &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
          &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
          &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
        },
        &quot;endDate&quot;: &quot;A String&quot;, # The last date that this early vote site or drop off location may be used. This field is not populated for polling locations.
        &quot;longitude&quot;: 3.14, # Longitude of the location, in degrees east of the Prime Meridian. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;latitude&quot;: 3.14, # Latitude of the location, in degrees north of the equator. Only some locations -- generally, ballot drop boxes for vote-by-mail elections -- will have this set; for others, use a geocoding service like the Google Maps API to resolve the address to a geographic point.
        &quot;sources&quot;: [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
          { # Contains information about the data source for the element containing it.
            &quot;official&quot;: True or False, # Whether this data comes from an official government source.
            &quot;name&quot;: &quot;A String&quot;, # The name of the data source.
          },
        ],
        &quot;voterServices&quot;: &quot;A String&quot;, # The services provided by this early vote site or drop off location. This field is not populated for polling locations.
        &quot;pollingHours&quot;: &quot;A String&quot;, # A description of when this location is open.
        &quot;name&quot;: &quot;A String&quot;, # The name of the early vote site or drop off location. This field is not populated for polling locations.
        &quot;notes&quot;: &quot;A String&quot;, # Notes about this location (e.g. accessibility ramp or entrance to use).
      },
    ],
    &quot;normalizedInput&quot;: { # A simple representation of an address. # The normalized version of the requested address
      &quot;line3&quot;: &quot;A String&quot;, # The third line of the address, if needed.
      &quot;zip&quot;: &quot;A String&quot;, # The US Postal Zip Code of the address.
      &quot;locationName&quot;: &quot;A String&quot;, # The name of the location.
      &quot;line1&quot;: &quot;A String&quot;, # The street name and number of this address.
      &quot;city&quot;: &quot;A String&quot;, # The city or town for the address.
      &quot;line2&quot;: &quot;A String&quot;, # The second line the address, if needed.
      &quot;state&quot;: &quot;A String&quot;, # The US two letter state abbreviation of the address.
    },
    &quot;contests&quot;: [ # Contests that will appear on the voter&#x27;s ballot.
      { # Information about a contest that appears on a voter&#x27;s ballot.
        &quot;candidates&quot;: [ # The candidate choices for this contest.
          { # Information about a candidate running for elected office.
            &quot;photoUrl&quot;: &quot;A String&quot;, # A URL for a photo of the candidate.
            &quot;candidateUrl&quot;: &quot;A String&quot;, # The URL for the candidate&#x27;s campaign web site.
            &quot;party&quot;: &quot;A String&quot;, # The full name of the party the candidate is a member of.
            &quot;name&quot;: &quot;A String&quot;, # The candidate&#x27;s name. If this is a joint ticket it will indicate the name of the candidate at the top of a ticket followed by a / and that name of candidate at the bottom of the ticket. e.g. &quot;Mitt Romney / Paul Ryan&quot;
            &quot;phone&quot;: &quot;A String&quot;, # The voice phone number for the candidate&#x27;s campaign office.
            &quot;email&quot;: &quot;A String&quot;, # The email address for the candidate&#x27;s campaign.
            &quot;orderOnBallot&quot;: &quot;A String&quot;, # The order the candidate appears on the ballot for this contest.
            &quot;channels&quot;: [ # A list of known (social) media channels for this candidate.
              { # A social media or web channel for a candidate.
                &quot;id&quot;: &quot;A String&quot;, # The unique public identifier for the candidate&#x27;s channel.
                &quot;type&quot;: &quot;A String&quot;, # The type of channel. The following is a list of types of channels, but is not exhaustive. More channel types may be added at a later time. One of: GooglePlus, YouTube, Facebook, Twitter
              },
            ],
          },
        ],
        &quot;type&quot;: &quot;A String&quot;, # The type of contest. Usually this will be &#x27;General&#x27;, &#x27;Primary&#x27;, or &#x27;Run-off&#x27; for contests with candidates. For referenda this will be &#x27;Referendum&#x27;. For Retention contests this will typically be &#x27;Retention&#x27;.
        &quot;roles&quot;: [ # The roles which this office fulfills.
          &quot;A String&quot;,
        ],
        &quot;level&quot;: [ # The levels of government of the office for this contest. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at &quot;locality&quot; level, but also effectively at both &quot;administrative-area-2&quot; and &quot;administrative-area-1&quot;.
          &quot;A String&quot;,
        ],
        &quot;referendumPassageThreshold&quot;: &quot;A String&quot;, # The threshold of votes that the referendum needs in order to pass, e.g. &quot;two-thirds&quot;. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;referendumText&quot;: &quot;A String&quot;, # The full text of the referendum. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;numberVotingFor&quot;: &quot;A String&quot;, # The number of candidates that a voter may vote for in this contest.
        &quot;referendumBallotResponses&quot;: [ # The set of ballot responses for the referendum. A ballot response represents a line on the ballot. Common examples might include &quot;yes&quot; or &quot;no&quot; for referenda. This field is only populated for contests of type &#x27;Referendum&#x27;.
          &quot;A String&quot;,
        ],
        &quot;special&quot;: &quot;A String&quot;, # &quot;Yes&quot; or &quot;No&quot; depending on whether this a contest being held outside the normal election cycle.
        &quot;referendumConStatement&quot;: &quot;A String&quot;, # A statement in opposition to the referendum. It does not necessarily appear on the ballot. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;primaryParties&quot;: [ # If this is a partisan election, the name of the party/parties it is for.
          &quot;A String&quot;,
        ],
        &quot;referendumBrief&quot;: &quot;A String&quot;, # Specifies a short summary of the referendum that is typically on the ballot below the title but above the text. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;ballotTitle&quot;: &quot;A String&quot;, # The official title on the ballot for this contest, only where available.
        &quot;office&quot;: &quot;A String&quot;, # The name of the office for this contest.
        &quot;referendumTitle&quot;: &quot;A String&quot;, # The title of the referendum (e.g. &#x27;Proposition 42&#x27;). This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;referendumProStatement&quot;: &quot;A String&quot;, # A statement in favor of the referendum. It does not necessarily appear on the ballot. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;electorateSpecifications&quot;: &quot;A String&quot;, # A description of any additional eligibility requirements for voting in this contest.
        &quot;sources&quot;: [ # A list of sources for this contest. If multiple sources are listed, the data has been aggregated from those sources.
          { # Contains information about the data source for the element containing it.
            &quot;official&quot;: True or False, # Whether this data comes from an official government source.
            &quot;name&quot;: &quot;A String&quot;, # The name of the data source.
          },
        ],
        &quot;referendumSubtitle&quot;: &quot;A String&quot;, # A brief description of the referendum. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;id&quot;: &quot;A String&quot;, # An ID for this object. IDs may change in future requests and should not be cached. Access to this field requires special access that can be requested from the Request more link on the Quotas page.
        &quot;referendumEffectOfAbstain&quot;: &quot;A String&quot;, # Specifies what effect abstaining (not voting) on the proposition will have (i.e. whether abstaining is considered a vote against it). This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;district&quot;: { # Describes the geographic scope of a contest. # Information about the electoral district that this contest is in.
          &quot;name&quot;: &quot;A String&quot;, # The name of the district.
          &quot;id&quot;: &quot;A String&quot;, # An identifier for this district, relative to its scope. For example, the 34th State Senate district would have id &quot;34&quot; and a scope of stateUpper.
          &quot;scope&quot;: &quot;A String&quot;, # The geographic scope of this district. If unspecified the district&#x27;s geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special
        },
        &quot;primaryParty&quot;: &quot;A String&quot;, # [DEPRECATED] If this is a partisan election, the name of the party it is for. This field as deprecated in favor of the array &quot;primaryParties&quot;, as contests may contain more than one party.
        &quot;referendumUrl&quot;: &quot;A String&quot;, # A link to the referendum. This field is only populated for contests of type &#x27;Referendum&#x27;.
        &quot;numberElected&quot;: &quot;A String&quot;, # The number of candidates that will be elected to office in this contest.
        &quot;ballotPlacement&quot;: &quot;A String&quot;, # A number specifying the position of this contest on the voter&#x27;s ballot.
      },
    ],
  }</pre>
</div>

</body></html>