<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="contactcenterinsights_v1.html">Contact Center AI Insights API</a> . <a href="contactcenterinsights_v1.projects.html">projects</a> . <a href="contactcenterinsights_v1.projects.locations.html">locations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="contactcenterinsights_v1.projects.locations.conversations.html">conversations()</a></code>
</p>
<p class="firstline">Returns the conversations Resource.</p>

<p class="toc_element">
  <code><a href="contactcenterinsights_v1.projects.locations.insightsdata.html">insightsdata()</a></code>
</p>
<p class="firstline">Returns the insightsdata Resource.</p>

<p class="toc_element">
  <code><a href="contactcenterinsights_v1.projects.locations.issueModels.html">issueModels()</a></code>
</p>
<p class="firstline">Returns the issueModels Resource.</p>

<p class="toc_element">
  <code><a href="contactcenterinsights_v1.projects.locations.operations.html">operations()</a></code>
</p>
<p class="firstline">Returns the operations Resource.</p>

<p class="toc_element">
  <code><a href="contactcenterinsights_v1.projects.locations.phraseMatchers.html">phraseMatchers()</a></code>
</p>
<p class="firstline">Returns the phraseMatchers Resource.</p>

<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="#getSettings">getSettings(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets project-level settings.</p>
<p class="toc_element">
  <code><a href="#updateSettings">updateSettings(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates project-level settings.</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="getSettings">getSettings(name, x__xgafv=None)</code>
  <pre>Gets project-level settings.

Args:
  name: string, Required. The name of the settings resource to get. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The settings resource.
  &quot;analysisConfig&quot;: { # Default configuration when creating Analyses in Insights. # Default analysis settings.
    &quot;runtimeIntegrationAnalysisPercentage&quot;: 3.14, # Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100].
  },
  &quot;conversationTtl&quot;: &quot;A String&quot;, # The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
  &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
  &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
}</pre>
</div>

<div class="method">
    <code class="details" id="updateSettings">updateSettings(name, body=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates project-level settings.

Args:
  name: string, Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings (required)
  body: object, The request body.
    The object takes the form of:

{ # The settings resource.
  &quot;analysisConfig&quot;: { # Default configuration when creating Analyses in Insights. # Default analysis settings.
    &quot;runtimeIntegrationAnalysisPercentage&quot;: 3.14, # Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100].
  },
  &quot;conversationTtl&quot;: &quot;A String&quot;, # The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
  &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
  &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
}

  updateMask: string, Required. The list of fields to be updated.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The settings resource.
  &quot;analysisConfig&quot;: { # Default configuration when creating Analyses in Insights. # Default analysis settings.
    &quot;runtimeIntegrationAnalysisPercentage&quot;: 3.14, # Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100].
  },
  &quot;conversationTtl&quot;: &quot;A String&quot;, # The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted.
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings was created.
  &quot;languageCode&quot;: &quot;A String&quot;, # A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to &quot;en-US&quot; if it is neither specified on the segment nor here.
  &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the settings resource. Format: projects/{project}/locations/{location}/settings
  &quot;pubsubNotificationSettings&quot;: { # A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * &quot;all-triggers&quot;: Notify each time any of the supported triggers occurs. * &quot;create-analysis&quot;: Notify each time an analysis is created. * &quot;create-conversation&quot;: Notify each time a conversation is created. * &quot;export-insights-data&quot;: Notify each time an export is complete. * &quot;update-conversation&quot;: Notify each time a conversation is updated via UpdateConversation. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project}/topics/{topic}
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the settings were last updated.
}</pre>
</div>

</body></html>