> ## Documentation Index
> Fetch the complete documentation index at: https://mayahub.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar assistente

> Atualizar a configuração de um assistente de IA existente 

Este endpoint permite atualizar a configuração de um assistente de IA existente.\
Todos os campos são opcionais – forneça apenas os campos que deseja atualizar.

### Parâmetros de caminho

<ParamField path="id" type="integer" required>
  O identificador único do assistente a ser atualizado
</ParamField>

### Corpo da requisição

Campos principais

<ParamField body="assistant_name" type="string">
  O nome do assistente (máx. 255 caracteres)
</ParamField>

<ParamField body="voice_id" type="integer">
  O ID da voz a ser usada pelo assistente (deve existir entre as vozes disponíveis)
</ParamField>

<ParamField body="language" type="string">
  O nome do idioma do assistente (máx. 100 caracteres)
</ParamField>

<ParamField body="llm_model" type="string">
  O nome do modelo LLM a ser usado (máx. 100 caracteres)
</ParamField>

<ParamField body="calls_direction" type="string">
  O tipo de direção da chamada. Opções: receive, make
</ParamField>

<ParamField body="engine_type" type="string">
  O tipo de motor a ser usado. Opções: pipeline, multimodal
</ParamField>

<ParamField body="timezone" type="string">
  O fuso horário do assistente (ex.: "America/New\_York")
</ParamField>

<ParamField body="initial_message" type="string">
  A mensagem inicial que o assistente irá falar quando a chamada começar
</ParamField>

<ParamField body="system_prompt" type="string">
  O prompt do sistema que define o comportamento e a personalidade do assistente
</ParamField>

#### Optional Configuration

<ParamField body="phone_number_id" type="integer">
  O ID de um número de telefone a ser atribuído ao assistente (defina como null para desatribuir)
</ParamField>

<ParamField body="endpoint_type" type="string">
  Tipo de detecção de atividade de voz. Opções: vad, ai
</ParamField>

<ParamField body="endpoint_sensitivity" type="number">
  Nível de sensibilidade do endpoint (0-5)
</ParamField>

<ParamField body="interrupt_sensitivity" type="number">
  Nível de sensibilidade de interrupção (0-5)
</ParamField>

<ParamField body="ambient_sound_volume" type="number">
  Nível de volume do som ambiente (0-1)
</ParamField>

<ParamField body="post_call_evaluation" type="boolean">
  Se deve habilitar a avaliação após a chamada
</ParamField>

<ParamField body="send_webhook_only_on_completed" type="boolean">
  Se deve enviar webhooks apenas em chamadas concluídas
</ParamField>

<ParamField body="include_recording_in_webhook" type="boolean">
  Se deve incluir a URL da gravação no payload do webhook
</ParamField>

#### Configuração de Webhook

<ParamField body="is_webhook_active" type="boolean">
  Se as notificações do webhook estão habilitadas
</ParamField>

<ParamField body="webhook_url" type="string">
  A URL do webhook para notificações após a chamada (pode ser definida como null para remover)
</ParamField>

#### Configuração de Interrupção

<ParamField body="use_min_interrupt_words" type="boolean">
  Se deve usar a configuração de palavras mínimas para interrupção
</ParamField>

<ParamField body="min_interrupt_words" type="integer">
  Número mínimo de palavras antes que a interrupção seja permitida (0-10)
</ParamField>

#### Variáveis e Esquema

<ParamField body="variables" type="object">
  Pares chave-valor de variáveis personalizadas para o assistente
</ParamField>

<ParamField body="post_call_schema" type="array">
  Definição do esquema para extração de dados após a chamada

  <Expandable title="Propriedades do post_call_schema">
    <ParamField body="post_call_schema[].name" type="string" required>
      O nome do campo do esquema (apenas caracteres alfanuméricos e underscores)
    </ParamField>

    <ParamField body="post_call_schema[].type" type="string" required>
      O tipo de dado. Opções: string, number, bool
    </ParamField>

    <ParamField body="post_call_schema[].description" type="string" required>
      Descrição do que este campo representa
    </ParamField>
  </Expandable>
</ParamField>

#### Chamada Terminada

