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

# Actualizar conversación

> Actualiza los datos de una conversación existente



## OpenAPI

````yaml /es/openapi.json put /v1/conversations/{id}
openapi: 3.0.0
info:
  title: Nuvia API - Empresa
  description: Documentación de la API para empresas
  version: '1.0'
  contact: {}
servers:
  - url: https://api.nuvia.ai
security: []
tags:
  - name: messages
    x-group: Mensagens
  - name: contacts
    x-group: Contatos
  - name: campaigns
    x-group: Campanhas
  - name: tables
    x-group: Tabelas e Listas
  - name: agents
    x-group: Agentes
  - name: conversations
    x-group: Conversas
  - name: inboxes
    x-group: Caixas de Entrada
  - name: knowledge
    x-group: Base de Conhecimento
  - name: Webhooks
    x-group: Webhooks
  - name: campaign-enrollments
    x-group: Inscrições em Campanha
  - name: custom-fields
    x-group: Campos Customizados
paths:
  /v1/conversations/{id}:
    put:
      tags:
        - conversations
      summary: Actualizar conversación
      description: Actualiza los datos de una conversación existente
      operationId: ConversationController_updateConversation
      parameters:
        - name: x-company-id
          in: header
          description: >-
            Identificador de la empresa objetivo. Obligatorio solo para API keys
            globales (type=global). Se ignora para API keys de empresa y
            usuarios humanos.
          required: false
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: ID de la conversación
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateConversationDto'
      responses:
        '200':
          description: Conversación actualizada correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationResponseDto'
        '400':
          description: Datos inválidos
        '401':
          description: Token inválido o expirado
        '403':
          description: Sin permiso para acceder a este recurso
        '404':
          description: Recurso no encontrado
      security:
        - JWT-auth: []
