<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="jobs_v2.html">Cloud Talent Solution API</a> . <a href="jobs_v2.v2.html">v2</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#complete">complete(languageCode=None, pageSize=None, companyName=None, type=None, scope=None, query=None, x__xgafv=None)</a></code></p>
<p class="firstline">Completes the specified prefix with job keyword suggestions.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="complete">complete(languageCode=None, pageSize=None, companyName=None, type=None, scope=None, query=None, x__xgafv=None)</code>
  <pre>Completes the specified prefix with job keyword suggestions.
Intended for use by a job search auto-complete search box.

Args:
  languageCode: string, Required.

The language of the query. This is
the BCP-47 language code, such as "en-US" or "sr-Latn".
For more information, see
[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).

For CompletionType.JOB_TITLE type, only open jobs with same
language_code are returned.

For CompletionType.COMPANY_NAME type,
only companies having open jobs with same language_code are
returned.

For CompletionType.COMBINED type, only open jobs with same
language_code or companies having open jobs with same
language_code are returned.
  pageSize: integer, Required.

Completion result count.
The maximum allowed page size is 10.
  companyName: string, Optional.

If provided, restricts completion to the specified company.
  type: string, Optional.

The completion topic. The default is CompletionType.COMBINED.
  scope: string, Optional.

The scope of the completion. The defaults is CompletionScope.PUBLIC.
  query: string, Required.

The query used to generate suggestions.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Output only.
      #
      # Response of auto-complete query.
    "completionResults": [ # Results of the matching job/company candidates.
      { # Output only.
          #
          # Resource that represents completion results.
        "imageUrl": "A String", # The URL for the company logo if `type=COMPANY_NAME`.
        "type": "A String", # The completion topic.
        "suggestion": "A String", # The suggestion for the query.
      },
    ],
    "metadata": { # Output only. # Additional information for the API invocation, such as the request
        # tracking id.
        #
        # Additional information returned to client, such as debugging
        # information.
      "requestId": "A String", # A unique id associated with this call.
          # This id is logged for tracking purposes.
      "experimentIdList": [ # Identifiers for the versions of the search algorithm used during
          # this API invocation if multiple algorithms are used.
          # The default value is empty.
          # For search response only.
        42,
      ],
      "mode": "A String", # For search response only. Indicates the mode of a performed search.
    },
  }</pre>
</div>

</body></html>