<ParamField body="end_call_tool.description" type="string">
  Descrição da funcionalidade da ferramenta de encerramento de chamada (máx. 500 caracteres)
</ParamField>

#### Configurações de Voz e Fala

<ParamField body="llm_temperature" type="number">
  Configuração de temperatura do LLM (0-1)
</ParamField>

<ParamField body="voice_stability" type="number">
  Configuração de estabilidade da voz (0-1)
</ParamField>

<ParamField body="voice_similarity" type="number">
  Configuração de similaridade da voz (0-1)
</ParamField>

<ParamField body="speech_speed" type="number">
  Multiplicador de velocidade da fala (0,7-1,2)
</ParamField>

#### Configurações de Comportamento de Chamada

<ParamField body="allow_interruptions" type="boolean">
  Se deve permitir interrupções do chamador
</ParamField>

<ParamField body="filler_audios" type="boolean">
  Se deve usar áudio de preenchimento durante o processamento
</ParamField>

<ParamField body="re_engagement_interval" type="integer">
  Intervalo de reengajamento em segundos (7-600)
</ParamField>

<ParamField body="max_call_duration" type="integer">
  Duração máxima da chamada em segundos (20-1200)
</ParamField>

<ParamField body="max_silence_duration" type="integer">
  Duração máxima de silêncio em segundos (1-120)
</ParamField>

<ParamField body="end_call_on_voicemail" type="boolean">
  Se deve encerrar a chamada quando um correio de voz for detectado
</ParamField>

<ParamField body="noise_cancellation" type="boolean">
  Se deve habilitar a redução de ruído
</ParamField>

<ParamField body="record_call" type="boolean">
  Se deve gravar a chamada
</ParamField>

<ParamField body="who_speaks_first" type="string">
  Quem fala primeiro na chamada. Opções: Assistente de IA, Cliente
</ParamField>

### Respostas

<ResponseField name="message" type="string">
  Mensagem de sucesso confirmando a atualização do assistente
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Propriedades">
    <ResponseField name="id" type="integer">
      Mensagem de sucesso confirmando a atualização do assistente.
    </ResponseField>

    <ResponseField name="name" type="string">
      O nome do assistente
    </ResponseField>

    <ResponseField name="status" type="string">
      O status atual do assistente
    </ResponseField>

    <ResponseField name="type" type="string">
      O tipo de assistente (inbound ou outbound)
    </ResponseField>

    <ResponseField name="mode" type="string">
      O modo do motor (pipeline ou multimodal)
    </ResponseField>
  </Expandable>
</ResponseField>

### Respostas de erro

<ResponseField name="404 Not Found">
  <Expandable title="Respostas de erro">
    <ResponseField name="message" type="string">
      Mensagem de erro quando o assistente não é encontrado ou não pertence ao usuário autenticado
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="422 Validation Error">
  <Expandable title="Respostas de erro">
    <ResponseField name="message" type="string">
      Mensagem de erro indicando falha na validação
    </ResponseField>

    <ResponseField name="errors" type="object">
      Erros detalhados de validação para cada campo
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="500 Internal Server Error">
  <Expandable title="Respostas de Erro">
    <ResponseField name="message" type="string">
      Erros detalhados de validação para cada campo.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 Success Response theme={null}
  {
    "message": "Assistant updated successfully",
    "data": {
      "id": 789,
      "name": "Updated Sales Assistant",
      "status": "active",
      "type": "outbound",
      "mode": "pipeline"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "message": "Assistant not found"
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "speech_speed": [
        "The speech speed must be between 0.7 and 1.2."
      ],
      "webhook_url": [
        "The webhook url must be a valid URL."
      ]
    }
  }
  ```

  ```json 500 Internal Server Error theme={null}
  {
    "message": "Assistant update failed"
  }
  ```
</ResponseExample>

### Observações

* Apenas os campos fornecidos no corpo da requisição serão atualizados.
* Todas as regras de validação se aplicam da mesma forma que ao criar um assistente.
* Para remover a atribuição de um número de telefone, defina phone\_number\_id como null.
* Para desabilitar o webhook, defina webhook\_url como null ou is\_webhook\_active como false.
* O assistente deve pertencer ao usuário autenticado para ser atualizado.