components:
  schemas:
    UpdateConversationDto:
      type: object
      properties:
        additional_attributes:
          description: Atributos adicionales de la conversación (clave-valor)
          type: object
          additionalProperties: {}
        custom_attributes:
          description: Atributos de sistema (deal vinculado, etc.)
          type: object
          properties:
            deal:
              description: Referência ao deal de CRM externo
              type: object
              properties:
                crm_type:
                  type: string
                  description: Tipo de CRM (hubspot, salesforce, etc.)
                crm_external_id:
                  type: string
                  description: ID do deal no CRM externo
                name:
                  description: Nome do deal
                  type: string
                amount:
                  description: Valor do deal
                  type: string
                stage:
                  description: Estágio do deal
                  type: string
                pipeline:
                  description: Pipeline do deal
                  type: string
                crm_last_synced_at:
                  description: Data da última sincronização
                  type: string
              required:
                - crm_type
                - crm_external_id
                - crm_last_synced_at
          additionalProperties: {}
        who_answering:
          type: string
          enum:
            - AGENT
            - HUMAN
            - UNASSIGNED
          description: Quién está respondiendo (AGENT/HUMAN)
        agent:
          description: ID del agente
          type: string
        current_step_slug:
          description: Slug del paso actual
          type: string
        current_step:
          description: ID del paso actual del flujo
          type: string
        requires_attention:
          description: Atención necesaria
          type: object
          properties:
            type:
              type: string
              enum:
                - HUMAN_HANDOFF
                - AI_SUPPORT_REQUEST
                - IDLE_CONVERSATION
                - CONTACT_MESSAGE
              description: Tipo de atenção necessária
            requested_at:
              description: Data da solicitação de atenção
              type: string
          required:
            - type
            - requested_at
          nullable: true
        contact_last_activity_at:
          description: Fecha de la última actividad del contacto
          type: string
        last_activity_at:
          description: Fecha de la última actividad
          type: string
        allow_send_messages_at:
          description: >-
            Fecha hasta la cual se pueden enviar mensajes (ventana de 24 h de
            WhatsApp)
          type: string
        referral:
          description: Datos de referral de la conversación (anuncios, publicaciones)
          type: object
          properties:
            source_url:
              type: string
            source_id:
              type: string
            source_type:
              type: string
            source_app:
              type: string
            title:
              type: string
            body:
              type: string
            media_type:
              anyOf:
                - type: string
                - type: number
            media_url:
              type: string
            thumbnail_url:
              type: string
            ctwa_clid:
              type: string
            welcome_message:
              type: object
              properties:
                text:
                  type: string
            greeting_message:
              type: string
            conversion_source:
              type: string
            entry_point_app:
              type: string
            conversion_delay_seconds:
              type: number
            raw_data:
              type: object
              additionalProperties: {}
        status:
          description: Estado de la conversación
          type: string
        custom_fields:
          description: >-
            Actualiza valores de campos personalizados de la conversación, por
            slug. Cubre `select`/`multi_select` (valor = `option_id`, o lista de
            ellos) y `text` (valor = el string). Para `number`/`date`, use
            `additional_attributes`, que conserva el tipo nativo. Validación
            atómica: un valor inválido no graba ningún campo y devuelve 422. Los
            `option_id` se obtienen de `GET /v1/custom-fields/{id}/options`.
          type: object
          additionalProperties:
            anyOf:
              - type: string
                nullable: true
              - type: array
                items:
                  type: string
                nullable: true
        resume:
          description: Resumen de la conversación generado por el specialist
          type: string
        temperature:
          description: Temperatura comercial clasificada por el specialist
          type: string
          enum:
            - HOT
            - WARM
            - COLD
            - CLOSED
        sentiment:
          description: Sentimiento clasificado por el specialist
          type: string
          enum:
            - POSITIVE
            - NEUTRAL
            - NEGATIVE
        qualification:
          description: Calificación BANT/GPCT/MEDDIC (specialist)
          type: object
          properties:
            methodology:
              type: string
              description: Metodologia (BANT/GPCT/MEDDIC/NONE)
            dimensions:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  label:
                    type: string
                  score:
                    type: number
                  summary:
                    type: string
                required:
                  - key
                additionalProperties: {}
              description: Dimensões da metodologia com score/summary
          required:
            - methodology
            - dimensions
          additionalProperties: {}
        lead_score:
          description: Lead score 0-100 basado en la calificación + ICP
          type: number
          minimum: 0
          maximum: 100
        safety_scores:
          description: Puntajes de seguridad (prompt injection, alucinación, etc.)
          type: object
          properties:
            prompt_injection:
              type: number
            harmful_content:
              type: number
            assertiveness:
              type: number
            hallucination:
              type: number
          additionalProperties: {}
    ConversationResponseDto:
      type: object
      properties:
        _id:
          type: string
          description: ID de la conversación
        additional_attributes:
          description: Atributos adicionales de la conversación
        agent_last_activity_at:
          description: Fecha de la última actividad del agente
        contact_last_activity_at:
          description: Fecha de la última actividad del contacto
        allow_send_messages_at:
          description: Fecha permitida para enviar mensajes
        last_activity_at:
          description: Fecha de la última actividad
        priority:
          description: Prioridad de la conversación
          type: number
          enum:
            - 4
            - 3
            - 2
            - 1
        status:
          type: string
          enum:
            - OPEN
            - RESOLVED
          description: Estado de la conversación
        who_answering:
          type: string
          enum:
            - AGENT
            - HUMAN
            - UNASSIGNED
          description: Quién está respondiendo (AGENT/HUMAN)
        contact:
          description: Contacto de la conversación
        inbox:
          description: Inbox de la conversación
        agent:
          description: Agente asignado a la conversación
        current_step:
          description: Paso actual del flujo del agente
        company:
          description: Empresa de la conversación
        user:
          description: Usuario asignado a la conversación
        requires_attention:
          description: Atención necesaria
          type: object
          properties:
            type:
              type: string
              enum:
                - HUMAN_HANDOFF
                - AI_SUPPORT_REQUEST
                - IDLE_CONVERSATION
                - CONTACT_MESSAGE
              description: Tipo de atenção necessária
            requested_at:
              description: Data da solicitação de atenção
          required:
            - type
            - requested_at
        referral:
          description: Datos de referral de la conversación
        createdAt:
          description: Fecha de creación de la conversación
        updatedAt:
          description: Fecha de actualización de la conversación
        resolved_count:
          description: >-
            Cantidad de conversaciones resueltas del contacto (solo cuando está
            agrupado)
          type: number
      required:
        - last_activity_at
        - status
        - who_answering
        - contact
        - inbox
        - company
  securitySchemes:
    JWT-auth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Token JWT de autenticação

````